Extending EBOs
The EBOs provided with the integration were carefully defined to represent a typical business process; however, these definitions do not contain any attributes that are customer specific. To meet the needs of customers with more tailored processing, the integration pack provides the means to extend EBOs in a nonintrusive way.
For example, if your business process requires more information when creating a work order, you can extend EBOs to include the additional information.
XSDs
A custom schema definition file (XSD) is provided for every EBO that is shipped with the integration. The EBO can be modified by changing these custom files. The XSDs are incorporated into the EBOs so that any custom extensions that are added to the EBOs are protected when patches or upgrades are applied.
EBO Customization
The following sections describe a sample scenario of when and how to customize EBOs. To extend EBOs, add custom elements to the EBO then complete custom mapping for the requester and for the provider.
Add Custom Elements to the EBO
1. From the Work Order EBO, identify which section or EBO Type needs to be extended.
2. Add the custom elements to the correct custom EBO Type section in the custom Work Order xsd file.
For more information about Extending EBOs, refer to the Oracle Fusion Middleware Developer's Guide for Oracle SOA Core Extension under "AIA Assets Extensibility Patterns- Extending Existing Schemas in AIA".
Map the EBO to the Requester
Continuing the example from the previous section:
1. Navigate to the Oracle Utilities Customer Care and Billing Work Order Requester process BPEL composite ProcessWorkOrderOUCCBUtilitiesReqABCSImpl and open the custom ABM to EBM transformation.
Example: Xform_OrderABMReqMsg_to_WorkOrderEBMReqMsg_Custom.xsl)
2. Map the elements from Oracle Utilities Customer Care and Billing to the custom EBO elements.
3. Make sure the elements are added to the correct section or extension type that needs to be extended.
Note: This will vary from integration point to integration point. The sample snippet is given above. It is recommended to use the custom transformation file as available in the BPEL composite business process in order to get the correct Xpath.
Map the EBO to the Provider
1. Navigate to the Oracle Utilities Mobile Workforce Management Work Order Provider BPEL composite ProcessWorkOrderOUMWMUtilitiesProvABCSImplV2 and open the custom EBM to ABM transformation under xsl folder. (For example, Xform_WorkOrder_To_FieldOrder_Create_Update_Custom.xsl)
2. Map the elements from the custom EBO elements to the ABM.
3. Make sure the elements are added to the correct section or extension type that needs to be extended. Example snippet is given below.
Note: This will vary from integration point to integration point. The sample snippet is given above. It is recommended to use the appropriate custom transformation file as available in the BPEL Composite business process for getting the correct Xpath.
The namespace used in the requester and provider must match.
4. Copy the modified EBO xsd file(s) to the correct location on the application server. Ex: <AIA_HOME>/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/<Path_to_xsd>.
5. Update the modified xsd in the above step to the MDS Repository for the changes to take effect.
6. Follow the steps below to deploy the modified Requester and Provider BPEL processes:
a. Run the Middleware Home/user_projects/domains/soa_domain/soa/aia/bin aiaenv.bat or aiaenv.sh depending on the operating system. This sets the environment variables required by the build process.
b. Update Metadata using the following steps:
• Browse to the folder at $DOMAIN_LOCATION/soa/aia/MDSUtils/UpdateMetaDataDP.xml and open the deployment plan file, UpdateMetaDataDP.xml.
• Update the file UpdateMetaDataDP.xml by inserting include tags for each resource group that you want to add to the MDS:
Example to update DVM:
<DeploymentPlan component="FieldWork" version="3.0">
<Configurations>
<UpdateMetadata wlserver="pips.FieldWork">
<fileset dir="${env.SERVICES_LOCATION}/AIAMetaData">
<include name="dvm/FS_Order_ServiceTypeCode.dvm" />
</fileset>
Example to update wsdl file:
<fileset dir="${env.SERVICES_LOCATION}/AIAMetaData">
<include name="AIAComponents/ApplicationConnectorServiceLibrary/OUWAM/V2/RequestorABCS/ProcessWorkOrderCancelOUWAMUtilitiesReqABCSImplV2.wsdl" />
</UpdateMetadata>
</Configurations>
</DeploymentPlan>
"Run the update utility.
Linux:
ant -f $SOA_HOME/aiafp/Install/AID/AIAInstallDriver.xml -DDeploymentPlan=$DOMAIN_LOCATION/soa/aia/MDSUtils/UpdateMetaDataDP.xml
Windows:
ant -f %SOA_HOME%\aiafp\Install\AID\AIAInstallDriver.xml -DDeploymentPlan= %DOMAIN_LOCATION%\soa\aia\MDSUtils\UpdateMetaDataDP.xml
This prompts for admin host, port, user name and password. Enter the details accordingly.
7. The custom DP script for deployment is as follows. An example of FieldWorkCustomDP.xml file to deploy and undeploy composite files is found in $AIA_HOME/pips/FieldWork/DeploymentPlans/ FieldWorkCustomDP.xml.
<DeploymentPlan component="FieldWork" version="3.0">
<Deployments>
<Composite compositeName="<processname>" compositedir="${AIA_HOME}/services/industry/Utilities/OUCCB/RequestorABCS/<processname>" revision="1.0" wlserver="pips.FieldWork" action="deploy" />
</Deployments>
</DeploymentPlan>
8. Once the custom script is ready execute the custom script using the following command:
Linux:
ant -f $SOA_HOME/aiafp/Install/AID/AIAInstallDriver.xml - DDeploymentPlan=$AIA_HOME/pips/FieldWork/DeploymentPlans/ FieldWorkCustomDP.xml
Windows:
ant -f %SOA_HOME%\aiafp\Install\AID\AIAInstallDriver.xml - DDeploymentPlan=%AIA_HOME%\pips\FieldWork\DeploymentPlans\Field WorkCustomDP.xml
This process prompts for the admin host, port, user name and password. Enter these details to complete the process.