12.07.2015 Views

Migration of a Chosen Architectural Pattern to Service Oriented ...

Migration of a Chosen Architectural Pattern to Service Oriented ...

Migration of a Chosen Architectural Pattern to Service Oriented ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 5. Guidelines 120How <strong>to</strong>: Reduces memory load <strong>of</strong> a stateful service by deferring their states<strong>to</strong> a specially designed reposi<strong>to</strong>ries like databases. State deferring requiresadditional effort related <strong>to</strong> memory load controlling as well as state s<strong>to</strong>ringand recovering, but it may occur crucial for performance. Access <strong>to</strong> deferringmechanism should be enabled via Canonical Resource [32]. Literatureprovides two possible ways for state deferring. First, (Partial State Deferral)describes s<strong>to</strong>ring <strong>of</strong> state <strong>of</strong> services in databases, while second (<strong>Service</strong>Grid) introduces Grids - an alternative for database state s<strong>to</strong>rage(a) Partial State Deferral [32]assumes deferring <strong>of</strong> only a part <strong>of</strong> the service’sstate. The deferred state will be no longer used in the process.Implementation <strong>of</strong> State deferring mechanisms should be consideredwhen all the processes are identified (see figure 5.11) This will allowthe process service <strong>to</strong> remain statefull and reduce memory load in thesame time. In order <strong>to</strong> fully leverage state deferring pattern, parts <strong>of</strong>the process that uses the same data should be executed in a sequenceif it is possible. For instance a process invokes firstly only servicesmanipulating on one part <strong>of</strong> a message, then a partial result is s<strong>to</strong>redin database and process manipulates the next part <strong>of</strong> the message.(b) <strong>Service</strong> Grid [32]proposes an alternative for state s<strong>to</strong>rage. In opposite<strong>to</strong> a typical database-based, <strong>Service</strong> Grid proposes state s<strong>to</strong>rage in aspecial dedicated grid <strong>of</strong> services. The grid contains many services thatare synchronized in order <strong>to</strong> provide security. Besides all the benefitsrelated <strong>to</strong> state deferring and alternative s<strong>to</strong>rage solution, <strong>Service</strong> Gridhas one significant drawback. It is vendor dependent. Grid has <strong>to</strong> beintegrated with SOA infrastructure - typically infrastructure providedby vendor <strong>of</strong> the grid.Introduction <strong>of</strong> State Deferring mechanism is always associated with performancereduction, thereupon the pros and cons <strong>of</strong> the mechanism should becarefully considered. Nevertheless application <strong>of</strong> State Reposi<strong>to</strong>ry may pay<strong>of</strong>f when a process is very long or asynchronous. In case <strong>of</strong> asynchronousprocesses, final states can be s<strong>to</strong>red and returned once (a few results) instead<strong>of</strong> a few single returns.12. Identify current points <strong>of</strong> access <strong>to</strong> the migrated systemApplied SOA pattern: FrontendsHow <strong>to</strong>: Available literature presents this part <strong>of</strong> migration as a complexactivity that is not limited only <strong>to</strong> “separate clients” task. According <strong>to</strong>[2],Presentation Layer is a complex entity that is broken in<strong>to</strong> three separatedelements:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!