EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

Similar documents
A standards-based approach to application integration

Introduction to Service-Oriented Architecture for Business Analysts

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Research on the Model of Enterprise Application Integration with Web Services

Service-Oriented Architecture: Analysis, the Keys to Success!

Building the European Biodiversity. Observation Network (EU BON)

Enterprise Application Designs In Relation to ERP and SOA

Business Process Execution Language for Web Services

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

SCA-based Enterprise Service Bus WebSphere ESB

Service Oriented Architecture

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

ESB solutions Title. BWUG & GSE Subtitle guy.crets@i8c.be. xx.yy@i8c.be

Introduction to Service Oriented Architecture (SOA)

Service-Oriented Architecture and Software Engineering

IBM WebSphere ESB V6.0.1 Technical Product Overview

A SOA Based Framework for the Palestinian e-government Integrated Central Database

Beeple, B-Pel, Beepul? Understanding BPEL and Its Role in SOA

SOA Best Practices (from monolithic to service-oriented)

Oracle BPEL Nuts and Bolts

Introduction into Web Services (WS)

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Service Oriented Architecture 1 COMPILED BY BJ

Service Oriented Architecture (SOA) An Introduction

ActiveVOS Server Architecture. March 2009

AquaLogic Service Bus

Run-time Service Oriented Architecture (SOA) V 0.1

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Oracle SOA Suite: The Evaluation from 10g to 11g

SOA Myth or Reality??

JOURNAL OF OBJECT TECHNOLOGY

Increasing IT flexibility with IBM WebSphere ESB software.

Introduction to Service Oriented Architectures (SOA)

Enterprise IT Architectures SOA Part 2

SOA and ESB. Mark Jeynes IBM Software, Asia Pacific

Presentation Outline. Key Business Imperatives Service Oriented Architecture Defined Oracle SOA Platform SOA Maturity/Adoption Model Demo Q&A

Federated Service Oriented Architecture for Effects-Based Operations

Service-oriented architecture in e-commerce applications

Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware

Enterprise Service Bus

Raghu R Kodali Consulting Product Manager, & Evangelist Oracle Fusion Middleware Oracle USA Author Beginning EJB 3 Application Development (Apress)

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

Enterprise Service Bus Defined. Wikipedia says (07/19/06)

ESB Versus ActiveVOS

AquaLogic ESB Design and Integration (3 Days)

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

Oracle SOA Reference Architecture

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

SERVICE ORIENTED ARCHITECTURE

THE INFOBUS PROJECT THE SCENARIO

Increasing IT flexibility with IBM WebSphere ESB software.

Real World Integration Challenges and Enterprise Service Bus (ESB)

Service-Oriented Architectures

Leveraging Service Oriented Architecture (SOA) to integrate Oracle Applications with SalesForce.com

Enterprise Integration Architectures for the Financial Services and Insurance Industries

Enterprise Reference Architecture

Enterprise Application Integration

Service Oriented Architecture Case: IBM SOA Reference Architecture

Getting Started with Service- Oriented Architecture (SOA) Terminology

What s New in Sonic V7.5 Rick Kuzyk

Web Services in Oracle Fusion Middleware. Raghu Kodali Consulting Product Manager & SOA Evangelist Oracle Fusion Middleware Oracle USA

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

Lesson 18 Web Services and. Service Oriented Architectures

Redbook Overview Patterns: SOA Design with WebSphere Message Broker and WebSphere ESB

WHAT IS BPEL AND WHY IS IT SO IMPORTANT TO MY BUSINESS?

Technical Track Session Service-Oriented Architecture

Government's Adoption of SOA and SOA Examples

Enterprise Integration EAI vs. SOA vs. ESB

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Business Process Standards and Modeling

SNUG June 16, 2006 The Future of PeopleSoft Integration

WELCOME. Where and When should I use the Oracle Service Bus (OSB) Guido Schmutz. UKOUG Conference

An Introduction to the Enterprise Service Bus

4. Concepts and Technologies for B2C, B2E, and B2B Transaction

Simplifying Processes Interoperability with a Service Oriented Architecture

Service Oriented Architecture

Guiding Principles for Modeling and Designing Reusable Services

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

Reusing Existing * Java EE Applications from Oracle SOA Suite

Pervasive Software + NetSuite = Seamless Cloud Business Processes

Service-Oriented Integration: Managed File Transfer within an SOA (Service- Oriented Architecture)

An Oracle White Paper November Oracle Primavera P6 EPPM Integrations with Web Services and Events

Integrating Siebel CRM 8 with Oracle Applications

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc.

Integration using IBM Solutions

SOA REFERENCE ARCHITECTURE

BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use

A Quick Introduction to SOA

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

Transcription:

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES Peter R. Egli INDIGOO.COM 1/16

Contents 1. EAI versus SOA versus ESB 2. EAI 3. SOA 4. ESB 5. N-tier enterprise architecture 6. WS-BPEL 7. WOA 2/16

1. EAI versus SOA versus ESB (1/3) What is EAI (Enterprise Application Integration)? EAI aims at integrating different enterprise applications. Thus EAI is a goal for enterprise architectures. What is SOA: SOA is an architectural pattern that aims at concentrating common (business) functionality into distinct services and exposing these on endpoints. Thus SOA is a means or architectural pattern to achieve EAI. What is ESB? ESB is an infrastructure component to facilitate SOA (ESB = messaging backbone) and EAI. Architectural pattern for EAI SOA Infrastructure component for ESB 3/16

1. EAI versus SOA versus ESB (2/3) Traditional EAI architectures before SOA: Client A Client B Client C Client D Client E No direct access between client and server allowed ESB (mediation middleware) Security Transaction Transformation CORBA DCOM RMI HTTP xyz ERP CRM SCM PDM Other No direct access between Servers allowed Integration of applications (common middleware infrastructure through ESB). Inefficient for compound services (services calling other services have to pass through the central EAI middleware (ESB) with security checks and transformations for each call). Limited reuse of services due to hidden endpoints (classical C/S architecture). ERP: Enterprise Resource Planning CRM: Customer Relationship Management SCM: Supply Chain Management PDM: Product Data Management CORBA: Common Object Request Broker Architecture DCOM: Distributed COM RMI: Remote Method Invocation 4/16

1. EAI versus SOA versus ESB (3/3) The solution for EAI with SOA: Common functionality is exposed as services. Endpoints (services) are exposed to be freely called by anyone. Services may call other services, clients may call services ("liberation" of endpoints). Services form a service grid with exposed application service endpoints and centralized infrastructure service endpoints. Transaction ESB Security Logging S0 S1 S2 S3 5/16

2. EAI (1/3) What is EAI? EAI is a business need or goal to integrate and couple diverse applications in an enterprise / organization. The benefits of EAI are: Share information between applications (basically connect the different DBs) and keep data consistent. Potentially reduce the technology landscape, reduce heterogeneity (standard interfaces of services mandate the use of standards, applications have less freedom to choose from different DBs, OSs, middlewares etc.). Faster and easier deployment of a new / updated application (interfaces for the integration are defined, middleware technologies are in place). Traditional IT landscape: n*(n-1)/2 application interface connections. EAI architecture: Central communication backbone. with standard interfaces. Messaging backbone 6/16

2. EAI (2/3) Typical EAI topologies: 1. Hub and spoke: EAI system is at the center (hub), interaction with applications via adaptors (=spokes). 2. Bus: EAI system is a bus. Distributed message-oriented communication. Adaptor Adaptor Adaptor Hub (msg. Broker) Messaging backbone Adaptor Adaptor Adaptor Adaptor 7/16

2. EAI (3/3) EAI building blocks: EAI can be accomplished in different ways. Most did not prove scalable (e.g. integration at DB level). Use of a centralized broker emerged as the best solution to the integration problem (scalability). This best practice has the following building blocks: 1. Centralized broker: Handles security, access and communication. ESB 2. Data model: Common data model based on a standard data structure. XML has become the de-facto standard. 3. Adaptor / connector: Adaptors / connectors connect applications to the central broker. 4. System model: Defines the interface including API and data flow to a component that connects to the central broker. Allows other applications to interact with this component in a standardized way. 8/16

3. SOA (1/3) SOA aims to extract common (service) functionality from different applications and expose it on a service endpoint. In the basic SOA pattern, service consumer, provider and registry are separated into different entities. The service registry helps decoupling service consumer and provider so that the consumer does not need to know the location of the provider. The service registry is an optional entity. In smaller deployments running a service registry may be 'overkill'. 2. Find Service registry 1. Register (publish) Service consumer 3. Bind Service provider 9/16

Granularity Enterprise Application Integration 3. SOA (2/3) Services can be exposed at different levels / granularity: Finding the right granularity is crucial for a successful SOA. A layering as follows may help in defining / decomposing the service landscape. Users Applications Applications invoke workflow services. Workflow services Business services Component services Conversational workflow services have a state. Example: Expense processing service. Standard: WS-BPEL Orchestrates component services into a single business level process. Example: Submit an expense report. Simple atomic action on a resource; action does not depend on any other service / component. Example: Simple access to a DB table. Enterprise resources 10/16

3. SOA (3/3) Standards are crucial for SOAs. These standards may be layered as follows: Semantic standards ebxml, XML/EDIFACT, HL7 CDA, SWIFT etc. Service orchestration (WS-BPEL) Service discovery (UDDI, JAXR) Infrastructure standards Service invocation, messaging (SOAP, WS-I / WS-*) Service description (WSDL, WADL) Security Transactions Management XML (infoset, namespace, schema) Network protocol (HTTP, SMTP) ebxml: XML/EDIFACT: HL7 CDA: WS-BPEL: SWIFT: Electronic business XML XML for Electronic Data Interchange for Administration, Commerce and Transport Health Level 7 XML format WS Business Process Engineering Language Societiy for Worldwide Interbank Financial Telecommunication Supporting standards 11/16

4. ESB Enterprise Service Bus is an infrastructure to facilitate SOA. ESB is basically a messaging backbone / broker which provides the following functions: Category Invocation Routing Mediation Messaging Process choreography Service orchestration Complex event processing Other quality of service Management Functions Support for synchronous and asynchronous transport protocols, service mapping (locating and binding). Addressability, static/deterministic routing, content-based routing, rules-based routing, policybased routing. Adapters, protocol transformation, service mapping. Message-processing, message transformation and message enhancement. Implementation of complex business processes. Coordination of multiple implementation services exposed as a single, aggregate service. Event-interpretation, correlation, pattern-matching. Security (encryption and signing), reliable delivery, transaction management. Monitoring, audit, logging, metering, admin console, BAM. Source: http://en.wikipedia.org/wiki/enterprise_service_bus Examples: Mule IBM WebSphere ESB Microsoft BizTalk server 12/16

5. N-tier enterprise architecture "Best practice" for "horizontal" decomposition of an application: 3-tier. Separation of concerns (user interface, business logic and data handling) improves maintainability and extensibility. Presentation tier: User interfaces Middle tier: Business logic Data tier: Data sources / sinks Web browsers HTML, Javascript GUI clients C++, C#, Java Web Server Middleware Server Databases Legacy Systems 13/16

6. WS-BPEL (1/2) What is WS-BPEL (Web Services Business Process Execution Language)? WS-BPEL is a language to define business processes based on web services. BPEL binds (web) services together to form larger complex business services. Thus BPEL is kind of a business programming language. BPEL provides: a. Control flow (branch, loop, parallel). b. Asynchronous correlation. c. Transaction support. For writing business programs, the following components are necessary: 1. Programming logic (provided by BPEL). 2. Data types (provided by the XSD of a web service). 3. Input / output (provided by WSDL that defines the web service messages). WS-BPEL versus BPEL4WS: BPEL4WS: Original standards by BEA, IBM, MS, SAP and Siebel. WS-BPEL: Successor to BPEL4WS defined by OASIS (name to comply with WS-* scheme). WS-BPEL and BPMN (Business Process Modelling Notation): BPMN defines the (graphical) notation for business process elements while WS-BPEL defines an XML-based business process description language. 14/16

6. WS-BPEL (2/2) BPEL hello world example: <?xml version="1.0" encoding="utf-8"?> <process xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:print="http://www.eclipse.org/tptp/choreography/2004/engine/print" <!--Hello World - my first ever BPEL program --> <import importtype="http://schemas.xmlsoap.org/wsdl/" location="../../test_bucket/service_libraries/tptp_engineprinterport.wsdl" namespace="http://www.eclipse.org/tptp/choreography/2004/engine/print" /> <partnerlinks> <partnerlink name="printservice" partnerlinktype="print:printlink" partnerrole="printservice"/> </partnerlinks> <variables> <variable name="hello_world" messagetype="print:printmessage" /> </variables> <assign> <copy> <from><literal>hello World</literal></from> <to>.value</to> </copy> </assign> <invoke partnerlink="printservice" operation="print" inputvariable="hello_world" /> </process> Source: http://www.eclipse.org/tptp/platform/documents/design/choreography_html/tutorials/wsbpel_tut.html 15/16

Features / Richness Enterprise Application Integration 7. WOA Web Oriented Architecture is a concept that extends or simplifies SOA through the use of REST and POX (Plain Old XML). WOA / REST is simply another (simpler?!) approach to SOA. SOA WSDL BPEL WS-* REST WOA HTTP JSON RMI SOAP JMS Complexity Source: http://www.zdnet.com/blog/hinchcliffe/the-soa-with-reach-web-oriented-architecture/27 POX: Plain Old XML (like POJO, but with XML) JSON: Javascript Object Notation (more compact alternative to XML) BPEL: Business Process Execution Language 16/16