You are previewing COM+ Unleashed.
O'Reilly logo
COM+ Unleashed

Book Description

COM+ Unleashed provides a complete understanding of how to build and implement COM components, focusing on using COM+. This book shows you how to build COM objects and encapsulate their functionality, use distributed COM to build client/server and Web-based enterprise applications, and enhance applications with distributed services (MTS, MSMQ). You'll also see how to fully utilize the COM+ model to enhance productivity and to create highly flexible and powerful applications and encapsulate business logic into COM objects. You'll learn how to apply the COM+ model creatively and effectively to solve everyday programming problems, enhance the efficiency and functionality of your enterprise applications and build sophisticated distributed applications. The examples and programs in this book are written in C++.

Table of Contents

  1. Copyright
  2. About the Author
  3. Acknowledgments
  4. Introduction
  5. Windows DNA and COM+
    1. COM+: The Glue for Windows DNA
      1. Windows DNA
      2. Internet Spoken Here: HTML and XML
      3. The Windows DNA Services
      4. DNA: A Functional Overview
      5. Summary
    2. Multitiered Component Architectures
      1. Ad-Hoc Design
      2. Fundamental Application Boundaries: Presentation, Logic, and Data Services
      3. Three-Tiered Design
      4. Keeping Tiers Balanced
      5. Multitiered Design
      6. Local or Distributed?
      7. Good Design Techniques
      8. Design Tools
      9. Summary
  6. Advanced COM Programming Techniques
    1. COM+ Architecture and Administration
      1. The Evolution of COM+
      2. MTS Shortcomings
      3. COM+ Architecture
      4. COM+ Deployment Services
      5. Resource Management with COM+
      6. Developing COM+ Applications
      7. Queued Components
      8. Loosely Coupled Events
      9. Accessing Data with COM+
      10. COM+ Security
      11. Base COM Features
      12. Summary
    2. Persistent Storage
      1. The IPersist Interfaces
      2. The IStream Interface
      3. Creating an ATL Object That Implements IPersistStreamInit
      4. Using an Object with Persistence
      5. Simplify Persistent Object Creation
      6. Simplify Persistent Object Use
      7. Summary
    3. Monikers
      1. COM+ Objects and Monikers
      2. Exploring Moniker Types
      3. Summary
    4. Connectable Objects
      1. Connection Points
      2. Connection Point Container
      3. Connection Point Example
      4. Events and Visual Basic
      5. How Different Tools Implement Events
      6. Summary
    5. COM+ Threading
      1. The Evolution of PC Threading
      2. COM+ Thread Types
      3. COM+ Threading Models
      4. Thread Synchronization
      5. Summary
    6. COM and the Registry
      1. Registry API
      2. Regedit and Regedt32
      3. COM Registry Structure
      4. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
      5. Registering a COM+ Server
      6. Summary
    7. COM+ Optimization, Inheritance, and Aggregation
      1. Speed of DCOM
      2. Remote Activation
      3. Remote Reference Counting
      4. Surrogate Processes
      5. IClassFactory
      6. Inheritance
      7. Summary
    8. Using NT Services
      1. Service Anatomy
      2. ATL and Services
      3. Utilities for Working with Services
      4. OpenSCManager()
      5. Installing Services via the Registry
      6. Using the Event Log
      7. Debugging Your Services
      8. Summary
    9. Marshaling
      1. Understanding Marshaling
      2. Type Library Marshaling
      3. Standard Marshaling
      4. Custom Marshaling
      5. Summary
    10. COM Security
      1. COM Versus DCOM Security
      2. Windows Security
      3. Impersonation
      4. Declarative Security
      5. Programmatic Security
      6. Summary
    11. Configuration and Error Handling
      1. Configuring a COM+ Object with DCOMCNFG
      2. Using the OLE2View Program
      3. Error Handling
      4. Summary
    12. COM Internet Services
      1. A New COM+ Transport Protocol
      2. Tunneling TCP Protocol Overview
      3. Enabling CIS
      4. Proxy Server Configuration
      5. Configuration Tips and Known Issues
      6. OBJREF Moniker
      7. Necessary Programming Changes
      8. Summary
    13. MTS
      1. Business Transactions
      2. What Is MTS?
      3. Benefits of Using MTS
      4. MTS Structures
      5. Configuring MTS
      6. MTS Objects
      7. Advanced MTS Techniques
      8. Creating MTS-Based Applications
      9. Summary
  7. Component Management and Transactions
    1. COM+ as a Component Manager
      1. Programming COM+ and Other Component-Based Services
      2. COM+ Scalability Features
      3. COM+ and Standard COM Components
      4. The Road to COM+ Components
      5. COM+ and State
      6. COM+ Component Requirements
      7. Building COM+ Components
      8. Summary
    2. COM+ as a Transaction Coordinator
      1. The Need for Transactions
      2. Microsoft Distributed Transaction Coordinator (MS DTC)
      3. A Simple Transaction Example
      4. Transaction Protocols
      5. The COM+ Transaction Programming Model
      6. Travel Agency Example
      7. Monitoring Transactions
      8. Design Considerations
      9. Summary
    3. COM+ Security
      1. COM+ Security Concepts
      2. SSPI
      3. Declarative COM+ Security
      4. Procedural COM+ Security
      5. Summary
    4. The COM Transaction Integrator
      1. COMTI Requirements
      2. Mainframes and Windows DNA
      3. CICS and CICS-LINK
      4. The COMTI Component Builder
      5. The COM TI Management Console
      6. The COMTI Runtime
      7. Summary
    5. Component Load Balancing
      1. Component Load Balancing Defined
      2. The Need for Component Load Balancing
      3. Parallelism and Granularity
      4. The Dynamic Load-Balancing Algorithm
      5. Component Load-Balanced Component Design
      6. Component Load-Balanced Client Design
      7. The Bad News
      8. Component Load Balancing Without AppCenter Server
      9. Summary
    6. Optimizing Windows DNA Applications
      1. Assessing Your Needs
      2. Optimization Tips
      3. Using the Microsoft Windows DNA Performance Kit
      4. Viewing the Results of a Test
      5. Summary
  8. Asynchronous Component Programming
    1. Programming Loosely Coupled Systems
      1. What Is Messaging?
      2. Messaging Strengths
      3. Messaging Weaknesses
      4. Synchronous Versus Asynchronous Programming
      5. Scalability
      6. Message-Oriented Middleware
      7. Microsoft Message Queue Server (MSMQ)
      8. Summary
    2. MSMQ Administration and Architecture
      1. MSMQ Objects and Properties
      2. Messages
      3. Queues
      4. Machines
      5. The MSMQ Enterprise
      6. MSMQ Clients
      7. MSMQ Administration
      8. Summary
    3. Programming the MSMQ
      1. The MSMQ Library API
      2. Building an MSMQ Application with the MSMQ Library API
      3. The MSMQ ActiveX Control API
      4. Building an MSMQ Application with Raw COM+ Interfaces
      5. Building an MSMQ Application with Smart Pointers
      6. Building an MSMQ Application with VBScript
      7. Summary
    4. Advanced MSMQ Programming
      1. Cursors
      2. Finding Queues
      3. Message Acknowledgment, Response, and Journals
      4. Transactions
      5. MSMQ Email API
      6. Asynchronous Operations
      7. Queue Security
      8. Summary
    5. Loosely Coupled Events
      1. Some Basic Terminology Defined
      2. Comparing the Options for Publish-Subscribe
      3. COM+ Event Service
      4. Event Service Demo
      5. Advanced COM+ Event Service Issues
      6. Event Filtering
      7. Summary
    6. Queued Components
      1. Queued Components Overview
      2. Distributed Computing and Queued Components
      3. Queued Component Architecture
      4. Writing a Queued Components Demo Application
      5. Testing the Component and Client Code
      6. Exporting the COM+ Application
      7. Summary
  9. Index