Oracle® Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack 11g Release 1 (11.1.1.6.0) Part Number E17364-04 |
|
|
PDF · Mobi · ePub |
This chapter provides an overview of Project Lifecycle Workbench Seed Data and describes how to set up an environment to export or import see data.
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, 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 Pre-Built Integration 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.
After cloning the data, you can do the following types of updates to the data:
Modify an existing composite and its associated annotations.
Add a composite to the cloned BOM, if 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 Pre-Built Integration 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 Pre-Built Integration 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, before the environment is accessed for export and import for the first time.
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 |
---|---|
|
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. |
|
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 uses To export BOM data, also export functional decomposition data, |
|
If not specified, PLWExport uses 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 is 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 looks for the file name in the directory from which the PLWImport was invoked and attempts to import. For example, in Linux: If you provide a file path, PLWImport looks for the file name in that specified directory and attempts to 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 looks for the specified directory and attempts to import 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: |
Provide -f
or -d
in the PLWImport command, else PLWImport displays an error message as these commands are mutually exclusive.
All imported seed data includes associated UUIDs.
If a UUID associated with imported data 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.
After 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."