atomic soa patterns

Download Atomic SOA Patterns

Post on 05-Jan-2016




0 download

Embed Size (px)


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). - PowerPoint PPT Presentation


Slide 1

Elementary Middleware Communication Patterns for a Successful SOA ImplementationAny complex communication scenario can be efficiently built from a small number of atomic patternsAtomic SOA PatternsLogosworld SOA City1SOA Application Layer Model (non-OSI)Logosworld SOA City2Canonical Data Transportvon Neumann Paradigm of Computing:Communication as canonical 3-step processInputProcessOutputData exchange within a layer happens always via a Canonical Format.Data exchange between layers is only done through defined gateways.

Jnos von Neumann zu Margitta:Mastermind of modern Computer ArchitectureLogosworld SOA CityExchanging content from one port to another allows for infinite variations. Think of sending over a simple text message like The quick brown fox. You may decide exchanging just the plain format or you pack the message in an envelope, allowing you to add additional context information like the legacy, the encoding and the desired receiver. As an example you may wrap this now in an XML package:

The quick brown fox

Sending raw messages is certainly not a good idea, since it simply does not allow immediate sending additional information along with the message.

3Example: How to copy a fileThe quick & dirty approachProcedure CopyFileRead the input fileConvert encodingSave the fileThe atomic approachProcedure readFileRead the input fileProcedure convertEncodingConvert encodingProcedure saveFileSave the fileProcedure CopyFileCall inputFileCall convertEncodingCall saveFileLogosworld SOA City4Data Transport in EnvelopesLogosworld SOA City5Interaction Transport/Data-Layer

Logosworld SOA City6Atomic PatternsLogosworld SOA City7Sender

Logosworld SOA City8Peer-to-PeerMessage directly from Sender to ReceiversourcesinkSRMLogosworld SOA City9Peer-to-Peer with conversionMessage converted eitherby Sender or ReceiversourcesinkSRCMmsourcesinkSRCMmLogosworld SOA City10Message-Broker (Middleware)Message converted in a message-oriented middleware brokersourcesinkSRCMmMoMLogosworld SOA City11Message-QueueBuffer message in queue until receiver is readysourcesinkSRCMmMoMQLogosworld SOA City12Message-ReroutingRedirect message based on rulese.g. Load balancing, quarantinesourcesinkSRCMmMoMsink 2RRuleLogosworld SOA City13Message Fan-outReplicate messages based on rulese.g. mass emailsourceSink 1SRCMMoMsink 2RRulemsink 3RLogosworld SOA City14