1 / 33

COM+: An Overview

COM+: An Overview. Ayesha Mascarenhas February, 2001. What Is Com+ ?. A Runtime and Set of Services Designed to simplify Creation and Use of Components Enables extensive interoperability between components regardless of their implementation. Topics. COM and Motivation for COM+ COM+ Goals

sohalia
Download Presentation

COM+: An Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COM+:An Overview Ayesha Mascarenhas February, 2001

  2. What Is Com+ ? • A Runtime and Set of Services • Designed to simplify Creation and Use of Components • Enables extensive interoperability between components regardless of their implementation

  3. Topics • COM and Motivation for COM+ • COM+ Goals • COM+ Architecture • Summary

  4. Motivation For System Level Objects • Objects are now Mainstream • Diversity is a drawback • The environment for development remains procedural • What is needed is a common notion of objects across tools and a way to expose system services as objects.

  5. COM • Binary Standard for objects and inter object communication • All communication must occur through interfaces • All communication must look like simple method calls regardless of location of object • Provides basic services for location, activation and access of components

  6. COM • Interface for dynamic discovery of interface implemented by components • Mechanism to uniquely identify components

  7. Current Difficulties in COM Tools/Languages- • Some Languages make it easier to use COM than others eg.Java • Some Languages provide only a subset of COM features • COM + Solution: make every tool do more work

  8. Current Difficulties in COM Runtime- • Limited to Features provided by that runtime • Components may be written with multiple tools • COM+ Solution: Let Operating System provide the runtime

  9. Current Difficulties in COM Innovative Features- • MTS provides features to write scalable and distributed application • MTS also introduces a concept of declarative access/attribute based programming • MTS also displayed COMs lack of any mechanism to extend COM

  10. Topics • COM and Motivation for COM+ • COM+ Goals • COM+ Architecture • Summary

  11. Why COM+? Goals • Easier to build COM Components • Easier to deploy and build COM based Applications • Provide new runtime services • Provide an extensibility mechanism

  12. Making it easier • COM Developer must worry about issues unrelated to actual functionality eg. Client must use Reference Counting, Query Interface, code to create the object and initialize the component • Much of this code is identical across components

  13. Making it Easier

  14. Addressing issues in Developing and Deploying COM Applications • Difficulties due to defining interfaces in IDL eliminated • Simpler, more robust model for registering, installing and versioning components

  15. Runtime Services • Expose Classes directly • Supports implementation inheritance • Garbage Collection • Security Model

  16. Runtime Services (contd..) Security Model • Provides multilevel user and code access security • Access checks are based on roles and privileges • Role is an abstract group of users • Privileges provide access to resources

  17. Runtime Services(contd..) Security Model (contd..) • Define roles played by users of component through attributes • Specify privileges required to access component • Administrator assigns privileges to user accounts and user-accounts to roles

  18. Runtime Services(contd..) Security Model(contd..) • Code trust security provided by Authenticode and Zones • Authenticode is a code-signing mechanism • A zone is a group of code sources granted same privileges

  19. Services for Distributed Applications • Introduces General extensibility mechanism called Interception • Interceptor - A COM+ object automatically invoked during access to another object • To access the services provided by interceptors, attributes must be set on the component

  20. Services for Distributed Applications • Services MTS provides will be provided through interceptors eg. Transaction attribute • Concurrency Model specified by threading attribute • Declarative Data-Binding specified by database attribute and supported by binding engine

  21. Topics • COM and Motivation for COM+ • COM+ Goals • COM+ Architecture • Summary

  22. COM+ Architecture

  23. COM+ Architecture interfaces for creating and consuming class interface and library definitions • Define Class by writing source code • Language Compiler uses COM+ runtime compiler services to create Metadata • Compiler services also used to import Metadata • Calls to other runtime services are inserted into binary class code

  24. Com+ Architecture(contd..) interfaces for registering and installing packages • Information about packages is in a well-known location • Packages are identified by GUIDs or user-friendly names • A local path and a URL may be provided

  25. COM+ Architecture (contd..) Interfaces for registering and installing classses (contd..) • When classes are built, they are assigned unique class version ids • When a client is built, its metadata includes information about classes it depends on- versions

  26. COM+ Architecture interfaces for loading classes and creating objects • When the application is built, startup code is linked in to initialize runtime • Initialization function calls runtime loader • Runtime loader loads classes defined within application and referenced classes

  27. Com+ Architecture (contd..) interfaces for loading classes and creating objects (contd..) • Loader builds Global Class Table (GCT) and creates in-memory representation of component • To create a new object, request is passed to runtime • Runtime looks at GCT to determine in-memory representation

  28. Topics • COM and Motivation for COM+ • COM+ Goals • COM+ Architecture • Summary

  29. Summary • COM+ narrows the gap between objects as viewed by tools and COM • COM+ runtime maintains an internal representation of the object and associates an object reference with it • Tools can present information about objects using semantics of their language

  30. Summary • Build solutions using components that model real-life objects rather than solution-specific components • Since clients communicate with components through well defined interfaces, components implementation can be easily modified

  31. References Websites http://www.microsoft.com/msj/1297/complus2/complus2.htm http://www.microsoft.com/msj/1197/complus.htm http://www.chappellassoc.com/omc6.htm http://www.http://www.chappellassoc.com/art3.htm

More Related