Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.

Similar presentations


Presentation on theme: "CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects."— Presentation transcript:

1 CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects

2 Administration  Loss of the Mars space craft.

3 Distributed Data and Replication Distributed Data Data is held on several computer systems.A transaction may need to assemble data from several sources Replication Several copies of the data are held in different locations. Mirror: Complete data set is replicated Cache: Dynamic set of data is replicated (e.g., most recently used) With replicated data, the biggest problem is consistency.

4 Example: Web Server http message daemon spawned processes TCP port 80 The daemon listens at port 80. When a message arrives it: spawns a processes to handle the message returns to listening at port 80

5 Transaction Monitor messages A transaction monitor: monitors transactions, routes them across services, balances the load, restarts transactions after failure. Transaction monitor processes

6 Basic Definitions  An object is a piece of code that owns attributes and provides services through methods.  The methods operate on instance data owned by the object.  A class is a collection of like objects.

7 Characteristics of Objects  Encapsulation. An object has a public interface that defines how other objects or applications can interact with it. methods public instance data  Inheritance. Subclasses can be derived from parent classes. They inherit or override the parents' methods and instance data.  Polymorphism. The effect of a method can vary depending on the class that implements it (e.g., display_object)

8 Object Binding Binding is the linking of the software interface between two objects.  Static binding: The interface is determined at compile or build time. Straightforward Allows type checking  Dynamic binding or late binding: The link is established at run time. Flexible and extensible Complex

9 Distributed Objects Objects on separate computers interact through method calls and instance data. Major systems:  CORBA (Common Object Request Broker Architecture)  Microsoft family: OLE, COM, DCOM, Active X...

10 Desirable Properties of Distributed Objects  Different languages and operating environments  Reusable code: components  Architecture can be extensible  Future changes can be localized  Standard tools used for client/server interactions

11 Object Request Broker (ORB) Objects C C++ Java Other Cobol IDL ClientServer IDL Object Request Broker Interface

12 Interface Definition Language module { ; interface [: ] { See next slide } interface [: ] {..... } { Naming context Define a class

13 Interface Definition Language (continued) interface [: ] { ; [ ( ) [raises exception] [context];.... [ ( ) [raises exception] [context];.... } Define a class Define a method

14 Example: Fedora IDL http://www2.cs.cornell.edu/NCSTRL/FEDORA/IDL/index.html

15 Object Request Broker (ORB) An ORB lets objects make requests to and receive response from other objects located locally or remotely.  Static and dynamic method invocations  High-level language bindings  Self-describing system  Local/remote transparency  Inter-ORB protocols Internet Inter-ORB Protocol (IIOP)

16 ORB: Programmer's View Object Request Broker Invoke a on object X Invoke a on object Y Object X a Object Y a ClientServer

17 ORB: System View Object Request Broker Interface repository Dynamic invocation Client IDL stubs ORB interface Implementation repository Static skeletons Dynamic invocation Object adapter Client Object implementation

18 CORBA Services  Naming service  Event service  Concurrency control service  Transaction service  Relationship service  Externalization service  Query service  Life cycle service  Persistence service  Licensing service  Properties service  Security service  Time service

19 Distributed Objects and the System Life-Cycle All large systems change with time.  Dynamic binding of objects combined with polymorphism permits the addition of extra object types, incremental changes, etc. to be localized. Development environments change with time.  Language bindings and IIOP permit changes. Production environments changes with time.  Code can be reused in different environments.

20 Reading Before next class, read: Sommerville: Chapters 18 and 19 pages 347 to 394.


Download ppt "CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects."

Similar presentations


Ads by Google