Overview of Examples
This page describes the organization of the source code that constitutes the
examples used throughout the book. The source code is organized by chapter.
![](_themes/copy-of-capsules/capsepa.gif)
Chapter 3 Examples
Directory: book/ch03
Purpose: Contains source code for the examples presented in Chapter 3. These
examples are intended to demonstrate the fundamentals of using COM and CORBA.
Clients
Directory: book/ch03/clients
Purpose: Contains source code for the COM and CORBA client applications
presented in Chapter 3.
COM C++ Client
Directory: book/ch03/clients/com_cpp_client
Purpose: Demonstrates use of a COM server from a Visual C++/MFC client
application.
COM Visual Basic Client
Directory: book/ch03/clients/com_vb_client
Purpose: Demonstrates use of a COM server from a Visual Basic client
application.
CORBA C++ Client
Directory: book/ch03/clients/corba_cpp_client
Purpose: Demonstrates use of a CORBA server from a C++ client application. The
client application uses Iona Orbix and IIOP to communicate with the CORBA
server.
CORBA Java Client
Directory: book/ch03/clients/corba_java_client
Purpose: Demonstrates use of a CORBA server from a Java client application.
The client application uses Inprise's VisiBroker for Java and IIOP to
communicate with the CORBA server.
Servers
Directory: book/ch03/servers
Purpose: Contains source code for the COM and CORBA servers presented in
Chapter 3.
COM IDL
Directory: book/ch03/servers/midl
Purpose: Contains a COM IDL and type library description of the COM server
used in Chapter 3.
CORBA IDL
Directory: book/ch03/servers/idl
Purpose: Contains a CORBA IDL description of the CORBA server used in Chapter
3.
COM C++ Server
Directory: book/ch03/servers/com_cpp_server
Purpose: Provides the COM server that is used by the COM Visual C++ and Visual
Basic clients in Chapter 3. The COM server is implemented using Visual C++ and
ATL.
CORBA C++ Server
Directory: book/ch03/servers/corba_cpp_server
Purpose: Provides the CORBA server that is used by the CORBA C++ and Java
clients in Chapter 3. The CORBA server is implemented using Visual C++ and
Iona Orbix.
![](_themes/copy-of-capsules/capsepa.gif)
Chapter 6 Examples
Directory: book/ch06
Purpose: Contains source code for the examples presented in Chapter 6. These
examples are intended to demonstrate essential services supporting
transactions, security, and messaging.
MTS Example
Directory: book/ch06/mts_example
Purpose: Contains source code for COM MTS servers and a COM client that
demonstrates the use of MTS to manage distributed transactions.
MTS Account Server
Directory: book/ch06/mts_example/account
Purpose: Provides a COM MTS server that implements an Account object
that participates in an MTS distributed transaction. This server is
implemented using Visual C++ and ATL.
MTS Teller Server
Directory: book/ch06/mts_example/teller
Purpose: Provides a COM MTS server that implements a Teller object that
uses MTS to guarantee transfers between two accounts. This server is
implemented using Visual C++ and ATL.
MTS Client
Directory: book/ch06/mts_example/client
Purpose: Demonstrates use of the MTS Teller server from a Visual Basic
client application.
COM Security
Directory: book/ch06/com_security
Purpose: Contains source code for COM servers and clients that demonstrates
the use of COM and MTS to manage security.
COM Secure Agent Server
Directory: book/ch06/com_security/com_agent
Purpose: Provides a COM server that demonstrates basic COM security
constructs. This server is implemented using Visual C++ and ATL.
COM Secure Client
Directory: book/ch06/com_security/com_client
Purpose: Demonstrates use of basic COM security constructs from a Visual C++
client application.
MTS Secure Account Server
Directory: book/ch06/com_security/mts_secure_account
Purpose: Provides a COM MTS server that demonstrates the use of MTS security.
This server is implemented using Visual Basic.
MTS Secure Client
Directory: book/ch06/com_security/mts_secure_client
Purpose: Demonstrates use of MTS security from a Visual Basic client
application.
MSMQ Example
Directory: book/ch06/msmq_example
Purpose: Contains source code for two Visual Basic applications that
communicate using MSMQ.
MSMQ Market Application
Directory: book/ch06/msmq_example/market
Purpose: Demonstrates use of MSMQ by simulating a simple market that processes
orders from traders. Traders place orders in an MSMQ queue. After processing
an order, the Market application places a response in a separate queue.
The Market application is implemented using Visual Basic.
MSMQ Trader Application
Directory: book/ch06/msmq_example/trader
Purpose: Demonstrates use of MSMQ by simulating a simple trader that places
orders in an MSMQ queue. The
Trader application then waits for
responses in a separate queue. The
Trader application is implemented
using Visual Basic.
![](_themes/copy-of-capsules/capsepa.gif)
Chapter 8 Examples
Directory: book/ch08
Purpose: Contains source code for the examples presented in Chapter 8. These
examples are intended to demonstrate various COM interface approaches.
Automation Interface Approach
Directory: book/ch08/automation_interface_approach
Purpose: Contains source code for a COM automation server and client
applications that use the automation server.
Visual J++ Server
Directory: book/ch08/automation_interface_approach/vjserver
Purpose: Provides a COM server that implements an automation interface.
Visual Basic Client
Directory: book/ch08/automation_interface_approach/vbclient
Purpose: Demonstrates use of a COM automation server from a Visual Basic
client application.
Visual C++ Client
Directory: book/ch08/automation_interface_approach/vcclient
Purpose: Demonstrates use of a COM automation server from a Visual C++ client
application.
Visual J++ Client
Directory: book/ch08/automation_interface_approach/vjclient
Purpose: Demonstrates use of a COM automation server from a Visual J++ client
application.
Custom Interface Approach
Directory: book/ch08/custom_interface_approach
Purpose: Contains source code for a COM custom interface server and client
applications that use the custom interface server.
Visual C++ Server
Directory: book/ch08/custom_interface_approach/vcserver
Purpose: Provides a COM server that implements a custom interface.
Visual Basic Client
Directory: book/ch08/custom_interface_approach/vbclient
Purpose: Demonstrates use of a COM custom interface server from a Visual Basic
client application.
Visual C++ Client
Directory: book/ch08/custom_interface_approach/vcclient
Purpose: Demonstrates use of a COM custom interface server from a Visual C++
client application.
Visual J++ Client
Directory: book/ch08/custom_interface_approach/vjclient
Purpose: Demonstrates use of a COM custom interface server from a Visual J++
client application.
Dual Interface Approach
Directory: book/ch08/dual_interface_approach
Purpose: Contains source code for COM dual interface servers and client
applications that use the dual interface servers.
Visual Basic Server
Directory: book/ch08/dual_interface_approach/vbserver
Purpose: Provides a COM server that implements a dual interface. Demonstrates
the implementation of a dual interface server using Visual Basic.
Visual C++ Server
Directory: book/ch08/dual_interface_approach/vcserver
Purpose: Provides a COM server that implements a dual interface. Demonstrates
the implementation of a dual interface server using Visual C++.
Visual J++ Server
Directory: book/ch08/dual_interface_approach/vjserver
Purpose: Provides a COM server that implements a dual interface. Demonstrates
the implementation of a dual interface server using Visual J++.
Visual Basic Client
Directory: book/ch08/dual_interface_approach/vb_com_client
Purpose: Demonstrates use of COM dual interface servers from a Visual Basic
client application.
Visual Basic Automation Client
Directory: book/ch08/dual_interface_approach/vb_automation_client
Purpose: Demonstrates use of COM dual interface servers from a Visual Basic
client application. This Visual Basic client uses automation to communicate
with the dual interface servers by declaring all COM references as type Object
.
Visual C++ Client
Directory: book/ch08/dual_interface_approach/vcclient
Purpose: Demonstrates use of COM dual interface servers from a Visual C++
client application.
Visual J++ Client
Directory: book/ch08/dual_interface_approach/vjclient
Purpose: Demonstrates use of COM dual interface servers from a Visual J++
client application.
![](_themes/copy-of-capsules/capsepa.gif)
Chapter 9 Examples
Directory: book/ch09
Purpose: Contains source code for the examples presented in Chapter 9. These
examples are intended to demonstrate use of COM and CORBA in Internet
applications.
Clients
Directory: book/ch09/clients
Purpose: Contains source code for the COM and CORBA client applications
presented in Chapter 9.
COM Active Server Pages Client
Directory: book/ch09/clients/com_asp_client
Purpose: Demonstrates use of a COM server from an Active Server Pages client
application.
CORBA Java Applet
Directory: book/ch09/clients/corba_java_applet
Purpose: Demonstrates use of a CORBA server from a Java applet.
Servers
Directory: book/ch09/servers
Purpose: Contains source code for the COM and CORBA servers presented in
Chapter 9.
COM IDL
Directory: book/ch09/servers/midl
Purpose: Contains a COM IDL description of the COM server used in Chapter 9.
CORBA IDL
Directory: book/ch09/servers/idl
Purpose: Contains a CORBA IDL description of the CORBA server used in Chapter
9.
COM Server
Directory: book/ch09/servers/com_server
Purpose: Provides the COM server that is used by the Active Server Pages
client application. The COM server is implemented using Visual C++ and ATL.
CORBA Server
Directory: book/ch09/servers/corba_server
Purpose: Provides the CORBA server that is used by the Java applet. The CORBA
server is implemented using Visual C++ and Iona Orbix.
![](_themes/copy-of-capsules/capsepa.gif)
Chapter 10 Examples
Directory: book/ch10
Purpose: Contains source code for the examples presented in Chapter 10. These
examples are intended to demonstrate use of COM and CORBA in desktop and
Internet applications. This includes use of a CORBA server from COM clients as
well as a COM server from a CORBA client.
Clients
Directory: book/ch10/clients
Purpose: Contains source code for the COM and CORBA client applications
presented in Chapter 10.
COM Active Server Pages Client
Directory: book/ch10/clients/com_asp
Purpose: Demonstrates use of a COM server and a CORBA server from an Active
Server Pages client application.
COM Visual Basic Client
Directory: book/ch10/clients/com_vb
Purpose: Demonstrates use of a COM server and a CORBA server from a Visual
Basic client application.
CORBA Java Applet
Directory: book/ch10/clients/corba_java_applet
Purpose: Demonstrates use of a COM server and a CORBA server from a Java
applet.
Servers
Directory: book/ch10/servers
Purpose: Contains source code for the COM and CORBA servers presented in
Chapter 10.
COM IDL
Directory: book/ch10/servers/midl
Purpose: Contains a COM IDL description of the COM server used in Chapter 10.
CORBA IDL
Directory: book/ch10/servers/idl
Purpose: Contains a CORBA IDL description of the CORBA server used in Chapter
10.
COM Customer Interface
Directory: book/ch10/servers/com_customer_interface
Purpose: Defines the COM customer interface used by the COM customer server,
COM customer proxy, and COM-to-CORBA bridge components. A batch file is also
defined that creates a proxy-stub DLL for the COM customer interface.
COM Customer Wrapper
Directory: book/ch10/servers/com_customer_wrapper
Purpose: Provides a lightweight wrapper (in-process DLL) that wraps any server
that implements the COM customer interface. The wrapper is implemented using
Visual Basic.
COM Customer Server
Directory: book/ch10/servers/com_customer_server
Purpose: Provides the COM server that is used by the ASP client, Visual Basic
client, and Java applet. The COM server is implemented using Visual C++ and
ATL.
COM Customer Proxy
Directory: book/ch10/servers/com_customer_proxy
Purpose: Provides the COM server that acts as a proxy to the COM customer
server. The COM server is implemented using Visual C++ and ATL.
COM-to-CORBA Bridge
Directory: book/ch10/servers/com_to_corba_bridge
Purpose: Provides the COM server that acts as a bridge from COM clients to the
CORBA customer server. The COM server is implemented using Visual C++, ATL,
and Iona Orbix.
CORBA Customer Server
Directory: book/ch10/servers/corba_customer_server
Purpose: Provides the CORBA server that is used by the ASP client, Visual
Basic client, and Java applet. The CORBA server is implemented using Visual
C++ and Iona Orbix.
CORBA Customer Proxy
Directory: book/ch10/servers/corba_customer_proxy
Purpose: Provides the CORBA server that acts as a proxy to the CORBA customer
server. The CORBA server is implemented using Visual C++ and Iona Orbix.
CORBA-to-COM Bridge
Directory: book/ch10/servers/corba_to_com_bridge
Purpose: Provides the CORBA server that acts as a bridge from CORBA clients to
the COM customer server. The CORBA server is implemented using Visual C++ and
Iona Orbix.
![](_themes/copy-of-capsules/capsepa.gif)
Chapter 11 Examples
Directory: book/ch11
Purpose: Contains source code for the examples presented in Chapter 11. These
examples are intended to demonstrate custom COM/CORBA bridging approaches.
COM IDL
Directory: book/ch11/midl
Purpose: Contains a COM IDL and type library description of the COM server
used in Chapter 11.
CORBA IDL
Directory: book/ch11/idl
Purpose: Contains a CORBA IDL description of the CORBA server used in Chapter
11.
COM Client
Directory: book/ch11/com_client
Purpose: Demonstrates use of a CORBA server from a Visual Basic client
application.
COM-to-CORBA Bridge
Directory: book/ch11/com_to_corba_bridge
Purpose: Provides the COM server that acts as a bridge from COM clients to the
CORBA server. The COM server is implemented using Microsoft's JVM and Sun
Microsystems' Java IDL CORBA ORB.
CORBA Server
Directory: book/ch11/corba_server
Purpose: Provides the CORBA server that is used by the COM client in Chapter
11. The CORBA server is implemented using Visual C++ and Iona Orbix.
![](_themes/copy-of-capsules/capsepa.gif)
Chapter 12 Examples
Directory: book/ch12
Purpose: Contains source code for the examples presented in Chapter 12. These
examples are intended to demonstrate use of a commercial COM/CORBA bridging
product.
Bindings Generated by Commercial Bridging Product
Directory: book/ch12/bindings
Purpose: Contains COM bindings for a CORBA server and CORBA bindings for a COM
server that were automatically generated by Visual Edge Software's
ObjectBridge COM/CORBA Enterprise Client.
COM Client
Directory: book/ch12/com_client
Purpose: Demonstrates use of a CORBA server from a Visual Basic client
application. The client relies on Visual Edge Software's ObjectBridge COM/CORBA
Enterprise Client product.
CORBA Server
Directory: book/ch12/corba_server
Purpose: Provides the CORBA server that is used by the Visual Basic COM client
application. The CORBA server is implemented using Visual C++ and Iona Orbix.