where
Set up a default UDDI node
Overview
There are two ways to setup a default UDDI node:
- Either by executing the uddiDeploy.jacl script and specifying the default option. This creates a running default UDDI node within an embedded Cloudscape database, or
- Executing an additional step after you have created your database.
Run one of the following
Procedure
- Optional: For a default Cloudscape UDDI node:
For a default Cloudscape network deployment configuration, read the section Installing into a Network Deployment Cell first.
Deploy the UDDI Registry by running the wsadmin script uddiDeploy.jacl, as shown, from the install_root/bin directory.
The syntax of the command is as follows (this is a Windows platform example; for Unix or Linux platforms, add the .sh suffix to the wsadmin command)
wherewsadmin [-conntype none] -wsadmin_classpath install_root/cloudscape/lib -f uddiDeploy.jacl node servername default
- '-conntype none' is optional, and is only needed if the application server is not running.
- install_root is the directory name of the WebSphere Application Server install location.
- node is the name of the WebSphere node on which the target server runs. Note that the node name is case sensitive.
- servername is the name of the target server on which you wish to deploy the UDDI Registry, such as server1. Note that the server name entered is case sensitive.
- 'default' causes the command to create a UDDI node, with default policies, within a Cloudscape database and datasource. This is a special case only for Cloudscape and creates everything required to run a UDDI node, in a standalone application server. Note that this option cannot be used in a network deployment configuration.
For example, to create a UDDI node called 'MyNode' on server 'server1' on a Windows system, you might enter the following (this assumes server1 is started)
wsadmin -wsadmin_classpath C:\Progra~1\IBM\WebSphere\AppServer\cloudscape\lib -f uddiDeploy.jacl MyNode server1 defaultIf the server is not started the command is
wsadmin -conntype none -wsadmin_classpath C:\Progra~1\IBM\WebSphere\AppServer\cloudscape\lib -f uddiDeploy.jacl MyNode server1 default(Note that these should be entered as one command on a single line)
You should now start the UDDI application, or start the application server if it is not already running. This will activate the UDDI node.
Note: Restarting the UDDI application, or the application server, will always result in the reactivation of the UDDI node, even if the node was previously deactivated.
- Optional: For a default DB2, default Cloudscape or default Oracle UDDI node:
DB2, Cloudscape or Oracle may be used for a single application server installation or a Network Deployment installation, including a cluster configuration. For the cluster configuration use network Cloudscape, as embedded Cloudscape is not supported for this scenario.
- Create a database schema to hold the UDDI registry by executing one of the following, ensuring that you perform the final step to set the default node indicator in the database:
- Create a J2C Authentication Data Entry (not required for embedded Cloudscape, but required for network Cloudscape):
- Expand Security, Global Security and JAAS Configuration (on the right), then click J2C Authentication Data.
- Click New to create a new J2C authentication data entry
- Fill in the details as follows:
- Alias
- a suitable (short) name, such as "UDDIAlias"
- Userid
- the database userid (such as db2admin for DB2 or SYSTEM for Oracle), which is used to read and write to the UDDI registry database. For network Cloudscape the userid can be any value.
- Password
- the password associated with the userid specified above. For network Cloudscape the password can be any value.
- Description
- a suitable description to describe the chosen userid.
Click Apply and then Save the changes to the master configuration.
- Create a JDBC Provider (if a suitable one does not already exist), using the following table to determine the provider type and implementation type for your chosen database:
For details on how to create a JDBC provider, see Creating and configuring a JDBC provider using the administrative console.
Database Provider type Implementation type DB2 DB2 Legacy CLI-based Type 2 JDBC Driver Connection Pool datasource Oracle Oracle JDBC Driver Connection Pool datasource Embedded Cloudscape Cloudscape JDBC Driver Connection Pool datasource Network Cloudscape Cloudscape Network Server Using Universal JDBC Driver Connection Pool datasource - Create a datasource for the UDDI Registry by following these steps:
- Expand Resources and JDBC Providers.
- Select the desired 'scope' of the JDBC provider created earlier. For example, select
Server: yourservernameto show the JDBC providers at the server level.
- Select the JDBC provider created earlier.
- Under Additional Properties, select Data Sources (not the Data Sources V4 option).
- Click New to create a new datasource.
- Fill in the details for the datasource as follows:
- Name
- a suitable name, such as UDDI Datasource
- JNDI name
- set to datasources/uddids - this value is obligatory.
Note: You must not have any other datasources using this JNDI name. If you have another datasource using this JNDI name, then either remove it or change its JNDI name. For example, if you have previously created a default UDDI node using Cloudscape, you should use the uddiRemove.jacl script with the default option to remove the datasource and the UDDI application instance, before continuing.
- Use this Data Source in container-managed persistence (CMP)
- ensure the check box is cleared.
- Description
- a suitable description
- Category
- set to uddi
- Data store helper class name
- filled in for you as:
Database Data store helper class name DB2 com.ibm.websphere.rsadapter.DB2DataStoreHelper Oracle 9i com.ibm.websphere.rsadapter.OracleDataStoreHelper Oracle 10g com.ibm.websphere.rsadapter.Oracle10gDataStoreHelper Embedded Cloudscape com.ibm.websphere.rsadapter.CloudscapeDataStoreHelper Network Cloudscape com.ibm.websphere.rsadapter.CloudscapeNetworkServerDataStoreHelper - Component-managed authentication alias
- for DB2, Oracle or network Cloudscape, select the alias that you created in step 2 from the pulldown. It will have the node name appended in front of it, for example MyNode/UDDIAlias.
- for embedded Cloudscape leave this set to (none).
- Container-managed authentication alias
- Set to (none)
- Mapping-configuration alias
- Set to DefaultPrincipalMapping
- Relational Database Management System data source properties
- for DB2:
- Database name
- for example
UDDI30- for Oracle - URL - for example
jdbc:oracle:oci8:@<Oracle database name>- for Cloudscape (embedded or network) - Database name - for example
For network Cloudscape, also make sure that the Server name and Port number match the network server.install_root/databases/com.ibm.uddi/UDDI30
Leave all other fields unchanged.
Click Apply and Save the changes to the master configuration.
- Test the connection to your UDDI database by selecting the check box next to the datasource and clicking Test connection. You will see a message similar to "Test Connection for datasource UDDI Datasource on server server1 at node MyNode was successful". If you do not see this message investigate the problem with the help of the error message.
- Deploy the UDDI Registry by running the wsadmin script uddiDeploy.jacl, as shown, from the install_root/bin directory.
The syntax of the command is as follows (this is a Windows platform example; for Unix or Linux platforms, add the .sh suffix to the wsadmin command)
wsadmin [-conntype none] -f uddiDeploy.jacl node servernamewsadmin [-conntype none] -f uddiDeploy.jacl {node servername | cluster_name}
You are recommended to deploy the UDDI application using the uddiDeploy.jacl script, but note that one can also use the administrative console to deploy the application in the normal way. If you use the administrative console you must ensure that the Classloader Mode for the application is set to PARENT_LAST, and that the WAR class loader Policy is set to Application. The uddiDeploy.jacl script in a command prompt will do this for you.
For example, to deploy UDDI on node 'MyNode' and server 'server1' on a Windows system (assuming that server1 is already started)
wsadmin -f uddiDeploy.jacl MyNode server1
To deploy UDDI into cluster 'MyCluster' on a Windows system,
wsadmin -f uddiDeploy.jacl MyCluster
Note: Restarting the UDDI application, or the application server, will always result in the reactivation of the UDDI node, even if the node was previously deactivated.
As you have chosen to use a default UDDI node, it will be initialized when the UDDI application is started for the first time.