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