Oracle Utilities Network Management System

Installation Guide Release 1.12.0.2.0,

E61789-01

April 2015

Oracle Utilities Network Management System Installation Guide , Release 1.12.0.2.0

E61789-01

Copyright © 1991, 2015 Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Preface

The information in this document is intended to guide you through a successful Oracle Utilities Network Management System installation or upgrade.

Audience

This document is intended for administrators and engineers responsible for installing and upgrading Oracle Utilities Network Management System.

Related Documents

For more information, see the following documents in the Oracle Utilities Network Management System Release 1.12.0 documentation set:

•

Oracle Utilities Network Management System Quick Install Guide

•

Oracle Utilities Network Management System User’s Guide

•

Oracle Utilities Network Management System Configuration Guide

•

Oracle Utilities Network Management System Adapters Guide

•

Oracle Utilities Network Management System Release Notes

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

Introduction

The information in the Oracle Utilities Network Management System Installation Guide is intended to take you through a successful Oracle Utilities Network Management System installation or upgrade.

•

Chapter 2 - Pre-Installation describes the prerequisite steps to ensure that your environment is ready to install the Oracle Utilities Network Management System. It is important that you understand and complete these prerequisite steps before you begin the Oracle Utilities Network Management System installation.

•

Chapter 3 - System Installation provides step-by-step installation and setup instructions for the Oracle Utilities Network Management System.

•

Appendix A - Updating Configuration and Performing Migrations for a New Release provides information for comparing and merging your configuration files with a new Oracle Utilities Network Management System release.

•

Appendix B - Third Party Software provides licensing and copyright information associated with the open source third party products installed with Oracle Utilities Network Management System.

Further information on configuring your system can be found in the Oracle Utilities Network Management System Configuration Guide. Note, however, that you must complete the tasks described in this guide, in the required order, before proceeding to any post-installation tasks.

Product Release Naming Conventions

Oracle Utilities Network Management System product releases occur as General Availability (GA) Releases, Service Packs, and Patch Bundles.

•

GA Releases (e.g., 1.10.0, 1.11.0, 1.12.0, …) are complete (new) binary releases with full documentation sets and Quality Assurance (QA) processes.

•

Service Packs (e.g., 1.12.0.1, 1.12.0.2, 1.12.0.3, …) are complete (new) binary releases containing a limited set of new features and all bug fixes since the last GA or Service Pack release. Service Packs include targeted QA testing, which is based on current customer platforms and module usage.

•

Patch Bundles (e.g., 1.12.0.0.1, 1.12.0.0.2, 1.12.0.0.3, …) - These contain only bug fixes and changed files since the last GA release or service pack. This release will go through QA bug regression testing to verify the system will start and perform basic functionality. Patch bundles are cumulative and the latest patch bundle will always contain all patches for that service pack.

System Overview

The Oracle Utilities Network Management System can be broken down into individual components. Each component is installed and configured separately. Oracle Utilities Network Management System uses a client/server architecture. The server supports Oracle Utilities Network Management System daemon processes, while the clients display a graphical user interface to allow the user to interact with the system. Internal daemon service process to daemon service process communication is managed with a concurrency management and messaging system called Isis. Isis is the backbone of the communication architecture for an Oracle Utilities Network Management System. The network model, system configuration, and operational data is all stored persistently in an Oracle database.

The table below describes the Oracle Utilities Network Management System components.

Component

Description

Client User Environments

The Java-based end-user environments are configured using a combination of SQL files (RDBMS table based configuration), XML files, and Java properties files. The XML files are based on an NMS-specific XML schema, which provides the foundation for Java user interface customization.

Isis

Clients access services and tools through a central concurrency management and messaging system called Isis. Isis is a real-time implementation of message oriented middleware that helps provide access to the Oracle Utilities Network Management System daemon service processes as well as inter-daemon process communication.

Services

Services maintain and manage the real-time electrical network data model. Services also cache information from the database tables to optimize client information access.

Oracle WebLogic

Oracle WebLogic hosts Oracle Utilities Network Management System specific Enterprise Java Beans (EJBs). These EJBs help cache the network model and process updates/requests to/from Java clients as well as to/from external systems.

Web-Gateway

The Web-Gateway is a CORBA (Common Object Request Broker Architecture) interface between Network Management System daemon processes and WebLogic EJBs.

Oracle Database

The Oracle Database contains the complete network data model, configuration, and operational data history of an Oracle Utilities Network Management System.

Note: Services, applications, and the Oracle RDBMS tablespaces can be spread over multiple servers or run on a single server. The simplest configuration is for everything (Oracle RDBMS, Oracle Utilities Network Management System services and Oracle WebLogic Java Application Server to run on a single (generally SMP) server. Common variations would include the use of a cluster based hardware server to support high-availability (for Oracle RDBMS and Oracle Utilities Network Management System Services). This provides flexibility for system configuration, depending on your needs and hardware.

Pre-Installation

This chapter provides an overview of the installation requirements for Oracle Utilities Network Management System and provides additional information that you should read before you begin the installation process. This chapter includes the following topics:

•

Prerequisites for Installation of Oracle Utilities Network Management System

•

Operating System and Administrative User Setup

Prerequisites for Installation of Oracle Utilities Network Management System

This section includes the following topics:

•

Introduction

•

Requirements for Oracle Utilities Network Management System Database

•

Requirements for Spatial Landbase

•

Requirements for Java Application Server

•

Software Requirements for Unzipping Files

•

Security Considerations

•

Isis Directory and NTP Daemon

•

STLport Libraries for Solaris

•

Client Authentication

Introduction

In order to successfully install the Oracle Utilities Network Management System (and underlying environment), you must have a thorough understanding of the following:

•

Unix system administration

•

Oracle RDBMS installation and configuration

•

WebLogic installation and EJB deployment

In addition, you should have at least a cursory knowledge of the Oracle Utilities Network Management System architecture and applications functionality.

The Oracle Utilities Network Management System Quick Install Guide provides an overview of the Oracle Utilities Network Management System architecture and lists the supported hardware and software configurations. Verify that your system meets system requirements prior to attempting the Oracle Utilities Network Management System installation.

Requirements for Oracle Utilities Network Management System Database

The Oracle RDBMS must be installed and configured before beginning the Oracle Utilities Network Management System. It must be installed on a server that is accessible from the Oracle Utilities Network Management System services applications. Time zone settings for the Oracle RDBMS and Oracle Utilities Network Management System services application must be the same.

Refer to the "Database Configuration" chapter of the Oracle Utilities Network Management System Configuration Guide for more details regarding the installation and configuration of the Oracle RDBMS for use with the Oracle Utilities Network Management System applications.

Note: Oracle Locator, a standard component of all editions of Oracle RDBMS, is required for the Oracle Utilities Network Management System installation.

To verify that Oracle Locator has not been removed from your Oracle RDBMS, run the following SQL command:

select count(1) "Rows" from mdsys.cs_srs;

If this query returns zero or very few rows (1000+ are expected), consult your DBA to (re)install the Oracle Locator package.

Requirements for Spatial Landbase

The Oracle Utilities Network Management System recommends installation of the Oracle Map Builder to simplify the process of creating and managing map, theme, and symbology metadata in the spatial database used to render spatial landbase maps. Oracle Map Builder is part of the Oracle Fusion Middleware MapViewer family of products, which is available for download from the Oracle Technology Network website (www.oracle.com/technetwork/).

Requirements for Web Maps Landbase

The Oracle Utilities Network Management System supports the use of commercial web map servers for Viewer background landbases. It is up to each NMS customer to license with a web map provider for access to a web map service. NMS currently supports the following web map services:

•

Google Static Maps Basic or Trial - To configure, you will need to agree to a license agreement with Google and they will provide you with an API key. This option is not recommended for production.

•

Google Static Maps for Work/Business - To configure, you will need to agree to a license agreement with Google and they will provide you with a process to define Client IDs and Google generated Crypto Keys.

•

Bing Maps - To configure, you will need to agree to a license agreement with Bing/Microsoft and they will provide you with a key.

Requirements for Java Application Server

The Oracle Utilities Network Management System requires the installation of a WebLogic Application Server. This installation should be done before installing the Oracle Utilities Network Management System software. Refer to Oracle Fusion Middleware Installation Guide for Oracle WebLogic Server for instructions.

Software Requirements for Unzipping Files

The Oracle Utilities Network Management System and third party software files are compressed in the ZIP format. Most Linux/Unix-based platforms already have the binaries needed to unzip the distribution archives. An unzip utility is also included in the Oracle client under $ORACLE_HOME/bin.

Security Considerations

Please refer to the "Security Guide" chapter of the Oracle Utilities Network Management System Configuration Guide for security overview, recommendations, and guidelines when installing Oracle Utilities Network Management System software.

OpenSSL

Oracle Utilities Network Management System now uses OpenSSL to encrypt traffic between SwService (used in CVR and FLISR) and WebLogic server by default. As such, OpenSSL is now required to be installed with the operating system if you will be running SwService. The openssl binary as well as libssl and libcrypto are required.

To make them available, you will need to install the appropriate OS packages on your system:

•

Linux: openssl and openssl-devel RPM’s

•

AIX : openssl.base fileset

•

Solaris: library/security/openssl package

Isis Directory and NTP Daemon

Isis is the backbone of the Oracle Utilities Network Management System. It is the messaging bus through which all back-end NMS service components communicate.

On any computer using Isis it is important to have an accurate clock, which moves monotonically forward. Many approaches, such as rdate, can cause the clock to jump unpredictably, possibly backwards. This jumping is especially deleterious to Isis timing and timer queues, but can easily be avoided by using the Network Time Protocol (NTP) daemon, which is designed to gracefully synchronize the system clock with any reliable time source.

NTP is available for free on all operating systems and is simple to configure. Even if all of your services and applications run on a single computer, it is important to run NTP there. If you have several computers on the same LAN, you may want to consider running an NTP server (pointing to an external time source) on one of them and pointing all of the other NTP clients on the LAN to it.

Refer to the "Isis Configuration" chapter of the Oracle Utilities Network Management System Configuration Guide for more details regarding the configuration of the Isis message bus for use with the Oracle Utilities Network Management System applications.

STLport Libraries for Solaris

The C++ Standard Template Library that ships with Solaris does not comply with the ISO C++ standard (in order to maintain backward compatibility for older applications) and is not adequate for running Oracle Utilities Network Management System software. Therefore, for Solaris systems, before starting the Oracle Utilities Network Management System services, you will need to download and install a copy of STLport libraries.

Solaris Studio 12.3 contains the certified, ISO C++ compliant version of the Standard Template Library. It can be downloaded from:

http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.html

You will also need to configure the path to the Solaris Studio installation (by default, / opt/solarisstudio12.3) when you run config_nmsrc.pl during the Oracle Utilities Network Management System installation.

Client Authentication

Beginning with Oracle Utilities Network Management System 1.11.0.0, client authentication has changed in that passwords are no longer stored in the database. Authorization and roles are still stored in the database, but the authentication must come from an external source. No matter what the authentication source, each login name must be granted access to the system by using the Configuration Assistant. Active Directory and LDAP are supported authentication sources.

Operating System and Administrative User Setup

In order to install Oracle Utilities Network Management System software, you must have your system administrator configure a Linux/Unix environment and setup the environment for the Oracle Utilities Network Management System administrative user.

•

Administrative User Configuration

•

Korn Shell Configuration

•

Operating System Configuration

•

Core File Naming Configuration

Administrative User Configuration

The administrative user (for example, nmsadmin) owns and controls the services. The administrative user also owns and maintains the binaries, and all the configuration standards.

The Administrative Unix user:

•

Owns the Isis release directories.

•

Starts and stops Isis processes.

•

Performs installs.

•

Owns the executable directories.

•

Has read-write permissions to the production database.

•

Owns the service processes (DBService, MTService, etc.) and performs ALL sms_start.ces commands.

Creating an Administrative User

The administrative user, as the name implies, has central control over many critical aspects of the Oracle Utilities Network Management System. This user is the central controller of:

•

Isis: configuration and starting and stopping of the Isis processes. See the Oracle Utilities Network Management System Configuration Guide for information on configuring Isis.

•

Oracle Utilities Network Management System services: stopping and starting services and administering service logs.

•

Oracle Utilities Network Management System files: binaries, configuration files.

•

Database connection having read/write privileges.

•

Model-building data.

It should be noted that for data security, Oracle Utilities Network Management System tools that can be used to directly modify data are installed with permissions set so that only the administrative user is allowed to execute them.

The administrative user has access to critical components of the system. This user owns and maintains the services, the starting of the services, model building, binaries, the database, and the configuration standards. The administrative user maintains the Oracle Utilities Network Management System Unix-based configuration and executables in one location. The administrative user is configured with an Oracle Wallet and the environment variable $RDBMS_HOST, which points to the ORACLE production database. Thus, when the Oracle Utilities Network Management System daemon services are started, the administrative user has the necessary read/write access to the production schema.

Korn Shell Configuration

Oracle Utilities Network Management System uses the Korn Shell to set environment variables and provide the command line interface to the operating system. The Korn Shell, also referred to as ksh, standardizes command line execution and requests, such as running scripts, executing applications, and operating the services. The Korn Shell uses a file called .profile to configure itself. The administrative account needs to have:

•

Its default shell set to ksh.

•

Its .profile configured to source the Oracle Utilities Network Management System configuration file (.nmsrc).

For your convenience, templates of a generic .profile and .nmsrc file are included in the Oracle Utilities Network Management System software distribution, under $CES_HOME/templates. These files can be copied to $NMS_HOME/.profile and $NMS_HOME/.nmsrc and then modified to suit your installation.

.profile Configuration

The Korn Shell .profile is a hidden file that exists in the user’s home directory. When a user logs in, this file executes, setting environment variables and defining terminal configuration. The following is required for setting up .profile or the Oracle Utilities Network Management System administrative user.

Edit the .profile file to source the user environment configuration file (.nmsrc) by adding the following line to the end of the file (using any text editor).

. ~/.nmsrc

This runs .nmsrc in the current shell and initializes all of the environment variables within the .nmsrc file in the current working environment.

The .profile file must also execute correctly when called from another script, as well as when the user logs in at a terminal. Anything in .profile that is terminal-specific should be placed in an "if" clause to suppress execution if the .profile is not being run from a terminal.

# Set a variable to be true when .profile is

# being run from a terminal rather than a script.

#

if tty -s

then

TTY=true;

else

TTY=false;

fi

#

# Protect items that must only be run from a

# terminal and not from a script.

#

if $TTY

then

stty Compaq

tset -I -Q

PS1="`hostname`>"

fi

Executables/Run-Times

The Oracle Utilities Network Management System Unix-based software is installed in the product home directory ($CES_HOME/bin). When commands are entered at the prompt, the shell looks for the appropriate bin directory for a matching program. The PATH environment variable determines where the shell looks for the bin directory, so PATH must be modified to include the location of the Oracle Utilities Network Management System software. It is defined in the .nmsrc file located in the user’s home directory and it may contain multiple path names, each separated with a colon (:). The shell parses each path name until the corresponding program is located or each path name is exhausted.

WARNING! The .nmsrc file sets up the PATH environment variable to ensure that the correct executables are discovered in the correct order. If you need to modify the PATH environment variable, it should be done in the .profile, after the .nmsrc is run, and you should only append directories to the end of the list. Doing otherwise could cause problems with your system.

Operating System Configuration

A standard operating system installation will often not be optimally configured to work with an Oracle Utilities Network Management System. Sometimes the user will spawn more processes than allowed by the standard kernel configuration. Other times, a map file may require a larger data segment than the average user. Due to problems like these, you may find that you will have to tweak the operating system configuration, which may include reconfiguring the kernel or some other part of your Unix system.

The values that are specified in this guide are examples only, as the correct values depend on how large your operating model is, how you use the system ( e.g., as a server, app-server, or client) and what kind of a load is placed on the system. This section should give you an idea of how to change components of the operating system that frequently become a problem running Oracle Utilities Network Management System.

Note on Oracle Support Policy on VMWare: Refer to My Oracle Support knowledge base article 249212.1 for Oracle’s support policy on VMWare.

Linux

In Linux, limits to data segment size and the number of files available to the user are defined by the ulimit command. For the most part, these parameters do not need to be tweaked, but should you need to, you can run:

$ ulimit -d <datasegment size in kilobytes>

(Usually 256 MB will be enough)

$ ulimit -n <number of file descriptors>

(Usually 1024 will be enough)

Solaris

In Solaris, limits to data segment size and the number of files available to the user are defined by the ulimit command. For the most part, these parameters do not need to be tweaked, but should you need to, you can run:

$ ulimit -d <datasegment size in kilobytes>

256 Mb (usually sufficient)

$ ulimit -n <number of file descriptors>

1024 (usually sufficient)

AIX

AIX sets its limits in a system configuration file called /etc/security/limits. You can type "man limits" from the command line for the documentation on how to modify this file. The following table describes the parameters you may have to modify.

Parameter Name

Description

Nofiles

The soft limit on the number of open file descriptors

nofiles

The hard (upper) limit on the number of open file descriptors

data

The soft limit on data segment size

data_hard

The hard (upper) limit on data segment size

Users can adjust these parameters using the ulimit command, as long as the parameters are below the hard limit configuration. If your parameter requirements are under the hard limit, you may want to consider adding the appropriate ulimit command to the .nmsrc file instead of modifying the limits file. For example, adding a line that states ulimit -d 262144 would set the data segment size limit to 256 MB; having it in the .nmsrc file would ensure that the limit is set correctly each time the user logs in.

In addition, AIX supports a range of "network options" that may need to be tuned for optimal performance. Specifically, it is generally recommended to set the following AIX network options (via root on the AIX server).

$ no -p -o rfc1323=1

$ no -p -o sb_max=2097152

$ no -p -o tcp_sendspace=524288

$ no -p -o tcp_recvspace=262144

$ no -p -o udp_sendspace=65536

$ no -p -o udp_recvspace=655360

$ no -r -o ipqmaxlen=512

Core File Naming Configuration

Standard Unix configuration generally names core files as "core" and places it in the directory where the executable was executed. This is problematic because the core file will get overwritten if another core file is generated, which will destroy information that could possibly be used to better track down the source of the problem. Fortunately, there are operating specific steps to have core files be saved with process specific names.

Linux

Note the following may be the default on the Linux distributions supported by Oracle Utilities Network Management System.

echo "1" > /proc/sys/kernel/core_uses_pid

You should also check to that the ulimit for core files is set to unlimited; otherwise no core or a truncated core file may be created:

ulimit -c unlimited

Solaris

As the root user, edit /etc/coreadm.conf:

(COREADM_INIT_PATTERN=core.%p)

Or run:

coreadm -i "core.%p"

AIX

Add the following to your .nmsrc file:

export CORE_NAMING=true

Or, as the root user (if you want to change it for the entire system), run:

chcore -n on -d

Note: See the chcore man page for more information.

System Installation

This chapter describes the Oracle Utilities Network Management System installation. Topics include:

•

Installation Steps

•

Upgrading from a Previous Release (NMS v1.11.0.x or Earlier)

•

Installing Oracle Utilities Network Management System Software

•

Installing BI Publisher

•

Installation, Project Configuration, and Runtime Directory Structure

•

Oracle Utilities Network Management System WebLogic Administrative Actions

•

Troubleshooting Oracle Utilities Network Management System

Installation Steps

Before you begin installing Oracle Utilities Network Management System, ensure that you have read and met all pre-installation requirements identified in the previous chapters. Those chapters contain important information with which you must be familiar before you begin the installation so you can avoid potential problems during the installation.

•

If this is a first-time installation of Oracle Utilities Network Management System software, follow all steps in this guide starting with Installing Oracle Utilities Network Management System Software .

•

If you are applying a 1.12 service pack to an existing Oracle Utilities Network Management System v1.12 installation, follow the steps outlined in Applying an NMS v1.12 Service Pack .

•

If you are upgrading from a previous Oracle Utilities Network Management System software release, follow the steps outlined in Upgrading from a Previous Release (NMS v1.11.0.x or Earlier) .

Upgrading from a Previous Release (NMS v1.11.0.x or Earlier)

Upgrading the Oracle Utilities Network Management System should be done on a test system prior to attempting an upgrade on a production system. Make a complete copy of the production system on a test system, including the file system and the database. Once the test system is running, follow the steps below to upgrade your test system to Oracle Utilities Network Management System Release 1.12.0.2. Follow the instructions based on what release you currently have implemented. When satisfied with your test system, complete these same steps to upgrade your production system.

1.

Log in as the administrative user ( e.g., nmsadmin).

2.

Stop all services including Isis using the following command:

$ sms_stop.ces -ai

or, if your system does not support the sms_stop script, use:

$ Action any.any stop

$ cmd shutdown

3.

Make sure the Naming Service is not running.

If you are upgrading from 1.10 or earlier run:

$ ps -ef | grep Naming_Service

If you are upgrading from 1.11, run:

$ ps -ef | grep tao_cosnaming

If the Naming Service is running, output similar to the following is displayed:

nmsadmin 348204 1 0 Aug 11 - 0:46 /opt/oms-9.1/bin/Naming_Service -p /users/oms1/logs/Naming_Service.pid iiop://server.example.com:17821 -ORBEndpoint

If a process is running (i.e., user = nmsadmin), kill it:

$ kill 348204

4.

Stop the currently running Java application server.

5.

If you are upgrading from a release of 1.9 or earlier, and have a deprecated isis run_isis directory in any location other than $NMS_HOME/etc/run_isis, you have two options:

Option One (Most common): If you plan to run a single NMS server system (not including web servers), remove the deprecated run_isis directory using this command:

$ rm -rf $NMS_HOME/oms/run_isis

Option Two (Advanced): If you plan to run multiple NMS server systems, you will need to move your run_isis files from the deprecated directory to the new directory location using the following commands:

$ mkdir -p $NMS_HOME/etc/run_isis

$ mv $NMS_HOME/oms/run_isis/isis.* $NMS_HOME/etc/run_isis

$ rm -rf $NMS_HOME/oms/run_isis

Note: Verify that your isis.prm and isis.rc files do not require any changes based on the template files $CES_HOME/templates/isis.prm.template and $CES_HOME/templates/isis.rc.template.

6.

Complete all steps in Installing Oracle Utilities Network Management System Software .

Note : This release uses new templates to help properly configure the software. Please pay careful attention to ensure you use the new templates and their settings.

7.

Complete all steps in Starting Isis .

8.

If your Oracle database version is supported by Oracle Utilities Network Management System 1.12.0.2, you can skip the Create Database Environment section. Otherwise, do the following:

•

Backup your current Oracle Utilities Network Management System database.

•

Install the new version of the Oracle RDBMS.

•

Complete all steps in Create Database Environment , matching the configuration of your previous RDBMS instance.

•

Import your current Oracle Utilities Network Management System database onto the new RDBMS installation.

9.

Complete setting up the project configuration directory and upgrading your model following the steps below:

•

If you have not already done so, move your project configuration files into the $NMS_CONFIG directories as described in Oracle Utilities Network Management System Project Configuration Directory .

•

Execute the nms-install-config script, which will merge your project configuration with the product configuration and place the results in the runtime directory:

$ nms-install-config --nojava

10.

Follow the procedures in Appendix A - Updating Configuration and Performing Migrations for a New Release .

11.

Execute step 6 of Oracle Utilities Network Management System Validation Model Setup to enable write permissions for the user that runs the Java Application Server

12.

Complete all steps in Web Application Configuration .

13.

Complete all steps in Starting Services .

14.

Complete all steps in the WebLogic Server Runtime Configuration .

15.

Complete all steps in Deploying Oracle Utilities Network Management System in WebLogic Server .

16.

If you will be using the web client application installers, complete all steps in Installing Oracle Utilities Network Management System Web Clients .

Applying an NMS v1.12 Service Pack

The following steps should be followed when upgrading to a new service pack.

Note: Some of the steps in this procedure reference other sections in the document. You find it helpful to print this page and cross off the steps as you complete them.

1.

Log in as the administrative user ( e.g., nmsadmin).

2.

Stop all services including Isis:

$ sms_stop.ces -aiS

3.

Make sure the TAO Naming Service is not running:

$ ps -ef | grep tao_cosnaming

If the TAO Naming Service is running, output similar to the following is displayed:

nmsadmin 348204 1 0 Aug 11 - 0:46 tao_cosnaming -p /users/oms1/logs/Naming_Service.pid iiop://server.example.com:17821 -ORBEndpoint

If a process is running (i.e., user = nmsadmin), kill it:

$ kill 348204

4.

Stop the domain server where Oracle Utilities Network Management System is deployed in WebLogic Application Server.

5.

Install the Oracle Utilities Network Management System software by completing steps 1-7 in Installing Oracle Utilities Network Management System Software .

6.

Modify the ~/etc/system.dat file and update your .nmsrc file by completing steps 8-12 in Installing Oracle Utilities Network Management System Software on page 3-5.

Note: The environment variable $CES_HOME changes when applying a service pack release.

7.

If you do not yet have your own custom configuration and network model but are migrating an OPAL test database, complete steps 4 through 7 in Oracle Utilities Network Management System Validation Model Setup .

8.

Start Isis by completing all steps in Starting Isis .

9.

Complete the steps 1 through 10 in Web Application Configuration .

10.

Execute the nms-install-config script, which will merge your project configuration with the product configuration and place the results in the runtime directory:

$ nms-install-config --nojava

11.

Follow the procedures in Appendix A - Updating Configuration and Performing Migrations for a New Release .

12.

Execute the nms-install-config script to build the Java configuration:

$ cd

$ nms-install-config --java

13.

Complete all steps in Starting Services .

14.

To redeploy the web applications in WebLogic Application Server, complete all steps in Deploying Oracle Utilities Network Management System in WebLogic Server .

Installing Oracle Utilities Network Management System Software

Use the following procedures to install Oracle Utilities Network Management System software.

1.

Log in as the administrative user ( e.g., nmsadmin).

2.

Set the NMS_ROOT, NMS_HOME, and CES_HOME environment variables. For example:

$ export NMS_ROOT=/users/nmsadmin

$ export NMS_HOME=/users/nmsadmin

$ export CES_HOME=$NMS_ROOT/nms/product/1.12.0.2

3.

Set the ORACLE_HOME environment variable. For example:

$ export ORACLE_HOME=/users/oracle/product/11.2.0

4.

Set the JAVA_HOME environment variable to the 64-bit JDK installation directory. For example:

$ export JAVA_HOME=/opt/java7

5.

Unzip the Oracle Utilities Network Management System "Base Software" zip file. For example:

$ unzip /path/to/filename.zip

6.

Create nmstab:

nmstab is a file in the etc directory that is used as a repository of NMS installations on a machine. To install NMS, the following must be true:

•

the NMS_HOME environment variable must be set

•

nmstab must exist and be writable.

The install script (nms-install) will check these requirements and update nmstab.

•

NMS admin users must be members of the same group and nmstab be writable by that group.

If the group and nmstab requirements cannot be met, nms-install can be run with the noNmsTab option. However, if this is done, the nms-list-installs script and OEM integration will not be available.

nmsRoot.sh (found in $NMS_ROOT/network/bin) must be run once per machine as root to create nmstab. The name of the NMS group is passed as a parameter to this script. Optionally, the name of the owner to use for nmstab can be passed as the second parameter (root is used by default).

# $NMS_ROOT/network/bin/nmsRoot.sh

7.

Run the install script:

$ cd network

$ ./nms-install

Note: this could take several minutes to complete.

8.

Remove the installation files before continuing:

$ cd ..

$ rm -rf network

9.

If you already have an existing .profile, then add the following line to the bottom of .profile:

. $NMS_HOME/.nmsrc

This ensures that your environment is set correctly at login.

10.

Execute the following commands to copy the templates from $CES_HOME/templates directory to $NMS_HOME/etc. If you have existing files in $NMS_HOME/etc, they will be backed up to <file>.bak.<timestamp>.

$ export OMS_PREFIX=$CES_HOME/3rdparty

$ $OMS_PREFIX/jython/bin/jython $CES_HOME/bin/nms-install-templates

11.

If you have an existing Oracle Utilities Network Management System resource file with a name other than $NMS_HOME/.nmsrc (i.e., .ces.rc, .cesrc, …), rename it to $NMS_HOME/.nmsrc. Move all project-specific environment variables out of the .nmsrc file into your .profile file or another resource file.

12.

Change the environment variables set in the $NMS_HOME/.nmsrc file using the nmsrc configuration script by executing this command:

$ $CES_HOME/bin/config_nmsrc.pl

Set each variable as appropriate for your environment.

Notes:

•

Default Values

The first time you run config_nmsrc.pl you will need to pay close attention to the values that are presented to you as defaults, and ensure that they are set correctly. During subsequent runs you will be presented with the current settings for each variable as the default, and can simply press return at each prompt, reducing the time it takes to run the script.

When config_nmsrc.pl runs, it will flag variables that are not set to the defaults from the standard template. We encourage the use of defaults as much as possible to help facilitate customer support. However, it is up to the customer to decide if deviating from the defaults is appropriate for their environment.

•

Oracle Wallet Security Configuration

All projects have to configure and maintain Oracle wallets for each Unix user that starts services that connect to the database.

The script prompts you to choose your wallet location, which sets the TNS_ADMIN environment variable (default: ~/etc/wallet). Then it asks you to create passwords and enter the database credentials. Your new Oracle wallet will then map the RDBMS_HOST environment variable to a user name and password stored in the wallet.

IVR_RBDMS_HOST , CES_BI_INSTANCE, and CES_REP_INSTANCE all need wallet credentials if you are using IVR and BI. If any of these use the same database instance, you will also create additional tnsnames.ora entries so each has a unique alias for the same database instance, thus, providing separate wallet credentials for the different users.

SwService uses a separate Oracle wallet to store credentials it uses to connect to WebLogic Server. The script prompts you to choose a wallet location, and then sets the NMS_WALLET environment variable (default: $NMS_HOME/etc/nms_wallet). If the wallet does not exist it will be created. In that case you will be prompted to create the wallet password. Then the script asks you to enter credentials to be used by SwService. The credentials specified must be a valid WebLogic user that is a member of the group name specified by weblogic-service-group in $NMS_CONFIG/jconfig/build.properties (defaults to nms-service).

This script should be run for each Unix user that runs NMS services.

WARNING: After running config_nmsrc.pl, you must log out and log back in to set the environment variables.

13.

After making the above changes, log out and log in to set the environment variables. For a list of environment variables set by config_nmsrc.pl and their descriptions, see the "Environment Configuration" chapter of the Oracle Utilities Network Management Systems Configuration Guide.

Starting Isis

Please refer to the "Isis Configuration" chapter of the Oracle Utilities Network Management System Configuration Guide for details on configuring and optimizing Isis.

1.

Start Isis, as follows:

$ nms-isis stop

$ nms-isis start

2.

When complete (which will take approximately one minute), type:

$ nms-isis status

This determines if Isis has successfully started and will return 1 if isis is running, 0 if isis is not running.

Create Database Environment

Note: this procedure is only necessary if you do not have an existing Oracle Utilities Network Management System database.

Use the following procedure to create a database environment: for an Oracle Utilities Network Management System.

1.

Copy the nms_role.sql.template file to a a project specific directory where you can save configuration files that you only run when you are creating new NMS instances. The resulting nms_role.sql file defines the necessary Oracle roles to support an NMS instance. Read the comments in the file regarding recommended use. For most projects the contents of this file should not need to be modified and it can be executed essentially as is.

$ mkdir $NMS_HOME/my_sql

$ cp $CES_HOME/templates/nms_role.sql.template $NMS_HOME/my_sql/nms_role.sql

$ cd $NMS_HOME/my_sql

$ sqlplus system/<system_passwd>@$RDBMS_HOST < nms_role.sql

If this is the first time you have run this, you may see errors about dropping roles that do not exist, which can generally be safely ignored. To be sure run the file in again and make sure there are no errors on the second attempt (the script should drop and create the required roles without error).

Note this step, the process of defining NMS roles, should only be executed once per Oracle RDBMS instance that is supporting one or more NMS instances.

2.

Read through the comments in the nms.sql.template file. This file must be modified for your installation - often significantly. It is a template for creating the necessary Oracle usernames and tablespaces to support an Oracle NMS instance.

For example, if your company name is Oracle Gas & Electric (oge), you might create a copy of the template for a test NMS instance like this:

$ cp $CES_HOME/templates/nms.sql.template $NMS_HOME/my_sql/oge_nms_test.sql

3.

Edit oge_nms_test.sql and follow the instructions (included as comments in the file) to suit your environment.

4.

Run nms.sql as follows:

$ cd $NMS_HOME/my_sql

$ sqlplus sys/<system_passwd>@$RDBMS_HOST as sysdba < oge_nms_test.sql

If this is the first time you have run this, you may see errors about objects that already exist (or may not exist), which can generally be safely ignored. To be sure, run the file in again and make sure there are no errors on the second attempt. On the second attempt the script should drop and create Oracle usernames and tablespaces without error.

5.

Log in as the Oracle Utilities Network Management System Oracle RDBMS administrative user and test the connection to Oracle - using appropriate parameters based on what was provided in the oge_nms_test.sql file above. At the prompt, enter something similar to the following:

$ sqlplus oge_nms_test/oge_nms_test_passwd@$ORACLE_SERVICE_NAME

If the connection is successful, a SQL> prompt will appear. Enter exit to return to the shell prompt.

6.

Log in as the Oracle Utilities Network Management System Oracle RDBMS read-only user and test the connection to Oracle - using appropriate parameters based on what was provided in the oge_nms_test.sql file above. At the prompt, enter something similar to the following:

$ sqlplus oge_nms_test_ro/oge_nms_test_ro_passwd@$ORACLE_SERVICE_NAME

If the connection is successful, a SQL> prompt will appear. Enter exit to return to the shell prompt.

Oracle Utilities Network Management System Validation Model Setup

Use the following procedure to install an Oracle Utilities Network Management System installation verification network data model:

1.

If you do not have an existing network data model to load at this point, you can use the OPAL validation model included in the Oracle Utilities Network Management System release.

2.

Log in as the administrative user and run config_nmsrc.pl setting the following variables:

CES_SITE="OPAL product ces"

SYMBOLOGY_SET=${OPERATIONS_MODELS}/SYMBOLS/OPAL_SYMBOLS.sym

NMS_CONFIG=$NMS_HOME/OPAL

3.

Log out and log back in again, ensuring the variables are set correctly.

Note: If you have previously installed the validation model, you should backup any existing local modifications before proceeding to step 4.

$ mkdir ~/OPAL-backup

$ cd $NMS_CONFIG

$ cp sql/OPAL_parameters.sql jconfig/build.properties jconfig/build.xml jconfig/nms*keystore jconfig/global/nms-client.keystore jconfig/global/properties/CentricityTool.properties jconfig/server/CentricityServer.properties ~/OPAL-backup/.

4.

Copy the OPAL configuration in $CES_HOME to NMS_CONFIG:

$ cd $NMS_HOME$ rm -rf $NMS_CONFIG

$ cp -r -L $CES_HOME/OPAL $NMS_CONFIG

5.

Run nms-make-symbols, nms-install-config, and ces_setup.ces script to load the schema and configuration, as follows:

$ nms-make-symbols

$ nms-install-config --nojava

$ ces_setup.ces -clean -reset

6.

Enable write permissions for the user that runs the Java Application Server (e.g., wls) such that the user can create files in the $OPERATIONS_MODELS/ser directory (typically $HOME/data/ser). This is done to enable the distribution of maps to web clients through the application server.

$ cd $OPERATIONS_MODELS

$ mkdir ser

$ su

Password:

# chown wls:users ser

# exit

7.

Load the sample data:

$ LoadOPALModel.ces

The script will load sql files, start a subset of Oracle Utilities Network Management System services, and then build the data model.

Spatial Landbase Map Installation (Optional)

Prerequisite: installation of OPAL Spatial Landbase Maps requires Map Builder, a component of Oracle Fusion Middleware MapViewer; see Requirements for Spatial Landbase for details.

Use the following optional procedure to load the OPAL Spatial Landbase maps:

1.

Unzip the OPAL spatial shapefiles and metadata file:

$ cd $NMS_CONFIG

$ unzip spatial_landbase.zip

2.

Start Oracle Map Builder

$ cd <directory where mapbuilder.jar is installed>

$ run java -Xms200m -Xmx1000m -jar mapbuilder.jar

3.

In Map Builder, select File/New Connection… Specify the connection information to connect to the server where the spatial data will be served. Then connect to the server.

4.

In Map Builder, select Tools/Import Shapefile… and click Next.

•

Under Data Selection, select the Multiple Files or Directories and change the Selection drop down list to Directory.

•

Click Select; navigate to and Open the $NMS_CONFIG/spatial_landbase directory.

•

Click Next.

•

Set the SRID to 41100 (Ohio 3401, Northern Zone (1983, US Survey feet)), deselect Append '_mb' to attribute names in new tables, and deselect Append records if table exists.

•

Click Next, Next, and Finish.

5.

Import the metadata for the spatial map data. In Oracle Map Builder, select Tools/Import Metadata.

•

Click File; navigate to and Open the NMS_CONFIG/spatial_landbase/SpatialMetadata.dat file.

•

Select Styles, Themes, and Base Maps, and then click Ok.

6.

Verify that the OPAL spatial landbase maps and metadata loaded correctly.

•

In the Oracle Map Builder left panel, which lists the Metadata directory, expand the Base Maps directory and double click the PRODUCT_PROJECTED_LANDBASE Base Map icon.

•

From the main panel, in the PRODUCT_PROJECTED_LANDBASE top tab, select the Preview lower tab, then click the green "Play" icon. You should see OPAL landbase data appear in the preview panel.

Remember to set up a new Generic Data Source in the Oracle WebLogic Server Runtime Configuration to include a name like JDBC Data Source-spatial with a JNDI name: jdbc/spatial pointing to the same database as the jdbc/intersys connection.

Spatial Outage Summary Installation (Optional)

This optional installation procedure provides support for displaying spatial outage summary information in the Oracle Utilities Network Management System Viewer and supports the interface to Oracle Utilities Customer Self Service.

1.

Install the optional spatial landbase maps (from the previous section).

2.

Copy $CES_HOME/dist/baseconfig/product/ops/viewer/xml/ SPATIALLAYERS_SPATIAL_BG_LAYERS.inc to $NMS_CONFIG/jconfig/ops/viewer/xml/.

3.

Change PRODUCT_PROJECTED_LANDBASE to CSS_PROJECTED_LANDBASE as shown below:

<!-- Used in SpatialLayers.xml

Used to define the connection string for Oracle WebLogic Server (WLS) to the spatial server -->

<SpatialBGLayers>

<!-- jndi_name is the jndi name of the container managed datastore

This is only supported for WLS. -->

<SpatialBGLayer datasource_name="spatial" jndi_name="jdbc/spatial" basemap_name=" CSS_PROJECTED_LANDBASE " viewer_layer_name="spatial_landbase"/>

</SpatialBGLayers>

4.

Run the setup script for the OPAL outage summary views:

$ OPAL_CSS_setup.ces

5.

Edit the $NMS_HOME/etc/system.dat file by adding or changing the program TSService line to have the outageSumScript and outageSumPeriod parameters:

program TSService TSService -outageSumScript $NMS_HOME/bin/OPAL_CSS_refresh.ces -outageSumPeriod 1

For demonstration environments, the recommended outageSumPeriod is 1 (minute); for production environments, a value of 10 to 15 is recommended.

6.

Remove the # (comment) sign at the beginning of the line:

# instance <local> TSService

7.

Save the file.

8.

Stop and restart SMService:

$ Action any.SMService+TSService stop

$ sms_start.ces

9.

If you are adding this optional feature after installing and configuring the web application server (described in the sections starting with Web Application Configuration ), install your new java configurations using the following command:

$ nms-install-config --java

Re-deploy and restart the Web Application in WebLogic NMS. Otherwise you will complete this process in the following sections.

Web Map Server Connection (Optional)

Google Maps (Optional)

This optional installation procedure provides support for displaying Google Maps behind the Oracle Utilities Network Management System Web Viewer:

1.

Edit or create a project configuration of the DLG_VIEWER_HIDE_DISPLAY_en_US.properties file in $NMS_CONFIG/jconfig/ops/viewer/properties:

$ mkdir -p $NMS_CONFIG/jconfig/ops/viewer/properties

$ vi $NMS_CONFIG/jconfig/ops/viewer/properties \

/DLG_VIEWER_HIDE_DISPLAY_en_US.properties

Note: see the Viewer Configuration section in the Java Application Configuration chapter of the Oracle Utilities Network Management System Configuration Guide for other Hide/Display configuration options.

2.

Add the following lines to the end of the DLG_VIEWER_HIDE_DISPLAY_en_US.properties file and save it. These will be the labels in the Web Viewer Hide/Display Spatial Landbase pulldown:

CHBOX_HD_SPATIAL_MAPSRV1_ROAD.text = Google Roadmap

CHBOX_HD_SPATIAL_MAPSRV1_AERIAL.text = Google Satellite

3.

If you do not have a project version of the SPATIALLAYERS_SPATIAL_BG_LAYERS.inc file in $NMS_CONFIG/jconfig/ops/viewer/xml, copy the product file to your configuration directory:

$ mkdir -p $NMS_CONFIG/jconfig/ops/viewer/xml

$ cp \

$CES_HOME/dist/baseconfig/product/ops/viewer/xml/ \ SPATIALLAYERS_SPATIAL_BG_LAYERS.inc \

$NMS_CONFIG/jconfig/ops/viewer/xml

4.

Change the project version of the SPATIALLAYERS_SPATIAL_BG_LAYERS.inc file to have SpatialBGLayers referencing the Google Maps server:

<SpatialBGLayers>

<SpatialBGLayer provider="web1" basemap_name="roadmap" viewer_layer_name="google_roadmap" misc_params="&amp;style=lightness:10.0"/>

<SpatialBGLayer provider="web1" basemap_name="hybrid" viewer_layer_name="google_satellite" misc_params="&amp;style=lightness:10.0"/>

</SpatialBGLayers>

5.

If you do not have a project version of the DLG_VIEWER_HIDE_DISPLAY_DECLUTTER.inc file in $NMS_CONFIG/jconfig/ops/viewer/xml, copy the product file to your configuration directory:

$ mkdir -p $NMS_CONFIG/jconfig/ops/viewer/xml

$ cp \

$CES_HOME/dist/baseconfig/product/ops/viewer/xml/ \ DLG_VIEWER_HIDE_DISPLAY_DECLUTTER.inc \

$NMS_CONFIG/jconfig/ops/viewer/xml

6.

Change the project version of the DLG_VIEWER_HIDE_DISPLAY_DECLUTTER.inc file to have COMBOBOX_HD_SPATIAL reference the Google Map Server and layers you wish to configure, for example:

<ComboBox name="COMBOBOX_HD_SPATIAL">

<ComboBoxPlacement start="1,relative" width="1" height="1"

weight="1,0"/>

<ComboBoxBehavior

data_source="DS_VIEWER_DEFAULT.SPATIAL_COMBOBOX">

<Editable initial="false"/>

<Keys>

<Key value="None"/>

<Key value="Google Roadmap"/>

<Key value="Google Satellite"/>

</Keys>

<SelectPerform>

<Command value="RefreshCommand"/>

</SelectPerform>

</ComboBoxBehavior>

</ComboBox>

7.

If you do not have a project version of the CentricityServer.properties file in $NMS_CONFIG/jconfig/server, copy the product file to your configuration directory:

$ mkdir -p $NMS_CONFIG/jconfig/server

$ cp \

$CES_HOME/dist/baseconfig/product/server/ \

CentricityServer.properties \

$NMS_CONFIG/jconfig/server

8.

Change the project version of the CentricityServer.properties file to have parameters referencing the Google Map Server license keys, url, and configuration information provided to you by Google:

# http address:

# http base address required by the web map service

viewer.web1_maps_http_address = http://maps.googleapis.com/maps/api/staticmap

# http browser address:

# http base browser address

viewer.web1_maps_browser_http_address = http://maps.google.com

# key:

# Key as provided by Google for basic or trial key.

# If using Google Maps for Work/Business, set key to the

# provided crypto key and also set the client_id as provided

viewer.web1_maps_key = AIzzzzzzzzzzzzzzzz20-4xxxxxxxxxxxxxxxFg

#viewer.web1_maps_key = SXXXXXxXXxxXXxXXXXXxXXxxxxQ=

#viewer.web1_maps_client_id = gme-oraclenms

# logo:

# name of the logo image file of the map server

viewer.web1_maps_logo = google-map-logo_sm.png

# mapsize:

# Recommened size: 640 - will work

# Max 2048 based on server

viewer.web1_maps_mapsize = 640

# If this is set to true, the map will be downloaded by the server.

# If it is false, it will instead be downloaded by the client

viewer.web1_server_download = true

# scale:

# if map size=640, recommended scale: 2

# if map size 2048, recommended scale: 1

# domain: 1, 2, 4

viewer.web1_maps_scale = 2

# copyright information may be required to be displayed on the

# bottom of the static map image. This value will define the height

# to clip off the original image and scale to the bottom of

# the clipped image

viewer.web1_maps_copyright_height_percent = 0.016

# This parameter will identify which map type server to use

# for non-spatial map mode, value should be "web1" or "web2",

# when focusing in a browser.

viewer.default_maps_browser_provider = web1

# Please be sure to set the ces_parameters for

# MBS_LL_CSMAP_COORDSYS and MBS_GEO_CSMAP_COORDSYS values

9.

If you are adding this optional feature after installing and configuring the web application server (described in the sections starting with Web Application Configuration below), install your new java configurations using the following command:

$ nms-install-config --java

Re-deploy and restart the Web Application in WebLogic NMS. Please note, you may need to reconfigure your WebLogic application if you now need to configure for a proxy-server. Otherwise you will complete this process in the following sections.

Bing Maps (Optional)

This optional installation procedure provides support for displaying Bing Maps behind the Oracle Utilities Network Management System Web Viewer:

1.

Edit or create a project configuration of the DLG_VIEWER_HIDE_DISPLAY_en_US.properties file in $NMS_CONFIG/jconfig/ops/viewer/properties:

$ mkdir -p $NMS_CONFIG/jconfig/ops/viewer/properties

$ vi $NMS_CONFIG/jconfig/ops/viewer/properties/DLG_VIEWER_HIDE_DISPLAY_en_US.properties

Note: see the "Viewer Configuration" section in the "Java Application Configuration" chapter of the Oracle Utilities Network Management System Configuration Guide for other Hide/Display configuration options.

2.

Add the following lines to the end of the DLG_VIEWER_HIDE_DISPLAY_en_US.properties file and save it. These will be the labels in the Web Viewer Hide/Display Spatial Landbase pulldown:

COMBOBOX_HD_SPATIAL.bing_road.text = Bing Road

COMBOBOX_HD_SPATIAL.bing_aerial.text = Bing Aerial

3.

If you do not have a project version of the SPATIALLAYERS_SPATIAL_BG_LAYERS.inc file in $NMS_CONFIG/jconfig/ops/viewer/xml, copy the product file to your configuration directory:

$ mkdir -p $NMS_CONFIG/jconfig/ops/viewer/xml

$ cp \

$CES_HOME/dist/baseconfig/product/ops/viewer/xml/ \

SPATIALLAYERS_SPATIAL_BG_LAYERS.inc \

$NMS_CONFIG/jconfig/ops/viewer/xml

4.

Change the project version of the SPATIALLAYERS_SPATIAL_BG_LAYERS.inc file to have SpatialBGLayers reference the Bing Maps server:

<SpatialBGLayers>

<SpatialBGLayer provider="web2" basemap_name="road"

viewer_layer_name="bing_road"/>

<SpatialBGLayer provider="web2" basemap_name="aerialwithlabels"

viewer_layer_name="bing_aerial"/>

</SpatialBGLayers>

5.

If you do not have a project version of the DLG_VIEWER_HIDE_DISPLAY_DECLUTTER.inc file in $NMS_CONFIG/jconfig/ops/viewer/xml, copy the product file to your configuration directory:

$ mkdir -p $NMS_CONFIG/jconfig/ops/viewer/xml

$ cp \

$CES_HOME/dist/baseconfig/product/ops/viewer/xml/ \

DLG_VIEWER_HIDE_DISPLAY_DECLUTTER.inc \

$NMS_CONFIG/jconfig/ops/viewer/xml

6.

Change the project version of the DLG_VIEWER_HIDE_DISPLAY_DECLUTTER.inc file to have COMBOBOX_HD_SPATIAL referencing the Bing Map Server and layers you wish to configure, for example:

<ComboBox name="COMBOBOX_HD_SPATIAL">

<ComboBoxPlacement start="1,relative" width="1" height="1"

weight="1,0"/>

<ComboBoxBehavior

data_source="DS_VIEWER_DEFAULT.SPATIAL_COMBOBOX">

<Editable initial="false"/>

<Keys>

<Key value="None"/>

<Key value="Bing Road"/>

<Key value="Bing Arial"/>

</Keys>

<SelectPerform>

<Command value="RefreshCommand"/>

</SelectPerform>

</ComboBoxBehavior>

</ComboBox>

7.

If you do not have a project version of the CentricityServer.properties file in $NMS_CONFIG/jconfig/server, copy the product file to your configuration directory:

$ mkdir -p $NMS_CONFIG/jconfig/server

$ cp \

$CES_HOME/dist/baseconfig/product/server/ \

CentricityServer.properties $NMS_CONFIG/jconfig/server

8.

Change the project version of the CentricityServer.properties file to have parameters referencing the Bing Map Server license keys, url, and configuration information provided to you by Bing:

# http address:

# http base address required by the web map service

viewer.web2_maps_http_address = http://dev.virtualearth.net/REST/v1/Imagery/Map

# http browser address:

# http base browser address

viewer.web2_maps_browser_http_address = http://www.bing.com/maps

# key:

# Key as provided by the web map service

viewer.web2_maps_key = Ar5_nnnnnnnn_cc-VwwwwwwwwwwwwwwwwZ-p5bbbbbbbbbbbbbbbbbbbbbbbbbbZ

# logo:

# name of the logo image file of the map server

viewer.web2_maps_logo = bing_logo_sm.png

# mapsize:

# Recommended size: 834

viewer.web2_maps_mapsize = 834

# If this is set to true, the map will be downloaded by the server. # If it is false, it will instead be downloaded by the client

viewer.web2_server_download = true

# This parameter will identify which map type server to use for

# non-spatial map mode, value should be "web1" or "web2", when

# focusing in a browser.

viewer.default_maps_browser_provider = web2

# Please be sure to set the ces_parameters for

# MBS_LL_CSMAP_COORDSYS and MBS_GEO_CSMAP_COORDSYS values

9.

If you are adding this optional feature after installing and configuring the web application server (described in the sections starting with Web Application Configuration below), install your new java configurations using the following command:

$ nms-install-config --java

Re-deploy and restart the Web Application in WebLogic NMS. Please note, you may need to reconfigure your WebLogic application if you now need to configure for a proxy-server. Otherwise you will complete this process in the following sections.

Oracle Map Server Connection - (Optional)

This optional installation procedure provides support for displaying Oracle Locator maps behind the Oracle Utilities Network Management System Viewer. These instructions assume you have a populated Oracle Locator database accessible to WebLogic and that you have set up a datasource in WebLogic to connect to the Oracle Locator database schema. If you do not have an Oracle Locator database, refer to the Oracle MapViewer Map Builder documentation for information on building an Oracle Locator database.

1.

If you do not have a project version of the SPATIALLAYERS_SPATIAL_BG_LAYERS.inc file in $NMS_CONFIG/jconfig/ops/viewer/xml, copy the product file to your configuration directory:

$ mkdir -p $NMS_CONFIG/jconfig/ops/viewer/xml

$ cp \

$CES_HOME/dist/baseconfig/product/ops/viewer/xml/ \

SPATIALLAYERS_SPATIAL_BG_LAYERS.inc \

$NMS_CONFIG/jconfig/ops/viewer/xml

2.

Change the project version of the SPATIALLAYERS_SPATIAL_BG_LAYERS.inc file to have SpatialBGLayers reference the Oracle Map server:

<SpatialBGLayers>

<SpatialBGLayer datasource_name="spatial"

jndi_name="jdbc/spatial"

basemap_name="PRODUCT_PROJECTED_LANDBASE"

viewer_layer_name="oracle"/>

<SpatialBGLayer datasource_name="spatial"

jndi_name="jdbc/spatial"

basemap_name="CSS_PROJECTED_LANDBASE"

viewer_layer_name="oracle_with_outage_summary"/>

</SpatialBGLayers>

•

Set datasouce_name to the WebLogic datasouce name to connect to the spatial server.

•

Set jndi_name to the WebLogic datasource jndi name to connect to the spatial server.

•

Set the basemap_name to the Oracle Map Builder base map name.

•

Set the viewer_layer_name to match the case insensitive, under bar for blanks key name in the SPATIAL_COMBOBOX below.

3.

If you do not have a project version of the DLG_VIEWER_HIDE_DISPLAY_DECLUTTER.inc file in $NMS_CONFIG/jconfig/ops/viewer/xml, copy the product file to your configuration directory:

$ mkdir -p $NMS_CONFIG/jconfig/ops/viewer/xml

$ cp \

$CES_HOME/dist/baseconfig/product/ops/viewer/xml/ \

DLG_VIEWER_HIDE_DISPLAY_DECLUTTER.inc \

$NMS_CONFIG/jconfig/ops/viewer/xml

4.

Change the project version of the DLG_VIEWER_HIDE_DISPLAY_DECLUTTER.inc file to have COMBOBOX_HD_SPATIAL reference the Map Server and layers you wish to configure, for example:

<ComboBox name="COMBOBOX_HD_SPATIAL">

<ComboBoxPlacement start="1,relative" width="1" height="1"

weight="1,0"/>

<ComboBoxBehavior

data_source="DS_VIEWER_DEFAULT.SPATIAL_COMBOBOX">

<Editable initial="false"/>

<Keys>

<Key value="None"/>

<Key value="Oracle"/>

<Key value="Oracle with Outage Summary"/>

</Keys>

<SelectPerform>

<Command value="RefreshCommand"/>

</SelectPerform>

</ComboBoxBehavior>

</ComboBox>

5.

If you are adding this optional feature after installing and configuring the web application server (described in the sections starting with Web Application Configuration below), install your new java configurations using the following command:

$ nms-install-config --java

Re-deploy and restart the Web Application in WebLogic NMS.

Web Application Configuration

Before installing the web applications, follow these steps:

1.

If you already have an existing $NMS_CONFIG/sql/NMS_PROJECT_parameters.sql file − where NMS_PROJECT is the name of your configuration project (e.g., OPAL) − then move it aside for reference later:

$ cp $NMS_CONFIG/sql/ NMS_PROJECT _parameters.sql $NMS_CONFIG/sql/ NMS_PROJECT _parameters.sql.bak

2.

Copy the product_parameters.sql file to your $NMS_CONFIG sql directory:

$ cp $CES_HOME/product/sql/product_parameters.sql $NMS_CONFIG/sql/ NMS_PROJECT _parameters.sql

$ cd $NMS_CONFIG/sql

3.

Modify the following parameters in NMS_PROJECT_parameters.sql (if applicable, refer to the backup file you made in step 1):

Note: WebLogic needs access to the nmsadmin data directory to get *.mad/*.mac files to turn into *.ser files for use by the NMS Viewer. The WLS can either be running on the same machine as the NMS services or on a different machine.

•

If WebLogic is running on the same system (not normally done), the WLS can be configured to read the nmsadmin data files directly using a specific file path ( WEB_mapDirectory) and setting WEB_syncMaps=false.

•

If WebLogic is running on a different server than the NMS services (normally recommended), then you will need to setup a httpd server and set WEB_syncMaps=true.

NFS does not work as a solution to make the remote NMS server data directory available to WebLogic. NFS can have delays getting files to WebLogic meaning the NMS WLS can potentially read old map data causing the NMS Viewer maps to have errors or show incorrect data. You can either install and configure your own httpd server ( e.g., Apache) or use the "lighttpd http server" that is shipped with the base NMS product. Usage of "lighttpd" is discussed in the following section. A script called "nms-lighttpd" may be used to start and stop the "lighttpd" process. This script is also shipped as part of the base NMS product and can be configured into your normal NMS startup/shutdown/restart process.

NMS_PROJECT_parameters.sql

Element

Description

Example

WEB_intersysName

The WEB_intersysName should match the implName of the CORBA gateway.

Normally, InterSys_{user}.

InterSys_nmsadmin

WEB_syncMaps

If false, it will look for the maps using a file location specified in WEB_mapDirectory. If it is true, it will instead load the maps using http and a web server would have to be installed on the NMS server with the data directory exposed. A standard httpd server is provided with the NMS release and can be started with the nms-lighttpd command.

Configure WEB_mapDirectory, WEB_mapHttpdPort, WEB_mapHttpdAllowedIPs, and WEB_tempDirectory before starting the httpd server.

true

WEB_mapDirectory

The location of the maps directory from the perspective of the Weblogic server. This can be either a file path or, if WEB_syncMaps is set to true, a location that starts with http://. If using the nms-lighttpd process, this would be set to:

http://<nms-server-name>:<WEB_mapHttpdPort>

Note: When WEB_syncMaps=false, WEB_mapDirectory is the same as $OPERATIONS_MODELS.

http://nms-vm:8888

WEB_mapHttpdPort

The port to use for the httpd server started with the nms-lighttpd command start process. This port must be an unique and available port on the NMS C++ Server system. If running multiple NMS environments on the same machine, please verify this value is unique for this machine.

8888

WEB_mapHttpdAllowedIPs

List of IP addresses where you will be running the WEB Application Servers that are allowed to access the map files from the httpd server. Separate the IP addresses by "|"s if there are multiple servers. This is used by the nms command start process. If this value is blank, it will not restrict any IP addresses from reading the map files.

192.168.107.128|192.168.107.1|127.0.0.1

Note:

If you are using the "lighttpd" http server and make changes to WEB_mapDirectory, WEB_mapHttpdPort, or WEB_mapHttpdAllowedIPs, you can restart the http server using these commands:

nms-lighttpd stop

nms-lighttpd start

WEB_tempDirectory

This is the directory to store map files if WEB_syncMaps is set to ‘true.’ Otherwise it is ignored.

/users/nmsadmin/dist/maps

WEB_corbaInitRef

The initial reference of the CORBA naming service. It is in the format of NameService=corbaloc:iiop:1.2@{host}:{port}/NameService

The {host} and {port} should match the values of the NMS server's CORBA naming service.

NameService=corbaloc:iiop:1.2@server. example.com:17821/NameService

WEB_watermark

This is transparent text that will display across the windows of an application diagonally. It can be used to make it very obvious what environment you are currently a part of. If you do not wish to use this feature, do not define this value.

Production

Test

WEB_envName

This is the name of the environment that will display in the main window header under the logged in users’ name. It can either be the same value as the watermark or an additional name as desired, such as the name of the system.

Production

Test

WEB_envType

This parameter specifies the NMS environment type. Currently, the recognized values are:

•

training: This environment type is required to use the Training Simulator. It allows Trainer user type and the creation/execution of Training Scenario sheets.

•

production: This environment type should be used in production. It disallows the Reset Model functionality (used by Training Simulator, but can be configured for use in non-production environments for testing purposes).

Other values can be used, but do not have any effect other than indicating that this is neither a training nor production environment.

production

MBS_GEO_CSMAP_COORDSYS

The projection of the geographic data being loaded into the NMS model. This parameter is required to convert map geographic coordinates to latitude/longitude values. This is used to request maps from web map servers and other functions within the WebWorkspace client such as Coordinate display in the Viewer.

Use the $OMS_PREFIX/data/MAPPING/coordsys.asc file as a reference for valid values

OH83-NF

MBS_LL_CSMAP_COORDSYS

The target Lat/Long specification to be used when converting coordinates from the geographic coordinates to Lat/Long. This parameter is required to convert map geographic coordinates to latitude/longitude values. Use the $OMS_PREFIX/data/MAPPING/coordsys.asc file as a reference for valid values. Typically, this value should be "LL" or "LL84."

LL

Note: The WEB_ properties may be set by adding a startup parameter to the WebLogic managed server's startup parameter. For example, to configured a watermark for a particular managed server, add:

"-Dwatermark=Read Only System"

If services are not running you need to run: otherwise the load will fail. For example, if it is a new install by a project, services would not be running.

4.

When the above changes have been made, run the following commands:

$ cp $NMS_CONFIG/sql/NMS_PROJECT_parameters.sql $NMS_HOME/sql

If services are not running, run:

$ ISQL.ces -direct NMS_PROJECT_parameters.sql

Otherwise, run:

$ ISQL.ces NMS_PROJECT_parameters.sql

5.

Starting with Java SE 7 Update 21 in April 2013 all Web Start Applications like Oracle Utilities Network Management System are encouraged to be signed with a trusted certificate for the best user experience. Please follow the steps in the "Security Certificates in NMS" section of the Oracle Utilities Network Management Configuration Guide’s "Security" chapter.

For purposes other than Production, and if you do not have certificates issued by trusted certificate authorities, you may use the nms-gen-keystore script to generate self-signing certificates:

$ nms-gen-keystore

You will be prompted for your server name (as entered in a browser) and your organization.

Note: Future update releases of Java will require changing Java security settings on the client to continue to run self-signed applications.

6.

The publisher.ejb-user in $NMS_CONFIG/jconfig/build.properties should be a user that is defined as part of the nms-service group. This account will be used when WebLogic performs an internal operation that is not done in response to a user action.

Note: If the build.properties file does not exist in $NMS_CONFIG/jconfig/, you will need to create it. See "Create or Modify the Project build.properties File" section in the Oracle Utilities Network Management System Configuration Guide Java Application Configuration chapter for details.

7.

If you wish to configure WebLogic to not use SSL/HTTPS, then edit $NMS_CONFIG/jconfig/build.properties. Add or change (uncomment) the following line:

option.no_force_https

8.

If you will be running multiple instances of Oracle Utilities Network Management System, you will need to create JDBC Data Sources for each WebLogic managed server, each with a unique JNDI name (see WebLogic Runtime Configuration below). To change the JNDI name from the default of jdbc/intersys, edit $NMS_CONFIG/jconfig/build.properties and modify the following line (you may need to uncomment the line):

config.datasource = jdbc/intersys/nmsadmin

9.

If you are running the application as part of a WebLogic cluster, uncomment the following line:

enable.cluster = true

10.

Once all files are in place, build the configuration by running:

$ cd

$ nms-install-config --java

Configuring NMS Security Roles

NMS uses the LDAP groups listed below. For best security, it is recommended that separate groups be defined for each user type; however, it is possible to use the same group for multiple types.

NMS Groups

view_only_users: users who can only view NMS data.

call_entry_users: users who can update call entry.

service_alert_users: users who can update service alert.

standard_users: users who can modify any NMS data.

service_users: adapter and publisher.ejb-user defined in build.properties.

NMS Roles

NmsRead: calls to view NMS data.

NmsWrite: calls to update NMS data.

NmsCallEntry: calls used only by Call Entry.

NmsUpdate: calls that update the database. These are also protected by application by the allowed_update_tables entries in CentricityServer.properties.

NmsService: calls that should only be run by adapters and internal accounts.

NmsCustom1: this is an unused role that can be used for project specific requirements.

NmsCustom2: this is an unused role that can be used for project specific requirements.

NmsCustom3: this is an unused role that can be used for project specific requirements.

NMS Roles to Groups Mapping

NmsRead: view_only_users, call_entry_users, service_users, standard_users

NmsWrite: standard_users, service_users

NmsCallEntry: call_entry_users, standard_users, service_users

NmsUpdate: service_alert_users, standard_users, service_users

NmsService: service_users

Groups can be configured by modifying and running the WLST script: scripts/roles.py

Modify it as necessary, then run: wlst scripts/roles.py

Please see the "Manage security roles" topic in the WebLogic Online Help for background on roles and groups:

http://docs.oracle.com/cd/E23943_01/apirefs.1111/e13952/taskhelp/security/ManageSecurityRoles.html

Modifying or Adding Security for Individual ejb Methods

If there is a requirement to modify the base ejb security configuration, it is possible to do so with deployment descriptors. Before attempting to do this, it is important to have a good understanding of WebLogic groups and roles, as well as deployment descriptors; see the WebLogic documentation for details.

•

The deployment descriptor for cesejb.ear should be saved to

$NMS_CONFIG/jconfig/override/cesejb.jar/META-INF/ejb-jar.xml

•

The deployment descriptor for fwserver.ear should be save to:

$NMS_CONFIG/jconfig/override/fwserver.jar/META-INF/ejb-jar.xml

The following example defines a special role for Session.runScript. Note that defining security for a method using deployment descriptors replaces any existing security configuration:

<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"

version="3.0">

<assembly-descriptor>

<security-role>

<role-name>NmsCustom1</role-name>

</security-role>

<method-permission>

<role-name>NmsCustom1</role-name>

<method>

<ejb-name>Session</ejb-name>

<method-intf>Remote</method-intf>

<method-name>runScript</method-name>

</method>

</method-permission>

</assembly-descriptor>

</ejb-jar>

It is up to the project to define the role by using the WebLogic console (see the above url for more details)

Starting Services

Use the following procedure to start full Oracle Utilities Network Management System services:

1.

Log in as the administrative user and stop any services that might be running, as follows:

$ sms_stop.ces -a

2.

Run the sms_start.ces script to start services, as follows:

$ sms_start.ces

3.

To verify services are running, run smsReport, as follows:

$ smsReport

WebLogic Server Runtime Configuration

For information on creating and installing to a WebLogic cluster, which requires the Enterprise edition of WebLogic, see the KM document 1911737.1:

https://support.oracle.com/epmos/faces/DocumentDisplay?id=1911737.1

For information on using a customer provided load balancer, see KM document 1910405.1.

https://support.oracle.com/epmos/faces/DocumentDisplay?id=1910405.1

If you wish to use multiple instances of WebLogic, but not part of a cluster or using a load balancer, see the KM document 1215414.1:

https://support.oracle.com/epmos/faces/DocumentDisplay?id=1215414.1

Create a Managed Server

1.

Access the WebLogic Server Administration Console by entering the following URL:

http://hostname:port/console

Here hostname represents the DNS name or IP address of the Administration Server, and port represents the number of the port on which the Administration Server is listening for requests (port 7001 by default).

2.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

3.

In the left pane of the Console, expand Environment and select Servers.

4.

Click New.

5.

For the Server Listen Address, enter an IP address or DNS name that resolves to an IP address of the server.

6.

Change the Server Listen port to an unused port.

7.

Click Finish.

8.

In the Servers table, click the server name to open the Settings page.

9.

Click the Tuning tab.

10.

Make sure that Enable Native IO is not selected.

11.

If necessary, click Advanced to access advanced tuning parameters.

12.

In the Muxer Class field, enter:

weblogic.socket.NIOSocketMuxer

13.

Click the SSL tab.

14.

Click Advanced and check that the Use JSSE SSL checkbox is checked.

15.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

Configure Database Connectivity

In WebLogic Server, you configure database connectivity by adding data sources to your WebLogic domain. To create a JDBC data source in your domain, you can use the Administration Console:

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the Domain Structure tree, expand Services, then select Data Sources.

3.

On the Summary of Data Sources page, click New, Generic Data Source.

4.

On the JDBC Data Source Properties page, enter or select the following information:

•

Name - Enter a name for this JDBC data source. For example: JDBC Data Source-nms.

•

JNDI Name - Enter the JNDI path to where this JDBC data source will be bound. Use jdbc/intersys for the JNDI path.

Note: If you will have multiple instances of Oracle Utilities Network Management System running from this WebLogic installation, make the JNDI name unique (e.g., jdbc/intersys/nmsadmin) and change "config.datasource" in $NMS_CONFIG/jconfig/build.properties to match this string.

•

Database Type - Select Oracle for the DBMS of the database that you want to connect to.

•

Click Next to continue.

•

Select *Oracle’s Driver (Thin XA) for Instance connections, Versions: 9.0.1 and later for the JDBC driver you want to use to connect to the database.

•

Click Next to continue.

5.

On the Transactions Options page, click Next to continue.

6.

On the Connection Properties page, enter values for the following properties:

•

Database Name - Enter the name of the database that you want to connect to. Exact database name requirements vary by JDBC driver and by DBMS.

•

Host Name - Enter the DNS name or IP address of the server that hosts the database.

•

Port - Enter the port on which the database server listens for connections requests.

•

Database User Name - Enter the database user account name that you want to use for each connection in the data source.

•

Password/Confirm Password - Enter the password for the database user account.

•

Click Next to continue.

7.

Test Configuration.

•

WebLogic attempts to create a connection from the Administration Server to the database. Results from the connection test are displayed at the top of the page. If the test is unsuccessful, you should correct any configuration errors and retry the test.

•

If the JDBC driver you selected is not installed on the Administration Server, you should click Next to skip this step.

•

Click Next to continue.

8.

On the Select Targets page, select the servers or clusters on which you want to deploy the data source.

9.

Click Finish to save the JDBC data source configuration and deploy the data source to the targets that you selected.

10.

Perform steps 4-10 for the read-only user. The JNDI path for the user should be the same as previously entered, but with a _readonly appended at the end. Therefore, the default should be jdbc/intersys_readonly. Be sure to use the read-only user credentials that were created earlier.

11.

Perform steps 4-10 for the spatial database connection if your system uses spatial landbase in the Web Workspace Viewer. The JNDI path should be jdbc/spatial.

12.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

Create a JMS Server in Your Domain

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the Administration Console, expand Services and then Messaging and then select JMS Servers.

3.

On the Summary of JMS Servers page, click New.

Note: Once you create a JMS server, you cannot rename it. Instead, you must delete it and create another one that uses the new name.

4.

On the Create a New JMS Server page:

•

In Name, enter a name for the JMS server. For example: JMSServer-nms.

•

In Persistent Store, leave this field set to none, then the JMS server will use the default file store that is automatically configured on each targeted server instance.

•

Click Next to proceed to the targeting page.

5.

On the Selects Targets page, select the server instance or migratable server target on which to deploy the JMS server.

6.

Click Finish.

7.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

Create a JMS System Module in Your Domain

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the Administration Console, expand Services > Messaging and select JMS Modules.

3.

On the Summary of JMS Modules page, click New.

Note: Once you create a module, you cannot rename it. Instead, you must delete it and create another one that uses the new name.

4.

On the Create JMS System Module page:

•

In Name, enter a name for the JMS system module. For example: SystemModule-nms.

•

Click Next to proceed to the targeting page.

5.

On the Targets page, select the server instance or cluster target on which to deploy the JMS system module, and then click Next.

6.

On the Add Resources page, select the checkbox to immediately add resources to the newly created JMS Module.

7.

Click Finish.

8.

On the Configuration page, click New above the Summary of Resources table.

9.

On the Create a New JMS System Module Resource page, select Connection Factory from the list of JMS resources and then click Next.

10.

On the Connection Factory Properties page, define the connection factory's basic properties:

•

In Name, enter a name for the connection factory. For example: ConnectionFactory-nms.

Note : Once you create a connection factory, you cannot rename it. Instead, you must delete it and create another one that uses the new name.

•

In JNDI Name, enter ConnectionFactory.

11.

Click Next to proceed to the targeting page.

12.

For basic default targeting, accept the default targets presented in the Targets box and click Finish. The configured connection factory is added to the module's Summary of Resources table, which displays its default targets.

13.

On the Configuration page, click New above the Summary of Resources table.

14.

On the Create a New JMS System Module Resource page, select Distributed Topic from the list of JMS resources, and then click Next.

15.

On the JMS Distributed Destination Properties page, define the distributed topic's basic properties:

•

In Name, enter a name for the distributed topic. For example: MsgBean-nms.

Note: Once you create a distributed topic, you cannot rename it. Instead, you must delete it and create another one that uses the new name.

•

In JNDI Name, enter topic/MsgBean.

16.

Click Next to proceed to the targeting page.

17.

For basic default targeting, accept the default targets presented in the Targets box and then click Finish. The JMS system module resource is added to the module's Summary of Resources table, which displays its default targets.

18.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

Configure T3 Protocol

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the left pane of the Console, expand Environment and select Servers.

3.

On the Servers page, click on the server name.

4.

Select Protocols > General.

5.

In the Maximum Message Size field, enter 50000000.

Note: These settings apply to all protocols in the server's default network configuration.

6.

Click Save.

7.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

Configure the Arguments to Use When Starting a Server in Your Domain

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the Administration Console, expand Environment and select Servers.

3.

On the Servers page, click the name of the server.

4.

Select the Configuration > Server Start tab.

5.

On the Server Start page, add the following JVM parameters:

-Xms4096m

-Xmx4096m

-XX:PermSize=512m

-XX:MaxPermSize=512m

-XX:+UseConcMarkSweepGC

-XX:+ExplicitGCInvokesConcurrent

-javaagent:lib/nms_monitor.jar

-Dweblogic.jndi.allowGlobalResourceLookup=true

-Dweblogic.jndi.allowExternalAppLookup=true

-Doracle.xdkjava.security.resolveEntityDefault=false

-d64

If it is desired that the hostname be something other than what the operating system returns, add a startup flag to the app server:

-Dnms.servername= server_name

Replace server_name with the name you wish to log. Overriding the name may be helpful if multiple app servers are on the same machine.

If using a web map server to supply web maps to the web viewer, and if your WebLogic system requires a proxy server to access the external web map server, and if the system you are running WebLogic on does not have a system wide proxy server configuration, you will need to configure WebLogic to access the web map server using your network proxy server using the JVM start up parameters. See http://docs.oracle.com/javase/7/docs/technotes/guides/net/proxies.html for details on configuring the JVM for proxies. Typically, to configure the JVM to use a proxy server, you will need to set JVM startup parameters:

•

If the web map server uses http:

-Dhttp.proxyHost=proxy-hostname

-Dhttp.proxyPort=port#

-Dhttp.nonProxyHosts= host1|host2|192.168.107.*|localhost|127.0.0.*

•

If web map server uses https:

-Dhttp.proxyHost=proxy-hostname

-Dhttp.proxyPort=port#

-Dhttp.nonProxyHosts=

host1|host2|192.168.107.*|localhost|127.0.0.*

List the host names, IP addresses, or IP masks to any local system your JVM will need access to that does not require the proxy server. Be sure to include your local machine, DB system, and NMS core server system at a minimum. The nonProxyHosts lines cannot contain quotes or the managed server startup will fail.

Web Switching Singleton Service

The Web Switching Singleton Service is used to process Web Switching specific requests like creating Open and Close Miscellaneous Log steps for SCADA actions. It also processes model verification updates to steps that have been involved in model changes. (This service is disabled when the product WebSwitching is not licensed.)

1.

If you have a non-clustered project environment where multiple application servers are running, add the following command line argument for only the non-Web Switching instances:

-Dnms.disable-swman-static-service=true

Note: There must be only one server that is running Web Switching unless NMS is running on a WebLogic cluster.

2.

Click Save.

3.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

Configure Keystores

Before You Begin

•

Obtain private keys and digital certificates from a reputable certificate authority such as Verisign, Inc. or Entrust.net.

•

Create identity and trust keystores.

•

Load the private keys and trusted CAs into the keystores.

Configure the Identity and Trust Keystores

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the left pane of the Console, expand Environment and select Servers.

3.

Click the name of the server for which you want to configure the identity and trust keystores.

4.

Select Configuration > Keystores.

5.

In the Keystores field, select the method Custom Identity and Java Standard Trust for storing and managing private keys/digital certificate pairs and trusted CA certificates.

6.

In the Identity section, define attributes for the identity keystore.

•

Custom Identity Keystore: The fully qualified path to the identity keystore nms-ssl.keystore. This will be in the $NMS_HOME/java directory.

Note: if your WebLogic Server is running on a different server than the NMS installation, nms-ssl.keystore will need to be copied to a location where it is accessible to the account running WebLogic.

•

Custom Identity Keystore Type: The type of the keystore. Generally, this attribute is Java KeyStore (JKS); if left blank, it defaults to JKS.

•

Custom Identity Keystore Passphrase: The password you will enter when reading or writing to the keystore. This attribute is optional or required depending on the type of keystore. All keystores require the passphrase in order to write to the keystore. However, some keystores do not require the passphrase to read from the keystore. WebLogic Server only reads from the keystore so whether or not you define this property depends on the requirements of the keystore.

7.

Click Save.

8.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

Configure SSL

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the left pane of the Console, expand Environment and select Servers.

3.

Click the name of the server for which you want to configure SSL.

4.

Select Configuration > SSL, and set the SSL attributes for the Private Key Alias (defaults to nms-key) and Private Key Passphrase.

5.

Click Save.

6.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

7.

Stop the Admin server.

8.

Edit the WebLogic configuration file ( config/config.xml):

In the <ssl> section, after the line:

<enabled>true</enabled>

Add the following lines:

<ciphersuite>TLS_RSA_WITH_RC4_128_MD5</ciphersuite>

<ciphersuite>TLS_RSA_WITH_RC4_128_SHA</ciphersuite>

<ciphersuite>TLS_RSA_WITH_3DES_EDE_CBC_SHA</ciphersuite>

<ciphersuite>TLS_RSA_WITH_AES_128_CBC_SHA</ciphersuite>

9.

Save the changes to config.xml.

10.

Restart WebLogic Admin server.

Configure the SSL Listen Ports for a Server

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the Administration Console, expand Environment and select Servers.

3.

On the Servers page, click the name of the server.

4.

Select Configuration > General.

•

Select SSL Listen Port Enabled so that the server listens on the SSL listen port.

•

If you want to disable the non-SSL listen port so that the server listens only on the SSL listen port, deselect Listen Port Enabled.

5.

Click Save.

6.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

Set the Default Authenticator Control Flag

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the left pane, select Security Realms, then click the name of the realm you are configuring. Select myrealm.

3.

Select Providers > Authentication.

The Authentication Providers table displays the name of the Authentication and Identity Assertion providers.

4.

Click the name of the provider you want to configure. Select DefaultAuthenticator.

5.

Select Configuration > Common and set the Control Flag to OPTIONAL.

6.

Click Save.

7.

To activate these changes, in the Change Center click Activate Changes.

Create and Configure an Active Directory Authentication Provider

Note that any of the WebLogic Authentication Provider types can be used. Here, ActiveDirectoryAuthenticator is used as an example.

1.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

2.

In the left pane, select Security Realms and click the name of the realm you are configuring (defaults to myrealm).

3.

Select Providers > Authentication and click New.

The Create a New Authentication Provider page appears.

4.

In the Name field, enter a name for the Authentication provider. For example, enter ldap-provider.

5.

From the Type drop-down list, select the type of the Authentication provider and click OK. Select ActiveDirectoryAuthenticator.

6.

Select Providers > Authentication and click the name of the new Authentication provider to complete its configuration.

7.

Select Configuration > Common and set the Control Flag to OPTIONAL.

8.

Click Save.

9.

Select Configuration > Provider Specific and set the desired values for your Active Directory server. The following configuration is given for example purposes only.

For Connection:

Host : server.example.com

Port : 389

Principal : cn=Administrator,cn=Users,dc=example,dc=com

Credential : The credential (usually a password) used to connect to the LDAP server.

For Users:

User Base DN : cn=Users,dc=example,dc=com

User Name Attribute : Ensure this matches the attribute specified in the User Base DN (e.g. "cn").

10.

Click Save.

11.

To activate these changes, in the Change Center, click Activate Changes.

12.

After you finish configuring Authentication providers, restart WebLogic Server.

IMPORTANT: verify that users and groups from your authenticator are configured by looking at the Users and Groups tab for your security realm.

Copy Supporting Files from the NMS Distribution to the WebLogic Domain

Certain files are required to be installed into the domain level of the WebLogic server. Since WebLogic installations vary, it is necessary to manually copy these files to your WebLogic domain.

As you use the instructions below to copy the files, substitute your system’s appropriate values for each of:

•

$CES_HOME

•

WLS_HOME

•

domain_name

•

user

•

hostname

Alternative 1

If the WebLogic Server is located on the same system as the NMS installation.

1.

Copy the contents of the wls directory recursively using cp:

cp -L -r $CES_HOME/dist/install/wls/. $WLS_HOME/user_projects/domains/domain_name

Alternative 2

If the WebLogic Server is located on a different system than the NMS installation.

1.

Copy the contents of the wls directory recursively using scp:

$ scp -r user@hostname:$CES_HOME/dist/install/wls/. WLS_HOME/ Oracle/Middleware/user_projects/domains/domain_name

2.

Having copied the files, restart the WebLogic Managed Server that will be running NMS.

Configure Log4j Logging Services

1.

Edit the setDomainEnv.sh script, which is located in the WLS_HOME/Oracle/Middleware/user_projects/domains/ domain_name /bin directory:

Find the line that begins:

if [ "${LOG4J_CONFIG_FILE}" != "" ]

and insert the following lines above it:

LOG4J_CONFIG_FILE=${DOMAIN_HOME}/nms-log4j.xmlexport LOG4J_CONFIG_FILE

The nms-log4j.xml file controls Oracle Utilities Network Management System logging. It may be modified as necessary.

Deploying Oracle Utilities Network Management System in WebLogic Server

To deploy the Oracle Utilities Network Management System application in your domain, follow these steps:

1.

Login in as the user account that will run the WebLogic Application Server.

2.

Access the WebLogic Server Administration Console by entering the following URL:

http:// hostname:port/console

Here hostname represents the DNS name or IP address of the Administration Server, and port represents the number of the port on which the Administration Server is listening for requests (port 7001 by default).

3.

If you have not already done so, in the Administration Console’s Change Center, click Lock & Edit.

4.

In the left pane of the Administration Console, select Deployments.

5.

If there is a deployment from a previous installation, complete the following two actions before proceeding to step 6:

•

Select the checkbox to the far left of the deployed cesejb application. Click Stop and choose Force Stop Now to stop the application.

•

Select the checkbox to the left of the deployed cesejb application. Click Delete (located at the top or bottom of the Deployments table), to delete the cesejb application. Click Yes to confirm your decision.

6.

In the right pane, click Install.

7.

In the Install Application Assistant, locate the cesejb.ear to install. This will be in the $NMS_HOME/java/deploy directory.

8.

Click Next.

9.

Specify that you want to target the installation as an application.

10.

Click Next.

11.

Select the servers and/or cluster to which you want to deploy the application. The cesejb.ear should be deployed to its own managed server or cluster; therefore, either select a managed server/cluster that does not have other applications or interfaces deployed to it or move existing deployments to a separate instance.

Note: If you have not created additional Managed Servers or clusters, you will not see this assistant page.

12.

Click Next.

13.

Update the following additional deployment setting:

•

Change the deployed name of the application from cesejb to something unique.

14.

Click Next.

15.

Review the configuration settings you have specified, and click Finish to complete the installation.

16.

If you chose to immediately go to the deployment's configuration screen, click the tabs to set additional configuration settings for the application or module. If you chose to change this information later, you are returned to the Deployments table, which now includes your newly-installed application or module.

17.

To activate these changes, in the Administration Console’s Change Center, click Activate Changes.

Note: Ensure that your deployment is listed as "Active" in the deployments table. If it is "New" or "Prepared," something has not started correctly.

18.

A restart of the WebLogic managed server(s) that will be running Oracle Utilities Network Management System is not required for these changes to take effect unless you are instructed to do so at this time.

19.

Open a browser and navigate to: http://hostname:port/nms

Here hostname represents the DNS name or IP address, and port represents the port for the WebLogic Server.

Troubleshooting

If there are deployment issues and you want to validate the connection to the CORBA gateway, open the WebLogic log file, which will display diagnostic information including any issues with the database and CORBA gateway configuration.

Installing Oracle Utilities Network Management System Web Clients

The Oracle Utilities Network Management System Web Clients may be run from a browser as a Java Web Start application or by installing individual Java client applications.

Java Web Start

If the Java Web Start version is chosen, there is no client installer needed. The user opens the NMS application landing page and clicks a link to one of the Java applications, such as Web Workspace.

Example

URL: https:// <web-gateway> /nms/

Web Workspace Java Web Start link:

https:// <web-gateway>/nms/nmswebstart?appName=WebSwitching.jnlp

Java Client Installation

The Java client applications installer is created by the Oracle Utilities Network Management System Configuration Assistant, which is also a Java application. Therefore, to create the installer, the Configuration Assistant must be run (at least once) using Java Web Start.

Install Prerequisite Software

The client installer creation process requires the following applications be pre-installed on the PC that will run the Configuration Assistant.

•

NSIS (Nullsoft Scriptable Install System), version 2.46, is an open-source Windows installer development tool; project on SourceForge (http://sourceforge.net/projects/nsis/).

•

Launch4j , version 3.0.2, is a tool that wraps Java applications in a Windows executable file; available on SourceForge (http://launch4j.sourceforge.net/).

•

Java Standard Edition JDK . This should match the version you wish to include as part of the client installation. Normally you would choose the latest 1.7 JDK. (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Create Environment Variables

1.

Create the following system environment variables, as necessary, to ensure that the Configuration Assistant can find the applications.

•

NSIS Environment Variable

Name: NSIS_HOME

Value: Path to NSIS.exe.

Note: If NSIS was installed in the default location, the environment variable does not need to be added.

•

Launch4j Environment Variable

Name: LAUNCH4J_HOME

Value: Path to launch4j.exe.

Note: If Launch4J was installed in the default location, the environment variable does not need to be added.

•

JDK Environment Variable

Name: JAVA_HOME

Value: Path to the root of the JDK (where the jre and bin subfolders are located).

2.

After setting the environment variables, reboot your PC.

Create Installer

To create the installer, open Configuration Assistant and do the following:

1.

Select Create Client Installer... from the Actions menu.

A save dialog will open that allows you to modify the file name and location; neither the name nor location will affect how the applications are ultimately installed.

2.

Click Save.

Note: if the file already exists at that location, you will be asked to confirm replacement.

3.

The client installer creation process will call NSIS, which will open and display a log of its activities in the MakeNSISW window. When the process is complete, NSIS will allow you to run the installer (using the Test Installer function) or Close the application.

Install Client Applications

1.

If MakeNSISW is still open, click Test Installer to run the client installer. If it is not open, navigate to the location where the installer was saved and double-click the installer file name or icon (depending on your view). The Oracle Utilities NMS Setup Wizard dialog will open.

2.

On the Choose Install Location page, select the destination folder and click Next.

3.

On the Choose Components page, select the components to install from the list of licensed products. Click Install.

4.

When the installation is complete, click Close.

Application shortcuts will be available from the Start Menu under All Programs > Oracle Utilities NMS.

Updating Clients

Client installers must be recreated whenever a new release (major release, service pack, or patch) is implemented.

1.

Uninstall the existing applications from each client PC.

2.

Follow the "Create Installer" task using the updated Configuration Assistant.

3.

Follow the "Install Client Applications" task.

Installing html2ps

The perl script html2ps is used to convert HTML formatted documents or output to a PostScript style format so that the document can be sent directly to a PostScript printer.

The installation of this script is required if you are implementing the Oracle Utilities Network Management System Service Alert application with printing. Service Alert is able to send out notifications to pagers and emails without this script. The script is only required for printed notifications.

Currently, the html2ps script can be found at http://user.it.uu.se/~jan/html2ps.html. This script requires version 5 of Perl.

Follow these steps to install the script:

1.

Download the compressed tarfile to your Unix server.

2.

Move the file to an appropriate location for untarring.

gunzip < html2ps-1.0b7.tar.gz | tar xv

su root

cd html2ps-1.0b7

./install

Note: Make sure you put "./" in front of "install".

3.

You will be asked if you want to proceed with the installation. Confirm the default value by selecting Enter.

4.

You will be asked to specify a command for retrieving remote documents. Confirm the default value by selecting Enter.

5.

You will be asked to install in the subdirectories bin, lib, and man. Confirm the default value by selecting Enter.

6.

When asked to enter a directory, enter: /usr/local/bin

7.

You will be asked to enter the default paper type. A4 is the default size. U.S. users will probably want to change this to letter or legal. If A4 is acceptable, select Enter.

8.

The html2ps script and manpages will be installed.

9.

Make sure the PATH environment variable includes the path to the directory containing the html2ps executable.

Installing BI Publisher

BI Publisher is used for printing reports in some Web Workspace tools and in Web Switching.

Before you can install BI Publisher, it requires a repository to be created in an Oracle database for data and configuration storage. You will need to download and run the Repository Creation Utility (RCU) for version 11.1.1.7.0. While running the RCU, when prompted to select components to install into the repository, select Component and then Oracle Business Intelligence and then Business Intelligence Platform (other required components will be automatically selected for you). Otherwise the defaults for the RCU creation will be sufficient for running Oracle Utilities Network Management System. Save the username and password information (for the MDS and BIPLATFORM users), as you will need them for the BI Publisher installation.

BI Publisher, as of release 11.1.1.7.0, is now a component of Oracle Business Intelligence and, consequently, is no longer a standalone installation. To install BI Publisher, you will need to download Oracle Business Intelligence for your platform. For a minimal installation for use with Oracle Utilities Network Management System, select Simple Install for the installation type, and select only Business Intelligence Publisher when prompted for components to install. The installation will create a new Weblogic domain, managed servers and deployments to run BI Publisher.

When installation is complete, proceed to the Oracle Utilities Network Management System Configuration Guide for instructions on how to configure BI Publisher reports for your system.

Installation, Project Configuration, and Runtime Directory Structure

The Oracle Utilities Network Management System has three directory areas involved with product installation, project configuration, and runtime. This section describes how these directories are created and interact.

Oracle Utilities Network Management System Directory Overview

The Oracle Utilities Network Management System Directory structure is comprised of three major areas:

•

The Oracle Utilities Network Management System Installation directory

•

The Oracle Utilities Network Management System Project Configuration directory

•

The Oracle Utilities Network Management System Runtime directory

Oracle Utilities Network Management System Installation Directory

The Oracle Utilities Network Management System Installation directory is created as part of the installation process. There are two environment variables involved with this directory:

•

$NMS_ROOT - Points to the top-level of the Oracle Utilities Network Management System installation directory and is typically set to "NMS". The installation process will create a directory under the $NMS_ROOT called "product". Under "product" will be the directories for each version of the Oracle Utilities Network Management System installed named by the fully qualified release number (i.e., $NMS_ROOT/nms/product/1.12.0.2).

•

$CES_HOME - Points to the current product version being utilized by the running system. For example: $CES_HOME=$NMS_ROOT/nms/product/1.12.0.2

The installation directory will contain all content from the Oracle E-Delivery and should not be changed by the runtime system or user.

Oracle Utilities Network Management System Project Configuration Directory

The Oracle Utilities Network Management System Project directory will contain all project-specific configurations, scripts, and programs required to run the Oracle Utilities Network Management System. This directory is identified by the environment variable: $NMS_CONFIG and is typically set to "$NMS_HOME/config". Configuration files in the configuration directory will need to be prefixed by the project name. For example, the project classes file will have the path: $NMS_CONFIG/sql/config_classes.dat.

Here is the top level directory structure for the project configuration directory

$NMS_CONFIG

bin

data

jconfig

migration

sql

workbooks

Other files and directories can exist in the $NMS_CONFIG directory, but only those documented above will be utilized by the install script: nms-install-config.

Oracle Utilities Network Management System Runtime Directory

The Oracle Utilities Network Management System runtime directory will contain all runtime specific configurations, scripts, and programs required to run the Oracle Utilities Network Management System. This directory is identified by the environment variable: $NMS_HOME and for Oracle Utilities Network Management System Release 1.12.0.2 this must be set to $HOME ( i.e., /users/nmsadmin).

$NMS_HOME

bin *

data ($OPERATIONS_MODELS)

etc

java

lib *

logs (based on $CES_LOG_DIR)

migration

data

manual

scripts

sql

nms

sql

xml

* The bin and lib directories have historically contained the Oracle Utilities Network Management System executables and shared libraries. This is no longer true (as of Oracle Utilities Network Management System v1.9.0.1). These executables and shared libraries now exist in $CES_HOME/bin and $CES_HOME/lib.

Oracle Utilities Network Management System Directory Administration

The install process establishes the Oracle Utilities Network Management System Installation Directory. The project implementation team creates the contents of the Oracle Utilities Network Management System Project Directory. The nms-install-config script installs the product and project configurations into the runtime directories. Project files will either be appended to or override the product configurations based on type.

Oracle Utilities Network Management System WebLogic Administrative Actions

There are a few administrative functions that are accessed through a specially configured Java Monitoring & Management Console.

Accessing the Java Monitoring & Management Console

To access the console:

1.

Open a browser and navigate to: http//hostname:port/nms/console.jnlp

2.

Enter the WebLogic administrative username and password.

Reloading a Managed Server

1.

Click the MBeans tab.

2.

In the tree pane, expand NMS, CorbaPublisher., and Operations.

3.

In the tree pane, select action.

4.

In the field under Operation invocation, enter refresh and then click action.

Note: this action is the same as the command line utility:

Action any.pub* ejb refresh

Other Available Operation Invocations

The following options require no parameters. Select Operations and then click the buttons in the Operation Invocation panel, as necessary.

Operation

Description

preprocessMaps

This will ensure that all viewer maps are converted to .ser files. This is generally not necessary since the system will convert maps on demand.

prefetchElectricalMaps

This will load all electrical maps and their status into the managed server. Normally maps are loaded the first time they are accessed.

testGatewayConfiguration

This can test the CORBA gateway configuration of a running system.

mapCacheSize

This shows statistics on the maps that are currently loaded in memory.

Configuring a Web Call Entry-Only Managed Server

The managed server for Web Call Entry can be configured to not require access to the corbagateway or publisher. (Only the database).

Set the managed server up normally with the following changes:

1.

Add -DcorbaInitRef=NONE to the managed server startup parameters (See Configure the Arguments to Use When Starting a Server in Your Domain .)

2.

Change license.properties to have only LicensedProduct=WebCallentry

3.

Create overrides for Web Call configuration files by copying the following files from $CES_HOME/dist/baseconfig/product/ops/callentry/xml/:

•

CALLENTRY_MENUBAR.inc

•

DLG_SAVE_FUZZY.xml

•

DLG_SAVE_UNCONNECTED.xml

to $NMS_CONFIG/jconfig/ops/callentry/xml.

4.

Edit the new CALLENTRY_MENUBAR.inc by replacing:

<Enabled initial="false" when="SAVEABLE or (FUZZY_CALL and TXTF_ADDRESS_POPULATED) or INTERSECTION_POPULATED"/>

<PressPerform>

<Command value="ValidateCallDataCommand"/>

<Command value="SaveCommand"/>

with this:

<Enabled initial="false" when="SAVEABLE or (FUZZY_CALL and TXTF_ADDRESS_POPULATED) or INTERSECTION_POPULATED"/>

<PressPerform>

<Command value="ValidateCallDataCommand"/>

<Command value="SaveCommand">

<Config name="connection" value="database"/>

</Command>

5.

Edit DLG_SAVE_FUZZY.xml by changing

<Enabled initial="false" when="FUZZY_CALL and TXTF_ADDRESS_POPULATED"/>

<PressPerform>

<Command value="SaveCommand"/>

to this:

<Enabled initial="false" when="FUZZY_CALL and TXTF_ADDRESS_POPULATED"/>

<PressPerform>

<Command value="SaveCommand">

<Config name="connection" value="database"/>

</Command>

6.

Edit DLG_SAVE_UNCONNECTED.xml by changing

<ButtonBehavior>

<Enabled initial="false" when="FUZZY_CALL and TXTF_ADDRESS_POPULATED"/>

<PressPerform>

<Command value="SaveCommand"/>

to this:

<ButtonBehavior>

<Enabled initial="false" when="FUZZY_CALL and TXTF_ADDRESS_POPULATED"/>

<PressPerform>

<Command value="SaveCommand">

<Config name="connection" value="database"/>

</Command>

A limitation of running this way is that the managed server will not pick up new control zones that are used for populating fuzzy calls. If a control zone change is done that would affect that function, an administrator would have to run a refresh action on that managed server (See Oracle Utilities Network Management System WebLogic Administrative Actions .)

Troubleshooting Oracle Utilities Network Management System

Please refer to the "Troubleshooting" chapter of the Oracle Utilities Network Management System Configuration Guide for information on typical debugging strategies for various aspects of the system as well as locations of log files that contain pertinent information about the runtime applications.

Updating Configuration and Performing Migrations for a New Release

This appendix defines the steps required to configure and migrate a system to a new release. It is a combination of manual processes and automated scripts. After installing the new version of Oracle Utilities Network Management System, you will first need to apply the required configuration changes. Once that has been done, you need to use ces_setup to run the new migrations. This appendix documents those two processes.

•

Updating Configuration for a New Release

•

Applying Migrations

Updating Configuration for a New Release

Prerequisites

A Subversion client, such as TortoiseSVN for Microsoft Windows (recommended), should be installed on a Windows machine to be used for updating and migrating the project configuration. We require Subversion 1.7 or higher with command line tools.

Note: the examples in this Appendix use TortoiseSVN.

The merging environment uses the same structure as a configuration environment, which is documented in the "Testing the Java Client Configuration" section of the "Java Application Configuration" chapter of the Oracle Utilities Network Management System Configuration Guide.

If you are merging on a Microsoft Windows-based PC that is not set up for configuration changes, do the following:

1.

Install Apache Ant version 1.8.2. Be sure to put the ant bin directory on the system path. For example, if Apache Ant is installed to C:\apache-ant-1.8.2, add C:\apache-ant-1.8.2\bin to the system path.

2.

Create local directories by running these commands from a Microsoft Windows command prompt:

> mkdir C:\OracleNMS

> mkdir C:\OracleNMS\ <your_project_name>

3.

Create the following environment variables in the Microsoft Windows Control Panel:

•

NMS_CONFIG Environment Variable

Name: NMS_CONFIG

Value: C:\OracleNMS\ <your_project_name>

•

NMS_HOME Environment Variable

Name: NMS_HOME

Value: C:\OracleNMS

Updating the Java Configuration to a New Oracle Utilities Network Management System Version

Note: If you have previously set up SVN to handle configuration changes and are moving from a different version or service pack, it is important to start with the existing SVN database from your starting service pack. If you are doing this on a different computer and, thefore, do not have your previous SVN database, do the following steps on your existing system before updating to the new version. However, if you are going to a different patch bundle on the same release, this is not necessary.

On the NMS server, do the following:

$ ant -f $CES_HOME/dist/install/build.xml sanitize unpack_ears

If this is the first time you have done this process, run the following to copy missing product files to your project configuration:

$ cd $NMS_CONFIG/jconfig

$ ant combine_config

In all cases, run the following:

$ cd $NMS_CONFIG

$ zip -r $NMS_HOME/nms_config.zip jconfig

$ cd $NMS_HOME

$ zip -r $NMS_HOME/java.zip java

Next, transfer those zip files to the client machine and unzip them:

•

Unzip nms_config.zip to c:\OracleNMS\ <your_project_name>

•

Unzip java.zip to c:\OracleNMS\

From a Microsoft Windows command prompt:

> cd %NMS_CONFIG%\jconfig

> ant svn

Merging Changes

There are three approaches that can be used when updating configuration:

•

Merging the new product changes to the project's configuration.

> ant merge_product_changes

This will apply the differences between the previous version of the product with the new version, and apply the changes as local modifications to the project's configuration. This works well for patch bundles and service packs.

•

Merging project changes to a product configuration.

When upgrading to a new major release, it may be simpler to start with the new product version, then apply the differences between the project configuration and the old product configuration. This can be a simpler merge if there have been extensive product changes, especially if the project changes are relatively limited. This is done by the following:

> ant merge_project_changes

•

Replacing project changes with product configuration.

This option compares the current project configuration with the current product configuration. The SVN diff tool will show the changes necessary to change the project configuration to product. If this option is used, you should revert the changes that you don't want before committing the changes. This is helpful when it is not possible to use the previous product as a base line, or if it is desirable to audit the differences between project and product. This is done by:

> ant replace_with_product

Validating Configuration Changes

Using Windows Explorer, right click the $NMS_CONFIG/jconfig directory, then select TortoiseSVN and then Check for modifications. The Check for Modifications window lists the files in the directory and whether there are differences in the folder contents or in the individual files.

If you wish to see the changes in a file, right-click a changed file and choose Compare with base to open the TortoiseMerge tool. It will show you the files side-by-side with differences highlighted and allow you to modify or reject the changes.

If there are conflicts, open the TortoiseSVN Edit Conflicts dialog, which will show the changes that were made by the project (under Mine), and the product changes (under Theirs). You can use this tool to resolve conflicts.

If you need to see the history for a file, you can bring up the SVN repository browser and right-click the name of the file and select Show log. To see the specific changes for a bug, right-click and select Compare with previous revision, which will bring up TortoiseMerge with differences between revisions highlighted.

After validating the configuration changes, and resolving any conflicts, test the configuration in the configuration environment to make sure everything is working correctly.

Committing the Changes

Once you’ve verified the changes, commit them by selecting SVN Commit.... In the Commit dialog, enter a description of the revision in the text box and then click OK

Finally, transfer the files in C:\OracleNMS\<your_project_name>\jconfig to the NMS server directory $NMS_CONFIG/jconfig.

Integrating with an Existing SVN Repository

Normally, the system uses a repository that is stored on the local system, in $NMS_HOME\OracleNMS\svn.

To use a different repository, define the location of the repository and paths in build.properties. For example:

# The location of the repository.

# If this is not defined it will the repository located in file:///$NMS_HOME/svn

repository_location = https://svnserver.mycompany.com/svn/trunk/nms

# The path from the root of the repository to where the product revisions should be

# stored. This defaults to "product"

svn.product.path = product

# The path from the root of the repository to where the project revisions should be

# stored. This defaults to "project"

svn.project.path = project

Applying Migrations

Disabling System Logins

When patches are applied to the system, it is important for all users to be out of the system. This can be accomplished with the following Action command from the user that is running the nms services:

Action any.pub* ejb enable_login false

This will force all users to log out and keep them from logging back in. After the system is updated, and you wish to restore logins, run this command:

Action any.pub* ejb enable_login true

Applying Product Migrations

The Apply Product Migrations process migrates the model of an older Oracle Utilities Network Management System release to that of a new software version. Based on a release level identifier, the migration process determines the differences between the current model and that of a new release. After the installation of a new release of software, and the loading of a copy of your existing production database, you will need to do the following:

•

Execute the $CES_HOME/bin/ces_setup.ces script.

This script will call another script called ces_apply_migrations.ces, which determines the differences between the release level of the software and the model database. This script then determines the required and optional migrations by accounting for differences in the release database requirements.

Manual Product Migrations

If a manual migration is required, the ces_setup.ces script will stop at that point and alert the user of the required manual migration. When this occurs, please see the corresponding manual migration file in the $NMS_HOME/migration/manual directory for details on what is required for this migration. The files in this directory are named <####> .txt, where <####> is the bug or problem report (PR) number.

The $NMS_CONFIG/migration/data/<project>_config_ready.dat file serves as a "sign-off" document for the Oracle Utilities Network Management System project team. As you determine that a manual migration has been completed (or is not needed for your system), you must add the corresponding bug numbers to the $NMS_CONFIG/migration/data/<project>_config_ready.dat file by entering one bug number per line. Once you have edited this file, you can run $CES_HOME/bin/nms-install-config to copy it to the $NMS_HOME/migration/data directory or manually copy the file there if you prefer. This signals the migration script that this particular manual migration has been completed. Once the file has been properly copied to $NMS_HOME/migration/data, you need to rerun the ces_setup.ces script. Continue this process until all manual and automated migrations are executed.

Please note that if the Updating Configuration for a New Release process was followed, the configuration changes that are in $NMS_CONFIG/jconfig will have already been updated. While these changes are listed as requiring manual migrations, they just need to be added to the <project>_config_ready.dat. It is expected that in the future the manual migrations will include only those configuration changes needed to configure a new feature or option.

Note: The bug numbers indicated in the manual migration may not be listed in the Oracle Utilities Network Management System Release Notes supplied with the release. The migrations always refer to an original bug, which is associated with a particular release; any other releases that receive the fix will have a separate bug number (i.e., a "copy-bug"). When resolving manual migration issues, always refer back to the text files placed in the $NMS_HOME/migration/manual directory and not the Release Notes HTML associated to that bug fix.

Command Line Options

The ces_apply_migrations.ces script can be initiated directly from the command line in order to view some of the things that it will be doing when started from the ces_setup.ces script. The following table describes all of the command line options for this script.

Option

Description

-debug

Displays debug information.

-showme

List all processes that would be executed, but do not actually execute any programs or SQL files.

-needConfig

Displays a list of migrations that are required by a project.

-listMigrations

Displays a list of migrations needed without applying them.

Note : The ces_apply_migrations script should not be run without any command-line arguments since that would cause the migrations to actually be executed. The command-line arguments listed above are to be used with the script so that it can be run in a "show only" mode but won't actually do the migrations.

Installing Product Migration Files

The data files that are required for the migration process are installed in the $NMS_HOME/migration/data directory. After making changes to the project-specific $NMS_CONFIG/migration/data/<project>_config_ready.dat file and an optional special $NMS_CONFIG/migration/data/<project>_migration.dat file, run nms‑install‑config script to install them into the $NMS_HOME/migration/data directory.

The Product Migration Process

The ces_apply_migrations.ces script determines the database differences by comparing the database release level in the CES_PARAMETERS table with the software release levels found in the software_release_id.dat and software_release_levels.dat files. Based on these differences, it will create a list containing all of the necessary migrations.

The migration process, or ces_apply_migrations.ces, finds the necessary migrations in the $NMS_HOME/migration/data/pr_migration.dat file and the $NMS_HOME/migration/data/product_pr_migration.dat file, which contains the list of PRs, releases, patch levels, and configuration types. If there are project-specific migrations, then a optional <project>_pr_migration.dat file is also used.

The pr_migration.dat files resemble the following example:

PR

Release

Patch

Required

Config Required

Script Exists

ConfigType

----

-------

-----

--------

------

------

----------

19254

5.5

3

Y

Y

Y

config_sql

19831

6.0

3

Y

N

Y

schema_sql

The following table describes the pr_migration.dat file columns.

Column

Description

PR

Bug number for the migration.

Release

Migration release level, two numbers not including the first digit. For example, release 1.8.1 would be just 8.1 in this field.

Patch

Migration patch level. If the release if 1.8.1.2, then the Patch would be 2.

Required

Whether or not this migration is required for the system to function properly. If set to Y, all projects would be forced to execute this migration when encountered. A value of N means that the migration is optional, and it would be skipped for any projects that do not list it within their <proj>_config_ready.dat file.

Config Required

Whether or not configuration is required by a project for the system to function properly. This value is set to Y whenever a change is made that requires configuration work. For instance, if a new required column is added to a configuration table, the population of this new column properly is the domain of the project engineer, not the developer. Setting this field to Y will flag to all project engineers that this migration requires their attention before the migration can be executed. The specific instructions for configuration migration will be documented in the bug’s Migration section; the manual migration text file located in

$NMS_HOME/migration/manual. Project engineers signify that the configuration has been examined and completed by adding this migration bug to the <proj>_config_ready.dat file.

Script Exists

Indicates whether a script exists for the migration. For example, if a script exists for bug 19254, then there is a script pr19254_migration.ces that performs the migration. Not all migrations involve explicit scripts. As an example, a configuration table change would normally not require a migration. However, if it is important that a new configuration column be properly populated, this must be flagged for project engineers. This is done by adding the bug to pr_migration.dat, setting Config Required to Y and Script Exists to N. Even though there is no migration script, the migration process will not proceed until the project engineer has signified that the configuration is complete by adding the bug to the <proj>_config_ready.dat file.

Config Type

Describes the type of configuration change. Valid values are:

•

config_sql - A configuration SQL file has changed.

•

schema_sql - A schema SQL file has changed.

•

retain_sql - A retain SQL file has changed.

•

core_sql - A core (required) data SQL file has changed.

•

data - Model (facilities) data is being migrated.

•

app_defaults - New or obsolete application default options.

•

map_rebuild - The migration script will regenerate map files.

•

metafile_rebuild - The script will regenerate all map metafiles.

•

service_restart - Services must be restarted.

•

environment_restart - All user environments must be restarted.

Correcting Warnings and Errors

The table below shows the corrections for some possible errors you might receive when running the ces_apply_migrations.ces script.

Warning

Remedy

WARNING THE FOLLOWING MIGRATIONS NEED CONFIGURATION

PR_NUMBER RELEASE_PATCH

This warning is displayed when migrations requiring manual changes are found. To determine the necessary changes, refer to the corresponding file in the $NMS_HOME/migration/manual directory. After making the manual changes, add the PR number to the $NMS_CONFIG/migration/<project>_config_ready.dat file.

DATABASE RELEASE LEVEL IS GREATER THAN SOURCE RELEASE LEVEL

MIGRATING BACKWARDS NOT SUPPORTED

This error indicates that the schema level of the database is greater than the runtime executables that are being used. You can return to a prior release if you execute the ces_setup.ces script with the -clean command line option and perform a model build. You should not return to a prior release without running a ces_setup.ces -clean and a model build, for there may be unresolved problems that could cause system instability.

Applying Custom Migrations for Oracle Utilities Network Management System Integrators

The custom migration process allows you to apply custom migrations to the database.

Process Overview

•

Custom migrations are entered in an XML file ( utility_migrations.xml) that is saved to $NMS_CONFIG.

•

Migrations are applied by running ces_setup.ces or when you run ces_apply_migrations.ces manually.

•

ces_setup.ces and ces_apply_migrations.ces call a script (utility-apply-migrations.sh) that launches utility-migrations.jar, which creates or updates the UTILITY_MIGRATIONS database table and then applies the migrations.

Adding Custom Migrations to the Utility Migrations XML File

The utility_migrations.xml file, which is based on the utility_migrations.xsd schema (found in $CES_HOME/xml/), has the following structure:

<utility_migration>

<migration>

<base_name>migration1</base_name>

<before>...</before>

</migration>

<migration>

<base_name>migration2</base_name>

<before>...</before>

</migration>

.

.

.

</utility_migration>

•

The <base_name> element contains the name of the migration file without any suffix. The migration files are either *.ces scripts or *.sql files found in $NMS_HOME/migration/.

•

Any number of <migration> elements may be included in utility_migrations.xml.

•

The <before> element must have one of the following values:

Value

Description

T

True, if the migration is to be run before product migrations.

F

False, if the migration is to be run after product migrations.

Running the Migration Scripts

ces_setup.ces and ces_apply_migrations.ces run a utility migration script that checks for the existence of the utility_migration.xml file. When the utility_migrations.xml file is read, the migration information is used to update the UTILITY_MIGRATIONS database table.

All migrations added to the table must actually exist or an error is generated. For any given <base_name> element, the migration system first looks in $NMS_HOME/migrations/scripts for a .ces script with the given base_name found in the xml file. If such a base_name script is found, it will be run when ces_setup.ces is run. Otherwise, the application will look in $NMS_HOME/migrations/sql for a .sql file with the base_name given in the xml file. If a migration is not found in either directory, an error is generated. All .ces scripts must be executable or the migration will fail to run.

UTILITY_MIGRATIONS Database Table

The migrations found in the $NMS_CONFIG/utility_migrations.xml file are stored in the UTILITY_MIGRATIONS database table, which is defined by the following:

create table utility_migrations (

stamp TIMESTAMP not null,

base_name VARCHAR2(32) unique not null,

before VARCHAR2(1) not null,

applied VARCHAR2(1) not null,

status VARCHAR2(32) not null)

where

•

The stamp column is an Oracle TIMESTAMP datatype representing the time when the migration was added to the table. The base_name column should contain the simple file name of the migration without any suffix. The utility-apply-migrations.sh script will look for this sql file in $NMS_HOME/migration/sql. It will also look in $NMS_HOME/migration/scripts for filename.ces, if it exists. If a script exists, it will be executed. Otherwise, the sql file is run in instead.

•

The before column is set to "T" if a migration is to be applied before product migrations and to "F" if it is to be applied after product migrations.

•

The status column will contain the most recent status for a migration. This will usually will be Inserted, Applied, or Failed.

•

The applied column is "T" if the migration has been applied to the database. If the applied column is "F", the migration has not yet been applied to the database.

Note: once a migration has been applied to the database, that migration can no longer be changed in the database.

Third Party Software

This appendix provides licensing and copyright information associated with the open source third party products installed with the Oracle Utilities Network Management System.

•

ACE / TAO 2.2.0

•

Apache Packages

•

boost-1.45.1

•

csmap-1922

•

gsoap-2.7.16

•

Jena 2.6.4

•

Jython 2.7

•

PCRE 8.35

•

proxy-vole 20131209

•

lighttpd 1.4.33

ACE / TAO 2.2.0

ACE(TM), TAO(TM), CIAO(TM), and CoSMIC(TM) (henceforth referred to as "DOC software") are copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (c) 1993-2008, all rights reserved. Since DOC software is open-source, freely available software, you are free to use, modify, copy, and distribute--perpetually and irrevocably--the DOC software source code and object code produced from the source, as well as copy and distribute modified versions of this software. You must, however, include this copyright statement along with any code built using DOC software that you release. No copyright statement needs to be provided if you just ship binary executables of your software products.

You can use DOC software in commercial and/or binary software releases and are under no obligation to redistribute any of your source code that is built using DOC software. Note, however, that you may not do anything to the DOC software code, such as copyrighting it yourself or claiming authorship of the DOC software code, that will prevent DOC software from being distributed freely using an open-source development model. You needn't inform anyone that you're using DOC software in your software, though we encourage you to let us know so we can promote your project in the DOC software success stories.

The ACE, TAO, CIAO, and CoSMIC web sites are maintained by the DOC Group at the Institute for Software Integrated Systems (ISIS) and the Center for Distributed Object Computing of Washington University, St. Louis for the development of open-source software as part of the open-source software community. Submissions are provided by the submitter ``as is'' with no warranties whatsoever, including any warranty of merchantability, noninfringement of third-party intellectual property, or fitness for any particular purpose. In no event shall the submitter be liable for any direct, indirect, special, exemplary, punitive, or consequential damages, including without limitation, lost profits, even if advised of the possibility of such damages. Likewise, DOC software is provided as is with no warranties of any kind, including the warranties of design, merchantability, and fitness for a particular purpose, noninfringement, or arising from a course of dealing, usage or trade practice. Washington University, UC Irvine, Vanderbilt University, their employees, and students shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by DOC software or any part thereof. Moreover, in no event will Washington University, UC Irvine, or Vanderbilt University, their employees, or students be liable for any lost revenue or profits or other special, indirect and consequential damages.

DOC software is provided with no support and without any obligation on the part of Washington University, UC Irvine, Vanderbilt University, their employees, or students to assist in its use, correction, modification, or enhancement. A number of companies around the world provide commercial support for DOC software, however.

DOC software is Y2K-compliant, as long as the underlying OS platform is Y2K-compliant. Likewise, DOC software is compliant with the new US daylight savings rule passed by Congress as "The Energy Policy Act of 2005," which established new daylight savings times (DST) rules for the United States that expand DST as of March 2007. Since DOC software obtains time/date and calendaring information from operating systems users will not be affected by the new DST rules as long as they upgrade their operating systems accordingly.

The names ACE(TM), TAO(TM), CIAO(TM), CoSMIC(TM), Washington University, UC Irvine, and Vanderbilt University, may not be used to endorse or promote products or services derived from this source without express written permission from Washington University, UC Irvine, or Vanderbilt University. This license grants no permission to call products or services derived from

this source ACE(TM), TAO(TM), CIAO(TM), or CoSMIC(TM), nor does it grant permission for the name Washington University, UC Irvine, or Vanderbilt University to appear in their names.

Apache Packages

•

Apache Ant 1.9.2

•

Apache Commons BeanUtils 1.6

•

Apache Commons Configuration 1.6

•

Apache Commons Codec 1.3

•

Apache Commons Collections 3.2.1

•

Apache Commons Digester 1.7

•

Apache Commons HttpClient 3.1

•

Apache Commons Lang 2.6

•

Apache Log4j 1.2.14

•

Apache PDFBox 1.8.2

•

Apache Xalan C++ 1.11

•

Apache Xerces C++ 3.1.1

•

deep-equals 1.7

Apache License, Version 2.0, January 2004

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

1. You must give any other recipients of the Work or Derivative Works a copy of this License; and

2. You must cause any modified files to carry prominent notices stating that You changed the files; and

3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

boost-1.45.1

Boost Software License, Version 1.0, August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third parties to whom the Software is furnished to do so, all subject to the following:

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON- INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

csmap-1922

/*

* Copyright (c) 2008, Autodesk, Inc.

* All rights reserved.

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions are met:

* * Redistributions of source code must retain the above copyright

* notice, this list of conditions and the following disclaimer.

* * Redistributions in binary form must reproduce the above copyright

* notice, this list of conditions and the following disclaimer in the

* documentation and/or other materials provided with the distribution.

* * Neither the name of the Autodesk, Inc. nor the names of its

* contributors may be used to endorse or promote products derived

* from this software without specific prior written permission.

*

* THIS SOFTWARE IS PROVIDED BY Autodesk, Inc. ``AS IS'' AND ANY

* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

* DISCLAIMED. IN NO EVENT SHALL Autodesk, Inc. OR CONTRIBUTORS BE LIABLE FOR

* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL

* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR

* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER

* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

gsoap-2.7.16

License, Version 1.3b

The gSOAP public license is derived from the Mozilla Public License (MPL1.1). The sections that were deleted from the original MPL1.1 text are 1.0.1, 2.1.(c),(d), 2.2.(c),(d), 8.2.(b), 10, and 11. Section 3.8 was added. The modified sections are 2.1.(b), 2.2.(b), 3.2 (simplified), 3.5 (deleted the last sentence), and 3.6 (simplified).

This license applies to the gSOAP software package, with the exception of the wsdl2h source code located in gsoap/wsdl, all code generated by wsdl2h, the UDDI source code gsoap/uddi2, and the Web server sample source code samples/webserver. To use all of the software commercially, a commercial license has to be obtained from www.genivia.com.

1 DEFINITIONS.

1.0.1.

1.1. "Contributor"

means each entity that creates or contributes to the creation of Modifications.

1.2. "Contributor Version"

means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.

1.3. "Covered Code"

means the Original Code, or Modifications or the combination of the Original Code, and Modifications, in each case including portions thereof.

1.4. "Electronic Distribution Mechanism"

means a mechanism generally accepted in the software development community for the electronic transfer of data.

1.5. "Executable"

means Covered Code in any form other than Source Code.

1.6. "Initial Developer"

means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.

1.7. "Larger Work"

means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.

1.8. "License"

means this document.

1.8.1. "Licensable"

means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.

1.9. "Modifications"

means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:

A.

Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.

B.

Any new file that contains any part of the Original Code, or previous Modifications.

1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.

1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.

1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.

1.12. "You" (or "Your")

means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.

2 SOURCE CODE LICENSE.

2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:

(a)

under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and

(b)

under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell ("offer to sell and import") the Original Code, Modifications, or portions thereof, but solely to the extent that any such patent is reasonably necessary to enable You to utilize, alone or in combination with other software, the Original Code, Modifications, or any combination or portions thereof.

(c)

(d) 2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license

(a)

under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and

(b)

under patents now or hereafter owned or controlled by Contributor, to make, have made, use and sell ("offer to sell and import") the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to utilize, alone or in combination with other software, the Contributor Version (or portions thereof).

(c)

(d)

3 DISTRIBUTION OBLIGATIONS.

3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.

3.2. Availability of Source Code. Any Modification created by You will be provided to the Initial Developer in Source Code form and are subject to the terms of the License.

3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.

3.4. Intellectual Property Matters.

(a) Third Party Claims.

If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.

(b) Contributor APIs.

If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.

(c) Representations.

Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License. 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor.

3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. If you distribute executable versions containing Covered Code as part of a product, you must reproduce the notice in Exhibit B in the documentation and/or other materials provided with the product.

3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.

3.8. Restrictions. You may not remove any product identification, copyright, proprietary notices or labels from gSOAP.

4 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION.

If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.

5 APPLICATION OF THIS LICENSE.

This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.

6 VERSIONS OF THE LICENSE.

6.1. New Versions. Grantor may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.

6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License.

6.3. Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrase "gSOAP" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the gSOAP Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)

7 DISCLAIMER OF WARRANTY.

COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS, AND ANY WARRANTY THAT MAY ARISE BY REASON OF TRADE USAGE, CUSTOM, OR COURSE OF DEALING. WITHOUT LIMITING THE FOREGOING, YOU ACKNOWLEDGE THAT THE SOFTWARE IS PROVIDED "AS IS" AND THAT THE AUTHORS DO NOT WARRANT THE SOFTWARE WILL RUN UNINTERRUPTED OR ERROR FREE. LIMITED LIABILITY THE ENTIRE RISK AS TO RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU. UNDER NO CIRCUMSTANCES WILL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY KIND OR NATURE WHATSOEVER, WHETHER BASED ON CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, ARISING OUT OF OR IN ANY WAY RELATED TO THE SOFTWARE, EVEN IF THE AUTHORS HAVE BEEN ADVISED ON THE POSSIBILITY OF SUCH DAMAGE OR IF SUCH DAMAGE COULD HAVE BEEN REASONABLY FORESEEN, AND NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY EXCLUSIVE REMEDY PROVIDED. SUCH LIMITATION ON DAMAGES INCLUDES, BUT IS NOT LIMITED TO, DAMAGES FOR LOSS OF GOODWILL, LOST PROFITS, LOSS OF DATA OR SOFTWARE, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION OR IMPAIRMENT OF OTHER GOODS. IN NO EVENT WILL THE AUTHORS BE LIABLE FOR THE COSTS OF PROCUREMENT OF SUBSTITUTE SOFTWARE OR SERVICES. YOU ACKNOWLEDGE THAT THIS SOFTWARE IS NOT DESIGNED FOR USE IN ON-LINE EQUIPMENT IN HAZARDOUS ENVIRONMENTS SUCH AS OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR CONTROL, OR LIFE-CRITICAL APPLICATIONS. THE AUTHORS EXPRESSLY DISCLAIM ANY LIABILITY RESULTING FROM USE OF THE SOFTWARE IN ANY SUCH ON-LINE EQUIPMENT IN HAZARDOUS ENVIRONMENTS AND ACCEPTS NO LIABILITY IN RESPECT OF ANY ACTIONS OR CLAIMS BASED ON THE USE OF THE SOFTWARE IN ANY SUCH ON-LINE EQUIPMENT IN HAZARDOUS ENVIRONMENTS BY YOU. FOR PURPOSES OF THIS PARAGRAPH, THE TERM "LIFE-CRITICAL APPLICATION" MEANS AN APPLICATION IN WHICH THE FUNCTIONING OR MALFUNCTIONING OF THE SOFTWARE MAY RESULT DIRECTLY OR INDIRECTLY IN PHYSICAL INJURY OR LOSS OF HUMAN LIFE. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.

8 TERMINATION.

8.1.

This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.

8.2.

8.3.

If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.

8.4.

In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.

9 LIMITATION OF LIABILITY.

UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.

10 U.S. GOVERNMENT END USERS.

11 MISCELLANEOUS.

12 RESPONSIBILITY FOR CLAIMS.

As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.

EXHIBIT A.

"The contents of this file are subject to the gSOAP Public License Version 1.3 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.cs.fsu.edu/ engelen/soaplicense.html

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Original Code of the gSOAP Software is: stdsoap.h, stdsoap2.h, stdsoap.c, stdsoap2.c, stdsoap.cpp, stdsoap2.cpp, soapcpp2.h, soapcpp2.c, soapcpp2_lex.l, soapcpp2_yacc.y, error2.h, error2.c, symbol2.c, init2.c, soapdoc2.html, and soapdoc2.pdf, httpget.h, httpget.c, stl.h, stldeque.h, stllist.h, stlvector.h, stlset.h.

The Initial Developer of the Original Code is Robert A. van Engelen. Portions created by Robert A. van Engelen are Copyright (C) 2001-2004 Robert A. van Engelen, Genivia inc. All Rights Reserved.

Contributor(s):

"________________________."

[Note: The text of this Exhibit A may differ slightly form the text of the notices in the Source Code files of the Original code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]

EXHIBIT B.

"Part of the software embedded in this product is gSOAP software.

Portions created by gSOAP are Copyright (C) 2001-2009 Robert A. van Engelen, Genivia inc. All Rights Reserved.

THE SOFTWARE IN THIS PRODUCT WAS IN PART PROVIDED BY GENIVIA INC AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."

Jena 2.6.4

Unless otherwise noted, the following copyright statement applies:

© Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP

© Copyright 2010 Talis Systems Ltd.

© Copyright 2010 Epimorphics Ltd.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Jena includes software developed by the Apache Software Foundation (http://www.apache.org/).

Jena includes RDF schemes from DCMI:

Portions of this software may use RDF schemas Copyright (c) 2006 DCMI, the Dublin Core Metadata Initiative. These are licensed under the Creative Commons 3.0 Attribution license.

Jena is built on top of other sub-systems which we gratefully acknowledge: details of these systems and their version numbers.

YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.

Jython 2.7

Jython Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: ? Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. ? Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. ? Neither the name of the Jython Developers nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

PCRE 8.35

PCRE LICENCE

------------

PCRE is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language.

Release 8 of PCRE is distributed under the terms of the "BSD" licence, as specified below. The documentation for PCRE, supplied in the "doc" directory, is distributed under the same terms as the software itself.

The basic library functions are written in C and are freestanding. Also included in the distribution is a set of C++ wrapper functions, and a just-in-time compiler that can be used to optimize pattern matching. These are both optional features that can be omitted when the library is built.

THE BASIC LIBRARY FUNCTIONS

---------------------------

Written by: Philip Hazel

Email local part: ph10

Email domain: cam.ac.uk

University of Cambridge Computing Service,

Cambridge, England.

Copyright (c) 1997-2014 University of Cambridge

All rights reserved.

PCRE JUST-IN-TIME COMPILATION SUPPORT

-------------------------------------

Written by: Zoltan Herczeg

Email local part: hzmester

Emain domain: freemail.hu

Copyright(c) 2010-2014 Zoltan Herczeg

All rights reserved.

STACK-LESS JUST-IN-TIME COMPILER

--------------------------------

Written by: Zoltan Herczeg

Email local part: hzmester

Emain domain: freemail.hu

Copyright(c) 2009-2014 Zoltan Herczeg

All rights reserved.

THE C++ WRAPPER FUNCTIONS

-------------------------

Contributed by: Google Inc.

Copyright (c) 2007-2012, Google Inc.

All rights reserved.

THE "BSD" LICENCE

-----------------

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice,

this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.

* Neither the name of the University of Cambridge nor the name of Google

Inc. nor the names of their contributors may be used to endorse or

promote products derived from this software without specific prior

written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

End

proxy-vole 20131209

Copyright (c) 2009, Bernd Rosstauscher

* All rights reserved.

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions are met:

* * Redistributions of source code must retain the above copyright

* notice, this list of conditions and the following disclaimer.

* * Redistributions in binary form must reproduce the above copyright

* notice, this list of conditions and the following disclaimer in the

* documentation and/or other materials provided with the distribution.

* * Neither the name of the <organization> nor the

* names of its contributors may be used to endorse or promote products

* derived from this software without specific prior written permission.

*

* THIS SOFTWARE IS PROVIDED BY BERND ROSSTAUSCHER ''AS IS'' AND ANY

* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

* DISCLAIMED. IN NO EVENT SHALL BERND ROSSTAUSCHER BE LIABLE FOR ANY

* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

lighttpd 1.4.33

Copyright (c) 2004, Jan Kneschke, incremental

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

- Neither the name of the 'incremental' nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.