This action might not be possible to undo. Are you sure you want to continue?
Overview of CORBA
The global architecture of CORBA.
The general organization of a CORBA system.
Service Collection Query Concurrency Transaction Event Notification Externalization Life cycle Licensing Naming Property Trading Persistence Relationship Security Time Description Facilities for grouping objects into lists, queue, sets, etc. Facilities for querying collections of objects in a declarative manner Facilities to allow concurrent access to shared objects Flat and nested transactions on method calls over multiple objects Facilities for asynchronous communication through events Advanced facilities for event-based asynchronous communication Facilities for marshaling and unmarshaling of objects Facilities for creation, deletion, copying, and moving of objects Facilities for attaching a license to an object Facilities for systemwide name of objects Facilities for associating (attribute, value) pairs with objects Facilities to publish and find the services on object has to offer Facilities for persistently storing objects Facilities for expressing relationships between objects Mechanisms for secure channels, authorization, and auditing Provides the current time within specified error margins
Overview of CORBA services.
Object Invocation Models
Request type Synchronous Failure semantics At-most-once Description Caller blocks until a response is returned or an exception is raised Caller continues immediately without waiting for any response from the server Caller continues immediately and can later block until response is delivered
Best effort delivery
Invocation models supported in CORBA.
Event and Notification Services (1)
The logical organization of suppliers and consumers of events, following the push-style model.
Event and Notification Services (2)
The pull-style model for event delivery in CORBA.
CORBA's callback model for asynchronous method invocation.
CORBA'S polling model for asynchronous method invocation.
Message type Request Reply LocateRequest LocateReply CancelRequest CloseConnection MessageError Fragment Originator Client Server Client Server Client Both Both Both Description Contains an invocation request Contains the response to an invocation Contains a request on the exact location of an object Contains location information on an object Indicates client no longer expects a reply Indication that connection will be closed Contains information on an error Part (fragment) of a larger message
GIOP message types.
Logical placement of interceptors in CORBA.
Portable Object Adaptor (1)
Mapping of CORBA object identifiers to servants. b) The POA supports multiple servants. c) The POA supports a single servant.
Portable Object Adaptor (2)
My_servant *my_object; CORBA::Objectid_var oid;
// Declare a reference to a C++ object // Declare a CORBA identifier
my_object = new MyServant; // Create a new C++ object oid = poa ->activate_object (my_object); // Register C++ object as CORBA OBJECT
Changing a C++ object into a CORBA object.
CORBA's overall model of agents, agent systems, and regions.
Object References (1)
The organization of an IOR with specific information for IIOP.
Object References (2)
Indirect binding in CORBA.
Caching and Replication
The (simplified) organization of a DCS.
A possible organization of an IOGR for an object group having a primary and backups.
An Example Architecture
An example architecture of a fault-tolerant CORBA system.
The general organization for secure object invocation in CORBA.
The role of security interceptors in CORBA.
Overview of DCOM
The general organization of ActiveX, OLE, and COM.
The difference between language-defined and binary interfaces.
Tape Library and Registry
The overall architecture of DCOM.
CORBA Service Collection Query Concurrency Transaction Event Notification Externalization Life cycle Licensing Naming Property Trading Persistence Relationship Security Time None Thread concurrency COM+ Automatic Transactions COM+ Events COM+ Events Marshaling utilities Class factories, JIT activation Special class factories Monikers None None Structured storage None Authorization None DCOM/COM+ Service ActiveX Data Objects Distributed Transaction Coordinator Active Directory Active Directory Active Directory Database access Database access SSL, Kerberos None Windows 2000 Service
Overview of DCOM services in comparison to CORBA services.
Event processing in DCOM.
Passing an object reference in DCOM with custom marshaling.
Step 1 2 3 4 5 6 7 Performer Client Moniker SCM Class object Moniker Object Moniker Description Calls BindMoniker at moniker Looks up associated CLSID and instructs SCM to create object Loads class object Creates object and returns interface pointer to moniker Instructs object to load previously stored state Loads its state from file Returns interface pointer of object to client
Binding to a DCOM object by means of file moniker.
Moniker type File moniker URL moniker Class moniker Composite moniker Item moniker Pointer moniker Description Reference to an object constructed from a file Reference to an object constructed from a URL Reference to a class object Reference to a composition of monikers Reference to a moniker in a composition Reference to an object in a remote process
DCOM-defined moniker types.
The general organization of Active Directory.
Attribute value REQUIRES_NEW REQUIRED SUPPORTED NOT_SUPPORTED DISABLED Description A new transaction is always started at each invocation A new transaction is started if not already done so Join a transaction only if caller is already part of one Never join a transaction Never join a transaction, even if told to do so
Transaction attribute values for DCOM objects.
Declarative Security (1)
Authentication level NONE CONNECT CALL PACKET PACKET_PRIVACY Description No authentication is required Authenticate client when first connected to server Authenticate client at each invocation Authenticate all data packets Authenticate, integrity-check, and encrypt data packets
PACKET_INTEGRITY Authenticate data packets and do integrity check
Authentication levels in DCOM.
Declarative Security (2)
Impersonation level ANONYMOUS IDENTIFY IMPERSONATE DELEGATE Description The client is completely anonymous to the server The server knows the client and can do access control checks The server can invoke local objects on behalf of the client The server can invoke remote objects on behalf of the client
Impersonation levels in DCOM.
Service NONE DCE_PRIVATE DCE_PUBLIC WINNT GSS_KERBEROS No authentication DCE authentication based on shared keys DEC authentication based on public keys Windows NT security Kerberos authentication (a) Service NONE NAME DCE No authorization Authorization based on the client's identity Authorization using DEC Privilege Attribute Certificates (PACs) (b) Description Description
Default authentication services supported in DCOM. Default authorization services supported in DCOM.
Globe Object Model (1)
The organization of a Globe distributed shared object.
Globe Object Model (2)
The general organization of a local object for distributed shared objects in Globe.
Globe Object Model (3)
Document Interface Method AddElement DeleteElement AllElements SetRoot GetRoot Description Add an element to the current set of elements Remove an element from the Web document Return a list of the elements currently in the document Set the root element Return a reference to the root element Content Interface Method GetCotent PutContent PutAllContent Description Return the content of an element as an array of bytes Replace the content of an element with a given array of bytes Replace the content of an entire document
Interfaces implemented by the semantics subobject of a GlobeDoc object.
Globe Object Model (4)
Property Interface Method GetProperties SetProperties Description Return the list of (attribute, value)-pairs of an element Provide a list of (attribute, value)-pairs for an element
Lock Interface Method CheckOutElements CheckInElements GetCheckedElements Description Check out a series of elements that require modification Check in a series of modified elements Get a list of elements that are currently checked out
Interfaces implemented by the semantics subobject of a GlobeDoc Object.
Binding a process to an object in Globe.
Service Collection Concurrency Transaction Event/Notification Externalization Life cycle Licensing Naming Property/Trading Persistence Security Replication Fault tolerance Possible Implementation in Globe Separate object that holds references to other objects Each object implements its own concurrency control strategy Separate object representing a transaction manager Separate object per group of events (as in DCOM) Each object implements its own marshaling routines Separate class objects combined with per-object implementations Implemented by each object separately Separate service, implemented by a collection of naming objects Separate service, implemented by a collection of directory objects Implemented on a per-object basis Implemented per object, combined with (local) security services Implemented on a per-object basis Implemented per object combined with fault-tolerant services Available No No No No Yes Yes No Yes No Yes Yes Yes Yes
Overview of possible Globe implementations of typical distributes-systems services.
Invoking an object in Globe that uses active replication.
Method Bind AddBinding CreateLR RemoveLR UnbindDSO ListAll ListDSO StatLR Description Lets the server bind to a given object, unless it is already bound Lets the server bind to an object, even if it is already bound Lets the server create a local object for a new distributed object Lets the server remove a local object of a given object Lets the server remove all local objects of a given object Returns a list of all local objects Returns a list of all local objects for a given objects Get the status of a specific local object
Operations on a Globe object server.
Object References and Contact Addresses (1)
Field Protocol identifier Protocol address Implementation handle Description A constant representing a (known) protocol A protocol-specific address Reference to a file in a class repository
The representation of a protocol layer in a stacked contact address.
Object References and Contact Addresses (2)
Field Implementation handle Initialization string
Description Reference to a file in a class repository String that is used to initialize an implementation
The representation of an instance contact address.
Globe Naming Service
Iterative DNS-based name resolution in Globe.
Method Start Send Invoked Description Indicate that a new method invocation has been locally requested Pass the marshaled invocation request to the replication subobject Indicate that the invocation on the semantics object has completed
The interface of the replication subobject as made available to the control subobject.
The behavior of the control subobject as a finite state machine.
Examples of Replication in Globe (1)
Read method State START INVOKE RETURN None Invoke local method Return results to caller Modify method State START SEND INVOKE RETURN None Pass marshaled invocations invoke local method Return results to caller Action to take Method call Start Send Invoked None Next state SEND INVOKE RETURN START Action to take Method call Start Invoked None Next state INVOKE RETURN START
State transitions and actions for active replication.
Examples of Replication in Globe (2)
Read method State START INVOKE RETURN None Invoke local method Return results to caller Action to take Method call Start Invoked None Next state INVOKE RETURN START
Modify method at backup replica State START SEND RETURN None Pass marshaled invocation Return results to caller Action to take Method call Start Send None Next state SEND RETURN START
Modify method at primary replica State START INVOKE RETURN none invoke local method Return results to caller Action to take Method call Start Invoked None Next state INVOKE RETURN START
State transitions and actions with primary-backup replication
The position of a security subobject in a Globe local object.
Using Kerberos to establish secure distributed shared objects.
Issue Design goals Object model Services Interfaces Sync. communication Async. communication Callbacks Events Messaging Object server Directory service Trading service CORBA Interoperability Remote objects Many of its own IDL based Yes Yes Yes Yes Yes Flexible (POA) Yes yes DCOM Functionality Remote objects From environment Binary Yes Yes Yes Yes Yes Hard-coded Yes No Scalability Distributed objects Few Binary Yes No No No No Object dependent No No Globe
Comparison of CORBA, DCOM, and Globe.
Issue Naming service Location service Object reference Synchronization Replication support Transactions Fault tolerance Recovery support Security Yes No Object's location Transactions Separate server Yes By replication Yes Various mechanisms CORBA Yes No Interface pointer Transactions None Yes By transactions By transactions Various mechanisms DCOM Yes Yes True identifier Only intra-object Separate subobject No By replication No More work needed Globe
Comparison of CORBA, DCOM, and Globe.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.