5 Harvesting Oracle AIA Content

This chapter includes the following sections:

Note:

All script execution examples provided in this chapter are Linux-specific. For Windows script execution, replace ".sh" with ".bat."

5.1 How to Set Up Oracle AIA Content Harvesting

Objective

Set up your environment to enable harvesting of Oracle Application Integration Architecture (AIA) content. This setup is a prerequisite to performing any Oracle Enterprise Repository harvesting covered in this chapter.

Actor

System administrator

To set up Oracle AIA content harvesting:

  1. Import the Oracle Enterprise Repository solution pack file (<BEA_HOME>/repository111/core/tools/solutions /11.1.1.4.0-OER-Harvester-Solution-Pack.zip) from the Oracle Enterprise Repository installation home. This is a setup step required by Oracle Enterprise Repository.

  2. Import the AIA asset definition file (AIAAssetTypeDef.zip) located in $AIA_HOME/Infrastructure/LifeCycle/config. You will need to import this file to the Oracle Enterprise Repository server. This is a setup step required by Oracle AIA.

  3. Enable remote Java Database Connectivity (JDBC) in WebLogic Server. Harvester requires that remote JDBC be enabled.

    1. Go to the domain (for example: soadomain), and open the file setDomainEnv.sh.

    2. Search for WLS_JDBC_REMOTE_ENABLED="-Dweblogic.jdbc.remoteEnabled= false" and set the value to true.

    3. Restart the Admin server.

For more information about performing these imports, see "Importing Items into Oracle Enterprise Repository" in Oracle Fusion Middleware User Guide for Oracle Enterprise Repository.

5.2 Harvesting Design-Time Composites into Project Lifecycle Workbench and Oracle Enterprise Repository

This section includes the following topics:

5.2.1 Introduction to Harvesting Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository

Once you have unit-tested, source-controlled, and completed your composite implementation, you can harvest these design-time composites into the Project Lifecycle Workspace and, optionally, Oracle Enterprise Repository.

When you choose to harvest into the Project Lifecycle Workbench, annotations in composite XML files are published to Project Lifecycle Workbench. These annotations published to Project Lifecycle Workbench are instrumental in facilitating downstream automation, such as bill of material (BOM) generation and deployment plan generation. Annotations and harvesting are required to enable this downstream automation.

If downstream automation is not a requirement for you, you may or may not annotate and harvest. When you reach a point in the lifecycle flow at which the result of annotations and harvesting are used, such as BOM and deployment plan generation, you can manually complete the BOM via the Project Lifecycle Workbench UI or manually write your own ANT script to generate a deployment plan.

For more information about BOM generation, see Chapter 6, "Working with Project Lifecycle Workbench Bills of Material."

For more information about deployment plan generation, see Chapter 8, "Generating Deployment Plans and Deploying Artifacts."

When you choose to harvest into Oracle Enterprise Repository, annotations on Application Business Connector Service (ABCS) WSDL files, Enterprise Business Service (EBS) WSDL files, Enterprise Business Object (EBO) XSD files, and Enterprise Business Message (EBM) XSD files are published to Oracle Enterprise Repository. Harvesting to Oracle Enterprise Repository is optional.

For more information about viewing harvested AIA artifacts in Oracle Enterprise Repository, see Chapter 10, "Configuring and Using Oracle Enterprise Repository as the Oracle AIA SOA Repository."

Harvested composites may be annotated based on AIA annotation specifications or may be generic, nonannotated composites provided straight out of Oracle JDeveloper. If composites are not annotated correctly, accuracy of downstream data, BOM generation, and deployment plan generation may suffer.

For more information about AIA annotation specifications, see Chapter 11, "Annotating Composites."

We recommend that you harvest your composite into both Project Lifecycle Workspace and Oracle Enterprise Repository. However, if an Oracle Enterprise Repository instance is not available for your implementation, you may choose not to harvest to Oracle Enterprise Repository.

We also recommend that you harvest composites upon completion of the composite implementation when the composite is in a stable and tested condition.

5.2.2 How to Set Up Environments to Enable Design-Time Harvesting

This section includes the following topics:

Objective

Set up environments so that design-time harvesting can be done via command line. Perform this setup in preparation for harvesting design-time composites into the Project Lifecycle Workspace and Oracle Enterprise Repository.

Prerequisites and Recommendations

Oracle Meta Data Services (MDS) repository must be set up and populated with the prerequisite and dependent artifacts for the composites to be harvested, such as Enterprise Object Library and Application Object Library artifacts.

For more information about setting up and populating MDS, see Chapter 2, "Building AIA Integration Flows."

To avoid a weblogic.common.resourcepool.ResourceLimitException error when running AIAHarvester, ensure that SOA-MDS is configured according to a recommended set of minimum basic configurations.

For information about the minimum basic configurations, see Section 28.2.3, "Configuring Performance Related Database Initialization Parameters."

Actor

Individual developers

5.2.2.1 Setting Up for Design-Time Harvesting Using a Non-Foundation Pack Environment

To set up environments to enable design-time command line-based harvesting using a non-Foundation Pack environment:

  1. Download AIAHarvester.zip.

    AIAHarvester.zip contains all components necessary to perform a harvest against Project Lifecycle Workbench and Oracle Enterprise Repository.

  2. Unzip AIAHarvester.zip in any location. You must maintain the unzipped structure.

    Note:

    The following steps assume that tasks are being performed within the AIAHarvester directory.
  3. Update the values shown in bold in the ./AIAInstallProperties.xml file, as shown in Example 5-1.

    Foundation Pack uses Java Database Connectivity (JDBC) to determine the Project Lifecycle Workbench database. Ensure that the <jdbc-url>jdbc:oracle:thin:@localhost:1521:XE</jdbc-url> value points to the Project Lifecycle Workbench database where you want AIAHarvester results to be stored.

    Example 5-1 AIAInstallProperties.xml File Adjustments

    <?xml version = '1.0' encoding = 'UTF-8'?>
    <properties>
        <aiainstance>
            <aiaHome>AIA_HOME</aiaHome>
            <name>AIA_INSTANCE_NAME</name>
            <javahome>JAVA_HOME</javahome>
            <remote_install>true</remote_install>
            <domain_root>SERVER_DOMAIN_ROOT</domain_root>
            <mwHome>MW_HOME</mwHome>
            <soaHome>SOA_HOME</soaHome>
            <aiainstalltype>standard</aiainstalltype>
            <isencrypted>true</isencrypted>
        </aiainstance>
        <aialifecycle>
            <jdbc-url>jdbc:oracle:thin:@localhost:1521:XE</jdbc-url>
            <username>FPINST_AIALIFECYCLE</username>
            <password>[C@8b567c</password>
            <createschema>true</createschema>
            <sysusername>sys</sysusername>
            <syspassword>[C@15b0e2c</syspassword>
            <role>SYSDBA</role>
            <defaulttablespace>SYSTEM</defaulttablespace>
            <temptablespace>TEMP</temptablespace>
            <isRac>false</isRac>
            <racCount>1</racCount>
            <racInstances>rac0</racInstances>
            <rac>
                <serviceName>RAC_DATABASE_SERVICENAME</serviceName>
                <rac0>
                    <instanceName>RAC_INSTANCE_NAME</instanceName>
                    <host>INSTANCE_HOST</host>
                    <port>INSTANCE_PORT</port>
                </rac0>
            </rac>
        </aialifecycle>
    ...
    
  4. Ensure the accuracy of information in the ./META-INF/adf-config.xml file. Under normal circumstances, you should not have to update it.

    Specifically, ensure that the file includes the jdbc/mds/MDS_LocalTxDataSource value that appears in bold in Example 5-2.

    Example 5-2 adf-config.xml File

    <?xml version="1.0" encoding="UTF-8" ?>
    <adf-config xmlns="http://xmlns.oracle.com/adf/config" xmlns:adf="http://xmlns.
     oracle.com/adf/config/properties" xmlns:sec="http://xmlns.oracle.com/adf/
     security/config">
        <adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/
         properties">
            <adf-property name="adfAppUID" value="OER.oracle.apps.aia.oer"/>
        </adf:adf-properties-child>
        <adf-mds-config xmlns="http://xmlns.oracle.com/adf/mds/config">
            <mds-config xmlns="http://xmlns.oracle.com/mds/config">
                <persistence-config>
                    <metadata-namespaces>
                        <namespace path="/soa/b2b" metadata-store-usage=
                         "soa-infra-store"/>
                        <namespace path="/deployed-composites" metadata-store-usage=
                         "soa-infra-store"/>
                        <namespace path="/soa/shared" metadata-store-usage=
                         "soa-infra-store"/>
                        <namespace path="/apps" metadata-store-usage=
                         "soa-infra-store"/>
                    </metadata-namespaces>
                    <metadata-store-usages>
                        <metadata-store-usage id="soa-infra-store" deploy-target=
                         "true">
                            <metadata-store class-name="oracle.mds.persistence.
                             stores.db.DBMetadataStore">
                            <property value="soa-infra" name="partition-name"/>
                            <property value="jdbc/mds/MDS_LocalTxDataSource" name=
                             "jndi-datasource"/>
                            </metadata-store>
                        </metadata-store-usage>
                    </metadata-store-usages>
     
                    <auto-purge seconds-to-live="300"/>
                </persistence-config>
     
            </mds-config>
        </adf-mds-config>
    </adf-config>
    
  5. Encode the password for the Project Lifecycle Workbench database by running AIALifeCycleEncode.sh: ./AIALifeCycleEncode.sh -user <username>

    When prompted, enter the password.

  6. Encode the password for the application server by running AIALifeCycleEncode.sh: ./AIALifeCycleEncode.sh -user <username> -type jndi

    Replace <username> with the WebLogic username value. When prompted, enter the password.

  7. Decide upon the type of harvesting that you want to perform:

    • Oracle Enterprise Repository and Project Lifecycle Workbench database harvesting

    • Project Lifecycle Workbench database harvesting only

  8. Generate the HarvesterSettings.xml file.

    If you prefer to harvest using command-line options instead of the HarvesterSettings.xml file, you do not have to perform this step and can proceed to Section 5.2.3.3, "How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository Using Command Line Options."

    • Adjust the harvesterSettings_prep.xml file based on the choice that you made in the previous step.

    • Run an encryption script on the harvesterSettings_prep.xml to produce the final HarvesterSettings.xml file, which you will use as the input file to the harvester script that will harvest your composites: ./Harvester/encrypt.sh <source_file> <target_file>.

      For example: ./Harvester/encrypt.sh harvesterSettings_prep.xml HarvesterSettings.xml

harvesterSettings_prep.xml and HarvesterSettings.xml file names are used for illustrative purposes only. The source and target file names can be set to any file name.

5.2.2.2 Setting Up for Design-Time Harvesting Using a Foundation Pack Environment

To set up environments to enable design-time command line-based harvesting using a Foundation Pack environment:

  1. Run source $AIA_INSTANCE/bin/aiaenv.sh.

    Note:

    The encrypted database access information is stored in $AIA_INSTANCE/Infrastructure/LifeCycle/AIAHarvester/config/Properties.

    If you subsequently change the database user name, for example, you may re-encrypt the database access information by running $AIA_HOME/Infrastructure/LifeCycle/AIAHarvester/AIALifeCycleEncode.sh.

  2. Prepare HarvesterSettings.xml, which contains the file system directory path to the newly completed composite.xml.

  3. If you will be harvesting to Oracle Enterprise Repository, run the following encryption script to produce the final HarvesterSettings.xml file, which you will use as the input file to the harvester script that will harvest your composites: $AIA_HOME/Infrastructure/LifeCycle/AIAHarvester/Harvester/encrypt.sh <source> <target>

5.2.3 How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository

This section discusses:

Objective

Harvest design-time composites into Project Lifecycle Workspace and Oracle Enterprise Repository. You can choose to perform the harvest using the harvester script and the HarvesterSettings.xml file or by using command-line options.

Prerequisites and Recommendations

For more information about AIA annotation specifications, see Chapter 11, "Annotating Composites."

Actor

Individual developers

5.2.3.1 How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository Using HarvesterSettings.xml

To harvest design-time composites into Project Lifecycle Workspace and Oracle Enterprise Repository using HarvesterSettings.xml:

  1. Ensure that your HarvesterSettings.xml file is accurately configured. Sample file content is provided in Example 5-3.

    In particular, note that the content shown:

    • Provides Oracle Enterprise Repository server information and credentials.

    • Uses <fileQuery>.

    • Specifies the file system path to the composite.xml for a given composite project.

      Example 5-3 Sample HarvesterSettings.xml to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository

      <?xml version="1.0" encoding="UTF-8"?>
      <tns:harvesterSettings xmlns:tns="http://www.oracle.com/oer/integration/
       harvester/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://www.oracle.com/oer/integration/harvester 
       Harvester_Settings.xsd">
         <!--Description to set on created Assets in OER.-->
         <harvesterDescription>Oracle Enterprise Repository Harvester
         </harvesterDescription>
       
         <!--Registration status to set on created Assets in OER. The Valid 
          Registration states are 1) Unsubmitted 2)Submitted - Pending Review  
          3)Submitted - Under Review  4)Registered -->
         <registrationStatus>Registered</registrationStatus>
         <!--Namespace to set on created Assets in OER.  If left empty, this is set 
          based on information from SOA Suite and OSB projects when available. That's
          generally the best practice, so override this with caution.-->
         <namespace/>
        
       
         <!--Connection info to OER-->
         <!-uri is the OER server-->
         <!- admin is username to login OER in cleartext-->
         <!-password is encrypted-->
         <repository>
            <uri>http://ple-jgau.us.oracle.com:7101/oer</uri>
            <credentials>
               <user>admin</user>
               <password>v2_1.qRhDTl1LdPo=</password><!--run encrypt.bat to encrypt 
                this-->
            </credentials>
            <timeout>30000</timeout>
         </repository>
         <!--Query: the files to harvest-->
         <query>
         <!--To specify design-time files to harvest: Uncomment the section below and 
          specify the file(s) you want to harvest. Or specify on the command-line via 
          the -file parameter.-->
         
         <!--To specify run-time files to harvest: Uncomment this and specify the 
          file(s) you want to harvest.  Or specify on the command-line via the -file 
          parameter. The serverType must be one of: SOASuite, OSB, or WLS. Run 
          encrypt.bat to encrypt the password.-->
         <fileQuery>
            <files>/slot/ems3470/oracle/AIAHOME_1022/samples/AIASamples/BaseSample
             /SamplesCreateCustomerPartyPortalProvABCSImpl/composite.xml</files>     
            <fileType>.xml</fileType>
           
         </fileQuery>
         
         </query>
        
         <!--Predefined Policy Location: If harvesting SOA Suite projects from the
          command line, uncomment the section below and set it to point to your 
          installation of JDeveloper-->
         <introspection>
            <reader>com.oracle.oer.sync.plugin.reader.file.FileReader</reader>
            <writer>com.oracle.oer.sync.plugin.writer.oer.OERWriter</writer>
         </introspection>
      </tns:harvesterSettings>
      
  2. Access a command line utility and run the AIAHarvest.sh harvester script. We recommend using the -partial true option most of the time.

    For example, for harvesting using a non-Foundation Pack environment, run AIAHarvest.sh -partial true -settings HarvesterSettings.xml

    For example, for harvesting using a Foundation Pack environment, run $AIA_HOME/Infrastructure/LifeCycle/AIAHarvester/AIAHarvest.sh -partial true -settings <file path to destHarvesterSettings.xml>

5.2.3.2 How to Harvest Design-Time Composites into Project Lifecycle Workbench Only Using HarvesterSettings.xml

To harvest design-time composites into Project Lifecycle Workspace using HarvesterSettings.xml:

  1. Ensure that your HarvesterSettings.xml file is accurately configured. Sample file content is provided in Example 5-4.

    In particular, note that the sample file content:

    1. Uses <fileQuery>.

    2. Uses -mode AIA as a command-line parameter.

    3. Does not include Oracle Enterprise Repository server information.

    Example 5-4 Sample HarvesterSettings.xml Used to Harvest Design-Time Composites into Project Lifecycle Workbench Only

    <?xml version="1.0" encoding="UTF-8"?>
    <tns:harvesterSettings xmlns:tns="http://www.oracle.com/oer/integration/
     harvester/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.oracle.com/oer/integration/harvester 
     Harvester_Settings.xsd ">
       <!--Description to set on created Assets in OER.-->
       <harvesterDescription>Oracle Enterprise Repository 
        Harvester</harvesterDescription>
     
       <!--Registration status to set on created Assets in OER. The Valid 
        Registration states are 1) Unsubmitted 2)Submitted - Pending Review 
        3)Submitted - Under Review 4)Registered -->
       <registrationStatus>Registered</registrationStatus>
       <!--Namespace to set on created Assets in OER.  If left empty, this is set 
        based on information from SOA Suite and OSB projects when available.  
        That's generally the best practice, so override this with caution.-->
       <namespace/>
     
       <!--  comment out the OER server section since we don't perform OER 
        harvesting
       <repository>
          <uri>http://ple-jgau.us.oracle.com:7101/oer</uri>
          <credentials>
             <user>admin</user>
             <password>v2_1.qRhDTl1LdPo=</password><!--run encrypt.bat to encrypt 
              this-->
          </credentials>
          <timeout>30000</timeout>
       </repository>
       
       <!--Query: the files to harvest-->
       <query>
          <fileQuery>
             <files> /slot/ems3470/oracle/AIAHOME_1022/samples/AIASamples/
              BaseSample/SamplesCreateCustomerPartyPortalProvABCSImpl/composite.xml
             </files>
             <fileType>.xml</fileType>
          </fileQuery>
        
       </query>
     
       <introspection>
          <reader>com.oracle.oer.sync.plugin.reader.file.FileReader</reader>
          <writer>com.oracle.oer.sync.plugin.writer.oer.OERWriter</writer>
       </introspection>
    </tns:harvesterSettings>
    
  2. Access a command line utility and execute the harvester script: AIAHarvest.sh -mode AIA.

    For example, for harvesting using a non-Foundation Pack environment: AIAHarvest.sh -partial true -mode AIA -settings HarvesterSettings.xml

    For example, for harvesting using a Foundation Pack environment: $AIA_HOME/Infrastructure/LifeCycle/AIAHarvester/AIAHarvest.sh -partial true -settings <file path to harvesterSettings.xml> -mode AIA

5.2.3.3 How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository Using Command Line Options

To harvest design-time composites into Project Lifecycle Workspace and Oracle Enterprise Repository using command line options:

  1. Compose your AIAHarvest.sh script command statement using the available command line options covered in Table 5-1.

    Table 5-1 Harvester Command-Line Options

    Harvester Command-Line Options Description

    -settings <file name>

    Configuration settings XML file name

    -url <URL>

    Oracle Enterprise Repository URL

    -user <OER user name>

    Oracle Enterprise Repository user name

    -password <OER password>

    Oracle Enterprise Repository password

    -partial <true | false>

    Provides support for partial introspection.

    To continue harvesting even if encountering errors, enter true. The default value is false.

    In other words, if this option is set to true, processing will continue even if an imported/included file cannot be accessed.

    USE WITH CARE.

    -artifact_store <store>

    Name of Oracle Enterprise Repository Artifact Store to look in. If specified, the -file argument will be resolved relative to the artifact store URL

    -file <filename or URL>

    File or directory to be harvested. This can be a file name or URL to the file.

    -file_type <type>

    File type of the file to be harvested. If not specified, it will be derived from the file extension.

    -remote_url <URL>

    Running server from which to harvest the remote project, instead of from a file.

    -remote_username <username>

    Username to connect to the remote server

    -remote_password <password>

    Password to connect to the remote server

    -remote_server_type <type>

    Type of remote server: SOASuite, OSB, or WLS,

    -remote_project <type>

    Name of remote project to harvest from the remote server. If omitted, all of the projects on the server will be harvested.

    -deployment_status <status>

    Deployment status to set on created assets: design-time or run-time.

    -version <version>

    Print version information.

    -help

    Lists Harvester command line options.

    -mode <OER | AIA>

    Enter AIA to run the Project Lifecycle Workbench harvest.

    Enter OER to run the Oracle Enterprise Repository harvest.

    Do not provide a value to run both the Project Lifecycle Workbench and Oracle Enterprise Repository harvests.


  2. Access a command line utility and issue your harvester command.

    For example: AIAHarvest -settings <file name>

5.3 Harvesting Interfaces to Oracle Enterprise Repository in Bulk

This section includes the following topics:

5.3.1 How to Set Up Environments to Harvest Interfaces to Oracle Enterprise Repository in Bulk

This section includes the following topics:

Objective

Set up environments to be able to harvest release-time interfaces to Oracle Enterprise Repository.

Prerequisites and Recommendations

Oracle AIA Foundation Pack has been installed.

Actor

  • Developer

  • System administrator

5.3.1.1 Setting Up to Harvest Interfaces Using a Non-Foundation Pack Environment

If you are performing the interface harvest to Oracle Enterprise Repository using an environment other than the one on which Foundation Pack has been installed, perform the following procedure.

To set up to harvest interfaces using a non-Foundation Pack environment:

  1. Download AIAHarvester.zip.

  2. Unzip the AIAHarvester.zip in any location. You must maintain the unzipped structure.

    Note:

    The following steps assume that tasks are being performed within the AIAHarvester directory.
  3. Adjust the values in bold in ./AIAInstallProperties.xml, as shown in Example 5-5.

    Foundation Pack uses Java Database Connectivity (JDBC) to determine the Project Lifecycle Workbench database. Ensure that the <jdbc-url>jdbc:oracle:thin:@localhost:1521:XE</jdbc-url> value points to the Project Lifecycle Workbench database where you want AIAHarvester results to be stored.

    Example 5-5 AIAInstallProperties.xml File Adjustments

    <?xml version = '1.0' encoding = 'UTF-8'?>
    <properties>
        <aiainstance>
            <aiaHome>AIA_HOME</aiaHome>
            <name>AIA_INSTANCE_NAME</name>
            <javahome>JAVA_HOME</javahome>
            <remote_install>true</remote_install>
            <domain_root>SERVER_DOMAIN_ROOT</domain_root>
            <mwHome>MW_HOME</mwHome>
            <soaHome>SOA_HOME</soaHome>
            <aiainstalltype>standard</aiainstalltype>
            <isencrypted>true</isencrypted>
        </aiainstance>
        <aialifecycle>
            <jdbc-url>jdbc:oracle:thin:@localhost:1521:XE</jdbc-url>
            <username>FPINST_AIALIFECYCLE</username>
            <password>[C@8b567c</password>
            <createschema>true</createschema>
            <sysusername>sys</sysusername>
            <syspassword>[C@15b0e2c</syspassword>
            <role>SYSDBA</role>
            <defaulttablespace>SYSTEM</defaulttablespace>
            <temptablespace>TEMP</temptablespace>
            <isRac>false</isRac>
            <racCount>1</racCount>
            <racInstances>rac0</racInstances>
            <rac>
                <serviceName>RAC_DATABASE_SERVICENAME</serviceName>
                <rac0>
                    <instanceName>RAC_INSTANCE_NAME</instanceName>
                    <host>INSTANCE_HOST</host>
                    <port>INSTANCE_PORT</port>
                </rac0>
            </rac>
        </aialifecycle>
    ...
    
  4. Ensure the accuracy of information in the ./META-INF/adf-config.xml file. Under normal circumstances, you should not have to update it.

    Specifically, ensure that the file includes the jdbc/mds/MDS_LocalTxDataSource value shown in bold in Example 5-6.

    Example 5-6 Sample adf-config.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <adf-config xmlns="http://xmlns.oracle.com/adf/config" xmlns:adf=
     "http://xmlns.oracle.com/adf/config/properties" xmlns:sec="http://
     xmlns.oracle.com/adf/security/config">
       <adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/
        properties">
           <adf-property name="adfAppUID" value="OER.oracle.apps.aia.oer"/>
       </adf:adf-properties-child>
       <adf-mds-config xmlns="http://xmlns.oracle.com/adf/mds/config">
          <mds-config xmlns="http://xmlns.oracle.com/mds/config">
             <persistence-config>
                <metadata-namespaces>
                   <namespace path="/soa/b2b" metadata-store-usage=
                    "soa-infra-store"/>
                   <namespace path="/deployed-composites" metadata-store-usage=
                    "soa-infra-store"/>
                   <namespace path="/soa/shared" metadata-store-usage=
                    "soa-infra-store"/>
                   <namespace path="/apps" metadata-store-usage="soa-infra-store"/>
                </metadata-namespaces>
                <metadata-store-usages>
                   <metadata-store-usage id="soa-infra-store" deploy-target="true">
                      <metadata-store class-name="oracle.mds.persistence.stores.db.
                       DBMetadataStore">
                         <property value="soa-infra" name="partition-name"/>
                         <property value="jdbc/mds/MDS_LocalTxDataSource" name=
                          "jndi-datasource"/>
                      </metadata-store>
                   </metadata-store-usage>
                </metadata-store-usages>
     
                <auto-purge seconds-to-live="300"/>
             </persistence-config>
     
          </mds-config>
       </adf-mds-config>
       <sec:adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
          <CredentialStoreContext credentialStoreClass="oracle.adf.share.security.
           providers.jps.CSFCredentialStore" credentialStoreLocation="../../
           src/META-INF/jps-config.xml"/>
       </sec:adf-security-child>
    </adf-config>
    
  5. Locate the encrypted HarvesterSettings_#.xml files in the Harvester directory. One file is provided for each delivered AIA prebuilt interface. Modify each of the HarvesterSettings_#.xml files to point to the Oracle Enterprise Repository server for your particular environment and to include relevant user name and password values.

    The HarvesterSettings_#.xml files always uses the oramds:// protocol, as shown in Example 5-7.

    Example 5-7 oramds:// Protocol Used in HarvesterSettings_#.xml

    <fileQuery>
       <files>oramds://apps/AIAMetaData/AIAComponents/EnterpriseBusinessService
        Library/Industry/BankingAndWealthManagement/EBO/SpecificationValueSet/V1/
        BankingAndWealthManagementSpecificationValueSetEBSV1.wsdl</files>
       <fileType>.wsdl</fileType>
    </fileQuery>
    

    If you want to publish your own interface artifacts (namely, WSDL and XSD files) in bulk, you can compose your own HarvesterSettings_#.xml files using the delivered files as samples. Specify your artifact paths and file types in the <fileQuery> element.

    We recommend using the MDS protocol (you must have already populated MDS with interface artifacts); however, you can also use the fileSystem protocol. Depending on whether you are using MDS or fileSystem, provide the file path or oramds path to the WSDL or XSD files.

    For more information about populating MDS with interface artifacts, see Chapter 2, "Building AIA Integration Flows."

  6. Run an encryption script on each HarvesterSettings_#.xml file to produce the final HarvesterSettings.xml files, which you will use as the input files to the harvester script that will harvest your interfaces in bulk to Oracle Enterprise Repository: ./Harvester/encrypt.sh <source_file> <target_file>

    For example: ./Harvester/encrypt.sh harvesterSettings_prep.xml HarvesterSettings.xml

    The harvesterSettings_prep.xml and HarvesterSettings.xml file names are used for illustrative purposes only. The source and target file names can be set to any file name.

5.3.1.2 Setting Up to Harvest Interfaces Using a Foundation Pack Environment

If you are performing the interface harvest to Oracle Enterprise Repository using the environment on which Foundation Pack has been installed, this set up has already been performed by the AIA Installer.

To set up to harvest interfaces using a Foundation Pack environment:

  1. Run the following script: source ${AIA_INSTANCE}/bin/aiaenv.sh

  2. Ensure that the HarvesterSettings_#.xml files are located in the $AIA_INSTANCE/Infrastructure/LifeCycle/Install/FPHarvest directory. One file is provided for each delivered AIA prebuilt interface.

  3. Modify each of the HarvesterSettings_#.xml files to point to the Oracle Enterprise Repository server for your particular environment and to include relevant user name and password values in clear text.

  4. Encrypt the HarvesterSettings_#.xml files in the $AIA_INSTANCE/Infrastructure/LifeCycle/Install/FPHarvest directory.

    For example: ${AIA_HOME}/Infrastructure/LifeCycle/AIAHarvester/Harvester/encrypt.sh <source_file> <target_file>

5.3.2 How to Harvest Interfaces to Oracle Enterprise Repository in Bulk

Objective

Harvest interfaces to Oracle Enterprise Repository in bulk.

Prerequisites and Recommendations

Actor

  • Development

  • System administrator

To harvest interfaces to Oracle Enterprise Repository in bulk:

  1. Access a command line utility and run the AIAHarvest.sh harvester script located in ${AIA_HOME}/Infrastructure/LifeCycle/AIAHarvester/. We recommend using the -partial true option most of the time.

    For example:

    • AIAHarvest.sh -partial true -settings HarvesterSettings1.xml

    • AIAHarvest.sh -partial true -settings HarvesterSettings2.xml

    • AIAHarvest.sh -partial true -settings HarvesterSettings3.xml

  2. Access Oracle Enterprise Repository to ensure that your interfaces are visible.

    For more information, see Chapter 10, "Configuring and Using Oracle Enterprise Repository as the Oracle AIA SOA Repository."

5.4 Harvesting Deployed Composites into Oracle Enterprise Repository

This section includes the following topics:

Run-time publishing to Oracle Service Registry is delegated to Oracle Enterprise Repository.

For more information about publishing to Oracle Service Registry from Oracle Enterprise Repository, see "Configuring Oracle Enterprise Repository to Exchange Metadata with the Oracle Service Registry" in Oracle Fusion Middleware Configuration Guide for Oracle Enterprise Repository.

5.4.1 How to Set Up Environments to Harvest Deployed Composites into Oracle Enterprise Repository

Objective

Set up environments to harvest deployed composites into Oracle Enterprise Repository.

Prerequisites and Recommendations

  • The Oracle AIA Installer installation has been run and completed.

  • The composites that you want to harvest into Oracle Enterprise Repository have been deployed into the run-time SOA engine.

Actors

System administrator

Specifically, this is the actor who installs and deploys the AIA Foundation Pack and Process Integration Packs (PIPs).

To set up environments to harvest deployed composites into Oracle Enterprise Repository:

Run an AIA command to set up the environment: Source ${AIA_INSTANCE}/bin/aiaenv.sh

5.4.2 How to Harvest Deployed Composites into Oracle Enterprise Repository

This section includes the following topics:

Objective

As a part of your Oracle AIA installation, you have deployed composites into the Oracle SOA engine, whether they are AIA-delivered or custom built. Post installation, you can choose to publish these deployed composites to the Oracle Enterprise Repository by way of a command-line script.

Note:

This post- installation harvest of deployed composites into Oracle Enterprise Repository is optional and is not performed by the AIA Installer.

Publishing your deployed composites to Oracle Enterprise Repository ensures that it accurately reflects your SOA run-time composite information, including end points and so forth.

Prerequisites and Recommendations

Actors

System administrator

Specifically, this is the actor who installs and deploys the AIA Foundation Pack and PIPs.

5.4.2.1 Harvesting PIP-Delivered Deployed Composites to Oracle Enterprise Repository

If you are harvesting deployed composites that were delivered as part of an AIA PIP, perform the following procedure to harvest them to Oracle Enterprise Repository.

To harvest PIP-delivered deployed composites into Oracle Enterprise Repository:

  1. Navigate to $<AIA_HOME>/Infrastructure/LifeCycle/Install/PIPHarvest.

  2. Run the following command: ant -f PIPCompositeHarvest.xml

  3. Access Oracle Enterprise Repository to confirm that all expected composites are present.

    For more information, see Section 10.3, "How to Access Oracle AIA Content in Oracle Enterprise Repository."

5.4.2.2 Harvesting Custom-Built Deployed Composites to Oracle Enterprise Repository

If you are harvesting custom-built deployed composites, perform the following procedure to harvest them to Oracle Enterprise Repository.

For example, if you have installed Foundation Pack and implemented and deployed your own composites, you can choose to harvest these deployed composites to Oracle Enterprise Repository.

To harvest custom-built deployed composites into Oracle Enterprise Repository:

  1. Edit the HarvesterSettings.xml file, as shown in Example 5-8, to provide content in bold specific to your harvesting requirements.

    • Provide Oracle Enterprise Repository information.

    • Use <remoteQuery> and list all deployed composite names to be harvested.

    • As part of the <remoteQuery> syntax, provide and encrypt SOA server information.

    Example 5-8 Sample HarvesterSettings.xml Used to Harvest Custom-Built Deployed Composites into Oracle Enterprise Repository:

    <?xml version="1.0" encoding="UTF-8"?>
    <tns:harvesterSettings xmlns:tns="http://www.oracle.com/oer/integration/
     harvester/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:
     schemaLocation="http://www.oracle.com/oer/integration/harvester 
     Harvester_Settings.xsd">
       <!--Description to set on created Assets in OER.-->
       <harvesterDescription>Oracle Enterprise Repository Harvester
       </harvesterDescription>
       <!--Registration status to set on created Assets in OER. The Valid 
        Registration states are 1) Unsubmitted 2)Submitted - Pending Review  
        3)Submitted - Under Review  4)Registered -->
       <registrationStatus>Registered</registrationStatus>
       <!--Namespace to set on created Assets in OER.  If left empty, this is set 
        based on information from SOA Suite and OSB projects when available.  
        That's generally the best practice, so override this with caution.-->
       <namespace/>
     
     
       <!--Connection info to OER-->
       <!-uri is the OER server-->
       <!- admin is username to login OER in cleartext -->
       <!-password is encrypted -->
       <repository>
          <uri>http://ple-jgau.us.oracle.com:7101/oer</uri>
          <credentials>
             <user>admin</user>
             <password>v2_1.qRhDTl1LdPo=</password><!--run encrypt.bat to
              encrypt this-->
          </credentials>
           <timeout>30000</timeout>
       </repository>
       <!--Query: the files to harvest-->
       <query>
        <!--To specify design-time files to harvest: Uncomment the section below and
         specify the file(s) you want to harvest.  Or specify on the command-line
         via the -file parameter.-->
       
        <!--To specify run-time files to harvest: Uncomment this and specify the 
         file(s) you want to harvest.  Or specify on the command-line via the -file 
         parameter. The serverType must be one of: SOASuite, OSB, or WLS. Run 
       encrypt.bat to encrypt the password.-->
          <remoteQuery>
             <serverType>SOASuite</serverType>
         
              <!-This is the composite project deployed into the SOA server-->
             <projectName>AIADemoQueryCustomerPartyCRMProvABCSImpl
             </projectName>
              <!-another example below, we specifically give the 
              deployment revision number rev1.0. It is appended after the 
               composite project name. User may find out this revision number of 
               browsing MDS via their jDev
              <projectName>AIADemoQueryCustomerPartyCRMProvABCSImpl_rev1.0
              </projectName>-->
              <!-uri is the SOA server information -->
              <!-user is the username to log into the SOA server -->
              <!-password is used to log into the SOA server, it is encrypted -->
             <uri>http://10.146.91.163:8001/</uri>
             <credentials>
                <user>weblogic</user>
                <password>v2_1.G+NTr3az8thaGGJBn0vwPg==</password>
             </credentials>
           </remoteQuery>
       
       </query>
      
       <!--Predefined Policy Location: If harvesting SOA Suite projects from 
        the command line, uncomment the section below and set it to point to your 
        installation of JDeveloper-->
      <introspection>
        <reader>com.oracle.oer.sync.plugin.reader.file.FileReader</reader>
        <writer>com.oracle.oer.sync.plugin.writer.oer.OERWriter</writer>
      </introspection>
    </tns:harvesterSettings>
    
  2. Access a command line utility and run the AIAHarvest.sh harvester script. We recommend using the -partial true option.

    For example: AIAHarvest.sh -partial true -mode OER -settings HarvesterSettings.xml

5.5 Introducing Oracle Enterprise Repository After AIA Installation

Oracle Enterprise Repository is a product separate from AIA and is an optional component in the context of AIA installation and execution. Therefore, Oracle Enterprise Repository possibly may not be present at the time of AIA installation.

If you want to adopt Oracle Enterprise Repository after AIA has been installed, perform the following procedure.

To introduce Oracle Enterprise Repository after AIA installation:

  1. Install Oracle Enterprise Repository according to Oracle Enterprise Repository guidelines.

  2. Import the Oracle Enterprise Repository solution pack and the AIA asset definition file.

    For more information about performing these imports, see Section 5.1, "How to Set Up Oracle AIA Content Harvesting."

  3. Install the AIA solution pack for your release. This AIA solution pack is made available as a post-release patchset.

    For more information about the AIA solution pack, see Section 10.1, "Introduction to Using Oracle Enterprise Repository as the Oracle AIA SOA Repository."

  4. Deploy the AIALifeCycleArtifactsLink.war redirect servlet to facilitate the Business Publisher-to-Oracle Enterprise Repository redirect feature.

    For more information, see "Configuring the AIA Redirect Servlet" in Oracle Application Integration Architecture Foundation Pack: Installation Guide.

  5. Run the following command line script to register Oracle Enterprise Repository with AIA: AIAOerEncode.sh -url <OER Server URL> -user <OER Username>

    When prompted, enter the Oracle Enterprise Repository password.