9 Harvesting Published Business Services into the Oracle Enterprise Repository Server

The information in this chapter applies only to customers using JD Edwards EnterpriseOne business services and Oracle Enterprise Repository.

This chapter contains the following topics:

Overview

JD Edwards EnterpriseOne provides the ability to harvest information about published business services to the Oracle Enterprise Repository. Oracle Enterprise Repository is a metadata repository that serves as a single source of truth for information about Oracle Service-Oriented Architecture (SOA) assets and their dependencies. Oracle Enterprise Repository is a searchable repository that manages assets and relationships between assets.

Prerequisites

Before harvesting JD Edwards EnterpriseOne published business services into the Oracle Enterprise Repository server, perform the following prerequisites:

  • Set up the Oracle Enterprise Repository server.

    For information about the installation and setup of the Oracle Enterprise Repository server, see Oracle® Fusion Middleware Installation Guide for Oracle Enterprise Repository 11g Release 1 (11.1.1).

  • Configure the Harvester tool.

    The Harvester is used to harvest JD Edwards EnterpriseOne published business services artifacts into the Oracle Enterprise Repository server.

    The Harvester is included in the Oracle Enterprise Repository 11g installation in the 11.1.1.3.0-OER-Harvester.zip file. The .zip file is located in the following Oracle Enterprise Repository installation directory:

    <ORACLE_HOME>/repositoryXXX/core/tools/solutions/11.1.1.3.0-OER-Harvester.zip
    

    To configure the Harvester:

    Note:

    The following steps are general and should work with most configurations. For detailed instructions on configuring the Harvester, see "Configuring and Using Automated Harvesting in Design-time and Runtime Environments" in the Oracle® Fusion Middleware Configuration Guide for Oracle Enterprise Repository 11g Release 1 (11.1.1).
    1. Extract the 11.1.1.3.0-OER-Harvester.zip to a <Harvester Home> directory.

    2. Set the JAVA_HOME environment variable to the JDK 1.6 home.

    3. In the Harvester subfolder, open the HarvesterSettings.xml file.

    4. In the HarvesterSettings.xml file, under the repository section, complete the following elements:

      • <uri>.

        Enter the URL to the Oracle Enterprise Repository server.

      • <user> (in the credentials section).

        Enter the Oracle Enterprise Repository admin user.

      • <password> (in the credentials section).

        Enter the Oracle Enterprise Repository admin password.

    5. Access encryptRun encrypt.bat to encrypt the password stored in the HarvesterSettings.xml file.

      The encrypt.bat is located in the Harvester subfolder.

    6. Use the following command to run encrypt.bat:

      encrypt.bat HarvesterSettings.xml HarvesterSettings.xml 
      

Generating Business Service Asset Definition XML Files/Artifacts

To harvest JD Edwards EnterpriseOne published business services artifacts into the Oracle Enterprise Repository server, you have to configure the business services package build process to generate one business service asset definition XML file per published business service (selected in the Assemble Business Services application).

An asset definition XML file contains information about the published business service, such as the name of the published business service, the published method names, the web services description language (WSDL) location of the published business service, and so forth.

To generate the business service asset definition XML files during the business services package build process, add the following parameter and value to the MTR VALIDATION section of JD Edwards EnterpriseOne jde.ini file for the Microsoft Windows client:

GenerateAssetXml=1 

Note:

By default, the GenerateAssetXml flag is not present in the JD Edwards EnterpriseOne Windows client jde.ini file. Therefore, the asset definition XML files are not generated by default during the business services package build process.

The following example shows an asset definition .xml file generated for the RI_CustomerManager published business service:

<?xml version="1.0" encoding="UTF-8"?>
<AssetDef xmlns="http://xml.oracle.com/AIA/CAR/V1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xml.oracle.com/AIA/CAR/V1 auasset.xsd">    
<Instance>
<Core>
<UID>
<AssetType>JDEdwardsE1: Business Service</AssetType>        
<TargetNameSpace>http://xml.oracle.com/JDEdward/EnterpriseOne</TargetNameSpace>        
<Name>JPR01020.RI_CustomerManager</Name>        
<Version>E812</Version></UID>
<Description>RI_CustomerManager</Description>        
<LocationURL>Actual WSDL URL of PBSSV to be set here after BSSV Package Deploy</LocationURL>
<Dynamic>
<Name>getCustomerCreditInfo</Name>
<Value>Published method for getCustomerCreditInfo retrieves credit information for Customer using provided entity id.
       Acts as wrapper method, passing null context and null connection, will call protected getCustomerCreditInfo.
       This is a reference implementation for getting customer credit information, it should not be used in Production.
</Value>
</Dynamic>
<Category>
<ApplicationName>JD Edwards EnterpriseOne</ApplicationName>        
<Keywords/></Category></Core>
<Extend>
<Category>
<Name/>
<Value/></Category>
<Attribute>
<Name>Application Release</Name>
<Value>E812</Value></Attribute>
<Attribute>
<Name>Production Code</Name>
<Value>H95</Value></Attribute>
<Attribute>
<Name>Production Code Description</Name>        
<Value>Object and Environment Tech</Value></Attribute>        
<Attribute>
<Name>Published Business Service Class</Name>        
<Value>oracle.e1.bssv.JPR01020.RI_CustomerManager</Value></Attribute> 
<Attribute>
<Name>Java Doc Location</Name>
<Value>rep://JDEdwardsE1: Business Service:DV812_JAVA_DOC/oracle/e1/bssv/JPR01020/RI_CustomerManager.html</Value></Attribute>        
<Attribute>
<Name>Java Doc URL</Name>
<Value>click here for Java Doc for RI_CustomerManager</Value>
</Attribute>
</Extend>
</Instance>
</AssetDef>

When the business services package build process completes successfully, the generated asset definition XML files are placed on the deployment server at:

DEP_SERVER\APP_RELEASE\PATHCODE\PACKAGE\PACKAGENAME\ASSETDEFNFILES

Understanding the LocationURL Element in the Asset Definition XML File

After the business services package build process completes successfully and the asset definition xml files are generated, the business services package must be deployed to a valid business services server instance.

After a successful business services package deployment, the LocationURL element in each of the business service asset definition xml files is automatically updated with the actual WSDL URL of the deployed published business service.

For business services deployed to Oracle Application Server (OAS) and WebSphere Application Server (WAS), the WSDL URL is an http-based URL, for example:

  • The LocationURL element for the RI_CustomerManager published business service that is deployed to OAS is set as:

    <LocationURL>http://MachineName:HTTPPortNo /DV812/RI_CustomerManager?WSDL</LocationURL> 
    
  • The LocationURL element for the RI_CustomerManager published business service that is deployed to WAS is set as:

    <LocationURL>http://MachineName:HTTPPortNo /DV812_WEB/services/RI_AddressBookManagerHttpPort/wsdl/RI_AddressBookManager?WSDL</LocationURL> 
    

For business services deployed to Oracle WebLogic Server, the WSDL URL is specified as an https-based URL. For example, the LocationURL element for the RI_CustomerManager published business service deployed to WebLogic Server is set as:

<LocationURL>https://MachineName:SSLPortNo /DV812/RI_CustomerManager?WSDL</LocationURL>  

When the business services package is deployed to the WebLogic Server, SSL is enabled and the SSL Listen Port is set as the HTTP Listen Port of the Business Services Server instance on WebLogic Server plus 1. For example, when the Business Services Server instance is created on WebLogic Server, if the HTTP listen port for the instance is 7771, then during the deploy process the SSL Listen Port is set to 7772. This same value is set in the LocationURL element of the asset definition xml file for the published business service.

Note:

If you manually change the SSL Listen port of the Business Services Server instance on WebLogic Server after the business services package is deployed, then you must re-deploy the business services package to the same instance in order for this new SSL Listen port to be reflected in the LocationURL element of the asset definition xml files for the published business services.

Harvesting the Business Service Asset Definition XML Files/Artifacts into the Oracle Enterprise Repository Server

To harvest the business service assets into the Oracle Enterprise Repository server:

  1. In the Harvester, specify the Harvester configuration file and the folder where the generated business service asset definition xml files are located.

  2. Enter the following command to direct the Harvester to harvest the business service assets to the Oracle Enterprise Repository server:

    CARHarvest -settings .\Harvester\HarvesterSettings.xml -input c:\bssv_xml
    

    Note:

    HarvesterSettings.xml is the Harvester configuration file that has already been configured.

    As an input, you must provide the folder where the generated business service asset definition XML files are located. In the preceding command, c:\bssv_xml is the folder that contains all of the JD Edwards EnterpriseOne published business service asset definition xml files.

Configuring Java Doc Location in Oracle Enterprise Repository for the Published Business Services

Each JD Edwards EnterpriseOne business service asset has a link to the Java Doc of its Java published business service class. After a business services package build is complete, you can obtain the Java Doc for the published business service classes from the following location:

dep_server\app_release\pathcode\package\package_name\java\sbf\javadoc

The Java Doc can also be extracted from the sbf.cab file which is generated during the full business services package build process.

Using an Oracle Enterprise Repository supported transport protocol, such as HTTP or FTP, configure the Java Doc location in the Oracle Enterprise Repository server to point to the actual Java Doc location of the Java published business service class. To do so, perform the following steps:

  1. Make the Java Doc html files for the published business services available on the web through an HTTP server or FTP server.

  2. To configure the Java Doc server mapping in Oracle Enterprise Repository to point to the HTTP or FTP server that hosts the Java Doc html files, log in to Oracle Enterprise Repository server.

  3. Click the Edit/Manage Assets link to open the Asset Editor window.

  4. From the Actions menu, click Configure Artifact Stores.

  5. Click Add to add a new Artifact Store.

    Figure 9-1 Create a new Artifact Store form

    Description of Figure 9-1 follows
    Description of "Figure 9-1 Create a new Artifact Store form"

  6. On Create a new Artifact Store, complete the following fields:

    • Name

      Enter the name for the artifact store. For example:

      JDEDWARDSE1: BUSINESS_SERVICE:DV812_JAVA_DOC 
      

      Where DV812 is the JD Edwards EnterpriseOne path code.

    • Type

      Select a transport type, such as HTTP.

    • Hostname

      Enter the server name and port, for example: dnshravindvm1.mlab.jdedwards.com:80.

    • Path

      Enter the path to the Java Doc html files.

  7. Click OK to add the Java Doc server mapping.

    A link to the Java Doc is established for every business service asset in the Oracle Enterprise Repository server.

Troubleshooting the Business Services Package Build and Deployment Process for Harvesting Published Business Services Artifacts

This section provides troubleshooting tips for harvesting published business services artifacts into the Oracle Enterprise Repository server.

Turn on Logging for Business Services Package Build

Before you build the business services package, activate the jas.log and jasdebug.log files. To do so, on the machine on which you are performing the business services package build, open the jdelog.properties file located in the EnterpriseOneInstallPath/system/classes folder and enter the appropriate value to activate the log files.

Business Service Asset Definition XML Files Not Generated

If the business service asset definition XML files are not generated, refer to the ClientPkgBuild.log on the deployment server and the jas.log and jasdebug.log files on the business services package build machine.

If the business service asset definition XML files are not updated properly, refer to jas.log and jasdebug.logs on the business services package build machine and SM e1_agent.logs on the Business Services Server.