140 likes | 298 Views
Atomic SOA Patterns. Elementary Middleware Communication Patterns for a Successful SOA Implementation Any complex communication scenario can be efficiently built from a small number of atomic patterns. SOA Application Layer Model (non-OSI).
E N D
Atomic SOA Patterns • Elementary Middleware Communication Patterns for a Successful SOA Implementation Anycomplexcommunicationscenariocanbeefficientlybuiltfrom a smallnumberofatomicpatterns
Data exchangewithin a layerhappensalways via a Canonical Format. Data exchangebetweenlayersisonlydonethroughdefinedgateways. Canonical Data Transport von Neumann Paradigm of Computing: Communication as canonical 3-step process • Input • Process • Output János von Neumann zu Margitta: Mastermind of modern Computer Architecture
Example: How to copy a file The quick & dirty approach Procedure CopyFile • Read the input file • Convert encoding • Save the file The atomic approach • Procedure readFile • Read the input file • ProcedureconvertEncoding • Convert encoding • Procedure saveFile • Save the file • Procedure CopyFile • Call inputFile • Call convertEncoding • Call saveFile
Peer-to-Peer sink source M S R • Message directly from Sender to Receiver
Peer-to-Peer with conversion source sink M m S R C source sink M m S R C • Message converted eitherby Sender or Receiver
Message-Broker (Middleware) source sink MoM M m S R C • Message converted in a message-oriented middleware broker
Message-Queue source sink MoM M m S R C Q • Buffer message in queue until receiver is ready
Message-Rerouting source sink MoM M S R C sink 2 Rule m R • Redirect message based on rules • e.g. Loadbalancing, quarantine
Message Fan-out source MoM m M Sink 1 R S C sink 2 R Rule sink 3 R • Replicate messages based on rules • e.g. mass email