COM and CORBA Side by Side: Architectures, Strategies, and Implementations (1999)

(Most chapters conclude with Summary.) I. EMBRACING COM AND CORBA. 1. The Arrival of Distributed Objects. Client/Server Beginnings. 2-Tier, 3-Tier, and N-Tier Architectures. Communicating Between Tiers. The Power of Distributed Objects. From Objects to Components. Managing Distributed Systems. The State of Distributed Objects. 2. The Dominance of COM and CORBA. The Distributed Object Landscape. Microsoft's COM/DCOM. IBM's SOM/DSOM. CORBA. Java RMI. ObjectSpace's Voyager. Summary. COM: The Dominant Component Architecture. CORBA: The Dominant Remoting Architecture. Evolutionary Trends. A Test of Wills. Vendor Perspective. User Perspective. Who Is the Winner. 3. Distributed Object Fundamentals. An Overview of the Fundamentals. A Distributed Object Example. COM Object and Clients. CORBA Object and Clients. Reviewing the Requirements. Demonstrating the Fundamentals. Selecting Data Types. Defining the Interfaces. COM IDL and Type Libraries. CORBA IDL. Proxies, Stubs, and Skeletons. COM Proxies and Stubs. COM Type Library Marshaling. CORBA Stubs and Skeletons. Implementing the Servers. Implementing the Clients. Using IDL in the COM C++ Client. Using a Type Library in the COM Visual Basic Client. Using IDL in the Orbix CORBA C++ Client. Using IDL in the VisiBroker CORBA Java Client. Client Implementation. Summary. Object Handles. COM Interface Pointers in C++. COM Interface Pointers in Visual Basic. CORBA Object References in C++. CORBA Object References in Java. Creating Objects. COM Factories. COM Object Creation in C++. COM Object Creation in Visual Basic. CORBA Factories. CORBA Object Creation in C++ and Java. Invoking Object Methods. COM HRESULTs. COM Error Handling in the C++ Client. COM Error Handling in the Visual Basic Client. CORBA Exceptions. CORBA Exception Handling in the C++ and Java Clients. Destroying Objects. Destroying COM Objects. Destroying CORBA Objects. Summary. II. COM AND CORBA ON THE SERVER. 4. Assessing the Server Side. What Constitutes the Server Side. Partitioning the Enterprise. Strategic Directions of COM and CORBA. COM: A Vertical Strategy. CORBA: A Horizontal Strategy. The Need for an Assessment Strategy. Assessment Criteria. Platform Criteria. Essential Services. Intangibles. An Assessment Strategy. Prerequisites. Recording the Assessment History. Rating the Criteria. Assessment Steps. An Assessment Example. COM and CORBA in Your Enterprise Solution. 5. The Server Platform. Review of the Platform Criteria. Legacy System Support. General Approaches for Supporting Legacy Systems. Identifying Significant Legacy Systems. Selecting Platforms for New Development. Wrapper Approach. Gateway Approach. Legacy Support When Using COM. COM and the Wrapper Approach. COM and the Gateway Approach. Using COM to Access Legacy Data. COM Integration with CICS and IMS. COM Integration with IBM's MQSeries. Summary of COM-Related Legacy Support. Legacy Support When Using CORBA. CORBA and the Wrapper Approach. CORBA and the Gateway Approach. Summary of CORBA-Related Legacy Support. The Development Platform. COM Development Platforms. COM/Windows/C++ Development Platform. COM/Windows/Java Development Platform. COM/Windows/Visual Basic Development Platform. Non-Windows COM Development Platforms. CORBA Development Platforms. Availability of Development Tools. COM Development Tools. CORBA Development Tools. Summary. 6. Essential Services. Review of the Service Criteria. Distributed Transaction Support. A Scenario for a Distributed Object Transaction. COM, MTS, and the Distributed Transaction Coordinator. CORBA and the Object Transaction Service. Distributed Security. DCOM Security. MTS Security. CORBA and the Secure Sockets Layer. The CORBA Security Service. Messaging Support. COM and Microsoft Message Queue Server. CORBA and Messaging Support. Distributed Object Management. The Need for Stateless Objects. COM Object Management Under Microsoft's MTS. CORBA Object Management Under BEA Systems' M3. Summary. 7. Server-Side Intangibles. Vendor Perception. Vendor Commitment and Viability. Vendor Lock-in. Availability of Product. Availability of Development Staff. Product Cost. Server-Side Summary. III. COM AND CORBA ON THE CLIENT. 8. The Desktop Client. Impact of Distributed Objects. Dominance of COM on the Desktop. COM Client Approaches. Custom Interfaces. Automation Interfaces. Dual Interfaces. Installing Remote COM Clients. COM Development Environments. The Visual Basic COM Client. The Visual J++ COM Client. The Visual C++ COM Client. Summary. 9. The Internet Client. Distributed Object Internet Strategies. COM Internet Strategies. CORBA Internet Strategies. Using COM with Active Server Pages. Using CORBA in a Java Applet. The Push Technology Alternative. Summary. 10. Client Design Considerations. Remoting Requirements and Design Issues. Client Needs Versus Remoting Requirements. Security Issues for Internet Clients. Security Issues When Using Active Server Pages. Security Issues When Using Java Applets. Migrating from the Desktop to the Internet. Implementing the COM and CORBA Customer Servers. The COM Customer Server and Proxy. The COM Customer Wrapper. The CORBA Customer Server and Proxy. Implementing the COM/CORBA Customer Bridge. The COM-to-CORBA Customer Bridge. The CORBA-to-COM Customer Bridge. Implementing the COM and CORBA Customer Clients. The Visual Basic Customer Client. The Active Server Pages Customer Client. The CORBA/Java Customer Client. Migration Summary. Client-Side Summary. IV. BRIDGING COM AND CORBA. 11. Custom Bridging Approaches. Overview of Bridging Example. Using C++ to Bridge COM and CORBA. Using Microsoft's JVM as a Bridge. Using a CORBA/Java ORB with Microsoft's JVM. A COM-to-CORBA Bridge. A Visual Basic Client. Other COM/CORBA Bridging Approaches. Using COM in Non-Microsoft JVMs. Bridging ActiveX and JavaBeans. Using Environments That Support COM and CORBA. Future Java/COM Support from Microsoft. Summary. 12. Commercial Bridging Approach. COM/CORBA Interworking Specification. Vendor Support for COM/CORBA Bridging. A Commercial Bridging Example. Selecting a Commercial Bridging Product. The CORBA Server. Creating a COM View for the CORBA Server. Using the CORBA Server from a Visual Basic Client. Using COM Servers from CORBA Clients. Bridging COM/CORBA Services. Summary. 13. Enterprise Application Servers. Emergence of Enterprise Application Servers. Early Web Application Servers. The Need for Enterprise Application Servers. Enterprise Application Server Criteria. Enterprise Application Server Approaches. COM Approach. CORBA Approach. Enterprise JavaBeans Approach. Summary. 14. Conclusion. A Summary of What We've Covered. Embracing COM and CORBA (Part I). COM and CORBA on the Server (Part II). COM and CORBA on the Client (Part III). Bridging COM and CORBA (Part IV). Farewell. APPENDICES. Appendix A. References. On COM. On CORBA. On COM/CORBA Bridging. Appendix B. Examples Available for Download. Chapter 3 Examples. Clients. COM C++ Client. COM Visual Basic Client. CORBA C++ Client. CORBA Java Client. Servers. COM IDL. CORBA IDL. COM C++ Server. CORBA C++ Server. JWPTOC.fm Page xi Wednesday, May 26, 1999 11:21 PMxii Contents Chapter 6 Examples. MTS Example. MTS Account Server. MTS Teller Server. MTS Client. COM Security. COM Secure Agent Server. COM Secure Client. MTS Secure Account Server. MTS Secure Client. MSMQ Example. MSMQ Market Application. MSMQ Trader Application. Chapter 8 Examples. Automation Interface Approach. Visual J++ Server. Visual Basic Client. Visual C++ Client. Visual J++ Client. Custom Interface Approach. Visual C++ Server. Visual Basic Client. Visual C++ Client. Visual J++ Client. Dual Interface Approach. Visual Basic Server. Visual C++ Server. Visual J++ Server. Visual Basic Client. Visual Basic Automation Client. Visual C++ Client. Visual J++ Client. Chapter 9 Examples. Clients. COM Active Server Pages Client. CORBA Java Applet. Servers. COM IDL. CORBA IDL. COM Server. CORBA Server. Chapter 10 Examples. Clients. COM Active Server Pages Client. COM Visual Basic Client. CORBA Java Applet. Servers. COM IDL. CORBA IDL. COM Customer Interface. COM Customer Wrapper. COM Customer Server. COM Customer Proxy. COM-to-CORBA Bridge. CORBA Customer Server. CORBA Customer Proxy. CORBA-to-COM Bridge. Chapter 11 Examples. COM IDL. CORBA IDL. COM Client. COM-to-CORBA Bridge. CORBA Server. Chapter 12 Examples. Bindings Generated by Commercial Bridging Product. COM Client. CORBA Server. Appendix C. Selected Example Code. MyCheckingAccount Classes (from Ch. 3). COM/C++ MyCheckingAccount Class. COM/Visual Basic MyCheckingAccount Class. CORBA/C++ MyCheckingAccount Class. CORBA/Java MyCheckingAccount Class. MTS Components (from Ch. 6). Ch6Teller MTS Component. Ch6Account MTS Component. MSMQ Applications (from Ch. 6). Trader MSMQ Application. Stock Market MSMQ Application. Index. 0201379457T04062001