exemplified in java business integration

26
Enterprise Integration Patterns Exemplified in Java Business Integration Part I - Introduction Christoph Hartmann

Upload: others

Post on 12-Sep-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Exemplified in Java Business Integration

Enterprise Integration PatternsExemplified in Java Business Integration

Part I - Introduction

Christoph Hartmann

Page 2: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

2

“There is no simple answer for enterprise

integration.”

Hohpe et al. Enterprise Integration Patterns, 2004, p. 4

Page 3: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

3

Agenda

■ Part I - Introduction

□ Fundamental Integration Challenges

□ Integration Styles

□ Service-oriented Architecture

□ Enterprise Service Bus

■ Part II - Introduction

□ Design Patterns

□ Java Business Integration

■ Part III - Analysis

□ Client

□ Normalized Message Router

□ Service Engine

□ Conclusion

Page 4: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

4

Fundamental and Integration Challenges

■ Networks are unreliable

■ Networks are slow

■ Any two applications are different

■ Change is inevitable

■ Software has to map the enterprise communication structure

■ Complex implications

■ Changes to legacy systems are not possible in most cases

■ Only a few standards for integration exist

(XML, XSL, Web Services)

■ Enterprise Application Integration is a complex task

Page 5: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

5

Integration Styles

■ File transfer

■ Shared database

Application A Application BShared Data

Exp

ort

Imp

ort

Application A Application B Application C

Shared Data

DBMS

DBMS Client DBMS Client DBMS Client

R R

R

Page 6: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

6

Integration Styles

■ Remote procedure invocation

■ Messaging

Application A Application B Application C

REvent

REvent

REvent

Message Bus

Application A Application B

Stu

b

Ske

leto

n

R

Function

R

Result

Page 7: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

7

Messaging

■ Main steps: Create, Send, Deliver,

Receive, Process

■ Benefits of messaging

□ Remote communication

□ Variable timing

□ Throttling

□ Reliable communication

□ Disconnected operation

□ Mediation

□ Thread management

□ Platform/language integration

□ Asynchronous communication

Create

message

Send

message

Deliver

message

Receive

message

Process

message

Sending

Application

Receiving

ApplicationChannel

Page 8: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

8

Service-oriented Architecture

■ Key concepts

□ Application front-end

□ Service

□ Service repository

□ Service bus

□ Message

■ Characteristics

□ Reusable

□ Synchronously callable

□ Asynchronously callable

□ Shared enterprise wide

Page 9: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

9

Enterprise Service Bus

“An Enterprise Service Bus provides a Service-oriented Architecture approach

to building composite applications.” open esb

■ ESB combines

□ Messaging

□ Data transformation

□ Reliable routing

□ Web Services

■ ESB provides an implementation infrastructure for SOA based applications

■ Standard based integration platform

□ Often called “integration network”

Client

Service 1 Service 2 Service 3 Service 4

Message Bus

R

R

Page 10: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

10

Thanks for your attention.

Page 11: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

11

Bibliography

■ Gregor Hohpe and Bobby Woolf, Enterprise Integration Patterns,

Addison Wesley, 2004

■ David A. Chappell, Enterprise Service Bus. Theory in Practice,

O’Reilly, 2004

■ Eric Pulier and Hugh Taylor, Understanding Enterprise SOA,

Manning Publications, 2006

Page 12: Exemplified in Java Business Integration

Enterprise Integration PatternsExemplified in Java Business Integration

Part II - Introduction

Christoph Hartmann

Page 13: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

13

Agenda

■ Part I - Introduction

□ Fundamental Integration Challenges

□ Integration Styles

□ Service-oriented Architecture

□ Enterprise Service Bus

■ Part II - Introduction

□ Design Patterns

□ Java Business Integration

■ Part III - Analysis

□ Client

□ Normalized Message Router

□ Service Engine

□ Conclusion

Page 14: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

14

Design Patterns - Definition

“Each pattern describes a problem which occurs over and over again

in our environment, and then describes a core of the solutions to that

problem, in such a way that you can use that solution a million times

over, without ever doing it the same way twice”

Alexander. et al. A Pattern Language. Oxford, 1977.

Page 15: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

15

Design Patterns

■ Designers should reuse solutions that have worked in the past

□ Patterns were not invented but they were discovered

■ Patterns have four essential elements

□ Pattern name

□ Problem

□ Solution

□ Consequences

■ Support the decision of design alternatives

■ The pattern value consists in helping to communicate ideas to

others

Page 16: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

16

Java Business Integration

■ An open and flexible way to integrate applications

■ Implementation of an Enterprise Service Bus

■ Try to avoid problems that are known from classic Enterprise

Application Integration (EAI) frameworks

■ Specifies:

□ Plug-in components

□ Message Routing

□ Component life cycle

□ Component administration

□ Component packaging

■ Is based upon WSDL 2.0

Page 17: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

17

JBI Architecture

JBI Instance

Normalized Message Router (NMR)

JBI

Component

Manager

JBI Components

Client

Binding

Component

Service

EngineService

Engine

Message

Buffer

JBI Artifacts

Message Exchange Message Exchange

FTP

Service

Consumer

Delivery

Channel

Bound

Message

Message

Exchange

Page 18: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

18

Message Exchange (Request-Response)

Normalized

Message

Router (NMR)

ClientBinding

Component

Service

Engine

Message

ExchangeMessage

ExchangeFTP

Provider (SE)Consumer (BC)

Convert BM and initialize an

in-out message exchange

NMR

Accept message exchange and

determine service provider

Send message exchange Forward message

Accept message exchange and

denormalize message

Recieve, compute & response

message

Add response message to

message exchange

Recieve message exchange

and determine consumerRecieve response message

Client

Create bound message

Send bound message (BM)

Recieve response message

Page 19: Exemplified in Java Business Integration

Enterprise Integration PatternsExemplified in Java Business Integration

Part II - Analysis

Christoph Hartmann

Page 20: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

20

Agenda

■ Part I - Introduction

□ Fundamental Integration Challenges

□ Integration Styles

□ Service-oriented Architecture

□ Enterprise Service Bus

■ Part II - Introduction

□ Design Patterns

□ Java Business Integration

■ Part III - Analysis

□ Client

□ Normalized Message Router

□ Service Engine

□ Conclusion

Page 21: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

21

Analysis - Client

ClientBinding

Component

Message

ExchangeFTP

C

Client Logic

D

MessageExchange

Normalized Message

Message Context

Message Content

(XML)

Status

Information

e.g. for

transaction

Attachments

Page 22: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

22

Analysis – Normalized Message Router

Normalized

Message

Router (NMR)

Service

Engine

Message

Exchange

Binding

Component

Message

Exchange

Page 23: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

23

Analysis – Service Engine

Service

Engine

D

Service Logic

Page 24: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

24

Conclusion

■ Patterns can be discovered in real world scenarios

■ Finding patterns can decrease development time

■ Patterns improve the communicate with colleagues

■ Only integration patterns were presented

■ Other patterns are:

□ OO patterns

□ Enterprise application architecture patterns

□ SOA pattern

■ Granularity of patterns is questionable

Page 25: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

25

Bibliography

■ Alexander. et al. A Pattern Language. Oxford, 1977.

■ E. Gamma et al. Design Patterns – Elements of Reusable Object-Orientated Software. Addison-Wesley, 1995.

■ M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002

■ G. Hohpe and B. Woolf. Enterprise Integration Patterns - Deigning, Building, and Deploying Messaging Solutions. Pearson Education, 2004.

■ D. A. Chappell. Enterprise Service Bus - Theory in Practice. O’Reilly, 2004.

■ Ch. Hartmann. Einführung in Java Business Integration. Seminar Systemmodellierung, 2006.

■ A. Sterkin. Teaching Design Patterns.

■ JBI Specifiction JSR 208

Page 26: Exemplified in Java Business Integration

Subject-specific English for Software Systems Engineering | Christoph Hartmann 15.02.2007

26

Thanks for your attention.