User Tools

Site Tools


tanszek:oktatas:iss_t:object_request_broker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:iss_t:object_request_broker [2026/03/01 17:52] – [4. IDL – Interface Definition Language] kneheztanszek:oktatas:iss_t:object_request_broker [2026/03/01 17:58] (current) – [Object Request Broker (ORB)] knehez
Line 20: Line 20:
 Conceptually: Conceptually:
  
-Client -> ORB -> Remote Object +<mermaid> 
- +sequenceDiagram 
-Remote Object -> ORB -> Client+Client->>ORB: Method call 
 +ORB->>RemoteObject: Forward request 
 +RemoteObject-->>ORB: Return result 
 +ORB-->>Client: Return response 
 +</mermaid>
  
 The ORB handles all low-level details such as transport protocols and data encoding. The ORB handles all low-level details such as transport protocols and data encoding.
 +
 +----
  
 ==== Distributed Objects Concept ==== ==== Distributed Objects Concept ====
Line 39: Line 45:
  
 This design reflects classic OOP thinking in distributed systems. This design reflects classic OOP thinking in distributed systems.
 +----
 ==== IDL – Interface Definition Language ==== ==== IDL – Interface Definition Language ====
  
Line 64: Line 70:
 IDL was one of the early solutions to cross-language service integration. IDL was one of the early solutions to cross-language service integration.
  
 +CORBA IDL supports interface inheritance, allowing one interface to extend another.
 +This enables the reuse of method definitions and supports polymorphism in distributed systems.
 +
 +Below is an example from a simplified employee management system.
 +
 +<sxh> 
 +module Company {
 +
 +interface Person {
 +   string getName();
 +   long getId();
 +};
 +
 +interface Employee : Person {
 +   double getSalary();
 +   void setSalary(in double newSalary);
 +};
 +
 +interface Manager : Employee {
 +   void addTeamMember(in Person p);
 +};
 +
 +};
 +</sxh>
 +
 +
 +----
 ==== Marshalling and Unmarshalling ==== ==== Marshalling and Unmarshalling ====
  
Line 82: Line 115:
  
 This ensures that data types remain consistent across systems, different hardware architectures can communicate, and programming language differences are abstracted. This ensures that data types remain consistent across systems, different hardware architectures can communicate, and programming language differences are abstracted.
- +----
  
  
Line 100: Line 132:
 Services were browsable in a uniform manner, which was advanced for its time. Services were browsable in a uniform manner, which was advanced for its time.
  
 +----
 ==== Known Implementations ==== ==== Known Implementations ====
  
Line 120: Line 153:
   * legacy enterprise infrastructures.   * legacy enterprise infrastructures.
  
 +----
 ==== Why CORBA Declined ==== ==== Why CORBA Declined ====
  
tanszek/oktatas/iss_t/object_request_broker.1772387566.txt.gz · Last modified: 2026/03/01 17:52 by knehez