Database Installation  Locate

The database may be set up during installation or by using the Setup tool after installation. Both of these scenarios use the same set of GUI panels shown in this section.

To run the Setup tool, execute the following script from the bin subdirectory of your installation:

Windows: setup.bat
UNIX: ./setup.sh

See command-line parameters in Setup.

Figure 16. Setup Select Database

Setup Select Database

Select your database. For more information on the Setup tool, please see Reconfiguring After Installation.

Database Creation Method  Locate

The registry requires a database. During installation you can create a new database, create schema in an existing empty database or connect to an existing database with created schema. Using the Setup tool, you can also drop a database or database schema. Select your database operation on the following panel:

Figure 17. Database Creation Method

Database Creation Method

Select a method from those shown in Figure 17.

Create database

Create new database/users/tablespaces (depending on the type of database server) and database schema. This is the easiest way to attach the required database to Oracle Service Registry. Note that you must have the credentials of the database administrator.

Create schema

Create a new schema in existing database. Select this method if you have access to an existing empty database with the ability to create tables and indexes. This option is suitable when you does not know the administrator's credentials. We assume the administrator has already created a new database/users/tablespaces for this option.

Drop database

Drops the whole database/users/tablespaces. Note that this option depends on the type of database server.

Drop schema

Drops all tables in the database but leave the empty database.

Configure database

Configure registry database. Use this method if the registry database already exists, for example, from a previous Oracle Service Registry installation of the same release number, and fill in only the connection parameters.

Select Database Type  Locate

Figure 18 shows the supported database engines that can be prepared for Oracle Service Registry. The panel may differ if another method was selected in the previous step.

Figure 18. Select Database Type

Select Database Type

Follow these links for selected database.

Oracle Database Settings  Locate

The Create database option on the installer/Setup tool does not mean to create a new physical database. The installation process creates a new tablespace, database user associated with that tablespace and a new database schema. Then the database schema is populated with default data. If you want to create more UDDI databases (such as databases for publication and discovery registries), you must create them using different database users.

Oracle database creation requires the following properties. To connect or create a schema requires a subset of these properties. Please note that properties marked with an asterisk (*) must not collide with existing objects in the database.

Database Server Address

Usually the host name or IP address of the computer where the database server is accessible.

Database Server Port

Port on which the database listens for a connection

Existing Database Name

Name of a database that already exists into which the Oracle Service Registry tablespace, user and schema will be created.

Database Administrator Name

User name of the administrator of the database; required to create a new user and a new tablespace in the existing database

Database Administrator Password

Password for the administrator account specified in the previous text box.

Database Tablespace Name *

Name of the tablespace to be created in the existing database and which will store UDDI data structures.

Database User *

A new user account which will be created to connect to the database.

Database User Password

Password for the user account specified in the previous text box.

Confirm password

Again, if it is not the same as in the previous text box, you cannot continue.

Tablespace Datafile

This field contains the name of the file that will store the tablespace on database server. By default, the file will be created in a directory that is configured on the database server, but you can specify a full path if needed. If you use an Automatic Storage Management (ASM) extension, you can specify a disk group using the plus sign in this field. Example: “+DATA”. If you use Oracle RAC, you need to specify a disk group so that all cluster nodes can properly access storage.

Continue with JDBC Driver.

Oracle RAC Database Settings  Locate

Systinet Registry supports Oracle RAC database except for fast connection failover. The normal failover works. To setup this database, you must provide more information than just the fields above. Oracle RAC database uses a special connection string. In the JDBC Drivers page, select Use custom connection string and fill-in the connection string containing RAC parameters.

An example connection string looks like this: jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=node1.example.com) (PORT=1521))(ADDRESS=(PROTOCOL=TCP) (HOST=node2.example.com) (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=myservice)) (FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5)))

MSSQL  Locate

The installation process creates a new database on the database server under the given user name. The database schema is created and UDDI data are loaded. This user should have the Database Creators server role.

[Important]Important

Make sure your database server has case-sensitive collation, otherwise all comparisons will be case insensitive, even if the caseSensitiveMatch findQualifier is set. Alternatively, you can create a database with case-sensitive collation manually and use the create schema option.

[Important]Important

If you selected the option Create database in the installation/Setup panel shown in Figure 17, you need a database user account with the Database creators server role. To create such account, you can use the SQL Server Enterprise Manager:

  1. Select the Console Root > Microsoft SQL Servers > SQL Server Group > server name > Security > Logins.

  2. Right-click on Logins and select the New Login from the context menu.

  3. Enter the account name, click on the SQL Server Authentication option and fill in the password.

  4. Select Server Roles tab, mark the Database Creators, click OK, and retype the password.

MSSQL database creation requires the following properties. To connect or create schema requires a subset of these properties. Please note that properties marked with an asterisk (*) must not collide with existing objects in the database.

Database Server Address

Usually the host name or IP address where the database server is accessible.

Database Server Port

Port on which the database listens for a connection.

Database name *

Name of the database that will hold UDDI data structures.

Database user

User name of a user who is able to create a new database.

Database User Password *

Password for the user specified above.

Continue with JDBC Driver.

The Create database option from the installer/Setup tool does not create a new database physically. The installation process creates a new tablespace in an existing database with the given (existing) bufferpool and associates the tablespace with the given file. Permission to use the tablespace is given to the specified user. Then, a database schema is created and UDDI data are loaded.

[Important]Important

Because relational tables are created in the implicit schema, if you want to create more UDDI databases (such as databases for publication and discovery registries for the approval process), you must create UDDI databases with different database users.

[Important]Important

The Create database option requires a bufferpool with 8k page size and an database user account, that can use a temporary tablespace with such bufferpool.

  • To create such a bufferpool using the DB2 Control Center:

    1. Select Control Center > All Databases > database > Buffer Pools from the left side tree.

    2. Right-click on Buffer Pools, and select the Create... option from the context menu.

    3. Fill in a Buffer pool name, such as "uddipool" and select 8k page size.

  • To create such a temporary tablespace using the DB2 Control Center:

    1. Select Control Center > All Databases > database > Table Spaces from the left side tree.

    2. Right-click on Table Spaces and select the Create... option from the context menu.

    3. Fill a tablespace name such as "udditempspace" and click Next.

    4. Select the user temporary option, and click Next.

    5. Select the uddipool buffer pool and click Next twice.

    6. Select the location where data are physically stored such as C:\Db2\data\udditempspace, click Next 3 times and then click Finish.

  • To create the database user that can use the temporary tablespace using DB2 Control Center:

    1. Select Control Center > All Databases > database > User and Group Objects > DBUsers from the left side tree.

    2. Right-click on DBUsers and select the Add... option from the context menu.

    3. Select the username, check Connect to database, Create tables and Create schemas implicitly.

    4. Click on the Table Space tab, the Add Tablespace... button, select the udditempspace and click OK.

    5. Select the udditempspace and select the Yes option from the Privileges drop down list .

    6. Click OK to save the account.

DB2 database creation requires the following properties. To connect or create schema requires a subset of these properties. Please note that properties marked with an asterisk (*) must not collide with existing objects in the database.

Database Server Address

Usually the host name or IP address where the database server is accessible.

Database Server Port

Port on which the database listens for connection.

Existing Database Name

Name of a database that already exists. The UDDI tablespace will be created in this database.

Database Administrator Name

User name of the administrator of the database; this is required to create a new tablespace on the existing database.

Database Administrator Password

Password for the user specified in the previous text box.

Database Tablespace Name *

Name of tablespace to be created in the existing database and which will store UDDI data structures

Tablespace Datafile *

Full path of the host machine where the tablespace files will be stored

[Important]Important

You must have read and write permissions to this directory.

Buffer pool with 8k page size

Buffer pool for database; it must have pages with a size of 8k.

Existing Database User

User name of a user having the following authorities: connect database, create table and create schema implicitly.

[Important]Important

The user also must have access to a temporary tablespace with the associated 8k-length bufferpool to use for temporary tables.

Database User Password

Password for the user specified in the previous text box.

Specify the Oracle Service Registry Administrator account which will be created in the database. (If configure database is selected, this administrator account must correspond to one existing in the database.)

[Important]Important

Increase transaction log size (parameter logfilsiz) from default value 250 to 1000. You can use the Control Center tool to make this change.

Continue with JDBC Driver.

Oracle Data Source Creation  Locate

The Installation Wizard can create a data source for you from the information provided in the Database Creation panels. If you want Oracle Service Registry to access the database through the data source created within the Oracle WebLogic server, check the Use data source in the application server checkbox, and enter a valid JNDI name for the datasource.

If you want the Installation Wizard to create a data source definition within the Oracle WebLogic server, check the Create JDBC data source resource in WebLogic checkbox. Of course, you can create the data source manually via the Administrator Console of WebLogic.

[Note]Note

If the data source is not created on the application server while Oracle Service Registry is set to access the database through the data source, Oracle Service Registry will not start successfully.

Figure 19. Data Source Creation

Data Source Creation
[Important]Important

Third-Party JDBC Drivers with WebLogic Server - Oracle Thin driver 10g/11g versions are installed with Oracle WebLogic Server, so you do not need to add these drivers to your CLASSPATH. If you plan to use a third-party JDBC driver that is not installed with WebLogic Server such as MSSQL or DB2, you must install the drivers, which includes updating your CLASSPATH with the path to the driver files. See more at Using Third-Party JDBC Drivers with WebLogic Server

  • Domain Configuration - Before you run the Weblogic Server Configuration tools, you must do the following:

    1. Setup Third-Party JDBC Drivers as described above.

    2. If you use DB2, you must uncomment the Driver element with the className com.ibm.db2.jcc.DB2Driver in WL_SERVER_HOME\server\lib\jdbcdrivers.xml.

  • Online Server Deployment - You must setup Third-Party JDBC Drivers as described above before running the Oracle Service Registry installer because the data source will be created automatically by the installer.

  • Manual Deployment - You must setup Third-Party JDBC Drivers as described above before creating the JDBC data source via the Administrator Console of WebLogic.

JDBC Driver  Locate

Select the JDBC Driver as shown in Figure 8.It is not necessary to configure this path for the Oracle database as the JDBC drivers for these databases are installed in the distribution. It is also not necessary if you have already configured this path previously for the selected database. The JDBC drivers are usually supplied by database vendors.

Figure 20. Optional JDBC Driver

Optional JDBC Driver

Account Backend  Locate

If you created a database or schema, you can configure an authentication account provider.

Figure 21. Authentication Account Provider

Authentication Account Provider

Figure 9 allows you to select the authentication account provider.

Database

All accounts will be stored in the registry database. This is the recommended backend.

LDAP

Registry accounts integrated with LDAP server.

External

Registry accounts integrated with other external storage. To integrate Oracle Service Registry, with an external backend, you must implement the interface com.systinet.uddi.account.ExternalBackendApi and add it to the registry installation.

For more information about LDAP, Oracle XML and External account backends, please see External Accounts Integration

Multilingual Data  Locate

This section describes how Oracle Service Registry supports the storage of UDDI structures in the multilingual data format.

There are two types of text fields in UDDI structures: Unicode fields and ASCII fields.

Unicode fields

are intended for human readable information, the field length is measured in number of characters as follows:

Field NameMax Length (in chars)
name of businessEntity and businessService255
keyName 255
keyValue 255
useType 255
description 255
addressLine 80
personName 255

ASCII fields

are intended for machine processing, such as URIs. The length is measured in bytes. ASCII fields can typically hold multilingual data. Its length is limited by the number of bytes of its serialized form in UTF-8 encoding. For example, the name of a tModel can carry 85 Japanese characters, because Japanese characters are encoded into three bytes each under UTF-8 encoding (255/3=85).

Field NameMax Length (in bytes)
name of tModel255
overviewURL4096
discoveryURL4096
sortCode10
email255
phone50
accessPoint4096
instanceParms8192

Oracle  Locate

Oracle database supports Unicode characters in both types (Unicode and ASCII) of fields.

MSSQL   Locate

MSSQL supports Unicode characters only in Unicode fields. Unicode characters are stored successfully to ASCII fields only if they match with the server collation, otherwise are converted to question marks (?). For example, Japanese characters are stored correctly if the Japanese_Unicode_Cl_AS collation is default to the server. If the English collation is set up, Japanese characters are converted to ? characters.

The DB2 database supports Unicode characters in both types of fields. Maximal length of a field is measured in bytes in the default database schema despite it being a Unicode field. You can use any Unicode characters, but allowed string length is not guarantied. For example, the name of a tModel can carry 85 Japanese characters, because Japanese characters are encoded into three bytes each under UTF-8 encoding (255/3=85).

Note that longer strings produce a database exception. The restriction is made because the cumulative length of indexed columns is limited to 800 bytes. The default schema prefers performance to multiple language support.

If you want to use Unicode fields with longer byte-length you must enlarge appropriate database columns. However indexes with cumulative length longer than 800 bytes must be removed as these can harm performance. Follow these steps:

  1. Install Oracle Service Registry with the no database option.

  2. Modify the database schema file REGISTRY_HOME/etc/db/db2/schema_core.sql

    1. Increase column lengths for names and keyValues.

    2. Remove appropriate indexes.

  3. Use the Setup tool to create the database.

JDBC Drivers  Locate

Oracle Service Registry requires by default the following classes for connection to the database. Please ensure that your downloaded JDBC JAR(s) includes them:

DatabaseDriver class
DB2 com.ibm.db2.jcc.DB2Driver
MSSQL com.microsoft.sqlserver.jdbc.SQLServerDriver
Oracle oracle.jdbc.OracleDriver

Alternative JDBC Drivers  Locate

This section describes the use JDBC drivers other than the default drivers mentioned above. Suppose you downloaded FooJDBC.jar, where the driver class is foo.jdbc.Driver and the connection string is jdbc:foo:....

If you want to use an alternative JDBC driver while you already installed the registry and set up database with the default JDBC driver, edit the file REGISTRY_HOME/app/uddi/conf/database.xml as follows:

  1. Add

    <universalDriver name="fooDriver">
        <JDBC_driver>foo.jdbc.Driver</JDBC_driver>
        <URI_pattern>jdbc:foo:...</URI_pattern>
    </universalDriver>

    at the end of <databaseMappings/> element

    You can use following parameters in the <URI_pattern> element

    • ${hostname} - hostname or IP address of the database server

    • ${port} - Port where the database server listens for requests

    • ${dbName} - Name of the database

    • ${userName} - Name of database account

    • ${userPassword} - Password of the account

    Replace the parameters with corresponding values using the Setup tool or the Registry Control.

  2. Replace the className attribute of the interfaceMapping element with fooDriver value for your database. Determine the right databaseMapping element by value of type attribute.)

If you want to create a database with the alternative JDBC driver (without needing to use the default driver):

  1. Install the Oracle Service Registry without the database.

  2. Modify REGISTRY_HOME/app/uddi/conf/database.xml as described above.

  3. Replace the driver class and connection string in the installation scripts in REGISTRY_HOME/etc/db/ <database_type>/installXXX.xml

  4. Run the Setup tool to create database.