Your SlideShare is downloading. ×
Distributed objects & components of corba
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Distributed objects & components of corba


Published on

Published in: Technology, Education

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Distributed Objects & Components CORBA Presented By : Mayuresh Wadekar (52) Ajay Yadav (53)
  • 2. Distributed SystemDistributed System • Distributed System referred to computer networks where individual computers were physically distributed within some geographical area. Fig A. Difference Between Distributed & Parallel Computing
  • 3. Distributed ObjectDistributed Object • Distributed objects refers to software modules that are designed to work together, but reside either in multiple computers connected via a network or in different processes inside the same computer Fig B. Distributed objects residing in different machines.
  • 4. Working of Distributed ObjectsWorking of Distributed Objects Fig C. Working of Distributed Objects
  • 5. Remote InvocationRemote Invocation Fig D: Remote Invocation & Local Invocation
  • 6. DISTRIBUTED OBJECTSDISTRIBUTED OBJECTS • Remote object references: Globally unique reference for a distributed objects may be passed as a parameter. • Distributed actions: Initiated by a method invocation, potentially resulting in invocation chains. • Distributed exceptions: Additional exceptions generated from the distributed nature of the system, including message loss or process failure
  • 7. DISTRIBUTED OBJECTSDISTRIBUTED OBJECTS • Remote interfaces: Provides an abstract specification of the methods that can be invoked on the remote object. Fig D. Remote Interfaces
  • 8. EVOLUTION OF DISTRIBUTED OBJECTSEVOLUTION OF DISTRIBUTED OBJECTS • Distributed objects as a natural evolution from three strands of activity: 1. Distributed systems: Earlier middleware was based on the client-server model and there was a desire for more sophisticated programming abstractions. 2. Programming languages: Earlier work in object-oriented languages such as Simula-67 and Smalltalk led to the emergence of more mainstream and heavily. Used programming languages such as Java and C++
  • 9. EVOLUTION OF DISTRIBUTED OBJECTSEVOLUTION OF DISTRIBUTED OBJECTS Fig E: OOP Distributed Objects 3. Software engineering: In software engineering, significant progress was made in the development of Object-oriented design methods, leading to the emergence of the Unified Modeling Language
  • 10. DISTRIBUTED OBJECT TECHNOLOGIESDISTRIBUTED OBJECT TECHNOLOGIES • DCOM: DCOM is used for single platform, multiple languages. • JINI: • CORBA: CORBA is use for Multiple platforms, multiple languages
  • 12. INTRODUCTION Definition: • CORBA is a distributed object-based systems. • Provides inter-operability • CORBA is a middle ware neither 2-tier or 3-tier architecture. • CORBA is a technology to communicate 2 objects which are of heterogeneous type. • CORBA can be written in c, c++, COBOL and JAVA
  • 13. • CORBA was created by OMG(Object management group). • OMG was created in 1989. • OMG does not provide any s/w products. • The first version of CORBA was released in July ,1992 as • “OBJECT MANAGEMENT ARCITECTURE GUIDE” • Concept of CORBA came from OLE.
  • 14. CORBA ArchitectureCORBA Architecture ORB core Dynamic Invocation IDL Stubs ORB Interface Object Adapter Static IDL Skeleton Dynamic Skeleton Client Object Implementation Interface Repository Implementatio Repository
  • 15. ORBORB • Object Request Broker. • Gives the communication infrastructure that is capable of relaying object requests across distributed platforms. • Client calls the Object implementation through interfaces provided by ORB. • Advantages: • Separates Client and Server implementation • Separates both client and Server from underlying communication infrastructure and protocol stack and so replaceable while migration from one implementation to other
  • 16. • In Java we cannot separate a class’s definition from its implementations as we can in C++ • CORBA allows the separation of definition and implementation • CORBA uses IDL for defining interfaces between clients and servers • ORB Vendors provide specific IDL compilers for supported languages – create target language stubs and skeletons for building CORBA clients and servers • C, C++, Smalltalk, Java, COBOL … Interface Definition LanguageInterface Definition Language
  • 17. Client StubsClient Stubs • Client side proxy for server. • Joins to the client at one end and to the ORB core at the other end. • Client-to-stub interface is decided by the standard OMG language mapping for the chosen programming language. • Clients actually invoke methods on stub objects.
  • 18. Server SkeletonsServer Skeletons • Acts as client proxy for server implementation. • Connects – to the server object via the mapping defined for its programming language on . – To the Object Adapter via a proprietary interface. • Invocation pass through Object Adapter to skeletons, which in turn actually invoke methods on server object.
  • 19. Object AdapterObject Adapter • Different kind of object implementations - – objects residing in their own process and requiring activation. – others not requiring activation. • OA helps the ORB to operate with different type of objects. • Most widely used OA - BOA (Basic OA) • Recently standardized - POA (Portable OA)
  • 20. Interface RepositoryInterface Repository • Contains information regarding the interfaces to ORB objects. • Can be used by the ORB in 2 ways - – To provide type-checking of request signatures, whether a request was issued through DII or stub. – To check correctness of inheritance graph. • Client objects can use it - – To manage installation and distribution of interface definitions around your network. – Language compilers may use them to generate stubs and skeletons. • Can be shared by more than one ORB or one ORB may refer to more than one interface repository.
  • 21. Implementation RepositoryImplementation Repository • Contains all the information regarding object implementation. • Provides a persistent record of how to activate and invoke operations on object implementations. • CORBA gives vendors free-hand in handling implementations.
  • 22. • Generic interface for making remote invocations. • Uses interface repository at run-time to discover interfaces. • No need of pre-compiled stubs. Dynamic Invocation InterfaceDynamic Invocation Interface
  • 23. Dynamic Skeleton InterfaceDynamic Skeleton Interface • Allows the ORB and OA to deliver requests to an object without the need of pre- compiled skeletons. • Implemented via a DIR (Dynamic Invocation Routine). • ORB invokes DIR for every DSI request it makes.
  • 24. Differences between DynamicDifferences between Dynamic invocation and static invocationinvocation and static invocation • Use • SI used for general purpose • DI used for special purpose where extra flexibility is needed • In SI interfaces should be known at compile time , In DI interfaces are discovered during run time using data in interface repository • Static Interface are easier to use and code
  • 25. CORBA servicesCORBA services • Clock service maintains synchronized time • Authentication service validates user id’s • Object storage service: a file system for objects • Life cycle service: oversees activation, deactivation, storage, check pointing, etc. • Transactions and replication services • Naming services • Security services
  • 26. CORBA Advantages: • Interaction with legacy systems. • Static and dynamic method invocations • High-level language bindings • Location transparency • Built-in security and transactions
  • 27. • Design and process deficiencies. • Problems with Firewalls. • Problems with implementation. CORBA PROBLEMSCORBA PROBLEMS
  • 28. RMI Vs CORBARMI Vs CORBA • Language Barrier. • RMI can be easier to master than corba.corba is rich and extensive family of std and interfaces. • Corba is peer-to-peer orb communication model and Rmi is server centric model. • RMI interface is defined in RMI-IIOP and corba interfaces are defined in IDL.
  • 29. • Distributed object can be used like a regular object, but from anywhere on the network • Creation, migration and deletion of distributed objects is different from local objects • CORBA RMI is multi-language RMI • Distributed objects may be executed in parallel. CONCLUSIONCONCLUSION
  • 30. REFERENCESREFERENCES [1] [2] [3] [4]George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, “Distributed Systems Concepts and Design”, Pearson Press [5]