BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
-
Upload
guido-schmutz -
Category
Technology
-
view
809 -
download
0
description
Transcript of BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
2013 © Trivadis
BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN
WELCOME BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB? Guido Schmutz
DOAG Development 2013 – Bonn
19.6.2013
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
1
2013 © Trivadis
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: [email protected] • Blog: http://guidoschmutz.wordpress.com • Twitter: gschmutz
18.6.2013
2 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
2013 © Trivadis
Trivadis ist führend bei der IT-Beratung, der Systemintegration, dem Solution-Engineering und der Erbringung von IT-Services mit Fokussierung auf und Technologien im D-A-CH-Raum.
Unsere Leistungen erbringen wir aus den strategischen Geschäftsfeldern: Trivadis Services übernimmt den korrespondierenden Betrieb Ihrer IT Systeme.
Unser Unternehmen
Datum Trivadis – das Unternehmen
B E T R I E B
2013 © Trivadis
Mit über 600 IT- und Fachexperten bei Ihnen vor Ort
4
11 Trivadis Niederlassungen mitüber 600 Mitarbeitenden
200 Service Level Agreements
Mehr als 4'000 Trainingsteilnehmer
Forschungs- und Entwicklungs-budget: CHF 5.0 / EUR 4 Mio.
Finanziell unabhängig und nachhaltig profitabel
Erfahrung aus mehr als 1'900 Projekten pro Jahr bei über 800 Kunden
Stand 12/2012
Hamburg
Düsseldorf
Frankfurt
Freiburg München
Wien
Basel
Zürich Bern Lausanne
4
Stuttgart
Datum Trivadis – das Unternehmen
2013 © Trivadis
Agenda
1. Java Application Architectures
2. Integration Applications – different integration styles
3. Summary
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
5
2013 © Trivadis
Classical Java Web Application Architecture
• MVC Pattern on Client
• „Meta“ Frameworks • Java EE • Spring Framework • ADF
• Prooven, often used
• Silo based systems
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
6
Spring Framework or Java EE or ADF
EJB3
/JPA
ADF
JSF
Spring Framework or Java EE or ADF
Spring Framework or Java EE
or ADF
EJB3
/JPA
Sess
ion
Bean
ADF
JSF
CT = Client Tier, P-MT = Presentation-Middletier, B-MT = Backend Middletier, RT = Resource Tier
2013 © Trivadis
Classical Java Web Application Architecture
• Optionally hold some data in the presentation middle-tier for performance reasons • NoSQL database as an option
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
7
CT = Client Tier, P-MT = Presentation-Middletier, B-MT = Backend Middletier, RT = Resource Tier
Spring Framework or Java EE or ADF
EJB3
/JPA
Sess
ion
Bean
ADF
JSF Spring Framework or Java EE or ADF
2013 © Trivadis
• Java Meta-Frameworks in Backend Middle Tier
• Java Script Frameworks in Client Tier • HTML 5 • Flex • Java FX
Java RIA Applications
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
8
Spring Framework or Java EE or ADF
EJB3
/JPA
Java Script Frameworks (*.js)
HTM
L 5
REST
, SO
AP,
Web
Sock
ets
JSO
N
CT = Client Tier, B-MT = Backend Middletier, RT = Resource Tier
2013 © Trivadis
Service Enablement in Java
• JAX-WS • SOAP-based Web Services • aka. „Big“ Web Servcies (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
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
9
2013 © Trivadis
SOAP-based vs. RESTful Web Services
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
10
SOAP-based Services
REST Service
2013 © Trivadis
JAX-WS – SOAP based Web services
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
11
Determines XSD
Determines WSDL
2013 © Trivadis
JAX-RS - RESTful Services
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
12
2013 © Trivadis
Agenda
1. Java Application Architectures
2. Integration Applications – different integration styles
3. Summary
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
13
2013 © Trivadis
Ad-hoc Batch Data Integration
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
14
• integrate data sources of diverse systems in an often ad-hoc manner
• It‘s not really clear who is the master for a transfer • responsibility
• Hard to monitor, maintain, track
JMS
DB
Link
FT
P
2013 © Trivadis
Batch Data Integration Architecture
• Classical, traditional integration style • Oracle Data Integrator • Talend • Spring Batch • Kettle • ….
• Mostly batch-oriented: goal is to transport batches of data efficiently
• ETL, ELT
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
15
ODI
INT-MT = Integration Middletier, RT = Resource Tier
2013 © Trivadis
Ad-hoc Real-Time Data IntegrationArchitecture
• More-up-to-date information available
• Point-to-Point Integration • Leads to „Spaghetti architecture“ • Leads to strong coupling • Difficult to version services • Hard to maintain
• Difficult to keep the overview
• Often no governance • No clear road-map of service enablement
• Use of services but not really SOA
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
16
JDBC
SOAP
JAX-
WS
JAX-
WS
2013 © Trivadis
Principles of Service-Orientation
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
17
2013 © Trivadis
Contract-First Web Service Design
1. Important for service-orientation is the standardizing and decoupling of the technical contract of each service
2. Service-oriented design therefore should be based on a contract first approach § avoid the use of auto-
generation tools
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
18
Source: Thomas Erl, Principles of Service Design
2013 © Trivadis
Real-Time Data Integration Architecture
• Add an Enterprise Service Bus (ESB) as extra tier (INT-MT) • Oracle Service Bus (OSB), Mediator • JBoss ESB, Camel, Spring Integration, …
• 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
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
19
INT-MT = Integration Middletier, RT = Resource Tier
ESB
SQL
WS
Adap
ter
2013 © Trivadis
Real-Time Data Integration ArchitectureImplementing with Oracle Service Bus
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
20
Proxy Service
XQuery Transformation
Business Service HTTP Transport
Transformation
2013 © Trivadis
Real-Time Data Integration ArchitectureEasy Service Enablement with Adapters
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
21
2013 © Trivadis
Real-Time & (Business) Process Integration Architecture
• Add a SOA MiddleTier style product (SOAINT-MT) to the picture • Oracle SOA Suite / BPM Suite • Activiti, JBoss jBPM, …
• 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
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
22
SOAINT-MT = SOA-Integration-Middletier, B-MT = Backend-Middletier, RT = Resource Tier
BPEL
BPMN
ESB
Adap
ter
2013 © Trivadis
Real-Time & (Business) Process Integration ArchitectureImplementing in BPEL or BPMN
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
23
2013 © Trivadis
Real-Time & (Business) Process Integration Architecture
• BPEL/BPMN separate from ESB
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
24
SOABPM-MT = SOABPM-Middletier, INT-MT = Integration Middle-Tier, B-MT = Backend-Middletier, RT = Resource Tier
2013 © Trivadis
Service Categorization can help to choose the right technology
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
25
2013 © Trivadis
Service Categorization can help to choose the right technology – mapped on Trivadis SOA blueprint
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
26
Java
Java
Java
Java BPEL ESB
BPEL
BPEL BPMN
BPEL
2013 © Trivadis
Agenda
1. Java Application Architectures
2. Integration Applications – different integration styles
3. Summary
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
27
2013 © Trivadis
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 *** *** *** *
Positiv learning curve ** *** *** *
Acceptance by business analyst *** - - -
Stateless Orchstration / 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 * * ** ***
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
28
2013 © Trivadis
Summary
• It‘s not really a question of Java or BPMN or BPEL or ESB
• Think about integration styles • Batch, Data and/or Process • 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
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
29
2013 © Trivadis
BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN
Thank You! Trivadis AG
Guido Schmutz [email protected]
18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
30