SlideShare ist ein Scribd-Unternehmen logo
1 von 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.

Weitere ähnliche Inhalte

Was ist angesagt? (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
 

Andere mochten auch

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)NANDINI SHARMA
 
Interprocess communication
Interprocess communicationInterprocess communication
Interprocess communicationSushil Singh
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed applicationRishikese MR
 
Introduction to Web Technology
Introduction to Web TechnologyIntroduction to Web Technology
Introduction to Web TechnologyAashish Jain
 
Clock Synchronization in Distributed Systems
Clock Synchronization in Distributed SystemsClock Synchronization in Distributed Systems
Clock Synchronization in Distributed SystemsZbigniew Jerzak
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systemssumitjain2013
 
computer graphics
computer graphicscomputer graphics
computer graphicsashpri156
 
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 graphicsNANDINI SHARMA
 
3D transformation in computer graphics
3D transformation in computer graphics3D transformation in computer graphics
3D transformation in computer graphicsSHIVANI SONI
 
Distributed System Management
Distributed System ManagementDistributed System Management
Distributed System ManagementIbrahim Amer
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed SystemsRupsee
 

Andere mochten auch (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
 

Ähnlich wie Unit iv

Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxdagilema
 
85305524 i-t-case-study
85305524 i-t-case-study85305524 i-t-case-study
85305524 i-t-case-studyhomeworkping3
 
Distributed systems corba remote connection
Distributed systems corba remote connectionDistributed systems corba remote connection
Distributed systems corba remote connectionMohammedAkramMohiudd
 
corba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptxcorba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptxAasimAbdul
 
corbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdfcorbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdfBesAli1
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptxKaviya452563
 
ADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.pptADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.pptrani marri
 
kanchana .R.pptx.........................
kanchana .R.pptx.........................kanchana .R.pptx.........................
kanchana .R.pptx.........................hanamshettyvani
 
Distributed computing - november 2006
Distributed computing  - november 2006Distributed computing  - november 2006
Distributed computing - november 2006achraf_ing
 
Introduction To Corba
Introduction To CorbaIntroduction To Corba
Introduction To Corbarajianju
 
SpringPeople Introduction to JAVA Web Services
SpringPeople Introduction to JAVA Web ServicesSpringPeople Introduction to JAVA Web Services
SpringPeople Introduction to JAVA Web ServicesSpringPeople
 
UNIT V DIS.pptx
UNIT V DIS.pptxUNIT V DIS.pptx
UNIT V DIS.pptxSamPrem3
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture Prabhat gangwar
 
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-00Jeff Krukin
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to MicroservicesKyle Brown
 

Ähnlich wie 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
 

Kürzlich hochgeladen

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

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.