Weitere ähnliche Inhalte Ähnlich wie BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB? (20) Mehr von Guido Schmutz (20) BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?1. 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
2. 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: guido.schmutz@trivadis.com
• Blog: http://guidoschmutz.wordpress.com
• Twitter: gschmutz
18.6.2013
2
BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
3. 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
4. 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ürichBern
Lausanne
4
Stuttgart
Datum
Trivadis – das Unternehmen
5. 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
6. 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
SessionBean
ADF
JSF
CT = Client Tier, P-MT = Presentation-Middletier, B-MT = Backend Middletier, RT = Resource Tier
7. 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
SessionBean
ADF
JSF Spring Framework
or Java EE or ADF
8. 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)
HTML5
REST,SOAP,
WebSockets
JSON
CT = Client Tier, B-MT = Backend Middletier, RT = Resource Tier
9. 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
10. 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
11. 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
12. 2013 © Trivadis
JAX-RS - RESTful Services
18.6.2013
BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
12
13. 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
14. 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
DBLink
FTP
15. 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
16. 2013 © Trivadis
Ad-hoc Real-Time Data Integration
Architecture
• 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-WSJAX-WS
18. 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
19. 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
Adapter
20. 2013 © Trivadis
Real-Time Data Integration Architecture
Implementing 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
21. 2013 © Trivadis
Real-Time Data Integration Architecture
Easy Service Enablement with Adapters
18.6.2013
BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
21
22. 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
ESBAdapter
23. 2013 © Trivadis
Real-Time & (Business) Process Integration Architecture
Implementing in BPEL or BPMN
18.6.2013
BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
23
24. 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
25. 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
26. 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
JavaBPEL ESB
BPEL
BPELBPMN
BPEL
27. 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
28. 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
29. 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
30. 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
guido.schmutz@trivadis.com
18.6.2013
BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?
30