Enterprise Integration Patterns



Similar documents
Enterprise Integration Patterns

ATHABASCA UNIVERSITY. Enterprise Integration with Messaging

Datatype Channel p. 111 Invalid Message Channel p. 115 Dead Letter Channel p. 119 Guaranteed Delivery p. 122 Channel Adapter p. 127 Messaging Bridge

Enterprise Integration Patterns

Microsoft Azure Multi-Factor authentication. (Concept Overview Part 1)

Service Oriented Architecture

The Enterprise Service Bus: Making Service-Oriented Architecture Real

Home - Enterprise Integration Patterns

SharePoint 2013 Business Connectivity Services Hybrid Overview

AquaLogic Service Bus

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

A new cost model for comparison of Point to Point and Enterprise Service Bus integration styles

Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

Service-Oriented Architectures

Research on the Model of Enterprise Application Integration with Web Services

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

Enterprise Service Bus

Programming Without a Call Stack: Event-driven Architectures

Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure. Patriek van Dorp and Alex Thissen

Definition of SOA. Capgemini University Technology Services School Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2

Software Service Engineering Architect s Dream or Developer s Nightmare?

Contents. Overview 1 SENTINET

WHITEPAPER SECURITY APPROACHES AND SECURITY TECHNOLOGIES IN INTEGRATION CLOUD

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

Enterprise Integration Patterns with BizTalk Server 2004

How To Integrate With Salesforce

Methods and tools for data and software integration Enterprise Service Bus

Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur

PopimsCard. Franck GUIGAN The magic card. February

BizTalk 2010: First Looks. Brendon Birdoes

Enterprise Integration

Building Remote Access VPNs

Introduction to Service Oriented Architectures (SOA)

10 Years of Hype Cycles - Do We Forget Knowledge?

Service-Oriented Architecture and Software Engineering

CHAPTER 1 INTRODUCTION

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

Persistent, Reliable JMS Messaging Integrated Into Voyager s Distributed Application Platform

Enterprise Application Integration

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

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED LOGICAL DESIGN MODEL LANGUAGE SPECIFICATIONS

redcoal SMS for MS Outlook and Lotus Notes

Microsoft SOA Roadmap

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

VPN. Date: 4/15/2004 By: Heena Patel

Service Oriented Architecture 1 COMPILED BY BJ

SAP HANA Cloud Integration CUSTOMER

A BEA Enterprise Architecture Guide

Implementing Enterprise Integration Patterns Using Open Source Frameworks

Spotlight on SQL Server Enterprise Federation Guide

TIME AND ATTENDANCE MANAGEMENT WEB

REQUEST FOR QUOTATION For OFFICE 365 MIGRATION SERVICES IT QSP

CLOUD BASED SEMANTIC EVENT PROCESSING FOR

Chapter 2: Cloud Basics Chapter 3: Cloud Architecture

RED HAT JBOSS FUSE SERVICE WORKS 6 COMPARED WITH MULE ESB ENTERPRISE 3.4

Microsoft Partner Network. Cloud Services Dashboard User Guide

NIST s Guide to Secure Web Services

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

Architectural Patterns (3)

Integration using IBM Solutions

Hybrid for SharePoint Server Search Reference Architecture

JOURNAL OF OBJECT TECHNOLOGY

Alfresco Enterprise on Azure: Reference Architecture. September 2014

SOA Blueprints Concepts

Service Virtualization: Managing Change in a Service-Oriented Architecture

{{This page is intentionally left blank}}

Technical Track Session Service-Oriented Architecture

Web Services in SOA - Synchronous or Asynchronous?

Advanced Computer Networks. Layer-7-Switching and Loadbalancing

SHARPCLOUD SECURITY STATEMENT

Lesson 18 Web Services and. Service Oriented Architectures

ITU-T Kaleidoscope Conference Innovations in NGN. Managing NGN using the SOA Philosophy. Y. Fun Hu University of Bradford

Six Strategies for Building High Performance SOA Applications

Service-Oriented Computing and Service-Oriented Architecture

API Architecture. for the Data Interoperability at OSU initiative

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Government Service Bus

ESB as a SOA mediator: Minimizing Communications Complexity

A standards-based approach to application integration

David Pilling Director of Applications and Development

ASSET FINANCE. Break Through.

STRATEGIES ON SOFTWARE INTEGRATION

A Survey Study on Monitoring Service for Grid

CONTINUOUS DEPLOYMENT EBOOK SERIES: Chapter 1. Why Continuous Deployment Is Critical to Your Digital Transformation Strategy

onetransport 2016 InterDigital, Inc. All Rights Reserved.

Mobile Cloud Computing In Business

PI Cloud Connect Overview

Ariett Purchasing & Expense Management. Go Paperless, Go Mobile, Go Easy.

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

Transcription:

Enterprise Integration Patterns Pavlo Petrenko pavlo.petrenko@s2012.tu-chemnitz.de Seminar Web Engineering for Master Students Distributed and Self-organizing Systems Group Computer Science Department 10 December 2012

2 EAI: Introduction What were initial problems? Applications rarely live in isolation Creating a single, big application to run a complete business is next to impossible Spreading business functions across multiple applications provides the business with the flexibility to select the best packages for particular purposes Integrated Applications are independent programs that can each run by themselves, yet that function by coordinating with each other in a loosely coupled way. EAI is the unrestricted sharing of data and business processes among any connected applications and data sources in the enterprise. Why does the area of EAI exist at all? - Heterogeneity of enterprises

3 When to apply EAP and why Information Portal Data Replication Shared Business Function Service-Oriented Architecture Distributed Business Process Business-to-Business Integration

4 Enterprise Integration Styles File Transfer Shared Database Remote Procedure Invocation Messaging

5 Messaging Systems Channel: a communication medium, where one application writes information to the channel and the other one reads that information from the channel. Message: a data record that the messaging system can transmit through a Message Channel. Message Router: a special filter, which consumes a Message from one Message Channel and republishes it to a different Message Channel, depending on a set of conditions. Message Translator: a special filter between other filters or applications to translate one data format into another.

6 EAI Messaging Patterns Normalizer

7 Messaging Channels & Construction Patterns Publish-Subscribe Channel: delivers a copy of a particular event to each receiver. Return Address: indicates where to send the reply message. Correlation Identifier: a unique identifier that indicates which request message this reply is for.

Message Routing & Transformation Patterns Recipient List: inspects an incoming message, determines the list of desired recipients, and forwards the message to all channels associated with the recipients in the list. Aggregator: a stateful filter to collect and store individual messages until it receives a complete set of related messages. Then, the Aggregator publishes a single message distilled from the individual messages. Content Enricher: a specialized transformer, used to to access an external data source in order to augment a message with missing information. Normalizer: routes each message type through a custom Message Translator so that the resulting messages match a common format. 8

9 Loan Broker Problem When shopping for a loan, a customer usually calls several banks to find the deal with the best possible interest rate. Each bank asks the customer for his or her social security number, the amount of the loan, and the desired term (i.e., the number of months until the loan has to be paid off). Each bank then investigates the customer s credit background. Because contacting multiple banks with a loan quote request is a tedious task, loan brokers offer this service to consumers.

10 Demo

11 Big Picture of EAP Enterprise Integration Messaging Conversation Processes Events

12 Conversation Conversation = Series of Related Messages Order Invoice Payment Drinks Conversations can span seconds, hours, days Multiple conversation instances at the same time Messages belonging to one conversation are correlated (typically through identifier)

13 Conversation Patterns Chronological order of an interaction between services Discovery (Dynamic Discovery, Consult Directory, Referral) Establishing a Conversation (Three-way Handshake, Acquire Token First, Rotate Tokens, Address Verification) Basic Conversations (Fire-and-Forget, Request-Response, Request-Response with Retry, Polling, Subscribe-Notify, Quick Acknowledgment) Multi-Party Conversations (Proxy, Contingent Requests, Reaching Agreement, Leader Election) Reaching Agreement (Receiver Cancels, Sender Cancels, Binding Request, Binding Offer) Terminating Conversations (Lease, Renewal Reminder, Heartbeat) Error Handling (Do Nothing, Retry, Compensating Action)

14 Establishing a Conversation Three-way Handshake: the requestor initiates a conversation, followed by an acknowledgment by the service provider, which is turn is followed by an acknowledgment (Ack-Ack) from the initiator. Acquire Token First: Have the initiator acquire a reference token first. This token has to be included in subsequent requests. Address Verification: The service provider sends a message with unique data to the consumer supplied address. The consumer has to pass the unique data back to service provider to complete the authentication.

15 Basic Conversations Request-Response with Retry: Have the consumer retry the request the request if it does not receive a response within a certain time interval. Polling: Have the originating service poll, i.e., inquire whether the results are ready, multiple times if necessary. Quick Acknowledgment: Send an acknowledgment message quickly, followed by the actual results later.

16 Multi-Party Conversations Proxy: a service that forwards messages between two services. Contingent Requests: Have the initiator issue a request to a service. If it does not receive a response within a certain timeframe, send a request to another service, and so on. Reaching Agreement: Have a separate coordinator. The coordinator collects responses from each participant, determines the outcome, and informs each participant of the outcome.

17 Conclusions Messaging is the most preferable integration style nowadays. Messaging is loosely coupled, composable, elegant, scalable, and asynchronous. 65 messaging patterns, 35 conversation patterns so far. Ample field for research: the rest of the EAI patterns (processes, events, etc.) are still under development. Relevance to current trends in IT Hybrid Clouds, Windows Azure Service Bus EAI. Implementing some of EAI patterns instead of buying proprietary solutions can save you a lot of money.

18 References Books Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Gregor Hohpe; Bobby Woolf; Addison-Wesley Professional 2003, ISBN-13: 978-0-321-20068-6 Integration Patterns: Patterns & Practices. David Trowbridge, Ulrich Roxburgh et al. Microsoft Corporation 2004, ISBN 0-7356-1850-X Enterprise Application Integration. David S. Linthicum; Addison-Wesley Professional 1999, ISBN-13: 978-0-201-61583-8 Articles Enterprise Integration Patterns. Gregor Hohpe; 2002. Conversation Patterns:Interactions between Loosely Coupled Services. Gregor Hohpe; 2007 http://eaipatterns.com.