COM, DCOM and Software Components

Slides:



Advertisements
Similar presentations
Qisheng Hong Yani Mulyani Paul Visokey
Advertisements

Siebel Web Services Siebel Web Services March, From
COM, DCOM and Software Components
COM vs. CORBA.
General introduction to Web services and an implementation example
Microsoft COM Component Object Model Microsoft Corporation ™
Fast Communication Firefly RPC Lightweight RPC  CS 614  Tuesday March 13, 2001  Jeff Hoy.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Distributed Object Computing Weilie Yi Dec 4, 2001.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
AP 12/00 From Object-Oriented Programming to Component Software OO Languages: –Ada, Smalltalk, Java, C++ Class versus Object: –Express existence of objects.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
1 COM/DCOM n Part of Project Presentation (Concept Outline)
Introduction to CORBA Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
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.
Windows 2000 Web and Application Services CIS 485 Tsungfan Chou.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
H Research Issues in CORBA Peter de Jong Hewlett-Packard Usenix 8/12/97 Research Issues in CORBA What keeps CORBA people awake at Night! Peter de Jong.
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.
第十四章 J2EE 入门 Introduction What is J2EE ?
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Architecting Web Services Unit – II – PART - III.
DCOM (Overview) by- Jeevan Varma Anga.
DISTRIBUTED COMPONENT OBJECT MODEL - A STUDY OF ITS ARCHITECTURE AND WHY IT IS CONSIDERED A FAILURE BY EXPERTS.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
Information Management NTU Interprocess Communication and Middleware.
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
.NET Enterprise Services COM+ 1.5 麥超俊 Bobby Mak 架構技術推廣經理開發工具暨平台推廣處台灣微軟股份有限公司.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
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.
Building High Performance, Robust Server Applications with Internet Information Server 5.0 Van Van IIS - Program Manager Microsoft Corporation.
Remote Procedure CallCS-502 Fall Remote Procedure Call (continued) CS-502, Operating Systems Fall 2007 (Slides include materials from Operating System.
Kemal Baykal Rasim Ismayilov
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 2, 3: Communication 1/30/20161Distributed Systems - COMP 655.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
Distributed computing environment
Netscape Application Server
Sabri Kızanlık Ural Emekçi
Architecting Web Services
Microsoft’s Distributed Component Object Model (DCOM)
Server Client Application Development
Architecting Web Services
#01 Client/Server Computing
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
Chapter 17: Client/Server Computing
Quality Assurance for Component-Based Software Development
What is Middleware? Application Application Middleware Middleware
Software Engineering and Architecture
#01 Client/Server Computing
Presentation transcript:

COM, DCOM and Software Components Nat Brown COM Program Management Microsoft Corporation natbro@microsoft.com

Agenda What are COM and DCOM? What’s right with COM What’s wrong with CORBA / IIOP Interesting COM Research Topics Additional Reference Material

The COM Programming Model A scalable programming model 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 Component

DCOM Architecture Flexible and extensible Pluggable Transports Client Machine Server Machine D C O M D C O M TCP, UDP IPX, SPX COM Object Clients HTTP Msg-Q

DCOM Architecture Flexible and extensible Pluggable Security Client Machine Server Machine D C O M NT4 Security SSL/ Certificates NT Kerberos DCE Security D C O M TCP, UDP IPX, SPX COM Object Clients HTTP Falcon

DCOM Architecture Efficient and scalable Multiplexing - Single Port per-protocol, per server process, regardless of # of objects Scalable - Connection-Less Protocols like UDP Preferred Established Connection-Oriented (TCP) Sessions Reused by same client Client Server Client

DCOM Architecture Efficient and scalable Low Bandwidth Header is 28 bytes over DCE-RPC Keep-Alive Messages bundled for all connections between Machines Client Machine Server Machine Keep-Alive Traffic for all connections Client #1 Server Logical “Connections” or “Sessions” Client #2

What’s Right with COM Focus is on binary object standard and scalable/fine-grained component re-use Concreteness and depth of definition, for example security, lifetime management, activation, installation & deployment Architected extensibility

What’s Wrong with CORBA/IIOP Focus is on cross-node or network reuse/integration in practice useful for vertical solutions, not horizontal reuse/integration Incomplete specification marshaling format of certain types of data-structures implications of lack of services (e.g. Naming, Events, Lifetime management) No architected extensibility

Deep/Robust Extensibility COM Research Areas High-Level Language Integration Application Management Ease-of-use Deep/Robust Extensibility

Language Integration Re-Use Mechanisms Inheritance, Containment, Delegation, Aggregation “Interception” Constructs of modern OO languages classes, fields, exceptions Constructs of modern 4GL/RAD tools data-binding auto-persistence, -everything Meta Data

Application Management Distribution of Code + Data + Configuration Information Security and Security Delegation Security “roles” and re-use of components Performance Monitoring Runtime Environment

Ease-of-Use What’s the next programming model layer to vastly improve ease-of-use? Transactions? Auto-caches & state management? Auto-distribution & -execution?

Ease-of-Use: First Steps Component Type Info DLL Register RefCounting Query Interface Methods Class Factory Connection Points IDispatch Component Meta Data DLL Register RefCounting Query Interface Methods Class Factory Connection Points IDispatch Clients Network Server Thread Pool Queue Connections Context Security Shared Data Receiver Synchronization Service Logic Configuration Management Receiver Queue Connections Context Security Management Configuration Thread Pool Service Logic Synchronization Shared Data Server MTS = easier servers Easier components?

Reference Material [Box1 97] D. Box, Q&A ActiveX/COM, Microsoft Systems Journal, March 1997, pp. 93-105. [Box2 97] D. Box, Q&A ActiveX/COM, Microsoft Systems Journal, July 1997, pp. 93-108. [Brockschmidt 93] K. Brockschmidt, Inside OLE 2, Redmond, Washington: Microsoft Press, 1993. [Brown 96] N. Brown, C. Kindel, Distributed Component Object Model Protocol -- DCOM/1.0 http://ds1.internic.net/internet-drafts/draft-brown-dcom-v1-spec-01.txt [Chappell 96] D. Chappell, Understanding ActiveX and OLE, Redmond, Washington: Microsoft Press, 1996. [COM 95] The Component Object Model Specification, http://www.microsoft.com/oledev/olecom/title.htm [DCE 95] AES/Distributed Computing - Remote Procedure Call, Revision B, Open Software Foundation, http://www.osf.org/mall/dce/free_dce.htm [Rogerson 96] D. Rogerson, Inside COM, Redmond, Washington: Microsoft Press, 1996. [Wang 97] Y. M. Wang, COM/DCOM Resources, http://www.research.att.com/~ymwang/resources/resources.htm