Overview of Oracle SOA Suite11g
-
Upload
lonneke-dikmans -
Category
Technology
-
view
1.096 -
download
0
description
Transcript of Overview of Oracle SOA Suite11g
1 | 35
Overview of SOA Suite 11g
Lonneke Dikmans October 2013 | OTN Nordic tour
2 | 35
Introduction
Agenda ● Introduction to SOA Suite 11g ● Components ● Other components ● Conclusion
About me
● Managing partner at Vennster ● Oracle Ace Director ● Working in Oracle Middleware since 2001
3 | 35
Introduction to SOA Suite 11g | FMW
4 | 35
Introduction to SOA Suite 11g | SCA
Composite ● Consists of 1 or more components ● Is exposed as a service ● References other services ● Components are wired together ● Different binding types ● Properties can be injected
5 | 35
Introduction to SOA Suite 11g | Overview
6 | 35
Introduction to SOA Suite 11g | Composite
7 | 35
Agenda
● Introduction to SOA Suite 11g ● Components • BPEL • Spring component • Mediator • Business Rules • Human Task
● Other components ● Conclusion
8 | 35
Components | BPEL
Use ● Composite services ● Business processes
Alternative
● OSB ● BPMN (BPM Suite)
9 | 35
Components | BPEL example – business process
10 | 35
Components | BPEL example – composite service
11 | 35
Components | BPEL best practices
Use ● Claim check pattern ● Simple variables, not big objects ● Test for null in XPath ● Testing framework ● Error handling Common mistakes ● Programming in BPEL
• Translating business rules to process flow • Calculations
● Long running transactions ● Using it as a data cache ● User interface logic
12 | 35
Components | Spring
Use ● Calculations ● Reuse libraries /
existing components
Alternative ● Deploy a bean (reference)
13 | 35
Components | Spring example
14 | 35
Components | Spring example
15 | 35
Components | Spring best practices
Do ● Use Java quality tools (Unit testing, Findbug etc) ● Spring or external service
Common mistakes
● Java inside BPEL -> requires restart of server ● Java inside OSB flow -> requires restart of server ● Flow logic in Spring component
16 | 35
Components | Mediator
Use ● Routing ● Transformation ● Sequencing of messages
Alternative ● BPEL for routing ● OSB ● Queuing (AQ)
17 | 35
Components | Mediator example
18 | 35
Components | Mediator example
19 | 35
Components | Mediator best practices
Do ● Think about transactions ● Think about parallel versus serial routing rules
Common mistakes ● Put everything in BPEL (Not use mediator) ● Use OSB as part of your composite
20 | 35
Components | Business rules
Use ● Rules depending on
Attributes of Object ● Edit outside of
composite
Alternative ● Case management ● Java ● BPEL ● Mediator ● Case management (BPM)
21 | 35
Components | Business rules example
22 | 35
Components | Business rules example
23 | 35
Components | Business rules best practice
Do ● Create dictionaries ● Test your rules, this is *NOT* trivial!
Common mistakes ● Programming in business rules ● Ignore them because it sounds complicated ● Treat them as ‘regular if-then-else’
24 | 35
Components | Human Task
Use ● Human step ● Deadline ● Approval & escalation ● Notifications
Alternative ● User interface logic ● N/A ● BPEL ● N/A
25 | 35
Components | Human Task example
26 | 35
Components | Human Task example
27 | 35
Components | Human Task best practices
Use ● Claim check pattern ● Workflow patterns ● Notification and escalation
Common mistakes ● Generate the UI from the task definition ● Small steps
28 | 35
Agenda
● Introduction to SOA Suite 11g ● Components ● Other components • Notification Service • Web services manager • MDS
● Conclusion
29 | 35
Other components | Notification Service
30 | 35
Components | Notification service - adapter
Use ● In BPEL flow ● In Human Task ● Adapter(11.1.1.8) ● Pick channel
31 | 35
Other components | Web Services Manager
32 | 35
Other components | Web services manager
���<reference name="SubsidieGegevensService-1.2"> <!--Add search and replace rules for the binding properties--> <binding type="ws"> <attribute name="port"> <replace>http://overijssel.nl/APP/MAT/SUB/SubsidieGegevensService/Service/v1.2#wsdl.endpoint(SubsidieGegevensServiceSoapHttpBindingQSService/SubsidieGegevensServiceSoapHttpBindingQSPort)</replace> </attribute> <attribute name="location"> <replace>https://server:0000/SubsidieGegevensService-1.2/SubsidieGegevensService-1.2/SSL?wsdl</replace> </attribute> <wsp:PolicyReference orawsp:category="security" orawsp:status="enabled" URI="oracle/wss_username_token_over_ssl_client_policy"/> <property name="csf-key"> <replace>BPMS_USER</replace> </property> <property name="weblogic.wsee.wsat.transaction.flowOption"> <replace>WSDLDriven</replace> </property> </binding> </reference>
33 | 35
Other components | Meta data Services
34 | 35
Agenda
● Introduction to SOA Suite 11g ● Components ● Other components ● Conclusion
35 | 35
Conclusion Component Use Alterna:ves
BPEL Composite services Business process
OSB BPMN
Spring Calcula:ons Reuse of libraries & components
Reference an external service
Mediator Rou:ng Transforma:on Sequencing
BPEL (in composite) BPEL ac:vity calling XSL AQ
Business Rules Isolated rules Proper:es
Human Task Human ac:vity Workflow
ADF Flows BPEL flows
36 | 35
Overview of SOA Suite 11g
Lonneke Dikmans October 2013 | OTN Nordic tour