SlideShare a Scribd company logo
CORBA concepts & CORBA
architecture
• CORBA is an abbreviation for Common
Object Request Broker Architecture
• Object Management Group, (OMG) formed
in 1989
• The Common Object Request Broker
Architecture (CORBA) is a standard
defined by the Object Management
Group (OMG) that enables software
components written in multiple
computer languages and running on
multiple computers to work together
(i.e., it supports multiple platforms).
 Focus on integration of systems
and applications across
heterogeneous platforms
 Thus CORBA allows applications
and their objects to communicate
with each other no matter where
they are and or who designed
them!!
• CORBA is just a specification for
creating and using distributed
objects
• CORBA is not a programming
language.
• CORBA is a standard (not a
product!)
• Allows objects to transparently
make requests and receive
responses
6
Components Of CORBA
The main components of CORBA’s RMI
framework are:
1.An interface definition language known
as IDL.
2.An architecture.
3.The General Inter-ORB protocol (GIOP)
defines
• specifies formats for the messages
in a request-reply protocol.
• including messages for enquiring
about the location of an object, for
cancelling requests and for reporting
errors. •
4.The Internet Inter-ORB protocol
(IIOP) defines a standard form for
remote object references.
• IIOP is GIOP implemented in
TCP/IP
• CORBA services - generic services
useful in distributed applications e.g.
Naming Service, Event Service.
CORBA Architecture
• The CORBA architecture is based on
the object model.
• A CORBA-based system is a collection
of objects that isolates the requestors
of services (clients) from the providers
of services(servers) by a well-defined
encapsulating interface.
• CORBA is composed of five major
components: ORB, IDL, dynamic
invocation interface(DII), interface
repositories (IR), and object adapters
(OA).
9
CORBA Architecture
client server
proxy
or dynamic invocation
implementation
repository object
adapter
ORBORB
skeleton
or dynamic skeleton
client
program
interface
repository
Request
Reply
corecorefor A
Servant
A
• The CORBA architecture is designed to allow clients to
invoke methods in CORBA objects
clients and objects can be implemented in a variety
of programming languages
it has the following additional components
• object adapter, implementation repository and
interface repository
ORB core
The role of the ORB core is similar to that of the
communication module
In addition, an ORB core provides an interface that includes
the following:
- operations enabling it to be started and stopped;
- operations to convert between remote object references
and strings;
- operations to provide argument lists for requests using
dynamic invocation.
Dynamic invocation interface
In some applications (e.g. browsers), a client
without the appropriate proxy class may need to
invoke a method in a remote object.
CORBA does not allow classes for proxies to be
downloaded at run time as in Java RMI.
The dynamic invocation interface is CORBA’s
alternative. (we will discuss it later with the
Interface Repository)
Object adapter
–an object adapter bridges the gap between
CORBA objects with IDL interfaces and
the programming language interfaces of the
corresponding servant classes.
–it does the work of the remote reference and
despatcher modules
Skeletons
–skeleton classes (for OO languages) are
generated in the language of the server by an
IDL compiler.
–remote method invocations are dispatched via
the appropriate skeleton to a particular servant,
–the skeleton unmarshals the arguments in
request messages and marshals exceptions and
results in reply messages.
Client stubs/proxies
– these are in the client language.
– an IDL compiler for the client language uses an IDL
interface to generate one of the following:
for object-oriented languages the class of a proxy
for procedural languages a set of stub procedures.
– as before, the client stubs/proxies marshal the
arguments in invocation requests and unmarshal
exceptions and results in replies.
Implementation repository
activates registered servers on demand and locates
running servers
uses the object adapter name to register and
activate servers.
Interface repository
the interface repository provides information
about registered IDL interfaces to clients and
servers that require it.
•
10
CORBA RMI
• CORBA RMI is a multi-language RMI
system.
• The term CORBA object is used to refer
to remote objects.
a CORBA object implements an IDL
interface, has a remote object
reference and its methods can be
invoked remotely.
•
• A CORBA object can be implemented
by a language without classes.
the class concept does not exist in
CORBA.
therefore classes cannot be defined
in CORBA IDL, which means that
instances of classes cannot be
passed as arguments
Object Request Broker (ORB)
• For objects to communicate across
the network, they need a
communication infrastructure named
Object Request Broker (ORB).
• Both client and object implementation
are isolated from the ORB by an IDL
interface.
• Clients see only the object’s interface,
never the implementation.
• To communicate, the request does
not pass directly from client to object
implementation,instead every request
is passed to the client’s local ORB,
which manages it.
Object Request Broker (ORB)
CORBA Objects
• It is important to note that CORBA
objects differ from typical
programming objects in three ways:
• CORBA objects can run on any
platform.
• CORBA objects can be located
anywhere on the network.
• CORBA objects can be written in any
language that has IDL mapping.
CORBA works with interfaces
• All CORBA Objects are encapsulated
• Objects are accessible through interface
only.
• Separation of interfaces and
implementation enables multiple
implementations for one interface
Interface description language
(IDL)
• IDL is a specification language used
to describe a software component's
interface
• IDLs describe an interface in a
language-neutral way, enabling
communication between software
components that do not share a
language.
• for ex., between components written
in C++ and components written in
Java
Interface description language
(IDL)
• IDLs are commonly used in remote
procedure call software.
• In these cases the machines at either
end of the "link" may be using
different operating systems and
computer languages.
• IDLs offer a bridge between the two
different systems.
IDL Compiler
1.Naming Service
-It is a binder that provides methods including
a) rebind for servers to register the remote
object references of CORBA objects by name
(e.g. rebind (path, Object)
b) resolve for clients to look them up by
name.these methods belong to an interface
called NamingContext
2.Transaction service and concurrency control
service
-TS provides flat or nested transactions
-CCS provides locking of CORBA objects
3.Persistent object service:
-for storing the state of CORBA objects in a
passive form and retrieving it
21
•
4)Event Service and Notification Service:
-in ES suppliers and consumers
communicate via an event channel
-NS extends this to allow filtering and
typed events
5)Security service:
-authentication of principals and access
control of CORBA objects with policies
-auditing by servers, facilities for non-
repudiation
6)Trading service:
-allows CORBA objects to be located by
attribute
Advantages of CORBA
• Object Location Transparency:-
The client does not need to know where an object
is physically located. An object can either be
linked into the client, run in a different process on
the same machine, or run in a server on the other
side of the planet.
• Server Transparency:-
The client is, as far as the programming model is
concerned, ignorant of the existence of servers.
The client does not know (and cannot find out)
which server hosts a particular object, and does
not care whether the server is running at the time
the client invokes a request.
Advantages of CORBA
• Language Transparency :-
Client and server can be written in different
languages. A server can be implemented in a
different language without clients being aware
of this.
• Implementation Transparency :-
The client is unaware of how objects are
implemented. A server can use ordinary flat
files as its persistent store today and use an
OO database tomorrow, without clients ever
noticing a difference (other than performance).
Advantages of CORBA
• Architecture Transparency :-
The architectures are hidden from both clients and
servers. A client can communicate with a server
with different alignment restrictions.
• Operating System Transparency:-
Client and server are unaffected by each other's
operating system. In addition, source code does
not change if you need to port the source from one
operating system to another
Advantages of CORBA
• Protocol Transparency :-
Clients and servers do not care about
the data link and transport layer. They
can communicate via token ring,
Ethernet, wireless links, ATM
(Asynchronous Transfer Mode), or any
number of other networking
technologies.

More Related Content

What's hot

Object oriented database concepts
Object oriented database conceptsObject oriented database concepts
Object oriented database concepts
Temesgenthanks
 
Common Object Request Broker Architecture
Common Object Request Broker ArchitectureCommon Object Request Broker Architecture
Common Object Request Broker Architecture
OECLIB Odisha Electronics Control Library
 
Java beans
Java beansJava beans
Java beans
Rajkiran Mummadi
 
Java rmi
Java rmiJava rmi
Java rmi
kamal kotecha
 
Java servlets and CGI
Java servlets and CGIJava servlets and CGI
Java servlets and CGI
lavanya marichamy
 
Remote Method Invocation (RMI)
Remote Method Invocation (RMI)Remote Method Invocation (RMI)
Remote Method Invocation (RMI)
Peter R. Egli
 
Transaction management
Transaction managementTransaction management
Transaction managementrenuka_a
 
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit ProtocolsDistributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Sachin Chauhan
 
Identifying classes and objects ooad
Identifying classes and objects ooadIdentifying classes and objects ooad
Identifying classes and objects ooad
Melba Rosalind
 
Concurrency Control in Database Management System
Concurrency Control in Database Management SystemConcurrency Control in Database Management System
Concurrency Control in Database Management System
Janki Shah
 
Object Relational Database Management System(ORDBMS)
Object Relational Database Management System(ORDBMS)Object Relational Database Management System(ORDBMS)
Object Relational Database Management System(ORDBMS)
Rabin BK
 
The Object Model
The Object Model  The Object Model
The Object Model
yndaravind
 
Servlet and servlet life cycle
Servlet and servlet life cycleServlet and servlet life cycle
Servlet and servlet life cycle
Dhruvin Nakrani
 
View of data DBMS
View of data DBMSView of data DBMS
View of data DBMS
Rahul Narang
 
System calls
System callsSystem calls
System calls
Bernard Senam
 
Middleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMIMiddleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMI
Prajakta Rane
 
Major and Minor Elements of Object Model
Major and Minor Elements of Object ModelMajor and Minor Elements of Object Model
Major and Minor Elements of Object Model
sohailsaif
 
Coda file system
Coda file systemCoda file system
Coda file system
Sneh Pahilwani
 
Distributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlDistributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency control
balamurugan.k Kalibalamurugan
 
Application layer in network system
Application layer in network systemApplication layer in network system
Application layer in network system
Salauddin Rubel
 

What's hot (20)

Object oriented database concepts
Object oriented database conceptsObject oriented database concepts
Object oriented database concepts
 
Common Object Request Broker Architecture
Common Object Request Broker ArchitectureCommon Object Request Broker Architecture
Common Object Request Broker Architecture
 
Java beans
Java beansJava beans
Java beans
 
Java rmi
Java rmiJava rmi
Java rmi
 
Java servlets and CGI
Java servlets and CGIJava servlets and CGI
Java servlets and CGI
 
Remote Method Invocation (RMI)
Remote Method Invocation (RMI)Remote Method Invocation (RMI)
Remote Method Invocation (RMI)
 
Transaction management
Transaction managementTransaction management
Transaction management
 
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit ProtocolsDistributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit Protocols
 
Identifying classes and objects ooad
Identifying classes and objects ooadIdentifying classes and objects ooad
Identifying classes and objects ooad
 
Concurrency Control in Database Management System
Concurrency Control in Database Management SystemConcurrency Control in Database Management System
Concurrency Control in Database Management System
 
Object Relational Database Management System(ORDBMS)
Object Relational Database Management System(ORDBMS)Object Relational Database Management System(ORDBMS)
Object Relational Database Management System(ORDBMS)
 
The Object Model
The Object Model  The Object Model
The Object Model
 
Servlet and servlet life cycle
Servlet and servlet life cycleServlet and servlet life cycle
Servlet and servlet life cycle
 
View of data DBMS
View of data DBMSView of data DBMS
View of data DBMS
 
System calls
System callsSystem calls
System calls
 
Middleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMIMiddleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMI
 
Major and Minor Elements of Object Model
Major and Minor Elements of Object ModelMajor and Minor Elements of Object Model
Major and Minor Elements of Object Model
 
Coda file system
Coda file systemCoda file system
Coda file system
 
Distributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlDistributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency control
 
Application layer in network system
Application layer in network systemApplication layer in network system
Application layer in network system
 

Similar to CORBA

85305524 i-t-case-study
85305524 i-t-case-study85305524 i-t-case-study
85305524 i-t-case-study
homeworkping3
 
Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptx
dagilema
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptx
Kaviya452563
 
corba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptxcorba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptx
AasimAbdul
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corbaMayuresh Wadekar
 
Distributed systems corba remote connection
Distributed systems corba remote connectionDistributed systems corba remote connection
Distributed systems corba remote connection
MohammedAkramMohiudd
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
muthahar.sk
 
corbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdfcorbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdf
BesAli1
 
ADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.pptADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.ppt
rani marri
 
Corba and-java
Corba and-javaCorba and-java
Corba and-javaafreen58
 
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
Dr Sandeep Kumar Poonia
 
19.cobra
19.cobra19.cobra
19.cobra
Abhijeet Kadam
 
CORBA.ppt
CORBA.pptCORBA.ppt
CORBA.ppt
ssuser4fd4ff3
 
Distributed computing - november 2006
Distributed computing  - november 2006Distributed computing  - november 2006
Distributed computing - november 2006
achraf_ing
 
Lecture4 corba
Lecture4   corbaLecture4   corba
Lecture4 corba
poovi117
 
Learning activity 3
Learning activity 3Learning activity 3
Learning activity 3
Aileen Banaguas
 
CORBA & RMI in java
CORBA & RMI in javaCORBA & RMI in java
CORBA & RMI in java
S mahesh acharya
 

Similar to CORBA (20)

Unit iv
Unit ivUnit iv
Unit iv
 
85305524 i-t-case-study
85305524 i-t-case-study85305524 i-t-case-study
85305524 i-t-case-study
 
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
 
Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptx
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptx
 
corba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptxcorba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptx
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
 
Distributed systems corba remote connection
Distributed systems corba remote connectionDistributed systems corba remote connection
Distributed systems corba remote connection
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
 
corbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdfcorbaintroductionandexample-140703005744-phpapp02.pdf
corbaintroductionandexample-140703005744-phpapp02.pdf
 
ADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.pptADVANCED JAVA MODULE III & IV.ppt
ADVANCED JAVA MODULE III & IV.ppt
 
Corba and-java
Corba and-javaCorba and-java
Corba and-java
 
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
 
19.cobra
19.cobra19.cobra
19.cobra
 
CORBA.ppt
CORBA.pptCORBA.ppt
CORBA.ppt
 
Distributed computing - november 2006
Distributed computing  - november 2006Distributed computing  - november 2006
Distributed computing - november 2006
 
Lecture4 corba
Lecture4   corbaLecture4   corba
Lecture4 corba
 
Corba model ppt
Corba model pptCorba model ppt
Corba model ppt
 
Learning activity 3
Learning activity 3Learning activity 3
Learning activity 3
 
CORBA & RMI in java
CORBA & RMI in javaCORBA & RMI in java
CORBA & RMI in java
 

Recently uploaded

在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 

Recently uploaded (20)

在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 

CORBA

  • 1. CORBA concepts & CORBA architecture
  • 2.
  • 3. • CORBA is an abbreviation for Common Object Request Broker Architecture • Object Management Group, (OMG) formed in 1989 • The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together (i.e., it supports multiple platforms).
  • 4.  Focus on integration of systems and applications across heterogeneous platforms  Thus CORBA allows applications and their objects to communicate with each other no matter where they are and or who designed them!!
  • 5. • CORBA is just a specification for creating and using distributed objects • CORBA is not a programming language. • CORBA is a standard (not a product!) • Allows objects to transparently make requests and receive responses
  • 6. 6 Components Of CORBA The main components of CORBA’s RMI framework are: 1.An interface definition language known as IDL. 2.An architecture. 3.The General Inter-ORB protocol (GIOP) defines • specifies formats for the messages in a request-reply protocol. • including messages for enquiring about the location of an object, for cancelling requests and for reporting errors. •
  • 7. 4.The Internet Inter-ORB protocol (IIOP) defines a standard form for remote object references. • IIOP is GIOP implemented in TCP/IP • CORBA services - generic services useful in distributed applications e.g. Naming Service, Event Service.
  • 8. CORBA Architecture • The CORBA architecture is based on the object model. • A CORBA-based system is a collection of objects that isolates the requestors of services (clients) from the providers of services(servers) by a well-defined encapsulating interface. • CORBA is composed of five major components: ORB, IDL, dynamic invocation interface(DII), interface repositories (IR), and object adapters (OA).
  • 9. 9 CORBA Architecture client server proxy or dynamic invocation implementation repository object adapter ORBORB skeleton or dynamic skeleton client program interface repository Request Reply corecorefor A Servant A • The CORBA architecture is designed to allow clients to invoke methods in CORBA objects clients and objects can be implemented in a variety of programming languages it has the following additional components • object adapter, implementation repository and interface repository ORB core The role of the ORB core is similar to that of the communication module In addition, an ORB core provides an interface that includes the following: - operations enabling it to be started and stopped; - operations to convert between remote object references and strings; - operations to provide argument lists for requests using dynamic invocation. Dynamic invocation interface In some applications (e.g. browsers), a client without the appropriate proxy class may need to invoke a method in a remote object. CORBA does not allow classes for proxies to be downloaded at run time as in Java RMI. The dynamic invocation interface is CORBA’s alternative. (we will discuss it later with the Interface Repository) Object adapter –an object adapter bridges the gap between CORBA objects with IDL interfaces and the programming language interfaces of the corresponding servant classes. –it does the work of the remote reference and despatcher modules Skeletons –skeleton classes (for OO languages) are generated in the language of the server by an IDL compiler. –remote method invocations are dispatched via the appropriate skeleton to a particular servant, –the skeleton unmarshals the arguments in request messages and marshals exceptions and results in reply messages. Client stubs/proxies – these are in the client language. – an IDL compiler for the client language uses an IDL interface to generate one of the following: for object-oriented languages the class of a proxy for procedural languages a set of stub procedures. – as before, the client stubs/proxies marshal the arguments in invocation requests and unmarshal exceptions and results in replies. Implementation repository activates registered servers on demand and locates running servers uses the object adapter name to register and activate servers. Interface repository the interface repository provides information about registered IDL interfaces to clients and servers that require it. •
  • 10. 10 CORBA RMI • CORBA RMI is a multi-language RMI system. • The term CORBA object is used to refer to remote objects. a CORBA object implements an IDL interface, has a remote object reference and its methods can be invoked remotely. •
  • 11. • A CORBA object can be implemented by a language without classes. the class concept does not exist in CORBA. therefore classes cannot be defined in CORBA IDL, which means that instances of classes cannot be passed as arguments
  • 12. Object Request Broker (ORB) • For objects to communicate across the network, they need a communication infrastructure named Object Request Broker (ORB). • Both client and object implementation are isolated from the ORB by an IDL interface.
  • 13. • Clients see only the object’s interface, never the implementation. • To communicate, the request does not pass directly from client to object implementation,instead every request is passed to the client’s local ORB, which manages it.
  • 15. CORBA Objects • It is important to note that CORBA objects differ from typical programming objects in three ways: • CORBA objects can run on any platform. • CORBA objects can be located anywhere on the network. • CORBA objects can be written in any language that has IDL mapping.
  • 16. CORBA works with interfaces • All CORBA Objects are encapsulated • Objects are accessible through interface only. • Separation of interfaces and implementation enables multiple implementations for one interface
  • 17. Interface description language (IDL) • IDL is a specification language used to describe a software component's interface • IDLs describe an interface in a language-neutral way, enabling communication between software components that do not share a language. • for ex., between components written in C++ and components written in Java
  • 18. Interface description language (IDL) • IDLs are commonly used in remote procedure call software. • In these cases the machines at either end of the "link" may be using different operating systems and computer languages. • IDLs offer a bridge between the two different systems.
  • 20. 1.Naming Service -It is a binder that provides methods including a) rebind for servers to register the remote object references of CORBA objects by name (e.g. rebind (path, Object) b) resolve for clients to look them up by name.these methods belong to an interface called NamingContext 2.Transaction service and concurrency control service -TS provides flat or nested transactions -CCS provides locking of CORBA objects 3.Persistent object service: -for storing the state of CORBA objects in a passive form and retrieving it
  • 21. 21 • 4)Event Service and Notification Service: -in ES suppliers and consumers communicate via an event channel -NS extends this to allow filtering and typed events 5)Security service: -authentication of principals and access control of CORBA objects with policies -auditing by servers, facilities for non- repudiation 6)Trading service: -allows CORBA objects to be located by attribute
  • 22. Advantages of CORBA • Object Location Transparency:- The client does not need to know where an object is physically located. An object can either be linked into the client, run in a different process on the same machine, or run in a server on the other side of the planet. • Server Transparency:- The client is, as far as the programming model is concerned, ignorant of the existence of servers. The client does not know (and cannot find out) which server hosts a particular object, and does not care whether the server is running at the time the client invokes a request.
  • 23. Advantages of CORBA • Language Transparency :- Client and server can be written in different languages. A server can be implemented in a different language without clients being aware of this. • Implementation Transparency :- The client is unaware of how objects are implemented. A server can use ordinary flat files as its persistent store today and use an OO database tomorrow, without clients ever noticing a difference (other than performance).
  • 24. Advantages of CORBA • Architecture Transparency :- The architectures are hidden from both clients and servers. A client can communicate with a server with different alignment restrictions. • Operating System Transparency:- Client and server are unaffected by each other's operating system. In addition, source code does not change if you need to port the source from one operating system to another
  • 25. Advantages of CORBA • Protocol Transparency :- Clients and servers do not care about the data link and transport layer. They can communicate via token ring, Ethernet, wireless links, ATM (Asynchronous Transfer Mode), or any number of other networking technologies.