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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!