DOC PREVIEW
UMass Amherst CS 677 - Distributed Middleware

This preview shows page 1-2-3 out of 8 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1CS677: Distributed OSComputer ScienceLecture 24, page 1Today: Distributed Middleware• Middleware concepts• Case study: CORBACS677: Distributed OSComputer ScienceLecture 24, page 2Middleware• Software layer between application and the OS– Provides useful services to the application– Abstracts out common functionality required by distributedapplications– Applications use the middleware API to invoke services• Examples:– CORBA– DCOM2CS677: Distributed OSComputer ScienceLecture 24, page 3Overview of CORBA• Common Object Request Broker Architecture– Specification of a distributed middleware– Specs drawn up by Object Management Group (OMG)– http://www.omg.org• Goal: Interoperability with distributed applications onvarious platformsCS677: Distributed OSComputer ScienceLecture 24, page 4CORBA Overview• Object request broker (ORB)– Core of the middleware platform– Handles communication between objects and clients– Handles distribution and heterogeneity issues– May be implemented as libraries• Facilities: composition of CORBA services3CS677: Distributed OSComputer ScienceLecture 24, page 5Object Model• Objects & services specified using an Interface Definition language (IDL)– Used to specify interface of objects and/or services• ORB: run-time system that handles object-client communication• Dynamic invocation interface: allows object invocation at run-time– Generic invoke operation: takes object reference as input– Interface repository stores all interface definitionsCS677: Distributed OSComputer ScienceLecture 24, page 6CORBA 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…4CS677: Distributed OSComputer ScienceLecture 24, page 7Corba ServicesProvides the current time within specified error marginsTimeMechanisms for secure channels, authorization, and auditingSecurityFacilities for expressing relationships between objectsRelationshipFacilities for persistently storing objectsPersistenceFacilities to publish and find the services on object has to offerTradingFacilities for associating (attribute, value) pairs with objectsPropertyFacilities for systemwide name of objectsNamingFacilities for attaching a license to an objectLicensingFacilities for creation, deletion, copying, and moving of objectsLife cycleFacilities for marshaling and unmarshaling of objectsExternalizationAdvanced facilities for event-based asynchronous communicationNotificationFacilities for asynchronous communication through eventsEventFlat and nested transactions on method calls over multiple objectsTransactionFacilities to allow concurrent access to shared objectsConcurrencyFacilities for querying collections of objects in a declarative mannerQueryFacilities for grouping objects into lists, queue, sets, etc.CollectionDescriptionServiceCS677: Distributed OSComputer ScienceLecture 24, page 8Object Invocation Models• Invocation models supported in CORBA.– Original model was RMI/RPC-like– Current CORBA versions support additional semanticsCaller continues immediately andcan later block until response isdeliveredAt-most-onceDeferredsynchronousCaller continues immediatelywithout waiting for any responsefrom the serverBest effort deliveryOne-wayCaller blocks until a response isreturned or an exception is raisedAt-most-onceSynchronousDescriptionFailure semanticsRequest type5CS677: Distributed OSComputer ScienceLecture 24, page 9Event and Notification Services (1)• The logical organization of suppliers and consumers ofevents, following the push-style model.CS677: Distributed OSComputer ScienceLecture 24, page 10Event and Notification Services (2)• The pull-style model for event delivery in CORBA.6CS677: Distributed OSComputer ScienceLecture 24, page 11Messaging: Async. Method Invocation• CORBA's callback model for asynchronous method invocation.CS677: Distributed OSComputer ScienceLecture 24, page 12Messaging (2)• CORBA'S polling model for asynchronous methodinvocation.7CS677: Distributed OSComputer ScienceLecture 24, page 13Portable Object Adaptor (1)• POA: Wrappers for server-side code (makes code look like objects)a) The POA supports multiple servants.b) The POA supports a single servant.CS677: Distributed OSComputer ScienceLecture 24, page 14Portable Object Adaptor (2)• Changing a C++ object into a CORBA object.My_servant *my_object; // Declare a reference to a C++ objectCORBA::Objectid_var oid; // Declare a CORBA identifiermy_object = new MyServant; // Create a new C++ objectoid = poa ->activate_object (my_object);// Register C++ object as CORBA OBJECT8CS677: Distributed OSComputer ScienceLecture 24, page 15Naming: Object References• Interoperable object reference: language-independenttechniques for referring to objectsCS677: Distributed OSComputer ScienceLecture 24, page 16An Example Architecture• An example architecture of a fault-tolerant CORBA


View Full Document

UMass Amherst CS 677 - Distributed Middleware

Download Distributed Middleware
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Distributed Middleware and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Distributed Middleware 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?