Synopses & Reviews
With COM and .NET Component Services, skilled COM developers can leverage their knowledge for the next generation of components to be built for Microsoft's new .NET framework.A primary goal of Microsoft's COM+ is to provide proven design solutions for scalable systems. Assuming experience with classic COM, COM and .NET Component Services focuses on the added services of COM+, including support for transactions, queued components, events, concurrency management, and security. Along the way, it ably demonstrates that COM+ is a masterpiece of design and usability from the ground up--truly a mature set of component services oriented for the middle tier.COM+ provides a foundation for robust, enterprise-wide, mission-critical distributed applications. And it's not limited to Internet applications. You can use COM+ services in the same places as classic COM components: in-house two-tier information systems, client-tier controls, desktop applications, machine control components, and every other conceivable application of COM.COM and .NET Component Services is the first book to stress the importance of learning to use COM+ services for both .NET and COM component-based applications. Since most companies have considerable investment in existing code base and development skills, COM+ can serve as a migration path for companies and developers. Companies can start (or continue) their projects in COM, using COM+ as a supporting platform for component services, and then when the time comes to move to .NET, they can start plugging .NET components seamlessly into the same architecture, reusing and interacting with their existing COM components.
Synopsis
With COM and .NET Component Services, skilled COM developers can leverage their knowledge for the next generation of components to be built for Microsoft's new .NET framework.
A primary goal of Microsoft's COM+ is to provide proven design solutions for scalable systems. Assuming experience with classic COM, COM and .NET Component Services focuses on the added services of COM+, including support for transactions, queued components, events, concurrency management, and security. Along the way, it ably demonstrates that COM+ is a masterpiece of design and usability from the ground up--truly a mature set of component services oriented for the middle tier.
COM+ provides a foundation for robust, enterprise-wide, mission-critical distributed applications. And it's not limited to Internet applications. You can use COM+ services in the same places as classic COM components: in-house two-tier information systems, client-tier controls, desktop applications, machine control components, and every other conceivable application of COM.
COM and .NET Component Services is the first book to stress the importance of learning to use COM+ services for both .NET and COM component-based applications. Since most companies have considerable investment in existing code base and development skills, COM+ can serve as a migration path for companies and developers. Companies can start (or continue) their projects in COM, using COM+ as a supporting platform for component services, and then when the time comes to move to .NET, they can start plugging .NET components seamlessly into the same architecture, reusing and interacting with their existing COM components.
About the Author
Juval Lowy is a software architect and the principal of IDesign, specializing in .NET architecture consulting and advanced training. Juval is Microsofts Regional Director for the Silicon Valley, working with Microsoft on helping the industry adopt .NET 4.0. He participates in the Microsoft internal design reviews for future versions of .NET and related technologies. Juval has published numerous articles, regarding almost every aspect of .NET development, and is a frequent presenter at development conferences. Microsoft recognized Juval as a Software Legend, one of the world's top .NET experts and industry leaders.
Table of Contents
Dedication; Foreword; Preface; Scope of This Book; Some Assumptions About the Reader; Definitions and Text Conventions; Other COM+ Books and References; How to Contact Us; Acknowledgments; Chapter 1: COM+ Component Services; 1.1 COM+ Component Services; 1.2 The Component Services Explorer; 1.3 Hello COM+; 1.4 COM+ Configured Components; 1.5 Applications, DLLs, and Components; 1.6 Configuring COM+ Applications; 1.7 Debugging COM+ Applications; 1.8 Deploying COM+ Applications; 1.9 Summary; Chapter 2: COM+ Context; 2.1 Encapsulation via Marshaling in COM; 2.2 Encapsulation via Interception in COM+; 2.3 The Context Object; 2.4 The Call Object; 2.5 Cross-Context Manual Marshaling; 2.6 Summary; Chapter 3: COM+ Instance Management; 3.1 Client Types; 3.2 Instance Management and Scaling; 3.3 Object Pooling; 3.4 Just-in-Time Activation; 3.5 Combining JITA with Object Pooling; 3.6 Object Constructor String; 3.7 COM+ Instance Management Pitfalls; Chapter 4: COM+ Transactions; 4.1 Transaction Basics; 4.2 Transaction Properties; 4.3 Transaction Scenarios; 4.4 COM+ Transactions Architecture; 4.5 Configuring Transactions; 4.6 Voting on a Transaction; 4.7 Transactional Object Life Cycle; 4.8 Designing Transactional Components; 4.9 Nontransactional Clients; 4.10 Transactions and Object Pooling; 4.11 Compensating Transactions; 4.12 Transaction Execution Time; 4.13 Tracing Transactions; 4.14 In-Doubt Transactions; 4.15 Transaction Statistics; 4.16 COM+ Transactions Pitfalls; Chapter 5: COM+ Concurrency Model; 5.1 Object-Oriented Programming and Multiple Threads; 5.2 Apartments: The Classic COM Solution; 5.3 Activities: The COM+ Innovation; 5.4 COM+ Configuration Settings; 5.5 Activities and JITA; 5.6 Activities and Transactions; 5.7 Tracing Activities; 5.8 The Neutral Threaded Apartment; 5.9 Summary; Chapter 6: Programming the COM+ Catalog; 6.1 Why Program the Catalog?; 6.2 The Catalog Programming Model; 6.3 Catalog Structure; 6.4 Interacting with the Catalog; 6.5 Features of COMAdminCatalog; 6.6 The COM+ Catalog and Transactions; 6.7 Summary; Chapter 7: COM+ Security; 7.1 The Need for Security; 7.2 Basic Security Terms; 7.3 Role-Based Security; 7.4 Securing a Server Application; 7.5 Securing a Library Application; 7.6 Programmatic Role-Based Security; 7.7 Security Boundaries; 7.8 Advanced COM+ Security; 7.9 COM+ Security Pitfalls; 7.10 Summary; Chapter 8: COM+ Queued Components; 8.1 Major Benefits of Queued Components; 8.2 Queued Components Architecture; 8.3 Component Services Explorer Configuration; 8.4 Invoking Queued Components on the Client Side; 8.5 Designing Queued Component Interfaces; 8.6 Receiving Output from a Queued Component; 8.7 Queued Component Error Handling; 8.8 Queued Components and Transactions; 8.9 Synchronous Versus Asynchronous Components; 8.10 Queued Components Security; 8.11 Queued Components Pitfalls; 8.12 Summary; Chapter 9: COM+ Event Service; 9.1 Classic COM Events; 9.2 COM+ Event Model; 9.3 The Event Class; 9.4 Subscription Types; 9.5 Delivering Events; 9.6 Event Filtering; 9.7 Distributed COM+ Events; 9.8 Asynchronous Events; 9.9 COM+ Events and Transactions; 9.10 COM+ Events and Security; 9.11 COM+ Events Limitation; 9.12 Summary; Chapter 10: .NET Serviced Components; 10.1 Developing Serviced Components; 10.2 .NET Assemblies and COM+ Applications; 10.3 Registering Assemblies; 10.4 Configuring Serviced Components; 10.5 Application Activation Type; 10.6 The Description Attribute; 10.7 Accessing the COM+ Context; 10.8 COM+ Context Attributes; 10.9 COM+ Object Pooling; 10.10 COM+ Just-in-Time Activation; 10.11 COM+ Constructor String; 10.12 COM+ Transactions; 10.13 COM+ Synchronization; 10.14 Programming the COM+ Catalog; 10.15 COM+ Security; 10.16 COM+ Queued Components; 10.17 COM+ Loosely Coupled Events; 10.18 Summary; The COM+ Logbook; Logbook Requirements; Log File Example; Using the Logbook; Configuring the Logbook; How Does the Logbook Work?; Summary; COM+ 1.5; Improved User Interface Usability; Legacy Applications and Components; Disabling Applications and Components; Pausing Applications; Service Activation Type; Improved Queuing Support; Application Pooling and Recycling; Application Dump; Application Partitioning; Aliasing Components; Configurable Transaction Isolation Level; Improved Context Activation Setting; Private Components; Web Services in COM+ 1.5; Summary; Introduction to .NET; .NET Programming Languages; Packaging .NET Components: Assemblies; Developing .NET Components; Writing .NET Client-Side Code; .NET as a Component Technology; Composing Assemblies; Colophon;