soa suite 11g goes live (finally) - 10 cool highlights ...€¦ · soa suite 11g goes live...
TRANSCRIPT
<Insert Picture Here>
SOA Suite 11g goes live (finally) -
10 cool highlights & what we are working on
Clemens Utschig-Utschig, PM & SOA Platform Architect
The 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.
Agenda
• Recap - what you (should) know about SOA Suite 11g
• 10 cool features (some you likely don’t know)
Emergence of Service Platforms
CORBA
EAIMessaging
Web Services
BPELESB
SERVICE PLATFORM11g
10.1.3
10.1.2
J2EE
• Integrated for ease-of-use & optimized performances
• Yet, fully standards-compliant
• No sacrifice on hot-pluggability
XSLTXML
SCA
WSDL
SOA Composite – based on SCA
• SOA composite is a standards-based deployment unit
• Leverages the SCA assembly model
• Can mix variety of components: Mediator, BPEL,
Human Workflow, Rules.
• Separate interface / binding from component
Mediator
BPEL
wire
SOA composite
service reference
S S
R
R
properties
BPEL
WS
WS
WSR
S
S
R
R
R
11g Service Infrastructure
BusinessRules
Mediator
Policy Manager
Optimized binding
BPELHuman
Workflow
11g SCA Service InfrastructureOne unified infrastructure to manage
Oracle Service Bus
Common JCA-based connectivity infrastructure
Repository
7
Applicationcomposers
SOAOperations
Web-basedconsole
IDESCA Composite
SOA Composite Editor
BPEL
HumanTask
RulesMediation
BPEL orchestration
Business Rules
Human Tasks
Web services
and adapters
Mediation
BAM
B2B
1) EDN (Event delivery network ..)
• What you should know ..
• It’s really, really loose coupled, and edl based
• Does not only work with SOA – but also from your apps, and
the db (pl/sql)
• It’s backed by AQ (and soon by JMS too)
• It’s aligned to SCA-Events
• Work with events – not messaging infrastructure!
• Declarative way to work with publish-subscribe
• Offers rich subscription capabilities:
1. Namespaces
2. Events Names
3. Content-based XPath filters
Event Delivery Network, basics ..
EDN support across the stack
• ESB fan-out patterns
• Update operations on ADF-BC objects trigger events,
initiating SOA composites
• Etc.
SOA composite
SOA composite
SOA composite
newSupplier event
SOA composite
createSupplier
ADF page flowand BC
newSupplier event
EDN – what you didn’t know ..
• Not just for mediator ..
• Works cross composite (not just intra)
• Security subject bubbles (runAs)
• Works in BPEL too, including correlation sets
• Receive, onMessage, pick, eventHandler
• Invoke
2&3) Oracle Human Workflow ..
• What you should know ..
• It’s a part of the SOA infra and hence of your composite
• Workflow forms for your tasks use JSF now
• No more jsp (+code) generation
• Rich-client support
• Supports pluggable identity providers (OID, LDAP, XML, ..)
• Allows really complex routing now ..
Human Workflow – what you didn’t know
• Routing can be dynamic, rather than static
• Based on busines rules
• Based on data – via external service calls (AMX)
• Human workflow (task) events
• onTaskAssigned, onTaskModified, onXXX – via EDN
• Full task payload, including system attributes
4) Service Data Object (SDO) support
• What you should know ..
• Dramatically reduces the possibility of stale data
• Canonical representation of data
• Data-graph
• Change-summary
• Static / dynamic (getProperty(“ename”) / getEname)
• Based on OASIS standard
• Supported through Toplink (EclipseLink) OX
• Each ADF Business Component VO can be exposed as SDO
Traditional data access
Unless you lock the data,
allowing concurrent data
manipulation can be
problematic.
Window of exposure is
increased when using
run/suspend/resume
applications such as BPM.
Safeguarding against
problems can be complex
and tedious.
Get(employee)
Update(employee)
Update incorrectbased on stale
data!
BPEL process
Employee Benefits Calculation
dehydration
rehydration
(5 minutes sleep)
Databackend
HR ManagementSystem
Get(employee)
Update(employee)compensation = compensation + $5K
time
Select benefits package based on compensation
SDO – what you did not know ..
• Full integration through (special) variables in BPEL
(entity variables)
• Flush of data during commit of the transaction
• Including transaction / subject propagation
• Automated population of change summary
• Access to underlying SDO implementation
• bpelx:exec
• XML – serialization only if needed, not for
• Composite 2 composite invocation
• Composite 2 ADF-BC
• Invocation API
5) Metadata services – MDS
• What you should know ..
• The magic adf-config.xml
• store usage / namespace
• Unified storage of XML in the backend
• For ADF –
• Site customization layer
• Runtime customization of page(s), fields, forms
• For SOA – store of runtime artifacts
• Transparently backed by DB or filesystem
MDS – what you didn’t know
• The perfect store for sharing artifacts
• WSDL / XSD cache is global (= small heap footprint)
• Local file system / transfer up to remote server
• Reference via oramds:/apps/..
• Import / export via scripting
6) Adapting to various environments
• SOA config plans can adjust environment-specific
parameters
Deploy to a new environment without changing core
composite definition
PRODUCTIONDEVELOPMENT
C:\tmp /data/receivehttp://dumbo:7001 http://ironman:7101schema=stordersschema=dev
Anatomy of a SOA config plan
<composite name="POProcessing">
<searchReplace>
<search>8888</search>
<replace>8889</replace>
<searchReplace>
</composite>
<wsdlAndSchema
name="WriteApprovalResults_file.jca">
<jca:property name="PhysicalDirectory">
<replace>c:\tmp\out</replace>
</jca:property>
</wsdlAndSchema>
2 main sections:
• <composite/>
To operate substitutions
on anything in
composite.xml
• <wsdlAndSchema/>
to operate substitutions
on .xsd, .wsdl and .jca
files
What can be modified with a c-plan?
• SOA composite file (composite.xml): any property
• composite properties
• service properties
• Reference properties
• binding properties
• JCA adapter files: any property
• XSD files: schemaLocation attribute of an include, import, and
redefine
• WSDL files: location attribute of an include
• Policy references for the following:
• Service component
• Service and reference binding components
7) Unit Testing – on composite level
10.1.3 BPELTest framework elevated to composite level
1. Define tests / asserts / emulations (JDeveloper)
2. Execute (SOAConsole or ANT)
3. Review results (EM or standard JUnit report)
9) Management gimmicks, iteration 3 ..
ANT
• ant-sca-compile.xml
• ant-sca-deploy.xml
• ant-sca-mgmt.xml
• ant-sca-package.xml
• ant-sca-test.xml
• ant-sca-upgrade.xml
• ant-scac.xml
• ant-scap.xml
• ant-scatest.xml
WLST
• deployComposite
• undeployComposite
• startComposite
• stopComposite
• activateComposite
• retireComposite
• assignDefaultComposite
• attachPlan
• extractPlan
• generatePlan
• validatePlan
• scac_setProp
• scac (compile)
• validateTask
• scap
10) .. It runs on Weblogic (10.3.1)
• … and leverages it !
• Administration (WLS Console)
• HA / Cluster setup & runtime (also relying on Coherence)
• Failover: XA based transaction recovery + WLS Whole Server
Migration
• Transaction management
• Thread management
• WebLogic JMS