Overview of Oracle SOA Suite11g

36
1 | 35 Overview of SOA Suite 11g Lonneke Dikmans October 2013 | OTN Nordic tour

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

Page 1: Overview of Oracle SOA Suite11g

1  |  35  

Overview of SOA Suite 11g

Lonneke Dikmans October 2013 | OTN Nordic tour

Page 2: Overview of Oracle SOA Suite11g

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

Page 3: Overview of Oracle SOA Suite11g

3  |  35  

Introduction to SOA Suite 11g | FMW

Page 4: Overview of Oracle SOA Suite11g

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

Page 5: Overview of Oracle SOA Suite11g

5  |  35  

Introduction to SOA Suite 11g | Overview

Page 6: Overview of Oracle SOA Suite11g

6  |  35  

Introduction to SOA Suite 11g | Composite

Page 7: Overview of Oracle SOA Suite11g

7  |  35  

Agenda

●  Introduction to SOA Suite 11g ●  Components •  BPEL •  Spring component •  Mediator •  Business Rules •  Human Task

●  Other components ●  Conclusion

Page 8: Overview of Oracle SOA Suite11g

8  |  35  

Components | BPEL

Use ● Composite services ● Business processes

Alternative

● OSB ● BPMN (BPM Suite)

Page 9: Overview of Oracle SOA Suite11g

9  |  35  

Components | BPEL example – business process

Page 10: Overview of Oracle SOA Suite11g

10  |  35  

Components | BPEL example – composite service

Page 11: Overview of Oracle SOA Suite11g

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

Page 12: Overview of Oracle SOA Suite11g

12  |  35  

Components | Spring

Use ● Calculations ● Reuse libraries /

existing components

Alternative ● Deploy a bean (reference)

Page 13: Overview of Oracle SOA Suite11g

13  |  35  

Components | Spring example

Page 14: Overview of Oracle SOA Suite11g

14  |  35  

Components | Spring example

Page 15: Overview of Oracle SOA Suite11g

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

Page 16: Overview of Oracle SOA Suite11g

16  |  35  

Components | Mediator

Use ● Routing ● Transformation ●  Sequencing of messages

Alternative ● BPEL for routing ● OSB ● Queuing (AQ)

Page 17: Overview of Oracle SOA Suite11g

17  |  35  

Components | Mediator example

Page 18: Overview of Oracle SOA Suite11g

18  |  35  

Components | Mediator example

Page 19: Overview of Oracle SOA Suite11g

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

Page 20: Overview of Oracle SOA Suite11g

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)

Page 21: Overview of Oracle SOA Suite11g

21  |  35  

Components | Business rules example

Page 22: Overview of Oracle SOA Suite11g

22  |  35  

Components | Business rules example

Page 23: Overview of Oracle SOA Suite11g

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’

Page 24: Overview of Oracle SOA Suite11g

24  |  35  

Components | Human Task

Use ● Human step ● Deadline ● Approval & escalation ● Notifications

Alternative ● User interface logic ● N/A ● BPEL ● N/A

Page 25: Overview of Oracle SOA Suite11g

25  |  35  

Components | Human Task example

Page 26: Overview of Oracle SOA Suite11g

26  |  35  

Components | Human Task example

Page 27: Overview of Oracle SOA Suite11g

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

Page 28: Overview of Oracle SOA Suite11g

28  |  35  

Agenda

●  Introduction to SOA Suite 11g ●  Components ●  Other components •  Notification Service •  Web services manager •  MDS

●  Conclusion

Page 29: Overview of Oracle SOA Suite11g

29  |  35  

Other components | Notification Service

Page 30: Overview of Oracle SOA Suite11g

30  |  35  

Components | Notification service - adapter

Use ●  In BPEL flow ●  In Human Task ● Adapter(11.1.1.8) ● Pick channel

Page 31: Overview of Oracle SOA Suite11g

31  |  35  

Other components | Web Services Manager

Page 32: Overview of Oracle SOA Suite11g

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>

Page 33: Overview of Oracle SOA Suite11g

33  |  35  

Other components | Meta data Services

Page 34: Overview of Oracle SOA Suite11g

34  |  35  

Agenda

●  Introduction to SOA Suite 11g ●  Components ●  Other components ●  Conclusion

Page 35: Overview of Oracle SOA Suite11g

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  

Page 36: Overview of Oracle SOA Suite11g

36  |  35  

Overview of SOA Suite 11g

Lonneke Dikmans October 2013 | OTN Nordic tour