Wednesday, 7 December 2011

AIA Deployment - Topic No. 2 - Harvest AIA Contents into Project Lifecycle Workbench from Local Working Machine

After annotating AIA Composites(see "AIA Deployment - Topic No. 1 - Annotate AIA Composites"), you will harvest those annotated SOA composite.
During AIA implementation and deployment, once developers have unit-tested, source-controlled, and completed your composite implementation, developers can harvest these design-time composites into the Project Lifecycle Workbench , annotations in composite XML files are published to Project Lifecycle Workbench so that those composites can be attached to different projects at Project Lifecycle console.
These annotations published to Project Lifecycle Workbench are instrumental in facilitating downstream automation, such as bill of material (BOM) generation and deployment plan generation.
Harvesting AIA contents from developers' local working machines will facilitate and speed the AIA harvest process.
Here are steps:

(1)   Download from Unix box installed AIA. It contains all components necessary to perform a harvest against Project Lifecycle Workbench. The download path is:


(2)   Unzip to developer's working machine, say: C:\AIAHarvester, which has 5 subdirectories: harvester, lib, .configuration, config, and templates.


(1)   Update the values shown in bold in the \config\AIAInstallProperties.xml file by specifying JDBC connection URL for AIA Project Lifecycle Workbench database. Ensure that the <jdbc-url> value points to the Project Lifecycle Workbench database where you want AIAHarvester results to be stored.

<?xml version="1.0" encoding="UTF-8"?>

(2)   Make sure \Harvester\adf-config.xml contains includes the jdbc/mds/MDS_

<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"/>

(3)   Encode the password for the Project Lifecycle Workbench database by running

AIALifeCycleEncode.bat -user <username>

When prompted, enter the password.
It will update \.configuration\Properties

(4)   Based on \ Harvester\HarvesterSettings_XY.xml, generate your own HarvesterSettings.xml. e.g., HarvesterSettings_batchPayment.xml, which specifies all composites you want to harvest:

<?xml version="1.0" encoding="UTF-8"?>
<tns:harvesterSettings xmlns:tns="" xmlns:xsi="" xsi:schemaLocation=" Harvester_Settings.xsd ">
  <harvesterDescription>Oracle Enterprise Repository Harvester</harvesterDescription>     
  <!--Query: the files to harvest-->
    <fileQuery>      <files>C:\LADWP_Project\SourceCode\soa\trunk\interface_root\modules\BatchPayments\BatchPaymentsInbound\CreateBatchPaymentsCCBProvABCSImpl\composite.xml</files>

(5)   Harvest Design-Time Composites into Project Lifecycle Workbench only Using HarvesterSettings.xml

AIAHarvest -partial true -mode AIA -settings ./Harvester/HarvesterSettings_batchPayment.xml

Finally, it will displays such message:
17:01:46,359 10281 [main] INFO  - DB harvesting finished!

It will update two tables (AIA_COMPOSITES and AIA_COMPOSITE_SERVICE_ELEMS) under AIA life cycle database.

(6)               Log in AIA console, access Project Lifecycle Workbench, you will see those harvested composites:


  1. great explanation with great work. very good information. thank you very much.

  2. put some subscribe email feature, so we can get the latest posts by mail. as we are also working under aia