Enterprise Application Integration Building the European - - PowerPoint PPT Presentation

enterprise application integration building the european
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Building the European Biodiversity Observation Network (EU BON)

Enterprise Application Integration through Service-Oriented Architecture

EU BON Project

Building the European Biodiversity Network

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

slide-2
SLIDE 2

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

Presentation

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

slide-3
SLIDE 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

slide-4
SLIDE 4

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

EU BON Architecture

GBIF LTER EU- Nomen GenBank Testing Sites Hosting Services EU BON PORTAL EU BON external services (API) EU BON Enterprise Service Bus (ORCHESTRATION)

GBIF API (REST) DEIMS services (REST)

WSDL WSDL / REST

Business Process 1 .. N Metadata mapping processes Other processes Search Engine process

EU BON Portal will be a client for the middleware architecture

… …

GEOSS Catalogue

  • f Services
slide-5
SLIDE 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

slide-6
SLIDE 6

EU BON software objectives in scratch

collect integrate analyse

  • bserve

retrieve store provide … providers & testing sites taxonomy

  • bservation

genetics … Data metadata maps EBV’s …

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

slide-7
SLIDE 7

Users

EU BON Biodiversity Portal

Dataset / Collections downloader Search engine

Data Integration Services (in ESB)

Web Services Interface

Data provider 1 Data provider 2 Data provider N

Integration client Integration client Integration client

EU BON Data and Metadata Repository

EU BON Architecture: Search use case

How do we connect heterogeneous data sources?

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

slide-8
SLIDE 8

Enterprise Application Integration

Enterprise Application Integration

Computer systems architectural principles to integrate enterprise applications

EAI

CRM ERP Legacy Financial Databases

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

slide-9
SLIDE 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

slide-10
SLIDE 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

slide-11
SLIDE 11

Service application typology

New Service Existing Application New Service Existing Application Existing Application Service Consumer New Service Implementation Composite Service Wrapped Existing Service Service Interface Service Implementation

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

slide-12
SLIDE 12

Web Services: WSDL vs REST

WSDL: Web Services Description Language SOAP: Simple Object Access Protocol REST: Representational State Transfer JSON: JavaScript Object Transfer 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 POST, e.g., SMTP, JMS HTTP only, but using GET, POST, PUT, DELETE

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

slide-13
SLIDE 13

Point to point integration

We need processes!!!

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

slide-14
SLIDE 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

slide-15
SLIDE 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

slide-16
SLIDE 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

slide-17
SLIDE 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

slide-18
SLIDE 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

slide-19
SLIDE 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

slide-20
SLIDE 20

BPMN

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

Figure 6.6: This is the only part of the whole collaboration we will execute in a process engine

Trouble Ticket System 1st level support 2nd level support Issue received Open ticket edit 1st level ticket Result? Send mail to account manager Close ticket edit 2nd level ticket Result? Insert issue into product backlog Issue resolved 2nd level issue Issue resolved Fix in Next release

slide-21
SLIDE 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:

Message Router Aggregator Splitter Message Translator Message Filter Send to B if A.count > 20, and to B in other case Send messages only if A.count > 20 Send A to B, C, D. Translate XML to CSV Concatenate A, B, C and send to D

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

slide-22
SLIDE 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

slide-23
SLIDE 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

slide-24
SLIDE 24

Thank you very much for your attention

This presentation includes icons made by Freepik from Flaticon.com

EU BON 1st Training Workshop Heraklion – Crete – 3 Apr 2014

antonio.garcia.camacho@csic.es @fagarciacamacho