SlideShare a Scribd company logo
1 of 18
CORBA - Common Object
Request Broker Architecture
CORBA
• The Common Object Request Broker
Architecture (CORBA) is an open distributed
object computing infrastructure being
standardized by the Object Management Group (
OMG).
• CORBA automates many common network
programming tasks such as object registration,
location, and activation; request demultiplexing;
framing and error-handling; parameter
marshalling and demarshalling; and operation
dispatching.
CORBA
OMG Reference Model architecture
CORBA
• Object Services - These are domain-independent
interfaces that are used by many distributed object
programs. For example, a service providing for the
discovery of other available services is almost always
necessary regardless of the application domain. Two
examples of Object Services that fulfill this role are:
– The Naming Service - which allows clients to find objects
based on names;
– The Trading Service - which allows clients to find objects
based on their properties.
• There are also Object Service specifications for lifecycle
management, security, transactions, and event
notification, as well as many others.
CORBA
• Common Facilities - Like Object Service
interfaces, these interfaces are also horizontally-
oriented, but unlike Object Services they are
oriented towards end-user applications.
– An example of such a facility is the Distributed
Document Component Facility (DDCF), a compound
document Common Facility based on OpenDoc.
DDCF allows for the presentation and interchange of
objects based on a document model, for example,
facilitating the linking of a spreadsheet object into a
report document.
CORBA
• Domain Interfaces - These interfaces fill roles
similar to Object Services and Common
Facilities but are oriented towards specific
application domains.
– For example, one of the first OMG RFPs issued for
Domain Interfaces is for Product Data Management
(PDM) Enablers for the manufacturing domain. Other
OMG RFPs will soon be issued in the
telecommunications, medical, and financial domains.
CORBA
• Application Interfaces - These are interfaces
developed specifically for a given application.
– Because they are application-specific, and because
the OMG does not develop applications (only
specifications), these interfaces are not standardized.
– However, if over time it appears that certain broadly
useful services emerge out of a particular application
domain, they might become candidates for future
OMG standardization.
CORBA
CORBA ORB Architecture
CORBA
• Object - This is a CORBA programming entity that
consists of an identity, an interface, and an
implementation, which is known as a Servant.
• Servant - This is an implementation programming
language entity that defines the operations that support a
CORBA IDL interface. Servants can be written in a
variety of languages, including C, C++, Java, Smalltalk,
and Ada.
• Client - This is the program entity that invokes an
operation on an object implementation. Accessing the
services of a remote object should be transparent to the
caller. Ideally, it should be as simple as calling a method
on an object, i.e., obj->op(args). The remaining
components in Figure 2 help to support this level of
transparency.
CORBA
• Object Request Broker (ORB) - The ORB
provides a mechanism for transparently
communicating client requests to target object
implementations.
– The ORB simplifies distributed programming by
decoupling the client from the details of the method
invocations. This makes client requests appear to be
local procedure calls.
– When a client invokes an operation, the ORB is
responsible for finding the object implementation,
transparently activating it if necessary, delivering the
request to the object, and returning any response to
the caller.
CORBA
• ORB Interface - An ORB is a logical entity that
may be implemented in various ways (such as
one or more processes or a set of libraries).
– To decouple applications from implementation
details, the CORBA specification defines an abstract
interface for an ORB.
– This interface provides various helper functions such
as converting object references to strings and vice
versa, and creating argument lists for requests made
through the dynamic invocation interface described
below.
CORBA
• CORBA IDL stubs and skeletons - CORBA
IDL stubs and skeletons serve as the glue
between the client and server applications,
respectively, and the ORB.
– The transformation between CORBA IDL definitions
and the target programming language is automated by
a CORBA IDL compiler.
– The use of a compiler reduces the potential for
inconsistencies between client stubs and server
skeletons and increases opportunities for automated
compiler optimizations.
CORBA
• Dynamic Invocation Interface (DII) - This
interface allows a client to directly access the
underlying request mechanisms provided by an
ORB.
– Applications use the DII to dynamically issue
requests to objects without requiring IDL interface-
specific stubs to be linked in.
– Unlike IDL stubs (which only allow RPC-style
requests), the DII also allows clients to make non-
blocking deferred synchronous (separate send and
receive operations) and oneway (send-only) calls.
CORBA
• Dynamic Skeleton Interface (DSI) - This is the
server side's analogue to the client side's DII.
– The DSI allows an ORB to deliver requests to an
object implementation that does not have compile-
time knowledge of the type of the object it is
implementing.
– The client making the request has no idea whether the
implementation is using the type-specific IDL
skeletons or is using the dynamic skeletons.
CORBA
• Object Adapter - This assists the ORB with
delivering requests to the object and with
activating the object.
– More importantly, an object adapter associates object
implementations with the ORB.
– Object adapters can be specialized to provide support
for certain object implementation styles (such as
OODB object adapters for persistence and library
object adapters for non-remote objects).
Building CORBA Applications
• Steps to build a CORBA application:
1. Define the remote interface
2. Compile the remote interface
3. Implement the server
4. Implement the client
5. Start the applications
Building CORBA Applications
• Define the remote interface
– Define the interface for the remote object using the
OMG's Interface Definition Langauge (IDL).
• Compile the remote interface
– Compile the IDL and map the interface to the
designated language.
• Implement the server
– Use the skeletons it generates to develop the server
application.
– Implement the methods of the remote interface.
– The server code includes a mechanism to start the
ORB and wait for invocation from a remote client.
Building CORBA Applications
• Implement the client
– Use the stubs generated to develop the client
application.
– The client code builds on the stubs to start its ORB,
look up the server using the name service, obtain a
reference for the remote object, and call its method.
• Start the applications
– Start the name service, then start the server, then run
the client.

More Related Content

What's hot

Chapter10
Chapter10Chapter10
Chapter10
lopjuan
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
Mayuresh Wadekar
 
Corba and-java
Corba and-javaCorba and-java
Corba and-java
afreen58
 
CORBA Component Model
CORBA Component Model CORBA Component Model
CORBA Component Model
Elham Hormozi
 
Rmi, corba and java beans
Rmi, corba and java beansRmi, corba and java beans
Rmi, corba and java beans
Raghu nath
 
RMI and CORBA Why both are valuable tools
RMI and CORBA Why both are valuable toolsRMI and CORBA Why both are valuable tools
RMI and CORBA Why both are valuable tools
elliando dias
 

What's hot (20)

Common Object Request Broker Architecture
Common Object Request Broker ArchitectureCommon Object Request Broker Architecture
Common Object Request Broker Architecture
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 
Chapter10
Chapter10Chapter10
Chapter10
 
Corba model ppt
Corba model pptCorba model ppt
Corba model ppt
 
Corba
CorbaCorba
Corba
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
 
Chapter 17 corba
Chapter 17 corbaChapter 17 corba
Chapter 17 corba
 
Corba
CorbaCorba
Corba
 
CORBA
CORBACORBA
CORBA
 
Corba and-java
Corba and-javaCorba and-java
Corba and-java
 
19.cobra
19.cobra19.cobra
19.cobra
 
Corba
CorbaCorba
Corba
 
82159587 case-study-on-corba
82159587 case-study-on-corba82159587 case-study-on-corba
82159587 case-study-on-corba
 
C O R B A Unit 4
C O R B A    Unit 4C O R B A    Unit 4
C O R B A Unit 4
 
CORBA Component Model
CORBA Component Model CORBA Component Model
CORBA Component Model
 
CORBA & RMI in java
CORBA & RMI in javaCORBA & RMI in java
CORBA & RMI in java
 
Corba by Example
Corba by ExampleCorba by Example
Corba by Example
 
Rmi, corba and java beans
Rmi, corba and java beansRmi, corba and java beans
Rmi, corba and java beans
 
RMI and CORBA Why both are valuable tools
RMI and CORBA Why both are valuable toolsRMI and CORBA Why both are valuable tools
RMI and CORBA Why both are valuable tools
 
CORBA
CORBACORBA
CORBA
 

Viewers also liked

Interprocess communication
Interprocess communicationInterprocess communication
Interprocess communication
Sushil Singh
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systems
sumitjain2013
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
Rupsee
 

Viewers also liked (13)

Name Services
Name Services Name Services
Name Services
 
Computer Graphics Unit 1 - Introduction(RGPV syllabus)
Computer Graphics Unit 1 - Introduction(RGPV syllabus)Computer Graphics Unit 1 - Introduction(RGPV syllabus)
Computer Graphics Unit 1 - Introduction(RGPV syllabus)
 
Interprocess communication
Interprocess communicationInterprocess communication
Interprocess communication
 
Middleware
MiddlewareMiddleware
Middleware
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 
Introduction to Web Technology
Introduction to Web TechnologyIntroduction to Web Technology
Introduction to Web Technology
 
Clock Synchronization in Distributed Systems
Clock Synchronization in Distributed SystemsClock Synchronization in Distributed Systems
Clock Synchronization in Distributed Systems
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systems
 
computer graphics
computer graphicscomputer graphics
computer graphics
 
Notes 2D-Transformation Unit 2 Computer graphics
Notes 2D-Transformation Unit 2 Computer graphicsNotes 2D-Transformation Unit 2 Computer graphics
Notes 2D-Transformation Unit 2 Computer graphics
 
3D transformation in computer graphics
3D transformation in computer graphics3D transformation in computer graphics
3D transformation in computer graphics
 
Distributed System Management
Distributed System ManagementDistributed System Management
Distributed System Management
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 

Similar to Unit iv

corbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdfcorbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdf
BesAli1
 
kanchana .R.pptx.........................
kanchana .R.pptx.........................kanchana .R.pptx.........................
kanchana .R.pptx.........................
hanamshettyvani
 
Introduction To Corba
Introduction To CorbaIntroduction To Corba
Introduction To Corba
rajianju
 
EAI and Attachmate Pt. 2 9-00
EAI and Attachmate Pt. 2  9-00EAI and Attachmate Pt. 2  9-00
EAI and Attachmate Pt. 2 9-00
Jeff Krukin
 

Similar to Unit iv (20)

Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptx
 
85305524 i-t-case-study
85305524 i-t-case-study85305524 i-t-case-study
85305524 i-t-case-study
 
Distributed systems corba remote connection
Distributed systems corba remote connectionDistributed systems corba remote connection
Distributed systems corba remote connection
 
corba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptxcorba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptx
 
corbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdfcorbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdf
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptx
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
 
ADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.pptADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.ppt
 
6. The grid-COMPUTING OGSA and WSRF
6. The grid-COMPUTING OGSA and WSRF6. The grid-COMPUTING OGSA and WSRF
6. The grid-COMPUTING OGSA and WSRF
 
CORBA.ppt
CORBA.pptCORBA.ppt
CORBA.ppt
 
kanchana .R.pptx.........................
kanchana .R.pptx.........................kanchana .R.pptx.........................
kanchana .R.pptx.........................
 
Distributed computing - november 2006
Distributed computing  - november 2006Distributed computing  - november 2006
Distributed computing - november 2006
 
Introduction To Corba
Introduction To CorbaIntroduction To Corba
Introduction To Corba
 
CORBA.ppt
CORBA.pptCORBA.ppt
CORBA.ppt
 
Learning activity 3
Learning activity 3Learning activity 3
Learning activity 3
 
SpringPeople Introduction to JAVA Web Services
SpringPeople Introduction to JAVA Web ServicesSpringPeople Introduction to JAVA Web Services
SpringPeople Introduction to JAVA Web Services
 
UNIT V DIS.pptx
UNIT V DIS.pptxUNIT V DIS.pptx
UNIT V DIS.pptx
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture
 
EAI and Attachmate Pt. 2 9-00
EAI and Attachmate Pt. 2  9-00EAI and Attachmate Pt. 2  9-00
EAI and Attachmate Pt. 2 9-00
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to Microservices
 

Recently uploaded

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 

Unit iv

  • 1. CORBA - Common Object Request Broker Architecture
  • 2. CORBA • The Common Object Request Broker Architecture (CORBA) is an open distributed object computing infrastructure being standardized by the Object Management Group ( OMG). • CORBA automates many common network programming tasks such as object registration, location, and activation; request demultiplexing; framing and error-handling; parameter marshalling and demarshalling; and operation dispatching.
  • 4. CORBA • Object Services - These are domain-independent interfaces that are used by many distributed object programs. For example, a service providing for the discovery of other available services is almost always necessary regardless of the application domain. Two examples of Object Services that fulfill this role are: – The Naming Service - which allows clients to find objects based on names; – The Trading Service - which allows clients to find objects based on their properties. • There are also Object Service specifications for lifecycle management, security, transactions, and event notification, as well as many others.
  • 5. CORBA • Common Facilities - Like Object Service interfaces, these interfaces are also horizontally- oriented, but unlike Object Services they are oriented towards end-user applications. – An example of such a facility is the Distributed Document Component Facility (DDCF), a compound document Common Facility based on OpenDoc. DDCF allows for the presentation and interchange of objects based on a document model, for example, facilitating the linking of a spreadsheet object into a report document.
  • 6. CORBA • Domain Interfaces - These interfaces fill roles similar to Object Services and Common Facilities but are oriented towards specific application domains. – For example, one of the first OMG RFPs issued for Domain Interfaces is for Product Data Management (PDM) Enablers for the manufacturing domain. Other OMG RFPs will soon be issued in the telecommunications, medical, and financial domains.
  • 7. CORBA • Application Interfaces - These are interfaces developed specifically for a given application. – Because they are application-specific, and because the OMG does not develop applications (only specifications), these interfaces are not standardized. – However, if over time it appears that certain broadly useful services emerge out of a particular application domain, they might become candidates for future OMG standardization.
  • 9. CORBA • Object - This is a CORBA programming entity that consists of an identity, an interface, and an implementation, which is known as a Servant. • Servant - This is an implementation programming language entity that defines the operations that support a CORBA IDL interface. Servants can be written in a variety of languages, including C, C++, Java, Smalltalk, and Ada. • Client - This is the program entity that invokes an operation on an object implementation. Accessing the services of a remote object should be transparent to the caller. Ideally, it should be as simple as calling a method on an object, i.e., obj->op(args). The remaining components in Figure 2 help to support this level of transparency.
  • 10. CORBA • Object Request Broker (ORB) - The ORB provides a mechanism for transparently communicating client requests to target object implementations. – The ORB simplifies distributed programming by decoupling the client from the details of the method invocations. This makes client requests appear to be local procedure calls. – When a client invokes an operation, the ORB is responsible for finding the object implementation, transparently activating it if necessary, delivering the request to the object, and returning any response to the caller.
  • 11. CORBA • ORB Interface - An ORB is a logical entity that may be implemented in various ways (such as one or more processes or a set of libraries). – To decouple applications from implementation details, the CORBA specification defines an abstract interface for an ORB. – This interface provides various helper functions such as converting object references to strings and vice versa, and creating argument lists for requests made through the dynamic invocation interface described below.
  • 12. CORBA • CORBA IDL stubs and skeletons - CORBA IDL stubs and skeletons serve as the glue between the client and server applications, respectively, and the ORB. – The transformation between CORBA IDL definitions and the target programming language is automated by a CORBA IDL compiler. – The use of a compiler reduces the potential for inconsistencies between client stubs and server skeletons and increases opportunities for automated compiler optimizations.
  • 13. CORBA • Dynamic Invocation Interface (DII) - This interface allows a client to directly access the underlying request mechanisms provided by an ORB. – Applications use the DII to dynamically issue requests to objects without requiring IDL interface- specific stubs to be linked in. – Unlike IDL stubs (which only allow RPC-style requests), the DII also allows clients to make non- blocking deferred synchronous (separate send and receive operations) and oneway (send-only) calls.
  • 14. CORBA • Dynamic Skeleton Interface (DSI) - This is the server side's analogue to the client side's DII. – The DSI allows an ORB to deliver requests to an object implementation that does not have compile- time knowledge of the type of the object it is implementing. – The client making the request has no idea whether the implementation is using the type-specific IDL skeletons or is using the dynamic skeletons.
  • 15. CORBA • Object Adapter - This assists the ORB with delivering requests to the object and with activating the object. – More importantly, an object adapter associates object implementations with the ORB. – Object adapters can be specialized to provide support for certain object implementation styles (such as OODB object adapters for persistence and library object adapters for non-remote objects).
  • 16. Building CORBA Applications • Steps to build a CORBA application: 1. Define the remote interface 2. Compile the remote interface 3. Implement the server 4. Implement the client 5. Start the applications
  • 17. Building CORBA Applications • Define the remote interface – Define the interface for the remote object using the OMG's Interface Definition Langauge (IDL). • Compile the remote interface – Compile the IDL and map the interface to the designated language. • Implement the server – Use the skeletons it generates to develop the server application. – Implement the methods of the remote interface. – The server code includes a mechanism to start the ORB and wait for invocation from a remote client.
  • 18. Building CORBA Applications • Implement the client – Use the stubs generated to develop the client application. – The client code builds on the stubs to start its ORB, look up the server using the name service, obtain a reference for the remote object, and call its method. • Start the applications – Start the name service, then start the server, then run the client.