0
WELCOME

BPMN, BPEL, ESB or maybe
Java? What should I use to
implement my project?
Guido Schmutz

UKOUG Tech 2013
3.12.201...
Guido Schmutz
• 
• 

Working for Trivadis for more than 16 years
Oracle ACE Director for Fusion Middleware and SOA

• 
• 
...
Our company
Trivadis is a market leader in IT consulting, system integration,
solution engineering and the provision of IT...
With over 600 specialists and IT experts in your region

Hamburg

Düsseldorf

Frankfurt

Stuttgart

Freiburg

Wien
München...
Agenda
1.  Java Application Architectures
2.  Integration Applications – different integration styles
3.  Summary

5

2013...
Classical Java Web 

Application Architecture

JSF
ADF

EJB3/JPA

•  MVC Pattern on Client

Spring Framework
or Java EE or...
Classical Java Web 

Application Architecture
•  Optionally hold some data in the presentation middle-tier for
performance...
Java RIA Applications / Java Mobile Applications
•  Java Meta-Frameworks

in Backend Middle Tier

Java Script
Frameworks (...
SOAP vs. RESTful Web Services
•  SOAP has reputation for being
complex and heavyweight

•  RESTful has a reputation for be...
XML vs. JSON
•  XML is the “Native” format for
enterprise data exchange
•  Highly formal structure
•  Content CAN be valid...
Implementing SOAP and/or RESTFul Services in Java
•  JAX-WS
•  SOAP-based Web Services
•  aka. „Big“ Web Services (Java EE...
JAX-WS – SOAP based Web services

12
2013 © Trivadis
BPMN, BPEL, ESB or maybe Java? What should I use to implement my proj...
JAX-RS - RESTful Services

13

2013 © Trivadis
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
3...
Principles of Service-Orientation

14

2013 © Trivadis
BPMN, BPEL, ESB or maybe Java? What should I use to implement my pr...
Contract-First Web Service Design
•  Important for service-orientation
is the standardizing and
decoupling of the technica...
Agenda
1.  Java Application Architectures
2.  Integration Applications – different integration styles
3.  Summary

16

201...
Ad-hoc Batch Data Integration

17

2013 © Trivadis
BPMN, BPEL, ESB or maybe Java? What should I use to implement my projec...
•  Classical, traditional integration style
• 
• 
• 
• 
• 
• 

Oracle Data Integrator
Oracle Warehouse Builder (OWB)
Talen...
Ad-hoc Real-Time Data Integration

Architecture

•  Point-to-Point Integration

•  No clear road-map of service enablement...
•  Efficiently transport data directly between databases
and JMS queues

Golden Gate

Real-Time Data Integration Architect...
•  Add an Enterprise Service Bus (ESB) as 

extra tier (INT-MT)
•  Oracle Service Bus (OSB), SOA Suite Mediator
•  JBoss E...
Real-Time Service-Oriented Data Integration Architecture

Implementing with Oracle Service Bus
Proxy Service

Business Ser...
Real-Time Service-Oriented Data Integration Architecture

Easy Service Enablement with Adapters

23

2013 © Trivadis
BPMN,...
•  Oracle SOA Suite / BPM Suite
•  Activiti, JBoss jBPM, …

BPMN
BPEL

ESB

•  Add a SOA Middle Tier style
product (SOAINT...
Real-Time & (Business) Process Integration Architecture

Implementing in BPEL or BPMN

25

2013 © Trivadis
BPMN, BPEL, ESB...
Real-Time & (Business) Process

Integration Architecture
BPMN
BPEL
ESB

•  ESB runs in one tier

Adapter

•  BPEL/BPMN run...
Service Categorization can help to choose the right
technology

27

2013 © Trivadis
BPMN, BPEL, ESB or maybe Java? What sh...
Service Categorization can help to choose the right
technology – mapped on Trivadis SOA blueprint

BPMN

BPEL

BPEL

Java
...
Agenda
1.  Java Application Architectures
2.  Integration Applications – different integration styles
3.  Summary

29

201...
BPMN vs. BPEL vs. ESB vs. Java
BPMN

BPEL

ESB

Java

3 GL Programming style

* (xpath expr) * (xpath expr) *

***

Implem...
Summary
•  It‘s not really a question of Java or BPMN or BPEL or ESB
•  It’s about how to combine them

•  Think about int...
Thank You!

BASEL

32

BERN

LAUSANNE

ZÜRICH

DÜSSELDORF

Trivadis AG
Guido Schmutz

guido.schmutz@trivadis.com

FRANKFUR...
Upcoming SlideShare
Loading in...5
×

BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?

5,683

Published on

Have you already asked yourself at the beginning of a SOA or Integration project about the technology you want to use? Is it feasible to implement the integration layer completely in Java or do modern integration platforms such as Oracle Service Bus or Oracle SOA Suite provide the benefits to get closer to the often proposed IT flexibility and agility?

Published in: Technology, Education
3 Comments
7 Likes
Statistics
Notes
No Downloads
Views
Total Views
5,683
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
270
Comments
3
Likes
7
Embeds 0
No embeds

No notes for slide

Transcript of "BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?"

  1. 1. WELCOME BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? Guido Schmutz
 UKOUG Tech 2013 3.12.2013 BASEL 1 BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013 MÜNCHEN STUTTGART WIEN

  2. 2. Guido Schmutz •  •  Working for Trivadis for more than 16 years Oracle ACE Director for Fusion Middleware and SOA •  •  Co-Author of different books Consultant, Trainer Software Architect for Java, Oracle, SOA and EDA •  •  Member of Trivadis Architecture Board Technology Manager @ Trivadis •  More than 20 years of software development 
 experience •  Contact: guido.schmutz@trivadis.com •  •  Blog: http://guidoschmutz.wordpress.com Twitter: gschmutz 2 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  3. 3. Our company Trivadis is a market leader in IT consulting, system integration, solution engineering and the provision of IT services focusing on and technologies in Switzerland, Germany and Austria. We offer our services in the following strategic business fields: OPERATION Trivadis Services takes over the interacting operation of your IT systems. 2013 © Trivadis Trivadis – the company 03/12/13
  4. 4. With over 600 specialists and IT experts in your region Hamburg Düsseldorf Frankfurt Stuttgart Freiburg Wien München Basel Brugg Bern Zurich Lausanne 2013 © Trivadis 4 Trivadis – the company 03/12/13 12 Trivadis branches and more than 600 employees   200 Service Level Agreements   Over 4,000 training participants   Research and development budget: CHF 5.0 / EUR 4 million   Financially self-supporting and sustainably profitable   Experience from more than 1,900 projects per year at over 800 customers
  5. 5. Agenda 1.  Java Application Architectures 2.  Integration Applications – different integration styles 3.  Summary 5 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  6. 6. Classical Java Web 
 Application Architecture JSF ADF EJB3/JPA •  MVC Pattern on Client Spring Framework or Java EE or ADF •  „Meta“ Frameworks •  Java EE •  Spring Framework •  ADF •  Proven, often used •  Optional separate 
 tier for presentation 
 logic (P-MT) 6 Spring Framework or Java EE or ADF EJB3/JPA •  Communicate with 
 proprietary 
 protocols ADF Spring Framework or Java EE or ADF Session Bean •  Silo based systems JSF CT = Client Tier, P-MT = Presentation-Middletier, B-MT = Backend Middletier, RT = Resource Tier 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  7. 7. Classical Java Web 
 Application Architecture •  Optionally hold some data in the presentation middle-tier for performance reasons •  NoSQL database as an option Spring Framework or Java EE or ADF NoSQL RDBMS CT = Client Tier, P-MT = Presentation-Middletier, B-MT = Backend Middletier, RT = Resource Tier 7 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013 EJB3/JPA EJB3/JPA ADF Spring Framework or Java EE or ADF Session Bean JSF
  8. 8. Java RIA Applications / Java Mobile Applications •  Java Meta-Frameworks
 in Backend Middle Tier Java Script Frameworks (*.js) •  Java EE, ADF, Spring •  Communicate with CT = Client Tier, B-MT = Backend Middletier, RT = Resource Tier •  REST, SOAP (is it SOA?) •  Web Sockets (bi-directional) •  Preferred Data Model in client tier is JSON 8 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013 EJB3/JPA REST, SOAP, WebSockets JSON •  HTML 5 •  Flex •  Java FX ADF Mobile HTML 5 •  Java Script Frameworks 
 in Client Tier Spring Framework or Java EE or ADF
  9. 9. SOAP vs. RESTful Web Services •  SOAP has reputation for being complex and heavyweight •  RESTful has a reputation for being simple and lightweight •  formal contract language to •  no formal contract language to define message formats available define message formats •  Supports standardized security approaches and tools •  Security is a major challenge due to lack of standardization •  Supports XML and Binary •  Supports multiple data
 types (JSON, Text, 
 XML, Binary) •  Preferred by todays
 SOA platforms 9 •  Preferred by
 modern Web
 and Mobile
 development 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  10. 10. XML vs. JSON •  XML is the “Native” format for enterprise data exchange •  Highly formal structure •  Content CAN be validated •  Formats can change only when all parties agree •  Supports multiple data types (Text, Binary) 10 •  JSON is the “Native” format for modern web and mobile applications •  No formal structure •  Content cannot be validated •  Easy to change •  Text only 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  11. 11. Implementing SOAP and/or RESTFul Services in Java •  JAX-WS •  SOAP-based Web Services •  aka. „Big“ Web Services (Java EE 6 Tutorial) •  Since Java EE 5, JAX-WS (JSR 224) the preferred technology to write SOAP web services •  defines a set of APIs and annotations that allow to build and consume web services with Java •  JAX-RS •  RESTful Web Services •  Relies on annotations, similar to JAX-WS to specify URI mappings, HTTP headers, content-types and resources 11 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  12. 12. JAX-WS – SOAP based Web services 12 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  13. 13. JAX-RS - RESTful Services 13 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  14. 14. Principles of Service-Orientation 14 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  15. 15. Contract-First Web Service Design •  Important for service-orientation is the standardizing and decoupling of the technical contract of each service •  Service-oriented design therefore should be based on a contract first approach §  avoid the use of auto-generation tools Source: Thomas Erl, Principles of Service Design 15 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  16. 16. Agenda 1.  Java Application Architectures 2.  Integration Applications – different integration styles 3.  Summary 16 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  17. 17. Ad-hoc Batch Data Integration 17 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013 FTP •  Hard to monitor, maintain, track GoldenGate •  responsibility JMS •  It‘s not really clear who is the master for a transfer DB Link •  integrate data sources of diverse systems in an often ad-hoc/accidental manner
  18. 18. •  Classical, traditional integration style •  •  •  •  •  •  Oracle Data Integrator Oracle Warehouse Builder (OWB) Talend Spring Batch Kettle …. ODI OWB Oracle Big Data Connectors Batch Data Integration Architecture •  Big Data Integration •  Oracle Big Data Connectors •  Mostly batch-oriented: goal is to transport batches of data efficiently •  Mostly require additional middle tier server INT-MT = Integration Middletier, RT = Resource Tier •  ETL, ELT 18 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  19. 19. Ad-hoc Real-Time Data Integration
 Architecture •  Point-to-Point Integration •  No clear road-map of service enablement •  Use of services but not really SOA 19 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013 JAX-WS JAX-WS •  Often no governance SOAP •  Difficult to keep the overview SOAP Leads to „Spaghetti architecture“ Leads to strong coupling Difficult to version services Hard to maintain SOAP •  •  •  •  Golden Gate JDBC •  More-up-to-date information needed
  20. 20. •  Efficiently transport data directly between databases and JMS queues Golden Gate Real-Time Data Integration Architecture •  Real-Time •  Transactional integrity •  Replication style •  Invasive on both target and source •  Transactional change data capture •  Tight Coupling •  Integration with ODI for complex transformations •  Integration with Service-Oriented Integration through JMS possible •  No Extra middle-tier server needed 20 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013 INT-MT = Integration Middletier, RT = Resource Tier
  21. 21. •  Add an Enterprise Service Bus (ESB) as 
 extra tier (INT-MT) •  Oracle Service Bus (OSB), SOA Suite Mediator •  JBoss ESB, Camel, Spring Integration, … SQL ESB Adapter Real-Time Service-Oriented Data
 Integration Architecture WS •  ESB offers service virtualization •  Connectivity Adapters (easy service 
 enablement) •  Protocol mapping (interoperable) •  Transformation, Filter, Routing, Enrichment, … •  Monitoring •  Properties •  Message-oriented, service-oriented •  Declarative instead of programmatic •  May invoke service enabled java applications 21 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013 INT-MT = Integration Middletier, RT = Resource Tier
  22. 22. Real-Time Service-Oriented Data Integration Architecture
 Implementing with Oracle Service Bus Proxy Service Business Service HTTP Transport XQuery Transformation Transformation 22 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  23. 23. Real-Time Service-Oriented Data Integration Architecture
 Easy Service Enablement with Adapters 23 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  24. 24. •  Oracle SOA Suite / BPM Suite •  Activiti, JBoss jBPM, … BPMN BPEL ESB •  Add a SOA Middle Tier style product (SOAINT-MT) to the picture Adapter Real-Time & (Business) Process
 Integration Architecture •  Long-running, stateful orchestration of services •  BPMN for business processes •  BPEL for technical integration processes •  Undo management •  Properties •  Declarative instead of programmatic •  Involve business analysts (BPMN) •  Message- and Service-Oriented, Event-Driven 24 SOAINT-MT = SOA-Integration-Middletier, B-MT = Backend-Middletier, RT = Resource Tier 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  25. 25. Real-Time & (Business) Process Integration Architecture
 Implementing in BPEL or BPMN 25 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  26. 26. Real-Time & (Business) Process
 Integration Architecture BPMN BPEL ESB •  ESB runs in one tier Adapter •  BPEL/BPMN runs in one
 tier •  Why •  •  •  •  26 Scalability Security Separation of Control Tuning 2013 © Trivadis SOABPM-MT = SOABPM-Middletier, INT-MT = Integration Middle-Tier, 
 B-MT = Backend-Middletier, RT = Resource Tier BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  27. 27. Service Categorization can help to choose the right technology 27 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  28. 28. Service Categorization can help to choose the right technology – mapped on Trivadis SOA blueprint BPMN BPEL BPEL Java Java ESB (OSB) BPEL BPEL Golden Gate Java Java 28 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  29. 29. Agenda 1.  Java Application Architectures 2.  Integration Applications – different integration styles 3.  Summary 29 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  30. 30. BPMN vs. BPEL vs. ESB vs. Java BPMN BPEL ESB Java 3 GL Programming style * (xpath expr) * (xpath expr) * *** Implement complex (business) logic ** * - *** General Purpose Language * * ** *** Reusability (OO-syle) * * * *** Declarative style *** *** *** * Positive learning curve ** *** *** * Acceptance by business analyst *** - - - Stateless Orchestration / Service composition ** ** *** * Stateful Orchestration (efficient, undo, …) *** *** - * (using JMS) Workflow (with human interaction) *** *** - - Service Integration (transform, route, …) ** ** *** * Contract-First Service Design *** *** ** * Rapid Service Enablement - *** *** ** (only java) (Unit) Testability * * ** *** 30 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  31. 31. Summary •  It‘s not really a question of Java or BPMN or BPEL or ESB •  It’s about how to combine them •  Think about integration styles •  Batch, Real-Time and/or Process •  This helps to choose the right technology •  Architecture matters! •  Separation of Concerns •  Clear Responsibilities •  Lose Coupling •  Service Categorization can help choose the right technology •  Know the strengths and weaknesses of each technology and use appropriately 31 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013
  32. 32. Thank You! BASEL 32 BERN LAUSANNE ZÜRICH DÜSSELDORF Trivadis AG Guido Schmutz
 guido.schmutz@trivadis.com FRANKFURT A.M. FREIBURG I.BR. HAMBURG 2013 © Trivadis BPMN, BPEL, ESB or maybe Java? What should I use to implement my project? 3.12.2013 MÜNCHEN STUTTGART WIEN

  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×