14
Logosworld SOA City Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small number of atomic patterns Atomic SOA Patterns

Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Embed Size (px)

Citation preview

Page 1: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Elementary Middleware Communication Patterns for a

Successful SOA ImplementationAny complex communication scenario can be efficiently built from a

small number of atomic patterns

Atomic SOA Patterns

Page 2: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

SOA Application Layer Model (non-OSI)• Canonical Content representationContent• HTML, XML, JSON, ASCIIEnvelope• HTTP, FTP, WebDAV, SteganographieTransport• TCP, UDP, IPXDelivery• IPData Linkage• Ethernet, Token-RingNetwork• WLAN, Cable, Sound, File-SystemPhysical

Page 3: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Canonical Data Transportvon Neumann Paradigm of Computing:Communication as canonical 3-step process Input Process Output

Data exchange within a layer happens always via a Canonical Format.Data exchange between layers is only done through defined gateways. Input Process Output

János von Neumann zu Margitta:Mastermind of modern Computer Architecture

Receive Process Send

Page 4: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Example: How to copy a file

The quick & dirty approachProcedure CopyFile

• Read the input file• Convert encoding• Save the file

The atomic approach• Procedure readFile

• Read the input file• Procedure convertEncoding

• Convert encoding• Procedure saveFile

• Save the file• Procedure CopyFile

• Call inputFile• Call convertEncoding• Call saveFile

Page 5: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Physical Format

Transport protocol

HTTP, FTP, FileSys

Transport Envelope

Protocol specific

HTML, JSON, Text

Canonical FormatInternal container format

Data Transport in Envelopes

Page 6: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Interaction Transport/Data-Layer

Page 7: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Atomic Patterns

Page 8: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Sender

Page 9: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Peer-to-Peer

Message directly from Sender to Receiver

source sink

S RM

Page 10: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Peer-to-Peer with conversion

Message converted eitherby Sender or Receiver

source sink

S RCM m

source sink

S RCM m

Page 11: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Message-Broker (Middleware)

Message converted in a message-oriented middleware

broker

source sink

S RC

M m

MoM

Page 12: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Message-Queue

Buffer message in queue until receiver is ready

source sink

S RC

M mMoM

Q

Page 13: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Message-Rerouting

Redirect message based on rulese.g. Load balancing, quarantine

source sink

S RC

M

m

MoM

sink 2

RRule

Page 14: Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small

Logosworld SOA City

Message Fan-out

Replicate messages based on rules

e.g. mass email

source Sink 1

S RC

MMoM

sink 2

R

Rule

m

sink 3

R