enterprise application integration building the european
play

Enterprise Application Integration Building the European - PowerPoint PPT Presentation

Enterprise Application Integration Building the European Biodiversity through Service-Oriented Architecture Observation Network (EU BON) EU BON Project Building the European Biodiversity Network EU BON 1st Training Workshop Heraklion Crete


  1. Enterprise Application Integration Building the European Biodiversity through Service-Oriented Architecture Observation Network (EU BON) EU BON Project Building the European Biodiversity Network EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  2. Presentation Doñana Biological Station Spanish National Research Council EBD-CSIC Antonio García Camacho Software Engineer at EU BON antonio.garcia.camacho@csic.es @fagarciacamacho EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  3. Work Packages WP2: Data integration & interoperability Task 2.1. Design of information architecture for EU BON Task 2.4. Metadata registry and catalogue Task 2.5. European Biodiversity Portal Task 2.7. Informatics Task Force WP5: EU BON testing and validation of concepts, tools, and services. EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  4. EU BON Architecture EU- Testing Hosting … … GBIF LTER GenBank Nomen Sites Services GBIF API DEIMS services WSDL WSDL / REST (REST) (REST) Metadata mapping Business Process 1 .. N Search Engine process Other processes processes EU BON Enterprise Service Bus (ORCHESTRATION) EU BON external services (API) GEOSS Catalogue EU BON Portal will be a client EU BON PORTAL of Services for the middleware architecture EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  5. Training session objectives • Establish the reasons to choose EAI+SOA approach • Introduce the concepts of SOA, EAI, ESB, BPMN • Make a short demo of an ESB environment EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  6. EU BON software objectives in scratch collect integrate analyse observe providers & testing sites Data retrieve taxonomy metadata store observation maps provide genetics EBV’s … … … EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  7. EU BON Architecture: Search use case Integration Data provider 1 client EU BON Biodiversity Portal Users Dataset / Collections Data provider downloader Data Integration Web Integration client 2 Services Services (in Interfac e ESB) Search engine … Integration Data provider N client EU BON Data and Metadata Repository How do we connect heterogeneous data sources? EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  8. Enterprise Application Integration CRM Databases ERP EAI Financial Legacy Enterprise Application Integration Computer systems architectural principles to integrate enterprise applications EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  9. Service-Oriented Architecture Scenario: We need to connect heterogeneous assets • Different technologies: Java, PHP, .NET, SQL, etc. • Different nature: file, e-mail, application, database, etc. Service-Oriented Architecture • Approach to build loosely-coupled applications • Business logic of the application is organized in modules • Modules are encapsulated ( black boxes ) • Each module has a public interface: • In/out façade • Defines a contract EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  10. Service-Oriented Integration • Web Service languages/technologies: • WSDL/SOAP, REST/JSON, REST/XML, JMS… • N-layer vs plain old 3-layer • It is an approach • Strict SOA analysis: everything is a service • We are going to use EAI+SOA approach • Surround each asset with a service interface • Connect application using services EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  11. Service application typology New Service New Service Implementation Existing Wrapped Service Consumer Application Existing Service Existing Application Existing Composite Application Service Service Interface New Service Service Implementation EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  12. Web Services: WSDL vs REST WSDL/SOAP REST WSDL defines operations which represent logic Exposes resources that represent data SOAP (XML) for exchanging objects Multiple data formats (JSON is widely used) Strong typing, defines operations as a contract Lightweight, do not define a contract Supports other transfer protocols than HTTP HTTP only, but using GET, POST, PUT, DELETE POST, e.g., SMTP, JMS WSDL : Web Services Description Language SOAP : Simple Object Access Protocol REST : Representational State Transfer JSON : JavaScript Object Transfer EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  13. Point to point integration We need processes!!! EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  14. Integration topologies • Custom or point-to-point • Hub-and-spoke • Integration frameworks • Message Bus • Enterprise Service Bus EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  15. What is an ESB? Enterprise Service Bus • Provides binding components to easily connect assets • WSDL, REST, JMS, databases, e- mail, ftp, files… • Message broker at a business-process level • Service orchestration through standards • Implements enterprise integration patterns • Security, scalability, reliability. • Advanced capabilities: business activity monitoring, complex event processing, etc. EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  16. How to orchestrate services? BPEL Business Process Execution Language BPMN Business Process Modeling Notation Enterprise integration frameworks Apache Camel JBoss Drools EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  17. WS-BPEL (Web Service) Business Process Execution Language • Orchestration language for WSDL services • OASIS & W3C Standard • Based on XML • WSDL/Services are the inputs and the outputs • BPEL defines the business process using XML-based execution language. • Every ESB must have a BPEL-engine. EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  18. BPMN Business Process Model and Notation • Graphical notation to model business processes. • Diagrams: process, collaboration, choreography. • Easy to understand: flow-diagrams a bit more complex. • Since BPMN 2.0 (2009) includes a XML-based execution language. • Orchestration in BPMN 1.x: • Model using BPMN. • Map to execution language (BPEL) • Orchestration using BPMN 2.0: • Model using BPMN 2.0 • Execute using BPMN 2.0 • We can translate to other execution languages as well EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  19. BPMN elements Flow objects Events, activities, gateways Connecting objects Sequence flow, message flow, association Swim lanes Pool, lane Artifacts Data object, group, annotation EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  20. BPMN Result? 1st level support edit Send mail to Open ticket Issue resolved 1st level ticket account Close ticket manager Issue 2nd level issue received Trouble Ticket System Result? Issue resolved edit 2nd level ticket 2nd level support Insert issue Fix in into product Next release backlog Figure 6.6: This is the only part of the whole collaboration we will execute in a process engine EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  21. Enterprise Integration Patterns • Integration may be too complex. How to resolve common problems? • Pattern: reusable solution to a commonly occurring problem within a given context. • 65 patterns identified so far. • Examples: Send to B if A.count > 20, and to B in other case Message Router Concatenate A, B, C and send to D Aggregator Splitter Send A to B, C, D. Message Translator Translate XML to CSV Message Filter Send messages only if A.count > 20 EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  22. Apache Camel • Open-source integration framework • Implements a subset of the integration patterns • Allows to define routing and mediation rules in a variety of domain- specific languages. • Non-standard but could use standard languages or commonly used languages • Example: Message Filter EIP using Fluent Builders (Java): RouteBuilder builder = new RouteBuilder() { public void configure() { errorHandler(deadLetterChannel("mock:error")); from("direct:a") .filter(header("foo").isEqualTo("bar")) .to("direct:b"); } Message Filter }; EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  23. Demo Integration using JBoss Fuse Service Works • JBoss Fuse Service Works: former JBoss SOA Platform • Swithchard: ESB in Jboss FSW • Switchyard presents several orchestration engines: • BPMN • BPEL • Apache Camel • JBoss Drools EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

  24. Thank you very much for your attention antonio.garcia.camacho@csic.es @fagarciacamacho This presentation includes icons made by Freepik from Flaticon.com EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend