Today: Distributed Objects: Case Study: Ejbs (Enterprise Java Beans) Case Study: Corba
Today: Distributed Objects: Case Study: Ejbs (Enterprise Java Beans) Case Study: Corba
Distributed Objects
1
Distributed Objects vs. RPC
2
Naming: Object References
CORBA object reference
3
Binding
4
Parts of an EJB
• Home interface:
– Object creation, deletion
– Location of persistent objects (entity beans)
– Object identifier is class-managed
• Remote interface
– “business logic”
– i.e. the object itself
• Terminology differences
– Client/server -> web applications
5
Overview of CORBA
CORBA Overview
6
Object Model
CORBA Services
• Collection service: group objects into lists, queues,..
• Query service: use query language to query for service(s)
• Concurrency control service: locking services
• Event service: interrupt upon a specific event
• Many more…
7
Corba Services
Service Description
Collection Facilities for grouping objects into lists, queue, sets, etc.
Query Facilities for querying collections of objects in a declarative manner
Concurrency Facilities to allow concurrent access to shared objects
Transaction Flat and nested transactions on method calls over multiple objects
Event Facilities for asynchronous communication through events
Notification Advanced facilities for event-based asynchronous communication
Externalization Facilities for marshaling and unmarshaling of objects
Life cycle Facilities for creation, deletion, copying, and moving of objects
Licensing Facilities for attaching a license to an object
Naming Facilities for systemwide name of objects
Property Facilities for associating (attribute, value) pairs with objects
Trading Facilities to publish and find the services on object has to offer
Persistence Facilities for persistently storing objects
Relationship Facilities for expressing relationships between objects
Security Mechanisms for secure channels, authorization, and auditing
Time Provides the current time within specified error margins
8
What went wrong with CORBA?
• Where is it now?
– Inside EJB, I think
– Gnome desktop
– Embedded CORBA?
• Design by committee
– Competing commercial interests
– … time to go teach….
9
Event and Notification Services (2)
10
Messaging (2)
• POA: Wrappers for server-side code (makes code look like objects)
a) The POA supports multiple servants.
b) The POA supports a single servant.
Computer Science CS677: Distributed OS Lecture 23, page 22
11
Portable Object Adaptor (2)
An Example Architecture
• An example architecture of a fault-tolerant CORBA system.
12
Replication Frameworks (1)
13
Replicated Invocations (1)
14
Replicated Invocations (3)
15