Upload
guido-schmutz
View
809
Download
0
Embed Size (px)
DESCRIPTION
Have you already asked yourself at the beginning of a SOA or Integration project about the technology you want to use? How and by which protocols do the systems to be integrated communicate? Is it a proprietary protocol or should a standard such as SOAP or RESTful web services be used? What are the disadvantages of one or the other? 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 important benefits to get closer to the often proposed IT flexibility and agility? Apart from answering other important questions we will also discuss service categorization and virtualization and present the advantages/disadvantages of a pure and programmatic Java-based approach compared to more declarative approach using languages such as BPEL and/or BPMN.
Citation preview
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