Title: Distributed Object Computing
 1Distributed Object Computing
Weilie Yi Dec 4, 2001 
 2Why Distributed Computing
- Inherently distributed 
 -  Multi-user games, chat applications 
 - Other applications having at least 2 parts 
 -  C/S, for scalability and ease of deployment
 
  3Remote Procedure Call
- allowing a program to make a subroutine call on a 
remote machine.  
  4Key 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
 
  5Object Oriented Solutions
- DCOM 
 - Object Management Group, Inc. 
 - CORBA 
 - Microsoft Corporation 
 - Sun Microsystems, Inc.  
 - Java 2 Enterprise Edition (J2EE) 
 
  6DCOM
- Distributed Component Object Model 
 - An extension to COM (component object model)
 
- Object Oriented 
 - Location transparency 
 
  7What 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
 
  8Component Categorization
Packaging Service Integrity
files, documents, directories, source code files, class libraries, templates, tables, executables, dlls 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 
 9DCOM Architecture 
 10Interface and Component
- COM allows clients to invoke services provided by 
COM-compliant components (COM objects) 
Client Application
Object
Interface Pointer 
 11An 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
Component
Interfaces
Methords 
 12Three Methods for Accessing COM Objects 
 13Cross-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 
  14Where 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 
 15DCOM 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 
  16DCOM Design Issues (2)
- Connection Management 
 - Manages connections to components, by maintaining 
a reference count on each component.  - symmetric network protocol and programming model. 
 
  17DCOM Design Issues (3)
- Scalability 
 - Symmetric Multiprocessing (SMP) 
 - Single processor -gt multiprocessor 
 - Flexible Deployment 
 - This computer -gt other computers 
 - Evolving Functionality Versioning 
 - Present -gt Past, present, and future
 
  18Scalability Examples (1)
  19Scalability Examples (2)
  20Scalability 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 
 
  21DCOM Design Issues (4)
C O M
C O M
COM Object
Clients
Server Machine
Client Machine 
 22DCOM Design Issues (5)
HP/UX
Sun Solaris (Sparc) 2.5 RC
Q397
Q497
Digital Open VMS
Digital Unix 4.0 (Alpha) RC
COM Client
Q397
H198
DCOM
Siemens Nixdorf SINIX
IBM MVS 5.2.2 (OS390)
Q198
H198
Linux 2.0 (Intel) BETA
IBM OS/400
COM
H198
Q497
SCO UnixWare
IBM AIX
COM
H198
H198 
 23DCOM Design Issues (6)
- Performance 
 - Bandwidth and Latency 
 - Security 
 - Load Balancing 
 - Fault Tolerance 
 - Ease of Deployment 
 - Platform Neutrality 
 - Seamless Integration with Other Internet Protocols
 
  24DCOM Vs. RPC
- DCOM 
 - Reusability 
 - Maintainability 
 - Adaptability 
 
- RPC 
 - Portability 
 - Flexibility 
 - Complexity
 
  25Summery
- Brief RPC Review 
 - Why use DCOM 
 - DCOM Architecture 
 - DCOM Design Issues 
 - DCOM vs. RPC