BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB?

  • 787 views
Uploaded on

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 …

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
787
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
16
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
  • 17. 2013 © Trivadis Principles of Service-Orientation 18.6.2013 BPMN, BPEL oder vielleicht doch Java? Oder auch noch ESB? 17
  • 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