summaryrefslogtreecommitdiff
path: root/TAO/examples/POA/README
blob: ca47b9044c0ebab147b2ce7da07266902a03a0d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// $Id$

The following TAO applications illustate various Portable Object
Adapter (POA) interfaces and their usage scenarios.

        Individual README files in the respective directories explain
these applications further.

        . RootPOA

                This example explains how to obtain the name of the
                RootPOA.

        . NewPOA

                This example explains the operations involved in
                creation of new POAs.

        . FindPOA

                This example explains registering an adapter activator
                for a POA and also the find_POA operation.

        . Generic_Servant

                A simple interface (Foo) is defined here and its
                implementations, server and client programs are
                available, which can be used for testing POA
                applications.  Several servers for that interface are
                implemented using different POA policies; a common
                client for all the servers is also provided.

        . On_Demand_Activation

                Contains programs that test the POA's 2 types of
                activation of objects on demand, namely , Servant
                Activator approach and Servant Locator , which depend
                on the RETAIN/NON-RETAIN policy of a POA.

        . Default_Servant

		Contains a File IDL module and its implementation and
		a server,client to test the File Module interfaces.
		The System interface uses the USE_DEFAULT_MANAGER policy
		to create a POA and registers a single File Descriptor
		object as the default servant. The default servant serves
		requests for many Descriptor objects.

        . Explicit_Activation

                This application explains various operations involved
                in the explicit activation of objects; including the
                creation of objects without servants (the servant is
                created on demand).

        . DSI

                The client/server couple tests the DSI features of the
                POA.

        . Forwarding

                The example is used to test the support for forwarding
                in TAO.  Three ways are shown: (a) Forwarding using
                Servant Activators, (b) Forwarding using Servant
                Locators, and (c) Forwarding using POA (this feature
                is TAO specific).

        . TIE

                Shows off the standard TIE features of the new CORBA
                2.2 specification.

        . On_Demand_Loading

                This example illustrates how to dynamically link and
                load servants into a POA in a platform-independent
                manner using the ACE_DLL feature and standard CORBA
                Servant Manager features.  In the example, the POA is
                configured with the USE_SERVANT_MANAGER policy value,
                which relies on an application supplied Servant
                Manager object to supply object/server associations.

                This example illustrates both Servant Activator and
                Servant_Locator interfaces.  The servant object is
                created by a factory function that resides in a DLL
                that is linked and loaded into the server's address
                space on-demand when client requests arrive.  The
                ObjectID in each client request indicates which DLL
                name and which factory function to use to create the
                servant.

         . Loader

                This example is similar to the above except the id is
                not hijacked to store the DLL and factory function
                name.  This information is provided to the Servant
                Managers on creation.

        . Explicit_Activation

                This example is very similar to the
                Explicit_Activation example except that the POAs are
                deleted once the object references have been
                created. After this, an adapter activator is install
                in the RootPOA to reactivate the POAs on demand.

        . Reference_Counted_Servant

                This example shows how to use reference counted
                servants to automatically manage dynamic memory for
                servants.