1 / 25

Distributed Object Computing

Distributed Object Computing. Weilie Yi Dec 4, 2001. Why Distributed Computing. Inherently distributed: Multi-user games, chat applications Other applications having at least 2 parts: C/S, for scalability and ease of deployment. Remote Procedure Call.

corbin
Download Presentation

Distributed Object Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Object Computing Weilie Yi Dec 4, 2001

  2. Why Distributed Computing • Inherently distributed: Multi-user games, chat applications • Other applications having at least 2 parts: 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. 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

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

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

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

  12. Three Methods for Accessing COM Objects

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

  14. Where Is the Server? • “Create Object” • Locate Implementation • Get object interface pointer, return to client • Call interface members (4) Object Client Application Server (3) (1) (2) 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. TCP, UDP IPX, SPX HTTP … DCOM: Design Issues (4) • Protocol Neutrality C O M C O M COM Object Clients Server Machine Client Machine

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

  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 Reusability Maintainability Adaptability RPC Portability Flexibility Complexity DCOM Vs. RPC

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

More Related