Download - Overview of Oracle SOA Suite11g

Transcript
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