1 COM/DCOM n Part of Project Presentation (Concept Outline)

Slides:



Advertisements
Similar presentations
COM and.Net Components By Sam Nasr January 25,
Advertisements

COM, DCOM and Software Components
Fundamentals of COM Mary Kirtland Program Manager COM Team Microsoft Corporation.
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Intro to COM What is it and how do I use it?. Objectives Teach the fundamentals of COM. Understand the reason for using it. Learn to make a simple in-process.
OPC - OLE For Process Control Paul C. Shafer Bently Nevada Corp.
Distributed Systems Architectures
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
Distributed Object Computing Weilie Yi Dec 4, 2001.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Web Services Members Troy Tony Ellen Vincent. Web Services What is it Why is it useful What have been solved Demo Alternative technologies Question.
Computer Science Lecture 24, page 1 CS677: Distributed OS Today: More Case Studies DCOM Jini.
Hadar Vorenshtein & Meital Levy Instructor yavgeni Rivkin.
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.
Chapter 13 Physical Architecture Layer Design
Ch 12 Distributed Systems Architectures
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.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Intro to COM What is it and what can it do for me?
1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.
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.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
Obsydian OLE Automation Ranjit Sahota Chief Architect Obsydian Development Ranjit Sahota Chief Architect Obsydian Development.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
DCOM (Overview) by- Jeevan Varma Anga.
DISTRIBUTED COMPONENT OBJECT MODEL - A STUDY OF ITS ARCHITECTURE AND WHY IT IS CONSIDERED A FAILURE BY EXPERTS.
Microsoft’s Distributed Component Object Model (DCOM) Jim Ries Updated 10/5/1999 A semi-technical overview.
COM/DCOM Implementation Basics of: Object creation and access Object Reuse Interface referencing.
Distributed Component Object Model (DCOM)
OLE / COM Helia / Martti Laiho Sources: MSDN Kraig Brockschmidt: Inside OLE Orfali-Harkey-Erwards: Client/Server Survival Guide.
Introduction to COM and DCOM Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie.
CS 603 DCOM April 5, DCOM – What is it? Start with COM – Component Object Model –Language-independent object interface Add interprocess communication.
COMCOM omponent bject odel After this presentation, you will: Be Able To: Conceptual understanding of COM How it works, What it’s used for Decode Acronyms.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Information Management NTU Interprocess Communication and Middleware.
Ni.com Understanding COM/ActiveX Jeff Paulter Staff Software Engineer Thurs Aug 17 10:15-11:30 a.m., 1:45-3:00 p.m. Ash (10A) Jeff Paulter Staff Software.
Introduction to COM and ActiveX Controls. What is an object? In the Fayad sense of the word.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
.NET Enterprise Services COM+ 1.5 麥超俊 Bobby Mak 架構技術推廣經理開發工具暨平台推廣處台灣微軟股份有限公司.
Transaction Services in Component Frameworks Bruce Kessler Comp250CBS March 2, 2004.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
COM / DCOM Xiaolan Lu Mingzhen Wang Dong Xie. Why COM / DCOM?  Challenges facing the software industry  Component software provides a solution  General.
Seminarium on Component-based Software Engineering Feraaz Imami LIACS – Leiden University Fall 2005 Component Object Model (COM)
CORBA AND SOAP Unmesh Kulkarni i2 Group Ashish V. Tendulkar Directory Database integration group ( Persistent Systems Pvt. Ltd.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Component Object Model(COM)
Security analysis of COM with Alloy
Microsoft’s Distributed Component Object Model (DCOM)
The Open Grid Service Architecture (OGSA) Standard for Grid Computing
Distribution and components
Out-of-Process Components
Systems Analysis and Design With UML 2
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.
Interpreter Style Examples
AGENT OS.
Inventory of Distributed Computing Concepts
COM, DCOM and Software Components
Quality Assurance for Component-Based Software Development
Out-of-Process Components
Presented By Justas Raslanas
Jim Fawcett CSE775 – Distributed Objects Spring 2007
Presentation transcript:

1 COM/DCOM n Part of Project Presentation (Concept Outline)

2 Component Object Model (COM) and DCOM

3 Overview u History of COM u Introduction to the COM Specification u DCOM Technical Overview u Load balancing u Microsoft Transaction Server u Monikers u DCOM vs CORBA u Problems and the future of COM

4 The Evolution of COM u Object Linking and Embedding (OLE1) u Object Model (OLE2) (COM standard) u ActiveX (Internet applications) u Distributed interNet Applications (COM+)

5

6 COM Specification Foundations u Reusable component objects u Binary standard for interoperability u “True” system object model u Provides distributed capabilities

7 Object Interoperability u Stable versioning u Rapid object interaction u Location transparency u Language independence

8 “True” System Object Model u Globally unique identifiers (GUID) u Reusability and inheritance u Single programming model u Life-cycle encapsulation u Object-level security

9 Reusability Mechanisms u Containment/Delegation u Aggregation

10

11

12 Objects and Interfaces

13

14 Interfaces u An interface is a named table of function pointers (methods) u An interface is not a class u An interface is not a COM component u COM clients only interact with pointers to interfaces u COM components can implement multiple interfaces u Interfaces are strongly typed u Interfaces are immutable

15 Object Creation and Access IUnknown and QueryInterface

16 Object Creation API u CoCreateInstanceEx : creates a single uninitialized object associated with the given CLSID on a specified remote machine. u CoCreateInstanceEx makes it possible to specify an array of structures, each pointing to an interface identifier (IID) on input, and, on return, containing (if available) a pointer to the requested interface and the return value of the QueryInterface call for that interface. This permits fewer round trips between machines. u The CoCreateInstanceEx helper function encapsulates three calls: first, to CoGetClassObject to connect to the class object associated with the specified CLSID, specifying the machine location of the class; second, to IClassFactory::CreateInstance to create an uninitialized instance, and finally, to IClassFactory::Release, to release the class object. CoGetClassObject IClassFactory::CreateInstance

17 Connectable Objects and Multicasting u Connection point implementation using Advise() HRESULT Advise( IUnknown *pUnk,//Pointer to the client’s advise sink DWORD *pdwCookie//Pointer to the connection point identifier used by Unadvise);

18

19 DCOM Architecture

20 Marshalling u Static balancing using a referral component u Dynamic load balancing u Marshalling (remoting): standard and custom Use custom marshalling when: - a remote object itself is a proxy to some other object - the object’s state is in shared memory (e.g. structured storage) - an object’s state is immutable (e.g. Monikers) - batching remote calls into one to optimize performance

21 Referral Batching

22 Custom Marshalling

23 Scalability and Performance

24 Microsoft Transaction Server u MTS shelters developers from complex server issues such as concurrency, resource pooling, security, and context management u MTS provides run-time services for components u MTS ensures that transactions are atomic, consistent, have proper isolation and are durable u MTS components are those that execute in the MTS run-time environment

25 Monikers u A moniker is a name for a specific object instance, that is, one particular combination of CLSID(GUID) and persistent data u Monikers are themselves COM objects which support an interface called Imoniker u Each moniker has its own persistent data; which includes all it needs to instantiate and initialize the single object instance which it identifies

26 DCOM vs CORBA u Layer comparisons u u Conclusions and comments

27 Summary Table

28 The Future of COM u Active Directory Services u What is DNA? u Implementation problems u Summary

29 COM+ Features u Transactions and transaction management u Databinding u Persistence u Load balancing u Security u In-memory database u Event infrastructure u Ubiquitous type description u Dynamic invocation u Garbage collection u Interception

30 References u The Component Object Model Specification(Introduction) Draft Version 0.9, October 24, 1995 Microsoft Corporation and Digital Equipment Corporation Copyright © Microsoft Corporation. u DCOM Technical Overview © 1996 Microsoft Corporation. All rights reserved u DCOM and CORBA Side by Side, Step by Step, and Layer by Layer September 3, 1997 P. Emerald Chung Yennun Huang Shalini Yajnik Bell Laboratories, Lucent Technologies, Murray Hill, New Jersey Deron Liang Joanne C. Shih Chung-Yih Wang Institute of Information Science, Academia Sinica, Republic of China, Taiwan Yi-Min Wang, AT&T Labs, Research, Florham Park, New Jersey u Distributed Component Object Model (DCOM) Binary Protocol Nat Brown and Charlie Kindel, Network Working Group Microsoft Corporation, May 1996, Updated: November u Inside OLE, 2nd Edition Kraig Brockschmidt Microsoft Press Redmond WA 1995 u The COM Programmer's Cookbook (great implementation guide) Crispin Goswell Microsoft Office Product Unit, Spring 1995, Revised: September 13,