3 Here is a Stock Quoter example that features the use of the TAO IDL
4 compiler, the different types of configuration settings (global vs
5 tss, etc), and the Life Cycle Service.
7 For your convenience, the run_test.btm has been provided. It is a
8 batch file that runs under 4NT. Work is in progress for a regular
9 batch file that performs the same action. We'll probably get it
10 working on other platforms as soon as it is completed.
12 ----------------------------------------
14 DOCUMENTATION FOR THE EXAMPLE
15 =============================
17 Note: Moving the Quoter object is no longer available!
18 The code was relying on ORB internal mechanisms. One way to
19 implement the move operation in a standard way would be
20 to use a servant locator on the POA managing the Quoter object.
22 Context: The Quoter example serves several tests, the first is the test
23 of several multithreading policies and the second is showing the
24 use of the Life Cycle Service as it is defined in the
25 CORBA Common Object Services specification.
27 Life Cycle Service use-case:
29 several processes exist: server,
35 several object exist: Quoter,
37 Quoter_Factory_Finder,
38 Quoter_Generic_Factory,
39 Quoter_Life_Cycle_Service
41 server: The server process contains two kind of objects: Quoter and
42 Quoter_Factory's. A Quoter is a very simple Object supporting
43 only one method. The focus is not on a sophisticated object
44 but on showing how policies work.
45 The object Quoter_Factory serves as a factory for Quoters.
47 Factory_Finder: The COS spec. introduces the concept of a Factory Finder
48 which is capable to find proper factories. The Naming
49 Service is used as lookup-mechanism. A reference to
50 the Factory_Finder is passed as parameter of any copy
53 Generic_Factory: This process supports the object Quoter_Generic_Factory (QGF).
54 The QGF supports the GenericFactory interface introduced by
55 the COS specification. It forwards create_object requests to
56 more concrete factories, e.g. the Quoter_Factory. The
57 concrete factories are found via the Naming Service.
59 Life_Cycle_Service: This process is very similar to the Generic_Factory
60 proocess. It also supports an Object, which conforms to
61 the GenericFactory interface. The Quoter_Life_Cycle_Service
62 conforms to the idea of a life cycle service as it is
63 introduced by the COS specification. The Quoter_Life_Cycle_Service
64 is neutral against the Quoter example. It is not dependent
65 on it. Only interfaces defined by the CosLifeCycle.idl file
66 are used. The implemenation uses the COS Trading Service
67 manage registered Generic Factories, as the Quoter_Generic_Factory
68 for example. A lookup on the Trading Service is performed
69 when a create_object request is invoked on it.
71 client: Creates one Quoter through using the Quoter_Factory_Finder. After that
72 the copy method of Quoter is invoked to copy the Quoter to an other
73 location, which is in this example the same location, but that does
74 not matter so much. The concept is important in this example.
76 The objects are invoked in the following order:
77 client->Quoter->Quoter_Factory_Finder->Quoter_Life_Cycle_Service
78 ->Quoter_Generic_Factory->Quoter_Factory