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
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
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
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
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
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
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
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
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
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
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
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
Point to point integration We need processes!!! EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014
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
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
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
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
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
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
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
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
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
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
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
Recommend
More recommend