{"id":2584,"date":"2011-06-21T14:56:10","date_gmt":"2011-06-21T19:56:10","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=2584"},"modified":"2015-04-17T13:53:28","modified_gmt":"2015-04-17T18:53:28","slug":"soa-11g-tutorial-configurationdeployment-plan","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=2584","title":{"rendered":"SOA 11g Tutorial: Configuration\/Deployment Plan"},"content":{"rendered":"<div class='toc wptoc'>\n<h2>Contents<\/h2>\n<ol class='toc-odd level-1'>\n\t<li>\n\t\t<a href=\"#Overview\">Overview<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Deployment_Tools\">Deployment Tools<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Configuration_Plans\">Configuration Plans<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Generate_Configuration_Plan\">Generate Configuration Plan<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Extract_Binding_Properties_at_Composite_Level\">Extract Binding Properties at Composite Level<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Add_Binding_Properties\">Add Binding Properties<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Generate_Configuration_Plan_1\">Generate Configuration Plan<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Validate_Configuration_Plan\">Validate Configuration Plan<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Deploy_New_Configuration_Plan_using_JDev\">Deploy New Configuration Plan using JDev<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Test\">Test<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Deploy_Configuration_Plan_with_Ant\">Deploy Configuration Plan with Ant<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Compiling_and_Packaging\">Compiling and Packaging<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Deploy_Configuration_Plan_with_EM_Console\">Deploy Configuration Plan with EM Console<\/a>\n\t<\/li>\n<\/ol>\n<\/ol>\n<\/div>\n<div class='wptoc-end'>&nbsp;<\/div>\n<p>This is part of the <a href=\"?p=1924\">Oracle SOA11g hands on tutorials<\/a>.<\/p>\n<span id=\"Overview\"><h2>Overview<\/h2><\/span>\n<p>* Application deployment is typically performed by administrators using scripts<\/p>\n<span id=\"Deployment_Tools\"><h3>Deployment Tools<\/h3><\/span>\n<p>* JDev<br \/>\n* EM<br \/>\n* Command line<br \/>\n&#8211; Ant scripts<br \/>\n&#8211; Python scripts<\/p>\n<span id=\"Configuration_Plans\"><h3>Configuration Plans<\/h3><\/span>\n<p>* Binding and other properties associated with<br \/>\n&#8211; References<br \/>\n&#8211; Components<br \/>\n&#8211; Services<br \/>\n* URLs in<br \/>\n&#8211; WSDL<br \/>\n&#8211; Imports<br \/>\n&#8211; Schema imports<br \/>\n&#8211; composite.xml<br \/>\n* JCA adapter properties<br \/>\n* OWSM WS-Policies<\/p>\n<span id=\"Generate_Configuration_Plan\"><h2>Generate Configuration Plan<\/h2><\/span>\n<span id=\"Extract_Binding_Properties_at_Composite_Level\"><h3>Extract Binding Properties at Composite Level<\/h3><\/span>\n<p>* Open POProcessing <strong>composite.xml<\/strong> file.<br \/>\n* Select <strong>WriteApprovalResults <\/strong>file adapter.<br \/>\n* Open Property Inspector (<strong>View -> Property Inspector<\/strong>).<\/p>\n<span id=\"Add_Binding_Properties\"><h3>Add Binding Properties<\/h3><\/span>\n<p>* In Property Inspector.<br \/>\n&#8211; Expand <strong>Properties <\/strong>pane.<br \/>\n* Under Binding Properties, click <strong>green plus sign<\/strong>.<br \/>\n* In Create Property dialog<br \/>\n&#8211; Name: <strong>FileNamingConvention<\/strong><br \/>\n&#8211; Value: <strong>test_%SEQ%.xml<\/strong><br \/>\n&#8211; Click <strong>OK<\/strong>.<br \/>\n* Click <strong>Source<\/strong> tab of composite.xml file located at the lower left corner and check that <strong>FileNamingConvention<\/strong> property is created with value <strong>test_%SEQ%.xml<\/strong>:<\/p>\n<pre lang=\"xml\">\r\n  <reference name=\"WriteApprovalResults\"\r\n             ui:wsdlLocation=\"WriteApprovalResults.wsdl\">\r\n    <interface.wsdl interface=\"http:\/\/xmlns.oracle.com\/pcbpel\/adapter\/file\/POProcessing1\/POProcessing\/WriteApprovalResults#wsdl.interface(Write_ptt)\"\/>\r\n    <binding.jca config=\"WriteApprovalResults_file.jca\">\r\n      <property name=\"FileNamingConvention\" type=\"xs:string\" many=\"false\"\r\n                override=\"may\">test_%SEQ%.xml<\/property>\r\n    <\/binding.jca>\r\n  <\/reference>\r\n<\/pre>\n<p>* Add another property:<br \/>\n&#8211; Name: <strong>PhysicalDirectory<\/strong><br \/>\n&#8211; Value: <strong>\/tmp\/po<\/strong><br \/>\n* Save all.<\/p>\n<span id=\"Generate_Configuration_Plan_1\"><h3>Generate Configuration Plan<\/h3><\/span>\n<p>* From Projects Explorer, right click <strong>composite.xml<\/strong> file.<br \/>\n* Select<strong> Generate Config Plan<\/strong>.<br \/>\n* On Composite Configuration Plan Generator dialog, enter<br \/>\n&#8211;  Name: <strong>POProcessing_dev_cfgplan.xml<\/strong><br \/>\n&#8211; Click <strong>OK<\/strong>.<br \/>\n* Check that <strong>POProcessing_dev_cfgplan.xml<\/strong> is generated in the same directory as composite.xml file<br \/>\n* Locate <strong>WriteApprovalResults<\/strong> reference:<\/p>\n<pre lang=\"xml\">\r\n      <reference name=\"WriteApprovalResults\">\r\n         <!--Add search and replace rules for the binding properties-->\r\n         <binding type=\"jca\">\r\n            <property name=\"FileNamingConvention\">\r\n               <replace>test_%SEQ%.xml<\/replace>\r\n            <\/property>\r\n            <property name=\"PhysicalDirectory\">\r\n               <replace>\/tmp\/po<\/replace>\r\n            <\/property>\r\n         <\/binding>\r\n      <\/reference>\r\n<\/pre>\n<p>* Modify <strong>FileNamingConvention<\/strong> property value to <strong>orderoutput_%SEQ%.xml<\/strong>:<\/p>\n<pre lang=\"xml\">\r\n      <reference name=\"WriteApprovalResults\">\r\n         <!--Add search and replace rules for the binding properties-->\r\n         <binding type=\"jca\">\r\n            <property name=\"FileNamingConvention\">\r\n               <replace>orderoutput_%SEQ%.xml<\/replace>\r\n            <\/property>\r\n         <\/binding>\r\n      <\/reference>\r\n<\/pre>\n<span id=\"Validate_Configuration_Plan\"><h3>Validate Configuration Plan<\/h3><\/span>\n<p>* From Projects Explorer, right click <strong>composite.xml<\/strong> file.<br \/>\n* Select <strong>Validate Config Plan<\/strong><br \/>\n* Select <strong>POProcessing_dev_cfgplan.xml<\/strong>.<br \/>\n* Click <strong>OK<\/strong>.<br \/>\n* Examine <strong>report.log<\/strong> and compare old\/new values.<\/p>\n<span id=\"Deploy_New_Configuration_Plan_using_JDev\"><h3>Deploy New Configuration Plan using JDev<\/h3><\/span>\n<p>* Right click <strong>POProcessing<\/strong>.<br \/>\n* Select <strong>Deploy -> POProcessing&#8230;<\/strong><br \/>\n* Select <strong>Deploy to Application Server<\/strong>.<br \/>\n&#8211; Click <strong>Next<\/strong>.<br \/>\n* On Deploy Configuration dialog, enter<br \/>\n&#8211; New Revision ID: <strong>1.1<\/strong><br \/>\n&#8211; Expand SOA Configuration Plan and Select<br \/>\n<strong>POProcessing_dev_cfgplan.xml<\/strong><br \/>\n&#8211; Click <strong>Next<\/strong> buttons until Finish button is active.<br \/>\n&#8211; Click <strong>Finish<\/strong>.<\/p>\n<span id=\"Test\"><h3>Test<\/h3><\/span>\n<p>* Use test message<\/p>\n<pre lang=\"xml\">\r\n<soap:Envelope xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\">\r\n    <soap:Body xmlns:ns1=\"http:\/\/xmlns.oracle.com\/ns\/order\">\r\n        <ns1:PurchaseOrder>\r\n            <ns1:CustID>1111<\/ns1:CustID>\r\n            <ns1:ID>1212<\/ns1:ID>\r\n            <ns1:productName>HD TV<\/ns1:productName>\r\n            <ns1:itemType>Electronics<\/ns1:itemType>\r\n            <ns1:price>900<\/ns1:price>\r\n            <ns1:quantity>1<\/ns1:quantity>\r\n            <ns1:status>Initial<\/ns1:status>\r\n            <ns1:ccType>Mastercard<\/ns1:ccType>\r\n            <ns1:ccNumber>1234-1234-1234-1234<\/ns1:ccNumber>\r\n        <\/ns1:PurchaseOrder>\r\n    <\/soap:Body>\r\n<\/soap:Envelope>\r\n<\/pre>\n<p>* Check that <strong>orderoutput_1.xml<\/strong> is created in directory <strong>\/tmp\/po\/test<\/strong> as configured:<\/p>\n<pre lang=\"bash\"\r\n>\/tmp\/po\/test >ls\r\norderoutput_1.xml\r\n<\/pre>\n<span id=\"Deploy_Configuration_Plan_with_Ant\"><h2>Deploy Configuration Plan with Ant<\/h2><\/span>\n<span id=\"Compiling_and_Packaging\"><h3>Compiling and Packaging<\/h3><\/span>\n<p>* Set PATH<\/p>\n<pre>\r\nset JDEV_HOME=C:\\Oracle\\Middleware\\jdeveloper\r\nset PATH=%JDEV_HOME%\\ant\\bin;%PATH%\r\n<\/pre>\n<p>* Compile<\/p>\n<pre>\r\ncd %JDEV_HOME%\\bin\r\nC:\\Oracle\\Middleware\\jdeveloper\\bin>ant -f ant-sca-package.xml ^\r\n-DcompositeDir=C:\\po\\POProcessing1\\POProcessing ^\r\n-DcompositeName=POProcessing ^\r\n-Drevision=1.1 ^\r\n-Dscac.application.home=C:\\po\\POProcessing1\r\nBuildfile: ant-sca-package.xml\r\n     [echo] oracle.home = C:\\Oracle\\Middleware\\jdeveloper\\bin\/..\r\n    [input] skipping input as property compositeDir has already been set.\r\n    [input] skipping input as property compositeName has already been set.\r\n    [input] skipping input as property revision has already been set.\r\n\r\nclean:\r\n     [echo] deleting C:\\po\\POProcessing1\\POProcessing\/deploy\/sca_POProcessing_rev1.1.jar\r\n   [delete] Deleting: C:\\po\\POProcessing1\\POProcessing\\deploy\\sca_POProcessing_rev1.1.jar\r\n\r\ninit:\r\n\r\nscac-validate:\r\n     [echo] Running scac-validate in C:\\po\\POProcessing1\\POProcessing\/composite.xml\r\n     [echo] oracle.home = C:\\Oracle\\Middleware\\jdeveloper\\bin\/..\r\n    [input] skipping input as property compositeDir has already been set.\r\n    [input] skipping input as property compositeName has already been set.\r\n    [input] skipping input as property revision has already been set.\r\n\r\nscac:\r\n     [scac] Validating composite \"C:\\po\\POProcessing1\\POProcessing\/composite.xml\"\r\n     [scac] INFO: SchemaManager.isIncrementalBuildSupported XMLSchema incremental build enabled.\r\n     [scac] Composed \"approveLargeOrder\" in 211.1 milliseconds [nodes 47=2+45, 222.6 nodes\/sec]\r\n     [scac] Compiled \"approveLargeOrder\" in 1.772 seconds\r\n     [scac] Gathered 6 files in 0.9 milliseconds\r\n     [scac] Packaged \"approveLargeOrder\" in 17.2 milliseconds\r\n     [scac] Composed \"FulfillmentProcess\" in 44.4 milliseconds [nodes 25=1+24, 563.3 nodes\/sec]\r\n     [scac] Compiled \"FulfillmentProcess\" in 1.112 seconds\r\n     [scac] Gathered 5 files in 0.7 milliseconds\r\n     [scac] Packaged \"FulfillmentProcess\" in 11.6 milliseconds\r\n     [scac] warning: in ManualPOApproval.task: Task owner not specified\r\n     [scac] warning: in ManualPOApproval.task: Error assignee not specified\r\n     [scac] warning: in routePO.mplan: Case \"ManualPOApproval.TaskService.initiateTask\" doesnt have any payload transfor\r\nmation Please make sure source and target message part name are same and of same type. Otherwise, target reference may f\r\nail to execute with error message like \"Input sourcelike Null\" or \"Part not found\"\r\n\r\npackage:\r\n     [echo] oracle.home = C:\\Oracle\\Middleware\\jdeveloper\\bin\/..\r\n    [input] skipping input as property compositeDir has already been set.\r\n    [input] skipping input as property compositeName has already been set.\r\n    [input] skipping input as property revision has already been set.\r\n\r\ncompile-source:\r\n    [mkdir] Created dir: C:\\po\\POProcessing1\\POProcessing\\dist\r\n     [copy] Copying 69 files to C:\\po\\POProcessing1\\POProcessing\\dist\r\n     [copy] Warning: C:\\po\\POProcessing1\\POProcessing\\src not found.\r\n      [jar] Building jar: C:\\po\\POProcessing1\\POProcessing\\deploy\\sca_POProcessing_rev1.1.jar\r\n   [delete] Deleting directory C:\\po\\POProcessing1\\POProcessing\\dist\r\n\r\nBUILD SUCCESSFUL\r\nTotal time: 10 seconds\r\n<\/pre>\n<p>* Deploy<\/p>\n<pre>\r\nant -f ant-sca-deploy.xml ^\r\n-DserverURL=http:\/\/localhost:8001 ^\r\n-DsarLocation=C:\\po\\POProcessing1\\POProcessing\\deploy\\sca_POProcessing_rev1.1.jar ^\r\n-Doverwrite=true ^\r\n-Duser=weblogic ^\r\n-Dpassword=welcome1 ^\r\n-DforceDefault=true ^\r\n-Dconfigplan=C:\\po\\POProcessing1\\POProcessing\\POProcessing_dev_cfgplan.xml\r\n\r\nBuildfile: ant-sca-deploy.xml\r\n     [echo] oracle.home = C:\\Oracle\\Middleware\\jdeveloper\\bin\/..\r\n\r\ndeploy:\r\n    [input] skipping input as property serverURL has already been set.\r\n    [input] skipping input as property sarLocation has already been set.\r\n[deployComposite] setting user\/password..., user=weblogic\r\n[deployComposite] Processing sar=C:\\po\\POProcessing1\\POProcessing\\deploy\\sca_POProcessing_rev1.1.jar\r\n[deployComposite] Adding sar file - C:\\po\\POProcessing1\\POProcessing\\deploy\\sca_POProcessing_rev1.1.jar\r\n[deployComposite] INFO: Creating HTTP connection to host:localhost, port:8001\r\n[deployComposite] INFO: Received HTTP response from the server, response code=200\r\n[deployComposite] ---->Deploying composite success.\r\n\r\nBUILD SUCCESSFUL\r\nTotal time: 30 seconds\r\n<\/pre>\n<span id=\"Deploy_Configuration_Plan_with_EM_Console\"><h2>Deploy Configuration Plan with EM Console<\/h2><\/span>\n<p>* Login to <strong>EM<\/strong>.<br \/>\n* Click <strong>Farm_soa_domain -> SOA -> soa-infra (soa_server1) -> default<\/strong><br \/>\n* On right side panel,<br \/>\n&#8211; Click <strong>Deployment<\/strong> drop down box.<br \/>\n&#8211; Select<strong> Deploy to this partition<\/strong>.<br \/>\n* In Select Archive page,<br \/>\n&#8211; Select <strong>Archive is on the machine where this web browser is running<\/strong>.<br \/>\n&#8211; Browse to <strong>C:\\po\\POProcessing1\\POProcessing\\deploy\\sca_POProcessing_rev1.1.jar<\/strong>.<br \/>\n&#8211; Select <strong>Configuration plan is on the machine where this web browser is running<\/strong>.<br \/>\n&#8211; Browse to <strong>C:\\po\\POProcessing1\\POProcessing\\POProcessing_dev_cfgplan.xml<\/strong>.<br \/>\n* In Confirmation page,<br \/>\n&#8211; Select <strong>Deploy as default revision<\/strong>.<br \/>\n&#8211; Click <strong>Deploy<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 &#8211; Ant scripts &#8211; Python scripts Configuration Plans * Binding &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=2584\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[100],"tags":[],"class_list":["post-2584","post","type-post","status-publish","format-standard","hentry","category-soa11g"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-FG","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2584","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2584"}],"version-history":[{"count":16,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2584\/revisions"}],"predecessor-version":[{"id":10645,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2584\/revisions\/10645"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2584"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2584"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}