Overview of Oracle SOA Suite11g

Post on 25-May-2015

1.096 views 0 download

Tags:

description

The Oracle SOA Suite consists of a number of components that you can use to create services and composite applications. These components all have specific use cases and can be mixed and matched in your application. In this presentation the following components are explained: BPEL to orchestrate services and model processes; Spring component to create java components; Mediator component as an ‘in application’ bus functionality, including sequencing; Business rule component for declarative business rules management Human task component for human workflow; Notification services to communicate; WebService manager for security and policies; MDS to store common artefacts.   These components are discussed individually, and compared with each other and alternative solutions like Oracle BPM, business rules in the database etc. Common use cases and best practices are discussed as well. After this session delegates have a thorough understanding of what Oracle SOA Suite offers and when to use what component.

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