Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

CORBA architecture and details
distributed computing

Published in: Technology, Education
  • Be the first to comment


  1. 1. CORBA { Common Object Request Broker Architecture Vishal Singh (205111043) Sanjeev Singh (205111046)
  2. 2.   The Common Object Request Broker Architecture is a Standard defined by the object management group that Enables software components written in multiple computer languages and running on multiple computers to work together. CORBA
  3. 3.  Fig - The global architecture of CORBA. Overview
  4. 4. • ORB is core of any COBRA Distributed System. • ORB is responsible for enabling communication Between objects and their clients while hiding issues related to distribution and heterogeneity.   Object Request Broker
  5. 5. CORBA use the remote object model in which  the implementation of an object reside in the address space of a server. • Objects and services are specified in the CORBA Interface Definition Language(IDL). • Object Model
  6. 6.  Fig - The general organization of a CORBA system. Object Model
  7. 7. Service Description Collection Facilities for grouping objects into lists, queue, sets, etc. Query Facilities for querying collections of objects in a declarative manner Concurrency Facilities to allow concurrent access to shared objects Transaction Flat and nested transactions on method calls over multiple objects Event Facilities for asynchronous communication through events Notification Advanced facilities for event-based asynchronous communication Externalization Facilities for marshaling and unmarshaling of objects Life cycle Facilities for creation, deletion, copying, and moving of objects Licensing Facilities for attaching a license to an object Naming Facilities for systemwide name of objects Property Facilities for associating (attribute, value) pairs with objects Trading Facilities to publish and find the services on object has to offer Corba Services Persistence Relationship Facilities for expressing relationships between objects Security Mechanisms for secure channels, authorization, and auditing Time  Facilities for persistently storing objects Provides the current time within specified error margins Fig - Overview of CORBA services.
  8. 8. Communication Object Invocation Models Request type Failure semantics Description Synchronous Caller blocks until a response is returned or an exception is raised One-way Best effort delivery Caller continues immediately without waiting for any response from the server Deferred synchronous  At-most-once At-most-once Caller continues immediately and can later block until response is delivered Fig - Invocation models supported in CORBA.
  9. 9. 1. Event and Notification Services Fig - The logical organization of suppliers and  consumers of events, following the push-style model. 
  10. 10. 2. Event and Notification Services  Fig - The pull-style model for event delivery in CORBA.
  11. 11. 1.  Fig - CORBA's callback model for asynchronous method invocation. Messaging
  12. 12. 2. Messaging  Fig - CORBA'S polling model for asynchronous method invocation.
  13. 13. Message type Originator Description Request Client Contains an invocation request Reply Server Contains the response to an invocation LocateRequest Client Contains a request on the exact location of an object LocateReply Server Contains location information on an object CancelRequest Client Indicates client no longer expects a reply CloseConnection Both Indication that connection will be closed Interoperability MessageError Contains information on an error Fragment  Both Both Part (fragment) of a larger message Fig - GIOP message types.
  14. 14. Process { Client- simple one Server
  15. 15.     IDL specification are compiled into a proxy Marshall invocation info Un-Marshall corresponding reply Proxies are just to connect to underlying ORB Client Process
  16. 16.  It is a mechanism by which an invocation can intercepted on its way from client to server and adopt it  Request level interceptor Message level interceptor  Interceptor
  17. 17. Logical placement of interceptor
  18. 18.      It is just like a wrapper Responsible for providing consistent image of what an object is It provides mechanism such that client can see that program is just an object POA are responsible to show server-side code as object to client Server side code need not to worry about underlying ORB Object adapter
  19. 19. Portable object adapter a) POA supporting multiple servant b) POA supporting single servant
  20. 20.      To facilitate agent based system CORBA adopts a model in which different kind of system can co-operate CORBA provides standard interface that has to be followed Agent system - creation, execution, transfer, termination Each agent system has its profile Region, finder Agents
  21. 21. CORBA's overall model of agents, agent systems, and regions
  22. 22.   Object reference Character based Naming
  23. 23.      How objects are referenced? Client side object reference and ORB object reference are different A reference of X can not be passed to Y because of address space So marshaling is used by underlying ORB for this ORB has language independent reference called IOR ( interoperable object reference) Object reference
  24. 24. The organization of an IOR with specific information for IIOP
  25. 25.        Starts with repository identifier Most important part is tagged profile Profile ID Host field Port field Object key components IOR details
  26. 26.   Binding request is first sent to implementation repository It acts as a registry by which reference objects can be located and activated Indirect binding
  27. 27. Indirect binding example
  28. 28. CORBA naming service(char based)    Offered by CORBA to lookup object reference using characterbased names (id,kind) pair where both are string (vishal,dir) as an example
  29. 29.     Object groups - replicate objects into object groups Identical copies of same object Replication is transparent to client But how object group are referenced ? Fault tolerance
  30. 30. IOGR (interoperable object group reference)    IOGR contains multiple reference to different objects (of same type) IOR contains multiple reference to same object ORB binds IOGR to one of the replicas
  31. 31. A possible organization of an IOGR for an object group having a primary and backups.
  32. 32. An example architecture
  33. 33. Security The general organization for secure object invocation in CORBA.
  34. 34.     Application level objects are unaware of security mechanism At binding time ORB decides which security service is to be used at client side Selection of service is done by security policy Security policies are done by policy objects Secure object invocation
  35. 35.  1. 2. Two different interceptors Access control interceptor- checks the rights Secure invocation interceptor- message protection and it is able to encrypt the request and response also Replaceable security service
  36. 36. The role of security interceptors in CORBA.