Download - Atomic SOA Patterns

Transcript
Page 1: Atomic SOA Patterns

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: Atomic SOA Patterns

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: Atomic SOA Patterns

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: Atomic SOA Patterns

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: Atomic SOA Patterns

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: Atomic SOA Patterns

Logosworld SOA City

Interaction Transport/Data-Layer

Page 7: Atomic SOA Patterns

Logosworld SOA City

Atomic Patterns

Page 8: Atomic SOA Patterns

Logosworld SOA City

Sender

Page 9: Atomic SOA Patterns

Logosworld SOA City

Peer-to-Peer

Message directly from Sender to Receiver

source sink

S RM

Page 10: Atomic SOA Patterns

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: Atomic SOA Patterns

Logosworld SOA City

Message-Broker (Middleware)

Message converted in a message-oriented middleware

broker

source sink

S RC

M m

MoM

Page 12: Atomic SOA Patterns

Logosworld SOA City

Message-Queue

Buffer message in queue until receiver is ready

source sink

S RC

M mMoM

Q

Page 13: Atomic SOA Patterns

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: Atomic SOA Patterns

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


Top Related