Gopalan Suresh Raj's Web Cornucopia

COM+ - The Complete Tutorial ©

Gopalan Suresh Raj

FUNDAMENTALS OF COM (+)

1. AN OVERVIEW OF COM+ AND WINDOWS DNA 2. INTERFACES AND CLASSES 3. MARSHALING AND TYPE INFORMATION 4. COM(+) AUTOMATION
COM+ AND WINDOWS 2000
  • Understanding COM+
  • Why use COM+
  • The COM+ Development Lifecycle
  • The Windows DNA Object Model
  • Server Side Components
  • Business Processes
  • Persistence
  • Database Caching
  • Message-Oriented Middleware
  • Transactions
  • Security
  • Language and Legacy System Support
  • Load Balancing

BUILDING DISTRIBUTED SCALABLE APPLICATIONS WITH COM+

  • The Microsoft Enterprise Development Model
  • The Conceptual Design
  • Deriving the Logical Design from the Conceptual Design
  • Overview of Business Objects
  • Identifying Business Objects
  • Deriving the Physical Design from the Logical Design
  • Data Services
  • User Services
  • Assessing the Logical Design’s Impact on the Physical Design
  • Performance
  • Maintainability
  • Extensibility
  • Scalability
  • Availability
  • Security
  • Visual Component Manager (VCM)

CONFIGURING THE DEVELOPMENT ENVIRONMENT

  • Windows 2000 Component Services
  • Windows NT Option Pack
  • Configuring a system to run MTS
  • Configuring a system to run MSMQ
  • IIS Applications
  • DHTML Applications
  • SQL Server
  • Configuring Visual C++
  • Configuring Visual Basic
  • Configuring Visual J++
INTERFACES

COM+ CLASSES

  • Classes & Interfaces
  • Class Objects
  • Using the COM Library
  • The SCM
  • Finding Class Objects
  • Example
  • CoCreateInstance vs CoGetClassObject/ CreateInstance
  • Registering Implementations
  • Conclusions

INPROC SERVERS

  • The SCM and the Registry
  • CLSIDs and the Registry
  • ProgIDs and the Registry
  • Component Categories (CATIDs) and the Registry
  • Self-Registration
  • Example
  • Implementing Class Objects
  • Exposing Class Objects/Inproc
  • Example
  • CoGetClassObject
  • Server Lifecycle Management
  • Locks and Inproc Servers
  • Example
  • Implementing Server Lifetime
    • Heap-based Objects
    • Non-heap-based Objects
  • Conclusions
  • Marshaling
  • Type Information

INTERFACE DEFINITION LANGUAGE (IDL)

  • TypeLibraries
  • Simple IDL Example
  • Managing multiple IDL files
  • COM Interfaces in IDL
  • Physical and Logical Results
  • Logical Properties
  • COM classes and IDL
  • Generating type libraries
  • ITypeLib
  • ITypeInfo
  • Loading Type Libraries
  • VJ++ and COM
  • Base Types
  • Text & COM
  • Programming with BSTR API
  • Unions and COM
  • VARTYPE
  • VARIANT/VARIANTARG
  • Using Variants
  • Type Coercion & Variants
  • VariantChangeType[Ex]
  • Coercing Variants
  • Summary

INTERFACE DESIGN

  • Design Goals
  • Pointers and Interfaces
  • Arrays
  • IEnum<T> interface
  • Summary
  • Logical and Physical Interfaces
  • Dual Interfaces
  • IDispatch
  • ITypeInfo
  • Tradeoffs
  • Remote Automation
  • Conclusions
5. MONIKERS 6. PERSISTENCE 7. UNIFORM DATA TRANSFER AND CONNECTABLE OBJECTS 8. CUSTOM MARSHALING
  • What are Monikers
  • Working with Monikers
  • Asynchronous Monikers
  • Generalized approach to Naming
  • Moniker Architecture
    • MkParseDisplayName
    • Binding
  • Custom Monikers
  • Class Moniker
  • Java Moniker
  • Item Monikers and Composition
    • IOleItemContainer
    • ParseDisplayName
    • IClassActivator
  • Summary
  • Structured Storage
  • Controlling Persistence
  • Persistence Model
    • IStream
    • IPersistStream
    • IStorage
    • IPersistStorage
  • FileMonikers & BindToObject
    • GetClassFile
    • IRunningObjectTable
  • Summary
  • Uniform Data Transfer
  • Connectable Objects
  • Rendering Inproc Objects
  • Rendering OutOfProc Objects
  • IDataObject
  • IAdviseSink
  • Summary
  • CoMarshal API
  • IMarshal
  • Marshal by Value
  • CoGetStandardMarshal
9. APARTMENTS AND THREADS      
APARTMENTS
  • Apartments, Processes and Threads
  • Cross-Apartment Access
  • Mashaling
  • CoMarshalInterface API
  • Wire Representation
  • Proxys and Stubs
  • COM and Reentrancy
  • Callbacks and Apartments
  • Summary
  • THREADING

    • The COM Threading Models
    • The Thread Neutral Model
    • Inside the Channel (MTAs and STAs)
    • CoInitializeEx
    • MessageFilters
    • IMessageFilter
    • COM Threading Rules
    • Thread Marshaling functions
    • CoMarshalInterThreadInterfaceInStream
    • Summary
         

     

    COM (+) AND E-COMMERCE

    1. ACTIVEX CONTROLS 2. ACTIVEX DOCUMENTS 3. DCOM 4. COM(+) WITH ADO AND OLE DB
    • Component Categories
    • How Controls Work
    • Properties and Methods
    • Control and Container Communication
    • Events and Connection Points
    • Developing ActiveX Controls
    • Developing Composite Controls
    • Summary
    • The User's View
    • The Implementor's View
    • Embedding
    • Linking
    • Creating ActiveX Documents
    • Creating Properties
    • Saving and Loading Persistent Properties
    • Navigating using the HyperLink Object
    • Creating a Remote Object
    • Accessing a Remote Object
    • Locality and COM
    • Inproc and OutOfProc Servers
    • CoRegisterClassObject
    • Starting Servers
    • Server Lifetime
    • Surrogates
    • DCOM Security
    • Authentication
    • Authorization
    • Encryption
    • Integrity Checking
    • Ensuring Secure Access to Remote Objects
    • Summary
  • Data Manipulation using Databases
  • Open Database Connectivity
  • ActiveX Data Objects
  • OLE DB
  • 5. COM(+) AND THE INTERNET 6. COM(+) AND ACTIVE SERVER PAGES (ASP) 7. COM(+) AND THE EXTENSIBLE MARKUP LANGUAGE (XML) 8. MICROSOFT TRANSACTION SERVER (MTS)
    • CreateURLMoniker
    • BindToObject and the URL Moniker
    • Asynchronous Binding
    • IBindStatusCallback
    • GetBindInfo
    • Implementing OnObjectAvailable
    • Synchronous binding
    • CoGetClassObjectFromURL
    • ActiveX Documents and the Web
    • Internet Explorer and COM+
    • ActiveX Scripting
    • ActiveX Controls and the Internet
    • Conclusions
    • ASP Server Components
    • Collaborative Data Objects (CDO)
    • Creating a Custom ASP component
    • ASP and ADO
    • Internet Explorer 5 and the Document Object Model (DOM)
    • Simple Object Access Protocol (SOAP)
    • What is MTS
    • MTS and the Distributed Environment
    • Introducing the MTS Explorer
    • MTS Architecture
    • Transaction Processing
    • Designing MTS Components and Interfaces
    • Building MTS Compenents
    • Managing Components and Packages
    • Implementing Security
    • Debugging MTS Components
    • Administration
    • Data Services and MTS
    • MTS and the Internet
    9. MICROSOFT MESSAGE QUEUE (MSMQ)      
    THE MSMQ ARCHITECTURE
    • The MSMQ Server
    • Hierarchical, Directory Service-Based Architecture
    • MSMQ Explorer Management Console
    • Push-Style Data Delivery
    • Reliable Communication over Unreliable Networks
    • MSMQ Queue Characteristics
    • Guaranteed Message Delivery
    • Store and Forward Communication
    • Defensive Communication
    • Concurrent Execution
    • Journaled Communication
    • Connectionless Communication
    • Transactional Messaging
    • Dynamic Queue Creation
    • Message Routing Services
    • MSMQ Message Characteristics
    • Messages
    • Message Header
    • Message Properties
    • MSMQ and MTS
    • MSMQ and Windows NT Clustering
    • MSMQ and IIS

    PROGRAMMING MSMQ

    • Creating Queues
    • Locating Public Queues
    • Opening Queues
    • Deleting Queues
    • Sending Messages to Queues
    • Reading Messages from Queues
    • Purging Messages from Queues
    • Requesting Target and Source Journaling
    • Filtering Messages using Message Properties
    • Retrieving the Properties of an Existing Queue
    • Setting the Properties of an Existing Queue
    • Sending and Retrieving Messages within Transactions
         

     

    COM+ SERVICES

    1. INTERCEPTION AND JUST IN TIME ACTIVATION (JITA) 2. TRANSACTION SERVICES 3. COM+ EVENTS - LOOSELY COUPLED EVENTS (LCE) 4. QUEUED COMPONENTS
    • Understanding COM+ Activation
    • Configured Components
    • The Context Wrapper
    • The Activation Sequence
    • Just In Time Activation
    • Interception
    • Using Object Construction
    • Thread Neutral Apartments
    • Synchronization Domains
    • Transactions and COM+
    • Transactional Streams
    • Declarative Transactions
    • Activities
    • Conducting Transactional operations on a COM+ component
    • Bring your own Transactions (BYOT)
    • Compensating Resource Managers (CRM)
    • Using Compensators
    • The ICrmLogControl Interface
    • The ICrmCompensator Interface
    • The ICrmCompensatorVariants Interface
    • Recovery
    • Idempotent Operations
    • Using the Transaction Internet Protocol (TIP) to gain Heterogeneous Two-Phase Commits
    • The LCE Architecture
    • The Programming Model
    • The Event Class
    • Programming Example
    • Creating Publishers
    • The IMultiInterfacePublisherFilter Interface
    • Subscribing to Events
    • COM+ Event Store
    • The IEventObjectChange Interface
    • Event Filtering
    • The IMultiFilterPublisher Interface
    • Parallel Firing
    • Queue able Subscribers
    • Summary
    • Using Queued Components
    • Restrictions to using Queued Components
    • Queued Component Configuration
    • Queued Component Calls
    • Component Activation with the "new" Moniker
    • Component Activation with the "queue" Moniker
    • Playback Control in Queued Components
    • Summary
    5. OBJECT AND RESOURCE POOLING 6. SECURITY SERVICES 7. OTHER NEW COM FEATURES IN WINDOWS 2000 8. ACTIVE DIRECTORY SERVICES INTERFACES (ADSI)
    • Using Object Pooling
    • Benefits of Object Pooling
    • Object Pooling Requirements
    • Configuring Object Poolings
    • What are Security Services
    • An Introduction to Windows NT Security
      • NT Authorization
      • NT Impersonation
      • NT Access Control
    • The COM Security Architecture
      • Authentication
      • Access Control
      • Launch Permissions
      • Identity
      • Impersonation and Cloaking
      • Security Blankets
    • COM+ Security
      • Declarative Security
      • Roles
    • Programming COM+ components for Security
    • Process-wide Security
    • Interface-wide Security
    • Activation Security
    • Server-side Security
    • Call Context Security Information
    • Security and Database Access
    • Synchronization Mechanisms
    • Asynchronous COM
    • COM Pipes
    • Call Objects and Call Cancellation
    • Lightweight Handlers
    • Directory Enabled Applications
    • The Basics of ADSI
    • Applying ADSI
    • Developing Directory Enabled Applications using ADSI

     

    DEBUGGING, PROFILING, MONITORING, AND ADMINISTRATION

    1. DEBUGGING COM+ APPLICATIONS 2. ADMINISTRATION DEPLOYMENT AND MONITORING    
    • Debugging the IDE
    • Strategies for Debugging
    • Debugging Tools
    • Debugging COM+ Clients and Servers
    • Deploying DCOM Applications
    • Deploying over the Internet
    • Automating COM+ Configuration
    • Deploying COM+ Applications
    • Summary
       

     

    COM (+) AND THE COMPETITION

    1. COMPARING COM(+)/WINDOWS 2000 WITH EJB/J2EE AND CCM/CORBA 3.0 2. FUTURE DIRECTIONS    
    • Instance and Lifecycle Management
    • Database Connection Pooling
    • Architecture
    • Distributed Transaction Support
    • Distributed Transaction Services
    • Support for Transactions
    • Component Types
    • Portability
    • Interoperability
    • State Management
    • Persistence Management
    • Resource Management
    • Security
    • Deployment 
         

     

    Gopalan Suresh Raj's Web Cornucopia click here to go to
    My Advanced COM+/DNA Tutorial HomePage...

     

    About the Author...
    Gopalan Suresh Raj is a Software Architect, Developer and an active Author. He is contributing author to a couple of books "Enterprise Java Computing-Applications and Architecture" and "The Awesome Power of JavaBeans". His expertise spans enterprise component architectures and distributed object computing. Visit him at his Web Cornucopia© site (http://www.execpc.com/~gopalan) or mail him at gopalan@execpc.com.

    Go to the Component Engineering Cornucopia page

    This site was developed and is maintained by Gopalan Suresh Raj

    This page has been visited times since March 13,1999.

    Last Updated : Mar 14,'99

    If you have any questions, comments, or problems regarding this site, please write to me I would love to hear from you.


    Copyright (c) 1997-2000, Gopalan Suresh Raj - All rights reserved. Terms of use.

    All products and companies mentioned at this site are trademarks of their respective owners.