BEA Logo BEA WebLogic Enterprise Release 5.1

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   WebLogic Enterprise Doc Home   |   Security   |   Previous Topic   |   Next Topic   |   Contents   |   Index

Building and Running the CORBA Sample Applications

 

The topic contains the following sections:

 


Building and Running the Security Sample Application

The Security sample application demonstrates using Username/Password authentication. For instructions for building and running the Security sample application, see the Guide to the University Sample Applications.

 


Building and Running the Secure Simpapp Sample Application

The Secure Simpapp sample application demonstrates using the SSL protocol and certificate-based authentication to protect communications between client applications and the WebLogic Enterprise domain. There are C++ and Java versions of the Secure Simpapp sample application.

To build and run the Secure Simpapp sample application, complete the following steps:

  1. Copy the files for the Secure Simpapp sample application into a work directory.

  2. Change the protection attribute on the files for the Secure Simpapp sample application.

  3. Verify the environment variables.

  4. Execute the runme command.

Before you can use the Secure Simpapp sample application, obtain a certificate and private key (IIOPListener.pem) for the IIOP Listener/Handler from the certificate authority in your enterprise and load the certificate in a Lightweight Directory Access Protocol (LDAP)-enabled directory service. The runme command prompts you for the pass phrase for the private key for the IIOP Listener/Handler.

Step 1: Copy the Files for the Secure Simpapp Sample Application into a Work Directory

You need to copy the files for the Secure Simpapp sample application into a work directory on your local machine. The following sections detail the directory location and sources files for the C++ and Java versions of the Secure Simpapp sample application.

C++ Version of the Secure Simpapp Sample Application

The files for the C++ version of the Secure Simpapp sample application are located in the following directories:

Windows NT

drive:\WLEdir\samples\corba\simpappSSL

UNIX

/usr/local/WLedir/samples/corba/simappSSL

You will use the files listed in Table 11-1 to build and run the C++ version of the Secure Simpapp sample application.

Table 11-1 Files Included in the C++ Version of the Secure Simpapp Sample Application

File

Description

Simple.idl

The OMG IDL code that declares the Simple and SimpleFactory interfaces.This file is copied from the WLE simpappSSL_java directory by the runme command file.

Simples.cpp

The C++ source code that overrides the default Server::initialize and Server::release methods.

Simplec.cpp

The C++ source code for the client application in the Secure Simpapp sample application.

Simple_i.cpp

The C++ source code that implements the Simple and SimpleFactory methods.

Simple_i.h

The C++ header file that defines the implementation of the Simple and SimpleFactory methods.

Readme.html

This file provides the latest information about building and running the C++ version of the Secure Simpapp sample application.

runme.cmd

The Windows NT batch file that builds and runs the C++ version of the Secure Simpapp sample application.

runme.ksh

The UNIX Korn shell script that builds and executes the C++ version of the Secure Simpapp sample application.

makefile.mk

The makefile for the C++ version of the Secure Simpapp sample application on the UNIX operating system. This file is used to manually build the C++ version of the Secure Simpapp sample application. Refer to the Readme.html file for information about manually building the C++ version of the Secure Simpapp sample application. The UNIX make command needs to be in the path of your machine.

makefiles.nt

The makefile for the C++ version of the Secure Simpapp sample application on the Windows NT operating system. This makefile can be used directly by the Visual C++ nmake command. This file is used to manually build the C++ version of the Secure Simpapp sample application. Refer to the Readme.html file for information about manually building the C++ version of the Secure Simpapp sample application. The Windows NT nmake command needs to be in the path of your machine.

Java Version of the Secure Simpapp Sample Application

The files for the Java version of the Secure Simpapp sample application are located in the following directories:

Windows NT

drive:\WLEdir\samples\corba\simpappSSL_java

UNIX

/usr/local/WLedir/samples/corba/simappSSL_java

You will use the files listed in Table 11-2 to build and run the Java Secure Simpapp sample application.

Table 11-2 Files Included in the Java Version of the Secure Simpapp Sample Application

File

Description

Simple.idl

The OMG IDL code that declares the Simple and SimpleFactory interfaces.This file is copied from the WLE simpappSSL_java directory by the runme command file.

ServerImpl.java

The Java source code that overrides the Server.initialize and Server.release methods.

SimpleClient.java

The Java source code for the client application in the Secure Simpapp sample application.

SimpleFactoryImpl.java

The Java source code that implements the SimpleFactory methods.

SimpleImpl.java

The Java source code that implements the Simple methods.

Simple.xml

The Server Description File used to associate activation and transaction policy values with CORBA interfaces. For the Java version of the Secure Simpapp sample application, the Simple and SimpleFactory interfaces have an activation policy of method and a transaction policy of optional.

Readme.html

The file that provides the latest information about building and running the Java version of the Secure Simpapp sample application.

runme.cmd

The Windows NT batch file that builds and runs the Java version of the Secure Simpapp sample application.

runme.ksh

The UNIX Korn shell script that builds and executes the Java version of the Secure Simpapp sample application.

makefile.mk

The makefile for the Java version of the Secure Simpapp sample application on the UNIX operating system. This file is used to manually build the Secure Simpapp sample application. Refer to the Readme.html file for information about manually building the Secure Simpapp sample application. The UNIX make command needs to be in the path of your machine.

makefiles.nt

The makefile for the Secure Simpapp sample application on the Windows NT operating system. This file is used to manually build the Java version of the Secure Simpapp sample application. Refer to the Readme.html file for information about manually building the Secure Simpapp sample application. The Windows NT nmake command needs to be in the path of your machine.

Step 2: Change the Protection Attribute on the Files for the Secure Simpapp Sample Application

During the installation of the WebLogic Enterprise software, the sample application files are marked read-only. Before you can edit or build the files in the Secure Simpapp sample application, you need to change the protection attribute of the files you copied into your work directory, as follows:

Windows NT

prompt>attrib -r drive:\workdirectory\*.*

UNIX

prompt>/bin/ksh

ksh prompt>chmod u+w /workdirectory/*.*

On the UNIX operating system platform, you also need to change the permission of runme.ksh to give execute permission to the file, as follows:

ksh prompt>chmod +x runme.ksh

Step 3: Verify the Settings of the Environment Variables

Before building and running the Secure Simpapp sample application, you need to ensure that certain environment variables are set on your system. In most cases, these environment variables are set as part of the installation procedure. However, you need to check the environment variables to ensure they reflect correct information.

Table 11-3 lists the environment variables required to run the Secure Simpapp sample application.

Table 11-3 Required Environment Variables for the Secure Simpapp Sample Application

Environment Variable

Description

APPDIR

The directory path where you copied the sample application files. For example:

Windows NT

APPDIR=c:\work\simpappSSL

UNIX

APPDIR=/usr/work/simpappSSL

TUXCONFIG

The directory path and name of the configuration file. For example:

Windows NT

TUXCONFIG=c:\work\simpappSSL\tuxconfig

UNIX

TUXCONFIG=/usr/work/simpappSSL/tuxconfig

JDKDIR

The directory path where you installed the JDK software. For example:

Windows NT

JDKDIR=c:\jdk1.2.2

UNIX

JDKDIR=/usr/local/jdk1.2.1

You need to specify this parameter only if you plan to use the Java version of the Secure Simpapp sample application.

TOBJADDR

The host name and port number of the IIOP Listener/Handler. The port number must be defined as a port for SSL communications. For example:

Windows NT

TOBJADDR=trixie::1111

UNIX

TOBJADDR=trixie::1111

JAVA_HOME

The directory path where you installed the JDK software. For example:

Windows NT

JAVA_HOME=c:\JDK1.2

UNIX

JAVA_HOME=/usr/local/JDK1.2

You need to define this environment variable only when you use the Java version of the Secure Simpapp sample application.

RESULTSDIR or
JRESULTSDIR

A subdirectory of APPDIR where files that are created as a result of executing the runme command are stored. For example:

Windows NT

RESULTSDIR=c:\workdirectory\

UNIX

RESULTSDIR=/usr/local/workdirectory/

When using the Java version of the Secure Simpapp sample application, specify the JRESULTSDIR environment variable.

To verify that the information for the environment variables defined during installation is correct, perform the following steps:

Windows NT

  1. From the Start menu, select Settings.

  2. From the Settings menu, select the Control Panel.

    The Control Panel appears.

  3. Click the System icon.

    The System Properties window appears.

  4. Click the Environment tab.

    The Environment page appears.

  5. Check the settings of the environment variables.

UNIX

ksh prompt>printenv TUXDIR

ksh prompt>printenv JAVA_HOME

To change the settings, perform the following steps:

Windows NT

  1. On the Environment page in the System Properties window, click the environment variable you want to change or enter the name of the environment variable in the Variable field.

  2. Enter the correct information for the environment variable in the Value field.

  3. Click OK to save the changes.

UNIX

ksh prompt>export TUXDIR=directorypath

ksh prompt>export JAVA_HOME=directorypath

Step 4: Execute the runme Command

The runme command automates the following steps:

  1. Setting the system environment variables

  2. Loading the UBBCONFIG file

  3. Compiling the code for the client application

  4. Compiling the code for the server application

  5. Starting the server application using the tmboot command

  6. Starting the client application

  7. Stopping the server application using the tmshutdown command

    Note: You can also run the Secure Simpapp sample application manually. The steps for manually running the Secure Simpapp sample application are described in the Readme.html file.

To build and run the Secure Simpapp sample application, enter the runme command, as follows:

Windows NT

prompt>cd workdirectory

prompt>runme

UNIX

ksh prompt>cd workdirectory

ksh prompt>./runme.ksh

The Secure Simpapp sample application runs and prints the following messages:

Testing simpapp
cleaned up
prepared
built
loaded ubb
booted
ran
shutdown
saved results
PASSED

During execution of the runme command, you are prompted for a password. Enter the pass phrase of the private key of the IIOP Listener/Handler.

Table 11-4 lists the C++ files in the work directory generated by the runme command.

Table 11-4 C++ Files Generated by the runme Command

File

Description

Simple_c.cpp

Generated by the idl command, this file contains the client stubs for the SimpleFactory and Simple interfaces.

Simple_c.h

Generated by the idl command, this file contains the client definitions of the SimpleFactory and Simple interfaces.

Simple_s.cpp

Generated by the idl command, this file contains the server skeletons for the SimpleFactory and Simple interfaces.

Simple_s.h

Generated by the idl command, this file contains the server definition for the SimpleFactory and Simple interfaces.

.adm/.keybd

A file that contains the security encryption key database. The subdirectory is created by the tmloadcf command in the runme command.

results

A directory generated by the runme command.

Table 11-5 lists the Java files in the work directory generated by the runme command.

Table 11-5 Java Files Generated by the runme Command

File

Description

SimpleFactory.java

Generated by the m3idltojava command for the SimpleFactory interface. The SimpleFactory interface contains the Java version of the OMG IDL interface. It extends org.omg.CORBA.Object.

SimpleFactoryHolder.java

Generated by the m3idltojava command for the SimpleFactory interface.This class holds a public instance member of type SimpleFactory. The class provides operations for out and inout arguments that are included in CORBA, but that do not map exactly to Java.

SimpleFactoryHelper.java

Generated by the m3idltojava command for the SimpleFactory interface. This class provides auxiliary functionality, notably the narrow method.

_SimpleFactoryStub.java

Generated by the m3idltojava command for the SimpleFactory interface. This class is the client stub that implements the SimpleFactory.java interface.

_SimpleFactoryImplBase.java

Generated by the m3idltojava command for the SimpleFactory interface. This abstract class is the server skeleton. It implements the SimpleFactory.java interface. The user-written server class SimpleFactoryImpl extends _SimpleFactoryImplBase.

Simple.java

Generated by the m3idltojava command for the Simple interface. The Simple interface contains the Java version of the OMG IDL interface. It extends org.omg.CORBA.Object.

SimpleHolder.java

Generated by the m3idltojava command for the Simple interface.This class holds a public instance member of type Simple. The class provides operations for out and inout arguments that CORBA has but that do not match exactly to Java.

SimpleHelper.java

Generated by the m3idltojava command for the Simple interface. This class provides auxiliary functionality, notably the narrow method.

_SimpleStub.java

Generated by the m3idltojava command for the Simple interface. This class is the client stub that implements the Simple.java interface.

_SimpleImplBase.java

Generated by the m3idltojava command for the Simple interface. This abstract class is the server skeleton. It implements the Simple.java interface. The user-written server class SimpleImpl extends _SimpleImplBase.

Simple.ser

The Server Descriptor File generated by the buildjobjserver command in the runme command.

Simple.jar

The server Java ARchive (JAR) file generated by the buildjavaserver command in the runme command.

.adm/.keybd

A file that contains the security encryption key database. The subdirectory is created by the tmloadcf command in the runme command.

results

A directory generated by the runme command.

Table 11-6 lists files in the RESULTS or JRESULTS directory generated by the runme command.

Table 11-6 Files in the results Directory Generated by the runme Command

File

Description

input

Contains the input that the runme command provides to the Java client application.

output

Contains the output produced when the runme command executes the Java client application.

expected_output

Contains the output that is expected when the Java client application is executed by the runme command. The data in the output file is compared to the data in the expected_output file to determine whether or not the test passed or failed.

log

Contains the output generated by the runme command. If the runme command fails, check this file for errors.

setenv.cmd

Contains the commands to set the environment variables needed to build and run the Java Secure Simpapp sample application on the Windows NT operating system platform.

setenv.ksh

Contains the commands to set the environment variables needed to build and run the Java Secure Simpapp sample application on the UNIX operating system platform.

stderr

Generated by the tmboot command, which is executed by the runme command. If the -noredirect JavaServer option is specified in the UBBCONFIG file, the System.err.println method sends the output to the stderr file instead of to the ULOG file.

stdout

Generated by the tmboot command, which is executed by the runme command. If the -noredirect JavaServer option is specified in the UBBCONFIG file, the System.out.println method sends the output to the stdout file instead of to the ULOG file.

tmsysevt.dat

Contains filtering and notification rules used by the TMSYSEVT (system event reporting) process. This file is generated by the tmboot command in the runme command.

tuxconfig

A binary version of the UBBCONFIG file.

ubb

The UBBCONFIG file for the Java Secure Simpapp sample application.

ULOG.<date>

A log file that contains messages generated by the tmboot command.

Using the Secure Simpapp Sample Application

Run the server application in the Secure Simpapp sample application, as follows:

Windows NT

prompt>tmboot

UNIX

ksh prompt>tmboot

Run the client application in the Secure Simpapp sample application, as follows:

Windows NT

prompt>java -classpath .;%TUXDIR%\udataobj\java\jdk\m3envobj.jar
-DTOBJADDR=%TOBJADDR% SimpleClient
String?
Hello World
HELLO WORLD
hello world

UNIX

ksh prompt>java -classpath .:$TUXDIR/udataobj/java/jdk\
/m3envobj.jar -DTOBJADDR=$TOBJADDR SimpleClient
String?
Hello World
HELLO WORLD
hello world

Note: The Secure Simpapp sample client application uses the client-only JAR file m3envobj.jar. However, you can also use the m3.jar file to run the client application.

Before using another sample application, enter the following commands to stop the Secure Simpapp sample application and to remove unnecessary files from the work directory:

Windows NT

prompt>tmshutdown -y

prompt>nmake -f makefile.nt clean

UNIX

ksh prompt>tmshutdown -y

ksh prompt>make -f makefile.mk clean