COM+ Programming

COM+ Programming : A Practical Guide Using Visual C++ and ATL

3.33 (3 ratings by Goodreads)
By (author) 

List price: US$49.99

Currently unavailable

We can notify you when this item is back in stock

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


Several books teach COM and COM+, but this is one of the first to focus on COM/COM+ from a developer's perspective. Using case studies and practical programming examples, the author uncovers COM and COM+ in detail -- and shows how to avoid the traps and pitfalls that await the unwary. COM/COM+ expert Pradeep Tapadiya presents techniques for designing interfaces, building COM servers, synchronization, security, transactions, event notification issues, working with queued components, and administering distributed object environments. This book serves both novice programmers and experienced developers who wish to use COM+ to develop applications in the enterprise.
show more

Product details

  • Paperback | 560 pages
  • 177.8 x 231.14 x 33.02mm | 907.18g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • w. figs.
  • 0130886742
  • 9780130886743

Back cover copy

Maximizing COM/COM+ software reusability and scalability: practical solutions! Developing robust enterprise COM+ applications: Proven guidelines and sample code In-depth coverage: IDL interface design, COM+ synchronization, transactions, queuing, security, events, and more Techniques for administering distributed component environments

Maximizing COM/COM+ reuse and scalability: practical, enterprise-class solutions!

If you're ready to develop COM/COM+ enterprise applications, start with this practical, solutions-focused guide! Using case studies and real-world code examples, Hewlett-Packard COM/COM+ expert Pradeep Tapadiya presents COM and COM+ in detail, from a developer's perspective. You'll master powerful techniques for improving reusability, scalability, and robustness-and discover how to avoid the traps and pitfalls that await the unwary. Tapadiya demonstrates today's best approaches to designing interfaces, building COM servers, dealing with transactions, and more, including:

In-depth coverage of interface design with IDL A full chapter on maximizing the scalability of COM/COM+ applications Maximizing security in distributed, component-based environments COM+ synchronization, apartments, activities, and event notification Working with queued components Administering distributed component environments

Whether you're new to component development, migrating to COM+ and Windows 2000, or an experienced developer seeking powerful new techniques, you'll find the answers in COM+ Programming: A Practical Guide Using Visual C++ and ATL.
show more

Table of contents


1. The Component Model.

Component Reusability. Traditional Software Reusability. Reference Hardware Components. Simulation Program. Role of the Linker and the OS Loader. Dynamic Link Library. Fixing a Defect. Hardware Component Model. Separating Interface from Implementation. Common Aspects of C++ Language. Virtual Methods in C++ and Memory Layout. Interface as an Abstract Base Class. Dynamic Selection of a Component. Extending the Interface Functionality. Managing the Lifetime of an Object. Optimizations. Error Reporting. The Essence of COM. Summary. References.

2. Designing Interfaces.

Why a New Language? Programming Language Independence. Remote Transparency. Interface Definition Language (IDL). IDL Attributes. IDL Design Goals. Remote Transparency. Programming Language Independence. Semantic Information. Standardized Calling Conventions. Memory Management. Identification. Compiled Type Information. Component Identification. Processing IDL Files. IDL File Structure. The Preprocessor Section. The Interface Section. The Type Library Section. IDL Syntax. Defining Interface Methods. Defining IDL Interfaces. Defining COM Classes. Defining IDL Libraries. Automation. Basic Data Types. Strings. Booleans. Variants. Safe Arrays. Automation-Compatible Interfaces. Collections and Enumerations. Interfaces and Marshaling. Memory Management. Organizing Multiple IDL Files. Putting It All Together. Summary. References.

3. Components.

From C++ to COM-A Quick Tour. Implementing Interfaces. Method Implementation. Instantiation Logic. The TV Client. The COM+ Catalog. Revisiting C++ Code. Multiple Classes in a Server. Multiple Instances of a Class. Storing Configuration Information. Memory Cleanup. Implementing COM Objects. Using Multiple Inheritance. Implementing the Root Interface. ATL is Our Friend. Tear-Off Interfaces. Reusing Components. Containment. Aggregation. Error Reporting. Summary. References.


4. Essence of COM+.

Enterprise Systems. Security. Scalability. Sharing Resources. Transactions. Three-Tier Architecture. Windows DNA. COM+ = Simplified Development. Administrative Control. Transaction Services. Security Services. Synchronization Services. Queued Components. Event Service. Object Pooling. Just-In-Time (JIT) Activation. Remote Deployment. Summary. References.

5. COM+ Programming Model.

Attribute-Based Programming. The COM+ Catalog. Configuring a Component. Component Initialization. Developer-Specified Attributes. COM+ Context. Contexts and Interception. Interception and Performance. Object Context. Default Context. Call Context. Object Activation. In-Process Activation. Out-of-Process Activation (Local Host). Remote Activation (Distributed Computing). Executing in a Different Context. Summary. References.

6. Concurrency.

Multithread Programming. A Simple Example. Multithreading Issues. Apartments. Single-Threaded Apartments (STA). Multithreaded Apartments (MTA). Thread-Neutral Apartments (TNA). Configuration Settings. Activities. Apartments and Standard Marshaling. Dispatching Calls to an STA. Dispatching Calls to an MTA. Dispatching Calls to a TNA. Cross-Context Access. Developing Thread-Safe COM Code. Shared Data Conflicts. Waiting for an Event. Sharing State Across Multiple Objects. Summary. References.

7. Security.

The COM+ Security Model. Windows NT Security System Basics. Security Issues Under COM. Security Service Providers (SSPs). Security Blankets. Declarative Security. Default Settings. Application-Specific Settings. Server-Side Security Programming. Client-Side Security Programming. Impersonation Levels. Identity and Authentication Services. Client Acting as a Server. Adjusting Security for a Proxy. Summary. References.

8. Transactions.

The Stock Trader. The Database Layer. The Business Logic. The Simulation. Transaction Theory. COM+ Support for Transactions. Configuring Transactions. Programmatic Voting. The Architecture. Resource Managers. The Distributed Transaction Coordinator. Automatic Transactions through COM+. Manual Transactions. Compensating Resource Manager. Summary. References.

9. Message Queuing.

Message-Based Queuing. The Need for Queuing. Why Use MSMQ? MSMQ Overview. MSMQ Servers. MSMQ Clients. Queue Types. Queue Naming. MSMQ COM Components. Sending and Receiving Messages. Guaranteed Delivery. Responding to a Message. Sending Objects in the Message Body. Transactions. Queued Components. A Simple Phone Book Example. Queued Component Architecture. Getting a Response. Transaction Support. Summary. References.

10. Events.

Introduction. Tightly Coupled Events (TCEs). Connection Points. Receiving Messages with MSMQ Events. Loosely Coupled Events (LCEs). COM+ Events Architecture. A Simple Event Example. Transient Subscriptions. Events and Queued Components. Events and Filtering. Summary. References.

11. Scalability.

Introduction. Resource Dispensers. Just-in-Time (JIT) Activation. Object Pooling. Requirements for Poolable Objects. Asynchronous Method Calls. Asynchronous Clients. Asynchronous Servers. Canceling a Synchronous Call. COM+ Pipes. Summary. References.

12. Administration.

Overview. COM+ Administration Object Model. COMAdminCatalog Object. COMAdminCatalogCollection Object. COMAdminCatalogObject Object. Programming Considerations. Error Handling. Administrative Tasks and Transactions. Some Common Administrative Tasks. Uninstalling an Application. Installing an Application. Deploying an Application. Future Enhancements. Summary. References.

show more

About Pradeep Tapadiya

PRADEEP TAPADIYA is a Program Manager and Lead Software Engineer for the OpenView ManageX Group of Hewlett-Packard in Roseville, CA. He started developing COM-based applications in 1996 and is currently involved with developing a suite of systems management applications for Windows NT and 2000 using DCOM. Tapadiya holds a doctoral degree in computer science from Texas A&M University.
show more

Rating details

3 ratings
3.33 out of 5 stars
5 0% (0)
4 67% (2)
3 0% (0)
2 33% (1)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X