Distributed Object Computing Weilie Yi Dec 4, 2001.

Slides:



Advertisements
Similar presentations
COM, DCOM and Software Components
Advertisements

COM vs. CORBA.
General introduction to Web services and an implementation example
Microsoft COM Component Object Model Microsoft Corporation ™
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Object Oriented Paradigm An evolutionary path. Programming At Its Infancy A program is a single block of procedural code Disadvantages: Reusability is.
Technical Architectures
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Distributed Systems Architectures
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Server Platforms Week 11- Lecture 1. Server Market $ 46,100,000,000 ($ 46.1 Billion) Gartner.
For more Lectures and Notes Visit
The Architecture of Transaction Processing Systems
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
DCOM Technology. What is DCOM? DCOM is just COM with a longer wire DCOM is just COM with a longer wire DCOM extends COM to support communication among.
DCOM Technology Şevket Duran Haşim Sak.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Novera Software, Inc The Leader in Java Application Servers.
E-Commerce Architectures and Technologies Rob Oshana Southern Methodist University.
Kittiphan Techakittiroj (19/09/58 09:28 น. 19/09/58 09:28 น. 19/09/58 09:28 น.) Operating Systems: OS for Client and Server Kittiphan Techakittiroj
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Communication Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
第十四章 J2EE 入门 Introduction What is J2EE ?
Lecture 15 Introduction to Web Services Web Service Applications.
DCOM (Overview) by- Jeevan Varma Anga.
Distributed Component Object Model (DCOM)
Introduction to COM and DCOM Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
OOMI From COM to DCOM.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
What is a Distributed File System?? Allows transparent access to remote files over a network. Examples: Network File System (NFS) by Sun Microsystems.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Remote Access Using Citrix Presentation Server December 6, 2006 Matthew Granger IT665.
PHANI VAMSI KRISHNA.MADDALI. Distributed ???? Is it Distributed Computing? What is Distributed Computing? Distributed Computing Vs Computing Environment.
.NET Enterprise Services COM+ 1.5 麥超俊 Bobby Mak 架構技術推廣經理開發工具暨平台推廣處台灣微軟股份有限公司.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
OOMI A short introduction to Microsoft's COM From COM to DCOM.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
Introduction to JAVA Programming
DISTRIBUTED COMPUTING ENVIRONMENT
Introduction to Advanced Java Programming
Distribution and components
Chapter 9 – RPCs, Messaging & EAI
Distributed Component Object Model
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Inventory of Distributed Computing Concepts
DISTRIBUTED COMPUTING ENVIRONMENT
COM, DCOM and Software Components
Quality Assurance for Component-Based Software Development
Last Class: Communication in Distributed Systems
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

Distributed Object Computing Weilie Yi Dec 4, 2001

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

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

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

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

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

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

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

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

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

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

Three Methods for Accessing COM Objects

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

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

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

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

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

Scalability Examples (1)  Parallel Deployment

Scalability Examples (2)  Pipelining

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

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

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 (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

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

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

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