Your SlideShare is downloading. ×
0
CORBA concepts & CORBA
architecture
• CORBA is an abbreviation for Common
Object Request Broker Architecture
• Object Management Group, (OMG) formed
in 1989
•...
 Focus on integration of systems
and applications across
heterogeneous platforms
 Thus CORBA allows applications
and the...
• CORBA is just a specification for
creating and using distributed
objects
• CORBA is not a programming
language.
• CORBA ...
6
Components Of CORBA
The main components of CORBA’s RMI
framework are:
1.An interface definition language known
as IDL.
2...
4.The Internet Inter-ORB protocol
(IIOP) defines a standard form for
remote object references.
• IIOP is GIOP implemented ...
CORBA Architecture
• The CORBA architecture is based on
the object model.
• A CORBA-based system is a collection
of object...
9
CORBA Architecture
client server
proxy
or dynamic invocation
implementation
repository object
adapter
ORBORB
skeleton
or...
10
CORBA RMI
• CORBA RMI is a multi-language RMI
system.
• The term CORBA object is used to refer
to remote objects.
a CO...
• A CORBA object can be implemented
by a language without classes.
the class concept does not exist in
CORBA.
therefore ...
Object Request Broker (ORB)
• For objects to communicate across
the network, they need a
communication infrastructure name...
• Clients see only the object’s interface,
never the implementation.
• To communicate, the request does
not pass directly ...
Object Request Broker (ORB)
CORBA Objects
• It is important to note that CORBA
objects differ from typical
programming objects in three ways:
• CORBA ...
CORBA works with interfaces
• All CORBA Objects are encapsulated
• Objects are accessible through interface
only.
• Separa...
Interface description language
(IDL)
• IDL is a specification language used
to describe a software component's
interface
•...
Interface description language
(IDL)
• IDLs are commonly used in remote
procedure call software.
• In these cases the mach...
IDL Compiler
1.Naming Service
-It is a binder that provides methods including
a) rebind for servers to register the remote
object refer...
21
•
4)Event Service and Notification Service:
-in ES suppliers and consumers
communicate via an event channel
-NS extends...
Advantages of CORBA
• Object Location Transparency:-
The client does not need to know where an object
is physically locate...
Advantages of CORBA
• Language Transparency :-
Client and server can be written in different
languages. A server can be im...
Advantages of CORBA
• Architecture Transparency :-
The architectures are hidden from both clients and
servers. A client ca...
Advantages of CORBA
• Protocol Transparency :-
Clients and servers do not care about
the data link and transport layer. Th...
CORBA
Upcoming SlideShare
Loading in...5
×

CORBA

519

Published on

Published in: Engineering, Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
519
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
48
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "CORBA"

  1. 1. CORBA concepts & CORBA architecture
  2. 2. • 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).
  3. 3.  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!!
  4. 4. • 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
  5. 5. 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. •
  6. 6. 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.
  7. 7. 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).
  8. 8. 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. •
  9. 9. 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. •
  10. 10. • 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
  11. 11. 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.
  12. 12. • 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.
  13. 13. Object Request Broker (ORB)
  14. 14. 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.
  15. 15. 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
  16. 16. 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
  17. 17. 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.
  18. 18. IDL Compiler
  19. 19. 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
  20. 20. 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
  21. 21. 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.
  22. 22. 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).
  23. 23. 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
  24. 24. 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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×