composite deployment in oracle soa suite 11g antonella giovannetti senior technical support engineer...
TRANSCRIPT
Composite Deployment in Oracle SOA Suite 11g
Antonella GiovannettiSenior Technical Support EngineerOracle Support, SOA Proactive Services09, 2014
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
CON8568
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 3
Safe Harbor StatementThe following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4
Program Agenda
From Design to Runtime
From One to Many Environments
Managing Deployed Composites
Troubleshooting
Additional Resources
Q&A
1
2
3
4
5
6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 5
From Design to Runtime
SOA Composite Target Environment
PrepareTarget Environment
Package SOA Composite(s)
DeploySOA Composite(s)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 6
From Design to Runtime
• SOA Domain with Admin and Managed WebLogic Servers
• Single Server or Clustered Environment
• WLS servers must be able to connect to the SOA Database Schema.
• DB Schema must have at least one Partition. Oracle SOA Suite automatically includes a partition called default.
Requirements
Preparing
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 7
From Design to Runtime
• Database Adapter and AQ Adapter – JDBC Data Sources and JDBC Connection Pools
• JMS Adapter – Queues to Enqueue / Dequeue Messages
• Human Workflow– Configure alternative identity service provider (Oracle Internet Directory, Microsoft Active Directory, or Oracle
iPlanet). WebLogic embedded LDAP (default) is not supported in a SOA cluster
• OWSM– Configure OWSM policies for Authentication / Authorization
• B2B– Deploy B2B Trading Partner Agreements from design-time to the run-time repository
Preparing
Resources
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 8
• Type of archive files:– SOA Archive (SAR): single composite. Special JAR file with the prefix sca_.
sca_<composite name>_rev<version ID>.jar– ZIP file: multiple composites. Contains multiple SARs and/or Metadata Archives (MARs)
• Artifacts Included:– Binding and Service Components– References to Oracle B2B agreements, OWSM policies, and human workflow task flows.–WSDL and XSD files
Deployable ArchivesFrom Design to Runtime Packaging
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 9
• Oracle JDeveloper• WLST Commands• ANT Scripts• Maven Plug-In
Packaging ToolsFrom Design to Runtime Packaging
NEW12c
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 10
• Oracle JDeveloper– Right-click the SOA project -> Deploy -> Deploy to Application Server • Creates the SAR file and Deploys to the Application Server
– Right-click the SOA project -> Deploy -> Deploy to SAR• Creates the SAR file but does NOT deploy• Useful when:–WebLogic Server may not be running, but you want to create the archive file.– Need to create the archive file to deploy from the FMW Control Console.
Packaging ToolsFrom Design to Runtime Packaging
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 11
Tool Script/Command Syntax Example Result
ANT ant-sca-package
ant -f ant-sca-package.xml -DcompositeDir -DcompositeName -Drevision [-Dsca.application.home ] [-Doracle.home]
ant -f ant-sca-package.xml -DcompositeDir=/tmp/HelloSOAApplication/-DcompositeName=HelloSOAComposite -Drevision=1.0 sca_HelloSOAComposite_rev1.0.jar
WLST sca-package
sca_package(compositeDir, compositeName, revision, [appHome], [oracleHome])
sca_package ( "/tmp/HelloSOAApplication/", "HelloSOAComposite", “1.0”)
sca_HelloSOAComposite_rev1.0.jar
WLST and ANTFrom Design to Runtime
Packaging
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 12
• Maven Plug-In – Uses archetypes to compile, package, deploy, test, and undeploy a SOA composite
application.–More information:
Developing SOA Applications with Oracle SOA Suite48 Using the Oracle SOA Suite Development Maven Plug-In
Packaging ToolsFrom Design to Runtime Packaging
NEW12c
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 13
• Jdeveloper (single/multiple SOA applications and Shared Data)• WLST Commands• ANT Scripts• FMW Control• Maven Plug-In
Deployment ToolsFrom Design to Runtime Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 14
• Need to create a Project Deployment Profile• By default JDeveloper creates a profile with the name of your SOA project• Deploy the Profile to the Application Server
JDeveloper – Single applicationFrom Design to Runtime Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 15
• A SOA Bundle Profile includes two or more SAR files (ZIP) • Archive file is then deployed to an application server.• You cannot deploy applications that are dependent upon one another in
the same SOA bundle profile. For example, if application A calls application B, then you must first deploy application B separately.
JDeveloper – Multiple ApplicationsFrom Design to Runtime Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 16
• Create the SOA Bundle– From the Application menu, select Application Properties -> Deployment– Select the composites
• Deploy the bundle. Application > Deploy > SOA_Bundle_Name
JDeveloper – Multiple applicationsFrom Design to Runtime Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 17
• Create a JAR with the shared data (WSDLs, XSDs, etc.) called a MAR.• Create a bundle with the composite and the MAR file and then deploy.
JDeveloper – Applications Sharing DataFrom Design to Runtime Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 18
Command Use Example
sca_deployComposite Deploy a SOA composite application. Does not do the packing sca_deployComposite("http://myhost10:7001", "/tmp/sca_HelloWorld_rev1.0.jar")
sca_undeployComposite Undeploys a currently deployed SOA composite application sca_undeployComposite("http://myhost10:7001", "HelloWorld", "1.0")
sca_listDeployedComposites Lists all SOA composite applications deployed to the SOA platform sca_listDeployedComposites('myhost', '7001', 'weblogic', 'welcome1')
WLST CommandsFrom Design to Runtime
Complete List:Oracle Fusion Middleware WebLogic Scripting Tool Command Reference9 Oracle SOA Suite Custom WLST Commands
Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 19
Scripts Use Example
ant-sca-deploy.xmlDeploy a SOA composite application. Does not do the packing
ant -f ant-sca-deploy.xml-DserverURL=http://localhost:8001 -DsarLocation=C:\demo\POProcessing\deploy\sca_POProcessing_rev6.jar -Doverwrite=true -Duser=weblogic -DforceDefault=true -Dconfigplan=C:\demo\POProcessing\cfgplan.xml
ant-sca-deploy.xml undeploy Undeploys a currently deployed SOA composite application
ant -f ant-sca-deploy.xml undeploy -DserverURL=http://localhost:8001 -DcompositeName=POProcessing -Drevision=6 -Duser=weblogic -Dpartition=default
ant-sca-mgmt.xml listDeployedComposites Lists all SOA composite applications deployed to the SOA platform
ant -f ant-sca-mgmt.xml listDeployedComposites -Dhost=myhost -Dport=8001 -Duser=weblogic
ANT ScriptsFrom Design to Runtime
Complete List:Oracle® Fusion Middleware Developer's Guide for Oracle SOA Suite 11g Release 1 (11.1.1.7)43.7.6 How to Manage SOA Composite Applications with ant Scripts
Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 20
From Design to Runtime
• Requires the application(s) to be already packaged in a SAR or ZIP file.• Use to Deploy:– A new revision (for example, 2.0) alongside an older revision (for example, 1.0). The
last deployed revision becomes the default revision unless otherwise specified.– A SOA bundle (ZIP file) containing revisions of different composites (dependencies are
not allowed)
FMW Control ConsoleDeployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 21
• Deployment is available from different places in the console:1. SOA Infrastructure Menu > SOA Deployment > Deploy2. SOA Folder in the Navigator > Right-click soa-infra > SOA Deployment > Deploy3. SOA Infrastructure Home Page > Deployed Composites tab > Deploy4. SOA Composite Menu > SOA Deployment > Deploy Another Composite
From Design to RuntimeFMW Control Console
Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 22
1. Select archive to deploy, single (.jar) or bundle (.zip)
From Design to RuntimeFMW Control Console
Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 23
2. Select a Target (WLS server or Cluster)
3. Select a partition (MUST have one)
4. Select if this is going to be the default revision
5. Click Deploy (operation cannot be canceled even if you close the browser)
6. Verify that the composites are up an running (Green Arrow)
From Design to RuntimeFMW Control Console
Deployment
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 24
Program Agenda
From Design to Runtime
From One to Many Environments
Managing Deployed Composites
Troubleshooting
Additional Resources
Q&A
1
2
3
4
5
6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 25
From One to Many Environments
• Configuration Plans–Replaces values at the composite level.–Values are replaced during deployment and stored in the SOA schema.
• Global Token Variables – Replaces specific URIs in all the composites– Values are replaced at runtime when loading the composites– SOA 11.1.1.6 or higher
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 26
From One to Many Environments
• XML file with environment-specific values, like connection strings, hostnames, ports, etc.• Replaces values in the composite.xml, WSDL, and XSD files during
deployment. Does not work on XSLT artifacts. • Attached to the SOA archive file when deploying.• Tools– Jdeveloper : Create Configuration Plan and Validate Configuration Plan.–WLST: sca_generatePlan, sca_attachPlan, sca_validatePlan, sca_extractPlan.
Configuration Plans
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 27
• Properties that can be replaced:– Any composite, service component, reference, and binding properties in the
composite.xml file.– Attribute values for bindings (for example, the location for binding.ws)– schemaLocation attribute of an import in a WSDL file.– location attribute of an include in a WSDL file.– schemaLocation attribute of an include, import, and redefine in an XSD file.– Any properties in JCA adapter files.– Policy references for Service and Reference binding components.
From One to Many EnvironmentsConfiguration Plans
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 28
From One to Many Environments
Replaces all references to endpoints and locations in all WSDL, XSD and JCA files
Configuration Plans
<SOAConfigPlan ….> <composite name="*"> <reference name="*"> <binding type="ws"> <property name="endpointURI"> <searchReplace> <search>http://DevEnv </search> <replace>http://TestEnv </replace> </searchReplace> </property> </binding> </reference>
<reference name="*"> <binding type="ws"> <attribute name="location"> <searchReplace> <search>http://DevEnv</search> <replace>http://TestEnv </replace> </searchReplace> </attribute> </binding> </reference> </composite></SOAConfigPlan>
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 29
From One to Many Environments
• Advantage– Each composite can have a configuration plan for each environment (Development,
Test, QA, Production, etc)
• Disadvantage– Changes in an environment will require changing the configuration files of each of
the composites deployed to that environment.–Metadata deployed on the runtime server will include environment-specific values.
Configuration Plans
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 30
From One to Many Environments
• List of key-value pairs. Custom or Predefined (ServerURL and applicationURL)• Replaces specific URIs in all the composites.
• Replaces any token in the composite.xml file except those in the import element.• Only for host, port, and protocol at the ws.binding location and any property
under the reference tag. • Tokens are defined in the FMW Control console and stored in the
$MIDDLEWARE_HOME/user_projects/domains/<domain_name>/config/fmwconfig/mdm-url-resolver.xml
Global Token Variables
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 31
<properties> <entry key="myprotocol">http</entry> <entry key="myhost">mymachine.us.example.com</entry> <entry key="myport">8001</entry> </properties>
<composite...> . . . . . . <reference name="Service" ui:wsdlLocation="..."> . . . <binding.ws port="..." location="${myprotocol}://${myhost}:${myport}/ soa-infra/services/default/mycomposite/ bpelprocess1_client_ep?WSDL" soapVersion="1.1"> </binding.ws> </reference> . . . </composite>
http://mymachine.us.example.com:8001/soa-infra/services/default/mycomposite/ bpelprocess1_client_ep?WSDL
From One to Many EnvironmentsGlobal Token Variables
mdm-url-resolver.xml Composite.xml
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 32
From One to Many Environments
• Advantages:– No need to change multiple configuration plans.–Metadata deployed on the runtime server will not include environment-specific
values.– In a clustered environment, global token variable changes are made on the
administration server and propagated to all managed servers.
Global Token Variables
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 33
Program Agenda
From Design to Runtime
From One to Many Environments
Managing Deployed Composites
Troubleshooting
Additional Resources
Q&A
1
2
3
4
5
6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 34
Managing Deployed Composites
• Redeploy• Undeploy
More Information:Oracle® Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite11g Release 1 (11.1.1.7)7.5 Managing the State of Deployed SOA Composite Applications
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 35
Managing Deployed Composites
• Use to overwrite any existing composites with the same revision ID.
• Rules:– If the deployed revision has running instances, the state of those instances will change to
Stale /Aborted. You can still access audit and flow trace details.– Instances are automatically migrated. If the migration is successful, your SOA composite
application is redeployed. If BPEL, Mediator, Human Workflow or Decision Services have problems then redeployment of the entire composite will fail.
– Cannot redeploy multiple SOA composite applications.
Redeploy
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 36
Managing Deployed Composites
In Production do not overwrite existing versions of an application.
Instead deploy a new version and set as default.
Redeploy
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 37
Managing Deployed Composites
• Removes a revision of the composite.
• Rules:– Cannot configure and monitor the revision after the composite is undeployed.– The state of running instances is changed to Stale/Aborted . No new messages are processed.– Cannot view previously completed instances.– Undeploying default revision -> next active revision becomes new default.– Undeploying default revision with no active revision -> retired revision becomes new default.
Need to reactivate to process new messages.– Can undeploy multiple SOA composites located in the same partition.
Undeploy
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 38
Managing Deployed Composites
• Determines when instances (BPEL, Mediator, HWF, etc), faults, and rejected messages states are changed to Stale during redeployment or undeployment.
• Many different scenarios. Details in the SOA Admin Guide.
Redeploy & Undeploy State Transition Rules
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 39
Program Agenda
From Design to Runtime
From One to Many Environments
Managing Deployed Composites
Troubleshooting
Additional Resources
Q&A
1
2
3
4
5
6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 40
Troubleshooting
• Set following loggers to TRACE 32 in FMW Console:–Oracle.soa.bpel.deployment–Oracle.soa.bpel.compiler– oracle.integration.platform.blocks.deploy
• Check for error messages in:– DOMAIN_HOME/servers/<server-name>/logs/<server-name>.log– DOMAIN_HOME/servers/<server-name>/logs/<server-name>-diagnostic.log
•
Debug and Log Files
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 41
Troubleshooting
• SOA-20020 ... Unable to find a WSDL that has a definition for service xxx• SOA-20003 ... Unable to register service xxx .. Error in getting XML input
stream• The composite xxx is not available• java.lang.RuntimeException: java.lang.Exception: BPEL 1.1 compilation
failed• javax.net.ssl.SSLKeyException: FATAL Alert:BAD_
Error Codes
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 42
TroubleshootingSolutions – My Oracle Support (http://support.oracle.com)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 43
TroubleshootingSolutions – My Oracle Support
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 44
Troubleshooting• Problem
Configuration plan is not taking effect during deployment
• Cause Selected the wrong configuration plan
• Solution–Open SAR file and ensure it contains the soaconfigplan.xml file. This file is generated
during deployment based on the configuration plan you selected. – Deploy again and ensure you select the configuration plan in the Deploy
Configuration page of the Deployment Wizard.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 45
Troubleshooting• Problem
Deployment cannot continue! No SOA Configured target servers found
• Cause– You started the Managed server without starting an Admin server– Admin server is in WARNING state– In JDeveloper, you deployed to the Admin Server and not the Managed Server.
• Solutions– Start the Admin Server– Use WLST to deploy to a Managed Server without starting an Admin Server.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 46
Troubleshooting• Problem
oracle.fabric.common.FabricException: Timed out waiting for operation to complete… CompositeDeploymentCoordinatorMessages.throwTimedOutWaiting
• CauseCoherence configuration is not correct. You maybe missing one or more of these parameters : tangosol.coherence.wka, tangosol.coherence.localhost, tangosol.coherence.localport)
• SolutionOracleFusion Middleware Enterprise Deployment Guide for Oracle SOA Suite 11g Release 1 (11.1.7.0) 9.4 Configuring Oracle Coherence for Deploying Composites
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 47
Program Agenda
From Design to Runtime
From One to Many Environments
Managing Deployed Composites
Troubleshooting
Additional Resources
Q&A
1
2
3
4
5
6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 48
Additional Resources• Oracle® Fusion Middleware Administrator's Guide for Oracle SOA Suite and
Oracle Business Process Management Suite11g Release 1 (11.1.1.7)
• Oracle® Fusion Middleware Developer's Guide for Oracle SOA Suite11g Release 1 (11.1.1.7)
• Deploying a SOA Composite Application Video (OLL YouTube Channel)
• Follow us on Twitter @soaproactive or SOA Proactive Blog
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 49
Q&A
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 50