Database Options with JaxView


About JaxView Database Options

JaxView records copies of Web service request and response messages as a means or monitoring and reporting on service performance. By default, JaxView stores this data in the file system of the server where JaxView is running. This default configuration enables JaxView to be installed, configured, and begin monitoring the SOA environment quickly. For management of distributed environments over longer periods of time and to meet other operational or organizational requirements, JaxView can be configured to use external databases both to store data that it collects and its own configuration settings. This provides important enterprise-ready capabilities for deploying JaxView in distributed service environments.

JaxView has been tested with the following database systems:

When JaxView is configured to use a database, Web service message data being monitored by JaxView is recorded to the database. The database becomes JaxView's data repository instead of the local file system. JaxView is designed to share database for configuration and data reporting with other JaxView server installations. Any other JaxView connected to the same database has access to the same data. This includes both JaxView configuration properties and Web service message data. JaxView can use most databases that provide JDBC connection support. The following figure illustrates the use of an external database to share configuration data between a cluster of JaxView servers deployed as proxy servers behind a load balancer.




Reasons for Using a Database with JaxView

The following are some of the scenarios for which integrating an external database into your JaxView deployment will be essential or useful.



Configuring JaxView to Use an External Database

There are several steps to configuring JaxView to use an external database depending on the deployment objective you are trying to achieve. This section describes the step you use to integrate an initial JaxView installation with a database and then how to add another JaxView installation to the integration.

Prerequisites

The following are prerequisites for things you need to know or do in order to configure JaxView to use an external database:


If you plan to use the option of having JaxView configurations and JaxView monitoring data stored in separate databases, you will need to provide database information for both databases as outlined above.

The following sections describe the steps you use to configure JaxView to use the database.

Modifying JaxView Properties File

Currently, you must edit the main JaxView properties file to include the database command and query syntax for the database product you will be using. Database system vendors often use product-specific commands and syntax to interact with their database server. The database commands and query strings JaxView uses to manage external databases are stored in a configuration properties file. The following database command and SQL query files are available:

DBMS Product

JaxView Properties Filename

MySQL  main.properties.mysqlprops 
Oracle  main.properties.oracleprops 
MS SQL  main.properties.mssqlprops 
IBM DB2  main.properties.db2props 

The following describes the steps to modify JaxView main properties for use of a specific database product.

To modify JaxView properties for a specific database product:

  1. locate the properties file for the database product you will be using in the <install_path>\JaxView\Config directory
  2. open the product-specific properties file in a text editor
  3. locate the main JaxView properties file in the <install_path>\JaxView\Config directory
  4. open the main properties file in a text editor
  5. copy and paste the contents of the product-specific properties file into the main properties file
  6. save the changes
  7. restart JaxView

Configuring the Initial JaxView Server and Database

In this procedure, JaxView will create the database tables and populate them with configuration data. This assumes that JaxView has been installed in its intended location and that the applicable Web service definitions, monitors, transactions, rules, alerts and other configurations. Use the following steps to configure an initial JaxView server to use a the external database. See the section Working with Database Configuration Settings for more information about the properties in the Database Configuration form.

To configure the initial JaxView server and database:

  1. After installing and configuring the JaxView server for Web service performance monitoring and management, log in to the JaxView application.

  2. Select the Admin tab from the Main View navigation menu. The Admin page is displayed.

  3. Click on the Database node in the Admin object tree on the left side of the Admin page. The Database Configuration form is displayed in the right side panel.

  4. At the top of the form, check the Enable Database Configuration check box.

  5. If you will be using a separate JaxView install to perform active monitoring and reporting tasks to reduce the processing load on the current JaxView install, check the Disable Active Monitors & Scheduled Reports check box. Select this option if the current JaxView is being used as a Web service proxy or gateway and there is a need to maximize throughput performance. Otherwise, leave this option unchecked.

  6. Check the Copy Configuration check box to have this JaxView server send its service, monitor, rule, alert, policy, and other configuration data to the database.

  7. Check the Restart Application Threads check box.

  8. In the Configuration DB sub panel, check the Create Table in DB check box to have this JaxView create the tables to store the configuration data.

  9. In the Configuration DB sub panel, enter the database connection properties as indicated including the Connection URL, database user name and password. See the section Working with Database Configuration Settings for more information.

  10. If you will be using a separate database for JaxView data recording, enter the applicable database information in the Data Storage DB sub panel in the lower part of the page.

  11. Once you have entered all the information, click the Save button at the bottom of the Database Configuration page. JaxView will attempt to connect to the database(s), create tables, and copy configuration data.

  12. If the database initialization is successful, logout of JaxView and restart the JaxView service.

  13. Log into JaxView to verify that it is operating as expected.

The following sections describe the options for integrating other JaxView servers with the same database created in the procedure above.

Option A: Adding a Load-Balanced or Clustered JaxView

Use the following steps to configure one of more JaxView servers to operate “in parallel” to the initial JaxView server. The additional JaxView server(s) will use the same database as the initial JaxView server configured using the procedure in the previous section.

To add another JaxView server to a database option deployment:

  1. Install the new JaxView server in the applicable location relative to any other JaxView servers previously installed. DO NOT configure any service definitions, monitors, transactions, rules, alerts or other configuration settings on this new JaxView server.

  2. Select the Admin tab from the Main View navigation menu. The Admin page is displayed.

  3. Click on the Database node in the Admin object tree on the left side of the Admin page. The Database Configuration form is displayed in the right side panel.

  4. At the top of the form, check the Enable Database Configuration check box.

  5. If you will be using a separate JaxView install to perform active monitoring and reporting tasks to reduce the processing load on the current JaxView install, check the Disable Active Monitors & Scheduled Reports check box. Select this option if the current JaxView is being used as a Web service proxy or gateway and there is a need to maximize throughput performance. Otherwise, leave this option unchecked.

  6. DO NOT check the Copy Configuration check box; be sure this option is NOT selected.

  7. In the Configuration DB sub panel, DO NOT check the Create Table in DB check box; be sure this option is NOT selected.

  8. In the Configuration DB sub panel, enter the database connection properties as indicated for the same database as configured for the previous JaxView installation(s). You can log into the other JaxView installation(s) and copy the information from the Database Configuration page.

  9. If you will be using a separate database for JaxView data recording, enter the applicable database information in the Data Storage DB sub panel for the same database as configured for the previous JaxView installation(s).

  10. Once you have entered all the information, click the Save button at the bottom of the Database Configuration page. JaxView will attempt to connect to the database(s).

  11. If the database connection is successful, logout of JaxView and restart the JaxView service.

  12. Log into JaxView to verify that the configurations previously stored to the database are now in force in this new JaxView installation..

Repeat the steps of this procedure to add additional JaxView servers to this database deployment.

Option B: Adding a JaxView Data Processing Server

Use the steps in this section to add a new JaxView installation to be used as a metrics data processing server. This optional deployment is useful to maximize throughput performance of an existing JaxView cluster being used as a load-balanced proxy or gateway to Web services. The JaxView data processing server is the same JaxView package used for all other installations but with a simple configuration change. The JaxView to be used as the data processing server does not need to have direct access to the message bus for the Web services. It uses metrics data stored in the data storage database. The following figure illustrates the use of a data processing server as well as the concept of a shared database.




Use the following steps to configure a JaxView as a data processing server.

To add a JaxView data processing server to a database option deployment:

  1. Install the new JaxView server in a location accessible to the data storage database being used by any other JaxView servers previously installed. DO NOT configure any service definitions, monitors, transactions, rules, alerts or other configuration settings on this new JaxView server.

  2. Select the Admin tab from the Main View navigation menu. The Admin page is displayed.

  3. Click on the Database node in the Admin object tree on the left side of the Admin page. The Database Configuration form is displayed in the right side panel.

  4. At the top of the form, check the Enable Database Configuration check box.

  5. DO NOT check the Disable Active Monitors & Scheduled Reports check box; be sure this option is NOT selected.

  6. DO NOT check the Copy Configuration check box; be sure this option is NOT selected.

  7. In the Configuration DB sub panel, DO NOT check the Create Table in DB check box; be sure this option is NOT selected.

  8. In the Configuration DB sub panel, enter the database connection properties as indicated for the same database as configured for the other JaxView installation(s). You can log into the other JaxView installation(s) and copy the information from the Database Configuration page.

  9. If you will be using a separate database for JaxView data recording, enter the applicable database information in the Data Storage DB sub panel for the same database as configured for the other JaxView installation(s).

  10. Once you have entered all the information, click the Save button at the bottom of the Database Configuration page. JaxView will attempt to connect to the database(s).

  11. If the database connection is successful, logout of JaxView and restart the JaxView service.

  1. Log into JaxView to verify that the configurations stored to the database by the other JaxView servers are now in force in this new JaxView installation.

After successfully configuring the dedicated JaxView data processing server install, use the following steps to reconfigure JaxView servers acting as proxies or gateways to disable their data processing tasks.

To disable data processing task on a JaxView server:

  1. Log into each of the JaxView installation that is not to be performing the data processing and reporting functions.

  2. Select the Admin tab from the Main View navigation menu. The Admin page is displayed.

  3. Click on the Database node in the Admin object tree on the left side of the Admin page. The Database Configuration form is displayed in the right side panel.

  4. If you have configured a separate JaxView install to perform active monitoring and report processing tasks, check the Disable Active Monitors & Scheduled Reports check box.

  5. Click the Save button at the bottom of the Database Configuration page.



Separating the Configuration Database from the Data Storage Database

There are two database configuration sections in the Database Configuration page. The first one is the Configuration DB. Completing the fields in this section and saving the settings will enable JaxView to store configuration settings and message data on a single database server. There may be several reasons that you will want to have JaxView store monitoring data on a separate database server. To enable this separation of data, you fill out both the Configuration DB section and the Data Storage DB section in the Database Configuration page, using the applicable connection information for the two database servers. The following figure illustrates the use of both a Configuration database and a Data Storage database in a case where multiple JaxView servers are deployed as proxy servers behind a load balancer.




Working with Database Configuration Settings

JaxView database connection options and properties are set using the Database node in the Admin object tree in JaxView. Selecting the Database node displays the Database Configuration form in the right side panel. The form contains three sections. The top section includes a group of check box items that are used to control JaxView behavior relative to use of a database.

JaxView uses Hibernate (www.hibernate.org) . Hibernate supports most databases. To see sample configurations for a specific database you can look at the file: JaxView\tomcat\webapps\Hubble\WEB-INF\classes\hibernate.cfg.xml. If info on the database that you are using is not in this file, please visit the Hibernate Web site at http://www.hibernate.org/80.html for more information.

The following described the configuration settings in the database form

Enable Database Configuration:
Check this box to enable JaxView to use a central database for configuration and data persistence
Copy Configuration:
Check this box for JaxView to copy the current configuration from the local file system to the database. Use this option for the initial set up of the database.
WARNING: Using this option after a database has been configured by another JaxView will overwrite any existing configuration data in the database.
Restart Application Threads:
Check this box to restart the JaxView application. This is important if this is the first time you configuring this JaxView to use a database to make sure all settings take effect.

Configuration DB Section

If you want to use a single database to store JaxView configuration properties and JaxView monitoring metrics,

Create Table in DB:
Check this box to create the tables in the database. If tables have already been created during the installation of another JaxView server then do not check this box
Dialect:
This field is a Hibernate specific field that allows Hibernate to map objects to database tables. Please look at hibernate.cfg.xml for you database. The default is MySQL database
DB JDBC Driver:
Enter the JDBC java library for connecting to the Database. The jar file must be in the in the class path of JaxView which is the directory JaxView\tomcat\webapps\Hubble\WEB-INF\classes\lib.
Database Connection URL:
Enter the database connection URL. This should include a machine name and port of the database. It also needs to include the name of the database
DB Username:
Enter the user name needed to access the database.
DB Password:
Password for the user account for accessing the database.

Data Storage DB Section

Create Table in DB:
Check this box to create the tables in the database. If tables have already been created during the installation of another JaxView server then do not check this box
Dialect:
This field is a Hibernate specific field that allows Hibernate to map objects to data storage database tables. Please look at hibernate.cfg.xml for you database. The default is MySQL database
DB JDBC Driver:
Enter the JDBC java library for connecting to the data storage database. The jar file must be in the in the class path of JaxView which is the directory JaxView\tomcat\webapps\Hubble\WEB-INF\classes\lib.
Database Connection URL:
Enter the database connection URL. This should include a machine name and port of the database. It also needs to include the name of the data storage database
DB Username:
Enter the user name needed to access the data storage database.
DB Password:
Password for the user account for accessing the data storage database.