Deploying ENOVIA Web Services

What are ENOVIA Web Services?

ENOVIA web services allow you to facilitate the integration of ENOVIA with other systems (for example, SAP) using standard tools and protocols.

ENOVIA web services are delivered with certain ENOVIA V5 VPM configurations/products specified in Installing Configurations/Products Supporting ENOVIA Web Services.

 

Software Prerequisites

The software prerequisites for ENOVIA web services are the same as for the ENOVIA V5 VPM server.

On Windows, the following are required:

  • Microsoft .NET Framework Version 1.1 Redistributable Package
  • Microsoft Visual J# Redistributable Package 1.1.
 

Installing Configurations/Products Supporting ENOVIA Web Services

ENOVIA web services are delivered with the configurations and products located on the ENOVIA V5 VPM installation media (there is no separate media for ENOVIA web services):

  • ADR - ENOVIA - Security Administrator Configuration
    Web services: ENOVWSQueryImpl, ENOVWSConcEngImpl, ENOVWSLCMgmtImpl, and ENOPosWS
  • DMT - ENOVIA - Document Management Product + LMW - ENOVIA - LCA PRODUCT LIFECYCLE MANAGEMENT WEB SERVICES Product
    Web service: ENOVWSCntMgmtImpl
  • ECM - ENOVIA - Engineering Change Management Product + LMW - ENOVIA - LCA PRODUCT LIFECYCLE MANAGEMENT WEB SERVICES Product
    Web service: ENOVWSChgMgmtImpl
  • PAS - ENOVIA - EBOM DETAILING & CONFIGURATION Product + DEW ENOVIA - VPM PRODUCT DESIGN WEB SERVICES Product
    Web service: ENOVWSProdStructImpl

A full installation for ENOVIA V5 VPM web services is the same as a normal installation of ENOVIA V5 VPM.

We recommend that you perform a separate ENOVIA V5 VPM installation for ENOVIA web services. Adding the configurations/products specified below to an existing ENOVIA V5 VPM installation is not supported.

If the ENOVIA V5 VPM installation and the WebSphere Application Server are on different machines, all of the configuration and products containing ENOVIA web services must be installed on both machines.

In particular, when setting up the ENOVIA V5 VPM server and database, nothing prevents you from pointing to an existing database (enoviadbsetup step) hosted on another machine. This will enable you, for example, to use the same database, whenever necessary, which can be modified using either an ENOVIA VPM Lifecycle Navigator, for example, or using ENOVIA web services.

The installation involves the following steps:
 

For information about how to... Refer to...

Install the configurations and/or products containing ENOVIA web services

Unloading Your Product Code on Windows
Unloading Your Product Code on UNIX
Set up your ENOVIA V5 server Setting Up Databases for the ENOVIA Version 5 Server on Windows
Setting Up Databases for the ENOVIA Version 5 Server on UNIX
Create a database for settings persistency Creating a DB2 Database for Settings Persistency
Creating an Oracle Database for Settings Persistency
Deploy the ENOVIA V5 VPM code in the WebSphere Application Server by deploying an Enterprise Archive File Creating the Enterprise Archive File
Configure and customize an LDAP repository (if you are using LDAP) Configuring and Customizing the LDAP Repository
Secure the WebSphere Application Server Securing the WebSphere Application Server
Regenerate the Web Server Plus-in Regenerating the Web Server Plug-In
Check that the deployed application is up and running Checking that the Web Application is Running

Warning: unloading code containing ENOVIA web services into an installation path created by another product installation (for example, ENOVIA VPM Lifecycle Navigator) is strictly forbidden. When you deploy the web application in the WebSphere Application Server, you do so using the WASSetupUI command which prompts you to select a runtime view. The creation or automatic deployment of an Enterprise Archive File allowing ENOVIA web services and ENOVIA VPM Lifecycle Navigator to coexist on the same server is not supported, particularly for performance reasons.

Once the installation is complete, proceed with the operations described below.

 

Copying the wsdl4j.jar on UNIX

On UNIX, you have to copy the wsdl4j.jar archive file from the WebSphere Application Server installation to the runtime view of the ENOVIA V5 VPM web services installation. To do so:

  1. As root, go to the following WebSphere Application Server installation folder:

    WAS_install_directory/AppServer/lib
     
  2. Enter the command to copy the archive file to the runtime view, for example:

    cp wsdl4j.jar /usr/DassaultSystemes/B18/OS/docs/javacommon
 

Setting the Transaction Lifetime Timeout

By default, the transaction lifetime timeout from WebSphere 6.0.2 is set to 120 seconds. It must be increased in order to prevent unexpected connection failures between the Web service client and the target server, as some operations may require more time to proceed.

To do so, you must open the WebSphere administrative console, and browse to:
Servers > Application servers > [server name] > Container Settings > Container Services > Transaction Service.

The Total transaction lifetime timeout field can then be increased to support long term transactions. For example, the default value can be increased up to 3600 seconds.

 

Deploying ENOVIA Web Services

To deploy ENOVIA Web Services, you must perform the following five steps:

  • activate SSO on the ENOVIA server side
  • start Orbix (on the machine hosting the ENOVIA V5 VPM web services installation)
  • start the Server Manager (on the machine hosting the ENOVIA V5 VPM web services installation)
  • create a credential set instance for Single Sign-On (SSO)
  • configure the ServerPool.xml file (on the machine hosting the WebSphere Application Server installation).
 

Activating SSO on the ENOVIA Server

Activate the SSO component for the ENOVIA server in the V5 installation path of the ENOVIA server. To do so in the context of ENOVIA web services, do NOT follow the instructions explained elsewhere in this guide about activating SSO on the ENOVIA server.

The following operations are required to activate the SSO component for the ENOVIA server and must be performed in the V5 installation path of the ENOVIA server:

  1. Copy the CATSSO.dic dictionary file from:

    install_path/$os/startup/sso (UNIX)
    install_path\$os\startup\sso (Windows)

    to:

    install_path/$os/code/dictionary (UNIX)
    install_path\$os\code\dictionary (Windows)

  2. Edit the file:

    install_path/$os/resources/sso/SSOClient.properties  (UNIX)
    install_path\$os\resources\sso\SSOClient.properties (Windows)

    and set the following properties to "yes" (the default is "no"):

    SSOActivated=yes
    SSOSecuredEnvironment=yes

    The role of the property SSOActivated is to activate the SSO mode.

    The role of the property SSOSecuredEnvironment is to specify that you have secured the application server hosting the SSO Server.

 

Starting Orbix

The Orbix daemon is started automatically when you install ENOVIA V5 VPM. If you need to restart Orbix for any reason on either UNIX or Windows, refer to Checking the Orbix Daemon.

This section also contains information, for example, about configuring the Orbix daemon as a service on Windows so that it is restarted each time the machine is rebooted.

 

Starting the Server Manager

Contrary to WinTop or WebTop clients, the server manager must be started manually in command line mode (and not interactively by starting the ENOVIA VPM Product Editor) by adding a specific option allowing configuration in HTTP communication mode:

-httpPort XXXX

ENOVIA web services require a dedicated server manager instance. Even though the server manager can be started automatically using the required option by modifying the CATIAServerManager.IMP file and starting the ENOVIA VPM Product Editor, correct operation of the server must not be dependent on the ENOVIA client.

  1. Set (Windows) or export (UNIX) the following variables:

    IT_DAEMON_PORT=<Orbix port>
    IT_CONFIG_PATH=<Install_path>\intel_a\startup\orbix (Windows)
                             <Install_path>/OS/startup/orbix (UNIX)
    SERVER_HOME=<Install_path>\intel_a\code (Windows)
                         <Install_path>/OS/code (UNIX)
    CATInstallPath=<Install_path>\intel_a (Windows)
                         <Install_path>/OS (UNIX)
    CATDictionaryPath=<Install_path>\intel_a\code\dictionary (Windows)
                              <Install_path>/OS/code/dictionary (UNIX)
    CATJWSServiceDirectory=http://host.domain:port/RootURI
    CATLoginServletHost=<wasservername>
    CATSMWebMode=true


    Warning: on Windows, when setting the variables required by the server manager, do not use the " character, therefore do not include the paths for the variables inside " " even if they contain blanks.
     
  2. Start the server manager.

    On Windows, go to the install folder, for example:

    C:\Program Files\Dassault Systemes\B18\intel_a\code\bin\

    then run the following command:

    GW0SRVMG.exe -env ENOVIA_V5_VPM.V5R18.B18 -direnv "C:\Documents and Settings\All Users\Application Data\DassaultSystemes\CATEnv"
    -timeOut 3600000 -httpPort 4004

    On UNIX, go the the directory:

    /usr/DassaultSystemes/B18/OS/code/command

    and run the following command:

    ./catstart -env ENOVIA_V5_VPM.V5R18.B18 -direnv $HOME/CATEnv -run "GW0SRVMG -timeOut 3600000 -httpPort 4004"

    making sure that you add the -httpPort option: the port number will be referenced when configuring the ServerPool.xml file.
 

Creating a Credential Set Instance for SSO

You must then create a credential set instance for SSO as explained in Configuring Credential Sets for Single Sign-On.

  1. Open a web browser.

  2. Enter the URL of the corresponding application like this:

    http:<host_name>.<domain>:<webapp_port>/<rootURI>/html/SSOAdminConsole

    For example:

    http://loug3dsy.dsy.ds:9080/B18/html/SSOAdminConsole

  3. Log onto the console.
  4. Click the Create button to display the Create Instance page, then fill in the following fields:

    SSO user: user authenticated via LDAP security (for example, wpsadmin)
    Application Name: select ENOVIA V5 from the list
    Instance Name: any value, but we recommend "default"; this value will be used when configuring the ServerPool.xml file
    User who starts the LCA Server: system user used to start the ENOVIA V5 VPM server. This user must belong to the administrator group (Windows). The chosen user may be different from the P&O Username declared below, in which case it may not match a user declared in the People and Organization (P&O) database.
    Password of the user who starts the LCA server: password of the system user used to start the ENOVIA V5 VPM server
    P&O Username: This is the name of the person in the People and Organization (P&O) database. This person is the owner of objects created in the P&O database. We recommend that the P&O username matches the name for the user declared in the LDAP repository (SSO Username) to avoid confusion.

    Note: The Create Instance page is generic and also contains the fields Full context to be used by the P&O User  and Operating System Domain which are not used in this context and must not be filled in:


     
  5. Click the Create button to create the credential set instance.
 

Configuring the ServerPool.xml File

This file allows you to configure the HTTP connection which will be established between the application server (WebSphere), and the server manager and ENOVIA V5 VPM server.

The following file must be created in the runtime view where the code was unloaded, and referenced during the WASSetupUI step.

<Install_path>\intel_a\resources\server\ServerPool.xml (Windows)
<Install_path>/OS/resources/server/ServerPool.xml (UNIX)

The file contains the following:

<?xml version="1.0" encoding="UTF-8"?>
<servers poolSize="1">
<server host="apis2dsy.dsy.ds" timeOut="300" port="4004" shell="runServerVPM_CXR1.sh" appli="enovia" instance="default" maxInstances="1" maxAttempts="1" />
</servers>

host: name of the machine (including the domain name) where the server manager is started

port: port number you set using the -httpPort option when starting the server manager

timeOut (in seconds): HTTP connection timeout between WebSphere and the ENOVIA V5 VPM server. If the response from the ENOVIA server has not been received before the timeout expires, the connection is interrupted and an error is transmitted to the client

appli: the mandatory value is "enovia" (lower case only)

shell: the shell run is runServerVPM_CXR1.sh, valid for both UNIX and Windows

instance: name for the credential set instance; this will be "default" if you followed the recommendations when creating the credential set instance

maxInstances:

maxAttempts:

 

Crash while running the ExtractDocument Web Service

Problem description
Large file size in a document extraction causes server to crash while running the ExtractDocument Web Service.

Solution
Define a runtime variable restricting size of document which will be extracted:
export WSDOC_EXT=1 ( Example - 1 mb)

Usage
The number assigned to this variable limits the size of the file in megabytes that can be extracted using web services. For example, if it is set to 50 then files greater than 50 MB will not be returned as binary, and instead of a crash, a warning is returned.

In its absence or if nothing is assigned to this variable, the web services code will attempt to extract the file irrespective of the size of the file. Please avoid using decimal numbers.

General suggestion for Extract Document
If the introspection is turned ON while extracting a document, the ENOVIA V5 VPM server converts CATPart into different formats which may be installation dependent.
It is advised to turn OFF the introspection process by defining the runtime variables:

export ENOVIA_WO_INTROSPECTION=1
export CATJWS_JAVA_OPTION="-Xmx512m"