![]() |
![]() |
|
|
The Transactions Sample Application
This topic includes the following sections:
Refer to Readme.txt in the \transactions directory for troubleshooting information and the latest information about using the Transactions sample application. For a complete discussion of using transactions in a CORBA application, see Using CORBA Transactions.
How the Transactions Sample Application Works
In the Transactions sample application, students can register for classes. The operation of registering for courses is executed within the scope of a transaction. The Transactions sample application works in the following way:
Figure 5-1 illustrates how the Transactions sample application works.
Figure 5-1 The Transactions Sample Application
The Development Process for the Transactions Sample Application
This section describes the steps used to add transactions to the Transactions sample application. These steps are in addition to the development process outlined in The Basic Sample Application section.
Note: The steps in this section have been done for you and are included in the Transactions sample application.
OMG IDL
During the development process, you would define in Object Management Group (OMG) Interface Definition Language (IDL) the register_for_courses() operation for the Registrar. The register_for_courses() operation has a parameter, NotRegisteredList, which returns to the client application the list of courses for which registration failed. If the value of NotRegisteredList is empty, the client application commits the transaction.
You also need to define the TooManyCredits user exception.
The Client Application
During the development process, you would add the following to your client application:
For information about using Transactions in client applications, see Getting Started with BEA Tuxedo CORBA Applications and Using CORBA Transactions.
The University Server Application
During the development process, you would add the following to the University server application:
For information about these tasks, see Creating CORBA Server Applications.
The UBBCONFIG File
During the development process, you need the following in the UBBCONFIG file:
Note: If you use a database other than Oracle, refer to the product documentation for information about defining the XA parameter.
For information about the transaction log and defining parameters in the UBBCONFIG file, see Setting Up a BEA Tuxedo Application.
The ICF File
During the development process, change the Transaction policy of the Registrar object from optional to always. The always Transaction policy indicates that this object must be part of a transaction. For information about defining Transaction policies for CORBA objects, see Using CORBA Transactions.
Building the Transactions Sample Application
To build the Transactions sample application, complete the following steps:
The following sections describe these steps.
Note: Before you can build or run the Transactions sample application, you need to complete the steps in Setting Up Your Environment.
Copying the Files for the Transactions Sample Application into a Work Directory
The files for the Transactions sample application are located in the following directories:
Windows 2000
drive:\TUXDIR\samples\corba\university\transaction
UNIX
/usr/TUXDIR/samples/corba/university/transaction
In addition, you need to copy the utils directory into your work directory. The utils directory contains files that set up logging, tracing, and access to the University database.
You will use the files listed in Table 5-1 to create the Transactions sample application.
Changing the Protection on the Files for the Transactions Sample Application
During the installation of the BEA Tuxedo software, the sample application files are marked read-only. Before you can edit the files or build the files in the Transactions sample application, you need to change the protection of the files you copied into your work directory, as follows:
Windows 2000
prompt>attrib -r drive:\workdirectory\*.*
UNIX
prompt>chmod u+rw /workdirectory/*.*
Setting the Environment Variables
Use the following command to set the environment variables used to build the client and server applications in the Transactions sample application:
Windows 2000
prompt>setenvt
UNIX
prompt>/bin/ksh
prompt>. ./setenvt.sh
Initializing the University Database
Use the following command to initialize the University database used with the Transactions sample application:
Windows 2000
prompt>nmake -f makefilet.nt initdb
UNIX
prompt>make -f makefilet.mk initdb
Loading the UBBCONFIG File
Use the following command to load the UBBCONFIG file:
Windows 2000
prompt>tmloadcf -y ubb_t.nt
UNIX
prompt>tmloadcf -y ubb_t.mk
The build process for the UBBCONFIG file prompts you for an application password. This password will be used to log on to the client applications. Enter the password and press Enter. You are then prompted to verify the password by entering it again.
Creating a Transaction Log
The transaction log records the transaction activities in a CORBA application. During the development process, you need to define the location of the transaction log (specified by the TLOGDEVICE parameter) in the UBBCONFIG file. For the Transactions sample application, the transaction log is placed in your work directory.
To open the transaction log for the Transactions sample application, complete the following steps:
tmadmin
crdl -b blocks -z directorypath
clog -m SITE1
where
blocks specifies the number of blocks to be allocated for the transaction log and directorypath indicates the location of the transaction log. The directorypath option needs to match the location specified in the TLOGDEVICE parameter in the UBBCONFIG file. The following is an example of the command on Windows 2000:
crdl -b 500 -z c:\mysamples\university\Transaction\TLOG
Compiling the Transactions Sample Application
During the development process, you would use the buildobjclient and buildobjserver commands to build the client and server applications. You would also build a database-specific transaction manager to coordinate the transactional events in the client/server application. However, for the Transactions sample application, this step has been done for you. The directory for the Transactions sample application contains a makefile that builds the client and server sample applications and creates a transaction manager called TMS_ORA.
Note: In the makefile, the following parameter is hard coded to build a transaction manager for the Oracle database:
RM=Oracle_XA
If you use a database other than Oracle, you need to change this parameter.
Use the following commands to build the CORBA C++ client and server applications in the Transactions sample application:
Windows 2000
prompt>nmake -f makefilet.nt
UNIX
prompt>make -f makefilet.mk
To build the CORBA Java client application:
Windows 2000
prompt>nmake -f makefilet.nt javaclient
UNIX
prompt>make -f makefilet.mk javaclient
For information about starting the ActiveX client application, see Starting the ActiveX Client Application.
For more information about the buildobjclient and buildobjserver commands, see the BEA Tuxedo Command Reference.
Running the Transactions Sample Application
To run the Transactions sample application, complete the following steps:
These steps are described in the following sections.
Starting the Server Application
Start the system and sample application server applications in the Transactions sample application by entering the following command:
prompt>tmboot -y
This command starts the following server processes:
The BEA Tuxedo system EventBroker.
The transaction management services, including the NameManager and the FactoryFinder services.
The Interface Repository server process. This server process is used only by ActiveX client applications.
The University server process.
The IIOP Listener/Handler process.
Before using another sample application, enter the following command to stop the system and sample application server processes:
prompt>tmshutdown
Starting the CORBA C++ Client Application
Start the CORBA C++ client application in the Transactions sample application by completing the following steps:
prompt>univt_client
Starting the CORBA Java Client Application
To run the CORBA Java client application in the Transactions sample application, complete the following steps:
code="UnivTApplet.class"
codebase=.
to read as follows:
code="UnivTApplet"
archive="UnivTApplet.jar,m3envobj.jar"
Copy the class files in the Transactions sample application directory that were generated by the makefile into the tmp directory, set the directory (cd) to the tmp directory, and issue one of the following commands to create a .JAR file that contains all the Transactions sample application classes:
jar -cf ..\UnivTApplet.jar *.* (Microsoft Windows 2000 systems)
jar -cf ../UnivTApplet.jar * (UNIX systems)
Note: On Microsoft Windows 2000 systems, the node name needs to be in all uppercase characters. For example, if the node is specified as SERVER in the UBBCONFIG file and in the UnivTApplet.html file, set your browser to http://SERVER/UnivTApplet.html.
Starting the ActiveX Client Application
Note: For the University sample applications, the task of loading the OMG IDL for the CORBA interfaces into the Interface Repository is automated by the makefile.
Before you can start the ActiveX client application, you must use the Application Builder to create ActiveX bindings for the CORBA interfaces.
To create an ActiveX binding for a CORBA interface, complete the following steps:
The IIOP Listener window appears.
The Logon window appears.
The Application Builder window appears. All the CORBA interfaces loaded in the Interface Repository appear in the Services window of the Application Builder.
A confirmation window appears.
The Application Builder creates the following:
The type library file is named DImodulename_interfacename.tlb.
To run the ActiveX client application, complete the following steps:
The IIOP Listener window appears.
The Logon window appears.
Using the Client Applications in the Transactions Sample Application
The following sections briefly explain how to use the client applications in the Transactions sample application.
The CORBA C++ Client Application
The CORBA C++ client application in the Transactions sample application has the following additional option:
<R> Register for Courses
To register for a course, complete the following steps:
100011
100039
-1
To exit the C++ CORBA client application, enter E at the Options prompt.
The CORBA Java Client Application
When you log on to the CORBA Java client application, a Student Account Summary window appears. Use the Student Account Summary window to register for courses.
To register for a class, complete the following steps:
A list of courses matching the search string appears in the window.
If you are already registered for a course, Yes appears in the Registered field on the Student Account Summary window.
To view a list of courses for which the student ID is registered, double-click the Show Registration button.
To exit the CORBA Java client application, click the Logoff button in the Student Account Summary window, or choose Quit from the Applet menu.
The ActiveX Client Application
When you log on to the ActiveX client application, the Course Browser window appears. Use the Course Browser window to register for courses.
To register for a class, complete the following steps:
A list of all the courses that match that search string appears.
The details for the selected course appear.
The course appears in the student's schedule at the bottom of the window. If the student is already registered for the course, it appears in the color green. If the course conflicts with a previously registered course, it appears in the color red.
To remove a course from the schedule, double-click the course in the schedule.
To view a list of courses for which the student ID is registered, click the Get Registered Courses button.
To complete information about a course, click the Get Details button.
To exit the ActiveX client application, choose Exit from the File menu.
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|