Contents
This is part of the Oracle SOA11g hands on tutorials.
Overview
* Application deployment is typically performed by administrators using scripts
Deployment Tools
* JDev
* EM
* Command line
– Ant scripts
– Python scripts
Configuration Plans
* Binding and other properties associated with
– References
– Components
– Services
* URLs in
– WSDL
– Imports
– Schema imports
– composite.xml
* JCA adapter properties
* OWSM WS-Policies
Generate Configuration Plan
Extract Binding Properties at Composite Level
* Open POProcessing composite.xml file.
* Select WriteApprovalResults file adapter.
* Open Property Inspector (View -> Property Inspector).
Add Binding Properties
* In Property Inspector.
– Expand Properties pane.
* Under Binding Properties, click green plus sign.
* In Create Property dialog
– Name: FileNamingConvention
– Value: test_%SEQ%.xml
– Click OK.
* Click Source tab of composite.xml file located at the lower left corner and check that FileNamingConvention property is created with value test_%SEQ%.xml:
<reference name="WriteApprovalResults" ui:wsdlLocation="WriteApprovalResults.wsdl"> <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/file/POProcessing1/POProcessing/WriteApprovalResults#wsdl.interface(Write_ptt)"/> <binding.jca config="WriteApprovalResults_file.jca"> <property name="FileNamingConvention" type="xs:string" many="false" override="may">test_%SEQ%.xml</property> </binding.jca> </reference>
* Add another property:
– Name: PhysicalDirectory
– Value: /tmp/po
* Save all.
Generate Configuration Plan
* From Projects Explorer, right click composite.xml file.
* Select Generate Config Plan.
* On Composite Configuration Plan Generator dialog, enter
– Name: POProcessing_dev_cfgplan.xml
– Click OK.
* Check that POProcessing_dev_cfgplan.xml is generated in the same directory as composite.xml file
* Locate WriteApprovalResults reference:
<reference name="WriteApprovalResults"> <!--Add search and replace rules for the binding properties--> <binding type="jca"> <property name="FileNamingConvention"> <replace>test_%SEQ%.xml</replace> </property> <property name="PhysicalDirectory"> <replace>/tmp/po</replace> </property> </binding> </reference>
* Modify FileNamingConvention property value to orderoutput_%SEQ%.xml:
<reference name="WriteApprovalResults"> <!--Add search and replace rules for the binding properties--> <binding type="jca"> <property name="FileNamingConvention"> <replace>orderoutput_%SEQ%.xml</replace> </property> </binding> </reference>
Validate Configuration Plan
* From Projects Explorer, right click composite.xml file.
* Select Validate Config Plan
* Select POProcessing_dev_cfgplan.xml.
* Click OK.
* Examine report.log and compare old/new values.
Deploy New Configuration Plan using JDev
* Right click POProcessing.
* Select Deploy -> POProcessing…
* Select Deploy to Application Server.
– Click Next.
* On Deploy Configuration dialog, enter
– New Revision ID: 1.1
– Expand SOA Configuration Plan and Select
POProcessing_dev_cfgplan.xml
– Click Next buttons until Finish button is active.
– Click Finish.
Test
* Use test message
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="http://xmlns.oracle.com/ns/order"> <ns1:PurchaseOrder> <ns1:CustID>1111</ns1:CustID> <ns1:ID>1212</ns1:ID> <ns1:productName>HD TV</ns1:productName> <ns1:itemType>Electronics</ns1:itemType> <ns1:price>900</ns1:price> <ns1:quantity>1</ns1:quantity> <ns1:status>Initial</ns1:status> <ns1:ccType>Mastercard</ns1:ccType> <ns1:ccNumber>1234-1234-1234-1234</ns1:ccNumber> </ns1:PurchaseOrder> </soap:Body> </soap:Envelope>
* Check that orderoutput_1.xml is created in directory /tmp/po/test as configured:
/tmp/po/test >ls orderoutput_1.xml
Deploy Configuration Plan with Ant
Compiling and Packaging
* Set PATH
set JDEV_HOME=C:\Oracle\Middleware\jdeveloper set PATH=%JDEV_HOME%\ant\bin;%PATH%
* Compile
cd %JDEV_HOME%\bin C:\Oracle\Middleware\jdeveloper\bin>ant -f ant-sca-package.xml ^ -DcompositeDir=C:\po\POProcessing1\POProcessing ^ -DcompositeName=POProcessing ^ -Drevision=1.1 ^ -Dscac.application.home=C:\po\POProcessing1 Buildfile: ant-sca-package.xml [echo] oracle.home = C:\Oracle\Middleware\jdeveloper\bin/.. [input] skipping input as property compositeDir has already been set. [input] skipping input as property compositeName has already been set. [input] skipping input as property revision has already been set. clean: [echo] deleting C:\po\POProcessing1\POProcessing/deploy/sca_POProcessing_rev1.1.jar [delete] Deleting: C:\po\POProcessing1\POProcessing\deploy\sca_POProcessing_rev1.1.jar init: scac-validate: [echo] Running scac-validate in C:\po\POProcessing1\POProcessing/composite.xml [echo] oracle.home = C:\Oracle\Middleware\jdeveloper\bin/.. [input] skipping input as property compositeDir has already been set. [input] skipping input as property compositeName has already been set. [input] skipping input as property revision has already been set. scac: [scac] Validating composite "C:\po\POProcessing1\POProcessing/composite.xml" [scac] INFO: SchemaManager.isIncrementalBuildSupported XMLSchema incremental build enabled. [scac] Composed "approveLargeOrder" in 211.1 milliseconds [nodes 47=2+45, 222.6 nodes/sec] [scac] Compiled "approveLargeOrder" in 1.772 seconds [scac] Gathered 6 files in 0.9 milliseconds [scac] Packaged "approveLargeOrder" in 17.2 milliseconds [scac] Composed "FulfillmentProcess" in 44.4 milliseconds [nodes 25=1+24, 563.3 nodes/sec] [scac] Compiled "FulfillmentProcess" in 1.112 seconds [scac] Gathered 5 files in 0.7 milliseconds [scac] Packaged "FulfillmentProcess" in 11.6 milliseconds [scac] warning: in ManualPOApproval.task: Task owner not specified [scac] warning: in ManualPOApproval.task: Error assignee not specified [scac] warning: in routePO.mplan: Case "ManualPOApproval.TaskService.initiateTask" doesnt have any payload transfor mation Please make sure source and target message part name are same and of same type. Otherwise, target reference may f ail to execute with error message like "Input sourcelike Null" or "Part not found" package: [echo] oracle.home = C:\Oracle\Middleware\jdeveloper\bin/.. [input] skipping input as property compositeDir has already been set. [input] skipping input as property compositeName has already been set. [input] skipping input as property revision has already been set. compile-source: [mkdir] Created dir: C:\po\POProcessing1\POProcessing\dist [copy] Copying 69 files to C:\po\POProcessing1\POProcessing\dist [copy] Warning: C:\po\POProcessing1\POProcessing\src not found. [jar] Building jar: C:\po\POProcessing1\POProcessing\deploy\sca_POProcessing_rev1.1.jar [delete] Deleting directory C:\po\POProcessing1\POProcessing\dist BUILD SUCCESSFUL Total time: 10 seconds
* Deploy
ant -f ant-sca-deploy.xml ^ -DserverURL=http://localhost:8001 ^ -DsarLocation=C:\po\POProcessing1\POProcessing\deploy\sca_POProcessing_rev1.1.jar ^ -Doverwrite=true ^ -Duser=weblogic ^ -Dpassword=welcome1 ^ -DforceDefault=true ^ -Dconfigplan=C:\po\POProcessing1\POProcessing\POProcessing_dev_cfgplan.xml Buildfile: ant-sca-deploy.xml [echo] oracle.home = C:\Oracle\Middleware\jdeveloper\bin/.. deploy: [input] skipping input as property serverURL has already been set. [input] skipping input as property sarLocation has already been set. [deployComposite] setting user/password..., user=weblogic [deployComposite] Processing sar=C:\po\POProcessing1\POProcessing\deploy\sca_POProcessing_rev1.1.jar [deployComposite] Adding sar file - C:\po\POProcessing1\POProcessing\deploy\sca_POProcessing_rev1.1.jar [deployComposite] INFO: Creating HTTP connection to host:localhost, port:8001 [deployComposite] INFO: Received HTTP response from the server, response code=200 [deployComposite] ---->Deploying composite success. BUILD SUCCESSFUL Total time: 30 seconds
Deploy Configuration Plan with EM Console
* Login to EM.
* Click Farm_soa_domain -> SOA -> soa-infra (soa_server1) -> default
* On right side panel,
– Click Deployment drop down box.
– Select Deploy to this partition.
* In Select Archive page,
– Select Archive is on the machine where this web browser is running.
– Browse to C:\po\POProcessing1\POProcessing\deploy\sca_POProcessing_rev1.1.jar.
– Select Configuration plan is on the machine where this web browser is running.
– Browse to C:\po\POProcessing1\POProcessing\POProcessing_dev_cfgplan.xml.
* In Confirmation page,
– Select Deploy as default revision.
– Click Deploy.