Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Object Computing Weilie Yi Dec 4, 2001.

Similar presentations


Presentation on theme: "Distributed Object Computing Weilie Yi Dec 4, 2001."— Presentation transcript:

1 Distributed Object Computing Weilie Yi Dec 4, 2001

2 Why Distributed Computing  Inherently distributed: Multi-user games, chat applications Multi-user games, chat applications  Other applications having at least 2 parts: C/S, for scalability and ease of deployment C/S, for scalability and ease of deployment

3 Remote Procedure Call  allowing a program to make a subroutine call on a remote machine.

4 Key Features of RPC  Request-reply  most programs block awaiting a reply  UDP or TCP transport  RPC/UDP vs. RPC/TCP  Standardized data representation  XDR protocol  Authentication

5 Object Oriented Solutions  DCOM Object Management Group, Inc.  CORBA Microsoft Corporation  Sun Microsystems, Inc.  Sun Microsystems, Inc. Java 2 Enterprise Edition (J2EE)

6 DCOM  Distributed Component Object Model  An extension to COM (component object model)  Object Oriented  Location transparency

7 What Is a Component  Packaging Perspective a set of elements which can be reused as a unit.  Service Perspective a software entity which offers services through interfaces  Integrity Perspective a data integrity or encapsulation boundary

8 Component Categorization PackagingServiceIntegrity files,documents,directories, source code files, class libraries, templates,tables,executables,dll’s database services, operating system services, function libraries, system utilities, individual API functions, COM classes databases, operating systems, frameworks, ActiveX controls, some COM classes, Java Applets, applications, complete APIs

9 Client Component In the same process Fast, direct function calls Client Component COM Client Process Server Process On the same machine Fast, secure IPC Across machines Secure, reliable and flexible DCE-RPC based DCOM protocol COM DCE RPC Client Server Machine Client Machine COM Component DCOM Architecture

10 Interface and Component  COM allows clients to invoke services provided by COM-compliant components (COM objects) Interface Pointer Client Application Object

11 An Example of Interface  A COM object can support any number of interfaces.  An interface provides a grouped collection of related methods Clock Object IClock ITimer IAlarm ComponentInterfaces Methords set_current_time get_current_time

12 Three Methods for Accessing COM Objects

13 Cross-process Communication 1. COM creates the "stub" in the object's server process 2. COM creates the "proxy" in the client's process, and connects it to the stub 3. The proxy supplies the interface pointer to the client

14 Where Is the Server? 1. “Create Object” 2. Locate Implementation 3. Get object interface pointer, return to client 4. Call interface members Server Object Client Application (1) (2) (3) (4) COM

15 DCOM: Design Issues (1)  Components and Reuse Build software from parts, not from scratch  Location Independence Services used in a standard way, regardless of location  Language Neutrality Virtually any language can be used to create DCOM components, which can be used from even more languages

16 DCOM: Design Issues (2)  Connection Management  Manages connections to components, by maintaining a reference count on each component.  symmetric network protocol and programming model.

17 DCOM: Design Issues (3)  Scalability  Symmetric Multiprocessing (SMP) Single processor -> multiprocessor  Flexible Deployment This computer -> other computers  Evolving Functionality: Versioning Present -> Past, present, and future

18 Scalability Examples (1)  Parallel Deployment

19 Scalability Examples (2)  Pipelining

20 Scalability Examples (3)  Robust Versioning Functionality is grouped into interfaces in the DCOM programming model  Old interface:  old c old s  new c old s  New interface  old c new s  new c new s

21 DCOM: Design Issues (4)  Protocol Neutrality TCP, UDP IPX, SPX HTTP Server Machine Client Machine COMCOM … Clients COMCOM COMObject

22 DCOM: Design Issues (5)  Platform Neutrality COM Client Linux 2.0 (Intel) BETA COM HP/UX COM Digital Open VMS COM Siemens Nixdorf SINIX COM SCO UnixWare COM Digital Unix 4.0 (Alpha) RC COM IBM MVS 5.2.2 (OS390) COM IBM OS/400 COM IBM AIX COM DCOM Sun Solaris (Sparc) 2.5 RC COM Q3’97 Q1’98 H1’98 Q4’97 H1’98 Q4’97

23 DCOM: Design Issues (6)  Performance  Bandwidth and Latency  Security  Load Balancing  Fault Tolerance  Ease of Deployment  Platform Neutrality  Seamless Integration with Other Internet Protocols

24 DCOM Vs. RPC  DCOM  Reusability  Maintainability  Adaptability  RPC  Portability  Flexibility  Complexity

25 Summery  Brief RPC Review  Why use DCOM  DCOM Architecture  DCOM Design Issues  DCOM vs. RPC


Download ppt "Distributed Object Computing Weilie Yi Dec 4, 2001."

Similar presentations


Ads by Google