Oracle® Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack 11g Release 1 (11.1.1.4.0) E17364-02 |
|
Previous |
Next |
This chapter includes the following sections:
Section 7.1, "Introducing Project Lifecycle Workbench Seed Data"
Section 7.2, "How to Set Up an Environment to Export or Import Seed Data for the First Time"
In Project Lifecycle Workbench, seed data can be categorized into two areas:
Bill of material (BOM) data
Bill of material seed data contains information about the SOA composites in a Project Lifecycle Workbench project. You can produce a BOM.xml file from the Project Lifecycle Workbench user interface (UI) based on seed data residing in the Project Lifecycle Workbench backend.
For more information about generating BOMs, see Section 6.2, "How to Generate a Bill of Material for an AIA Lifecycle Project."
Functional decomposition data
Functional decomposition is a task performed by functional experts or solution architects that involves an overall analysis of an process integration's business logic. The Project Lifecycle Workbench can be used to facilitate this task.
Functional decomposition data includes a set of requirements and intentions that have been defined in Project Lifecycle Workbench to articulate the business logic of a given process integration. This seed data is composed of projects, business tasks, and service solution components.
For example, a Project Lifecycle Workbench service solution component is a product of functional decomposition that represents an intent to fulfill a chunk of business logic in the form of a service. At the time of its creation in Project Lifecycle Workbench, the service solution component may or may not correspond to an existing executable service.
You can use the seed data created by your organizations work in Project Lifecycle Workbench to capture and migrate data from one Project Lifecycle Workbench to another.
Oracle delivers BOM and functional decomposition seed data with its Process Integration Pack (PIP) products. You can clone this Oracle-delivered data and modify the projects, adding custom logic and artifacts. Cloning the delivered seed data ensures that subsequent AIA upgrades and patches do not tamper with your customized data.
Once you have cloned the data, you can perform the following types of updates to the data:
Modify an existing composite and its associated annotations.
Add a composite to the cloned BOM, assuming that the composite has been developed based on the AIA programming models and annotation standards.
Remove a composite from the cloned BOM.
With this seed data, you can go through your development cycle, modifying PIP project definitions and composites, generate BOMs, and from the BOMs, generate deployment plans.
For more information about generating deployment plans, see Chapter 8, "Generating Deployment Plans and Deploying Artifacts."
Oracle-delivered seed data can be imported into a Project Lifecycle Workbench instance as a part of the overall PIP installation process, or the data can be imported using a standalone post-installation script, depending on the needs of your implementation.
To determine the phase in which you should import your seed data, consider that deployment plans are only meaningful when the underlying executables, such as composite source code, are available for installation, deployment, and execution. For this reason, determine the phase in which to import seed data by determining when the executable source code will be ready for deployment on the target file system.
For more information about how to load Project Lifecycle Workbench seed data post-installation, see Section 7.4, "How to Import Seed Data"
Figure 7-1 provides a sample usage flow for the import and export of Project Lifecycle Workbench seed data.
Project Lifecycle Workbench does not capture non-native artifacts. Deployment of Oracle-delivered non-native artifacts can be manually specified using SupplementaryDP.xml. Deployment of custom non-native artifacts can be manually specified using CustomSupplementaryDP.xml.
For more information about how to deploy non-native artifacts using SupplementaryDP.xml and CustomSupplementaryDP.xml, see Section 8.2.2, "Extending Non-Native Artifacts."
The Project Lifecycle Workbench seed data schema is provided in Example 7-1.
Example 7-1 Project Lifecycle Workbench Seed Data Schema
<?xml version="1.0" encoding="windows-1252"?> <!-- edited with XMLSpy v2006 rel. 3 sp2 (http://www.altova.com) by Siebel Systems (Siebel Systems) --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://xml.oracle.com /AIA/PLWBOM/V1" targetNamespace="http://xml.oracle.com/AIA/PLWBOM/V1" elementFormDefault="qualified"> <xsd:element name="PLW"> <xsd:complexType> <xsd:sequence> <xsd:element name="Process"> <xsd:annotation> <xsd:documentation>Project LifeCycle WorkBench Seed Data Schema</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="ProcessDetail" type="ProcessType"/> <xsd:element name="ProcessUuid" type="xsd:string"/> <xsd:element name="ParentProcessUuid" type="xsd:string"/> <xsd:element name="Task" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="TaskDetail" type="TaskType"/> <xsd:element name="Scope" type="xsd:string"/> <xsd:element name="SvccompId" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ProcessBom" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="ProcessBomDetail" type="ProcessType"/> <xsd:element name="BomStatus" type="xsd:string"/> <xsd:element name="TaskBom" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="TaskBomDetail" type="TaskType"/> <xsd:element name="TaskBomSource" type="xsd:string"/> <xsd:element name="SvccompBomId" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="SvccompBom" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="SvccompBomDetail" type="SvccompType"/> <xsd:element name="SvccompBomId" type="xsd:string"/> <xsd:element name="CompositeId" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Svccomp" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="SvccompDetail" type="SvccompType"/> <xsd:element name="ReusedServiceObjectType" type="xsd:string" minOccurs="0"/> <xsd:element name="ReusedServiceObjectID" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Composite" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="CompositeDetail"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="CompositeType"/> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="CompositeXML" type="xsd:hexBinary" minOccurs="0"/> <xsd:element name="CompositeRevID" type="xsd:hexBinary" minOccurs="0"/> <xsd:element name="CompositeServiceElem" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="ServiceElementID" type="xsd:string"/> <xsd:element name="CompositeServiceType" type="xsd:string"/> <xsd:element name="CompositeServiceName" type="xsd:string"/> <xsd:element name="ServiceElementXML" type="xsd:hexBinary"/> <xsd:element name="Audit" type="CommonAuditType"/> <xsd:element name="DeployAttributeValue" type="DeployAttributeValueType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="DeployAttributeValue" type="DeployAttributeValueType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ServiceElement" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="ServiceElementDetail" type="ServiceElementType"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="processCode"/> <xsd:attribute name="version"/> <xsd:attribute name="createDate"/> <xsd:attribute name="uuid"/> </xsd:complexType> </xsd:element> <xsd:complexType name="CommonAuditType"> <xsd:sequence> <xsd:element name="CreatedBy" type="xsd:string"/> <xsd:element name="CreationDate" type="xsd:string"/> <xsd:element name="LastUpdatedBy"/> <xsd:element name="LastUpdateDate"/> <xsd:element name="ObjectVersionNumber"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ProcessType"> <xsd:sequence> <xsd:element name="ProcessName" type="xsd:string"/> <xsd:element name="ProcessDesc" type="xsd:hexBinary"/> <xsd:element name="ProcessAssumption" type="xsd:hexBinary"/> <xsd:element name="ProcessSource" type="xsd:string"/> <xsd:element name="ProcessIndustry" type="xsd:string"/> <xsd:element name="ProcessCode" type="xsd:string"/> <xsd:element name="ProcessType" type="xsd:string"/> <xsd:element name="Status" type="xsd:string"/> <xsd:element name="Version" type="xsd:string"/> <xsd:element name="Audit" type="CommonAuditType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="TaskType"> <xsd:sequence> <xsd:element name="TaskID" type="xsd:string"/> <xsd:element name="TaskName" type="xsd:string"/> <xsd:element name="TaskDesc" type="xsd:hexBinary"/> <xsd:element name="TaskUuid" type="xsd:string"/> <xsd:element name="Audit" type="CommonAuditType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SvccompType"> <xsd:sequence> <xsd:element name="SvccompID" type="xsd:string"/> <xsd:element name="SvccompType" type="xsd:string"/> <xsd:element name="SvccompName" type="xsd:string"/> <xsd:element name="SvccompDesc" type="xsd:hexBinary"/> <xsd:element name="SvccompAssumption" type="xsd:hexBinary"/> <xsd:element name="ProductPillar" type="xsd:string"/> <xsd:element name="ProductFamily" type="xsd:string"/> <xsd:element name="ProductCode" type="xsd:string"/> <xsd:element name="SvccompGUID" type="xsd:string"/> <xsd:element name="Audit" type="CommonAuditType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CompositeType"> <xsd:sequence> <xsd:element name="CompositeID" type="xsd:string"/> <xsd:element name="CompositeName" type="xsd:string"/> <xsd:element name="Source" type="xsd:string"/> <xsd:element name="Audit" type="CommonAuditType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ServiceElementType"> <xsd:sequence> <xsd:element name="ServiceElementID" type="xsd:string"/> <xsd:element name="ServiceElementType" type="xsd:string"/> <xsd:element name="ServiceName" type="xsd:string"/> <xsd:element name="OperationName" type="xsd:string"/> <xsd:element name="Namespace" type="xsd:string"/> <xsd:element name="ProductPillar" type="xsd:string"/> <xsd:element name="ProductFamily" type="xsd:string"/> <xsd:element name="ProductCode" type="xsd:string"/> <xsd:element name="Audit" type="CommonAuditType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="DeployAttributeValueType"> <xsd:sequence> <xsd:element name="GroupNumber" type="xsd:string"/> <xsd:element name="DeployAttributeValue" type="xsd:string"/> <xsd:element name="DeployAttributeCode" type="xsd:string"/> <xsd:element name="Audit" type="CommonAuditType"/> </xsd:sequence> </xsd:complexType> </xsd:schema>
Objective
Perform set up tasks to enable the export and import of Project Lifecycle Workbench seed data. Perform this procedure for each separate environment, whether it is being exported from or imported to. Perform this procedure only once for each environment, prior to the first time the environment will be accessed for export and import.
Prerequisites and Recommendations
None
Actor
Integration developers
System administrators
To set up a Linux environment to export or import seed data for the first time:
Start a server session.
Navigate to aiaenv.sh located in $AIA_INSTANCE/bin/aiaenv.sh.
At the command prompt, execute source aiaenv.sh
.
To set up a Windows environment to export or import seed data for the first time:
Access a command prompt.
Access the drive on which AIAHome is installed.
Navigate to aiaenv.bat located in <AIA_HOME>\aia_instances\AB\bin.
At the command prompt, run aiaenv.bat
.
Objective
Export Project Lifecycle Workbench seed data.
Prerequisites
Complete the steps covered in Section 7.2, "How to Set Up an Environment to Export or Import Seed Data for the First Time".
Actors
System administrators
Integration developers
To export Project Lifecycle Workbench seed data:
Access a command window on the server from which you want to export seed data.
Navigate to the $AIA_HOME/Infrastructure/LifeCycle/PLWImExport folder.
Run PLWExport to perform the seed data export. Output files are saved to the PLWImExport folder. One output XML file is generated per project.
PLWExport provides a set of export commands, as discussed in Table 7-1.
Table 7-1 PLWExport Commands
Command | Description |
---|---|
|
You must provide |
|
For optional use with If a version is not specified and there are multiple projects with the same project code, but different versions, the projects are displayed. If a version is not specified and there is only one project that matches the project code criteria, the seed data for the project is exported. |
|
You must provide A UUID value is assigned to a Project Lifecycle Workbench project as the Project Unique ID value upon saving the project for the first time. The ID displays on the Add Project page and Update Project page and is stored in the AIA_OER_PROCESSES table. For more information about the project unique ID value as it displays in the Project Lifecycle Workbench UI, see Section 3.3, "Working with Project Lifecycle Workbench Projects." |
|
Use as follows:
If not specified, PLWExport will use To export BOM data, you must also export functional decomposition data, |
|
If not specified, PLWExport will use a file name of <project code>_<UUID>.xml. |
Caution: If a project is exported with no-o command, and then is exported again with no -o command, the export file generated by the first export will be overwritten by the export file generated by the subsequent export. |
Following are sets of sample commands for performing exports using a variety of export criteria.
Export BOM and functional decomposition data by project code and version to a named output file:
For Linux: PLWExport.sh -p <Project Code> -v <version> -s all -o <output file name>
For Windows: PLWExport.bat -p <Project Code> -v <version> -s all -o <output file name>
Export functional decomposition data by project code and version to a named output file:
For Linux: PLWExport.sh -p <Project Code> -v <version> -s fd -o <output file name>
For Windows: PLWExport.bat -p <Project Code> -v <version> -s fd -o <output file name>
Export BOM and functional decomposition data by project code to a named output file:
For Linux: PLWExport.sh -p <Project Code> -s all -o <output file name>
For Windows: PLWExport.bat -p <Project Code> -s all -o <output file name>
Export functional decomposition data by project code to a named output file:
For Linux: PLWExport.sh -p <Project Code> -s fd -o <output file name>
For Windows: PLWExport.bat -p <Project Code> -s fd -o <output file name>
Export BOM and functional decomposition data by UUID to a named output file:
For Linux: PLWExport.sh -u <UUID value> -s all -o <output file name>
For Windows: PLWExport.bat -u <UUID value> -s all -o <output file name>
Export functional decomposition data by UUID to a named output file:
For Linux: PLWExport.sh -u <UUID value> -s fd -o <output file name>
For Windows: PLWExport.bat -u <UUID value> -s fd -o <output file name>
Objective
Import Project Lifecycle Workbench seed data.
Prerequisites
Complete the steps covered in Section 7.2, "How to Set Up an Environment to Export or Import Seed Data for the First Time."
Ensure that the seed data file to be imported exists.
For information about how to export seed data, see Section 7.3, "How to Export Seed Data."
Actors
Integration developers
System administrators
To import Project Lifecycle Workbench seed data:
Access a command window on the server into which you want to import seed data.
Navigate to the PLWImExport folder: $AIA_HOME/Infrastructure/LifeCycle/PLWImExport.
Run PLWImport to perform the seed data import.
PLWImport provides a set of import commands, as discussed in Table 7-2.
Table 7-2 PLWImport Commands
Command | Description |
---|---|
|
Use to import a single file. If you provide a file name, PLWImport will look for the file name in the directory from which the PLWImport was invoked and will attempt to perform the import. For example, in Linux: If you provide a file path, PLWImport will look for the file name in that specified directory and will attempt to perform the import. You can provide a full file path that provides a path to the file from the root of the file system. For example, in Linux: You can provide a relative file path that provides a path to the file relative to the directory from which PLWImport was invoked. For example, in Linux: |
|
Use to import multiple files stored in a directory. If you provide a directory path, PLWImport will look for the specified directory and attempt to perform imports using all files in the directory. You can provide a full directory path that provides a directory path from the root of the file system. For example, in Linux: You can provide a relative directory path that provides a directory path relative to the directory from which PLWImport was invoked. For example, in Linux: |
You must provide -f
or -d
in the PLWImport command. If you do not specify -f
or -d
, PLWImport displays an error message.
The -f
and -d
commands are mutually exclusive, meaning they cannot be used together.
All imported seed data includes associated UUIDs.
If a UUID associated with imported data already exists in the target Project Lifecycle Workbench instance, the PLWImport updates data associated with the existing UUID.
If the UUID is unique in the target instance, PLWImport inserts a record for the new UUID.
The results of the import are stored in the plwimporter.log file located in the PLWImExport folder.
Once the PLWImport script has run successfully, verify that the imported data is accessible in Project Lifecycle Workbench.
For more information about Project Lifecycle Workbench, see Section 3.3, "Working with Project Lifecycle Workbench Projects."