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 116problem is granularity <strong>of</strong> utility functionalities. While Logging is coarsegrained, SWING utilities support fine grained issues like “boolean isRectangleContainingRectangle(Rectanglea, Rectangle b)” method. Such fineutilities should not be taken in<strong>to</strong> consideration during Utility Abstractiondesigning. Garrulity itself is rather hard <strong>to</strong> define, thus an architect or adeveloper shall decide whether granularity shall be defined based on size <strong>of</strong>code <strong>of</strong> the utility or other criterion is needed. Model <strong>of</strong> MVC is the placewhere utility code should be found (see 5.5).ViewSchemaViewPolicySchemaControllerPolicyController+ Utility Abstraction =Basic <strong>Service</strong>sModelUtilityFigure 5.5: <strong>Migration</strong> step 56. Identify and encapsulate access <strong>to</strong> any external resourceApplied SOA pattern: Canonical ResourcesHow <strong>to</strong>: Canonical Resource wraps an access <strong>to</strong> any external resource usedby application. Term “external resource” refers <strong>to</strong> databases, state deferralmechanisms (mechanisms that allow <strong>to</strong> s<strong>to</strong>re temporary state <strong>of</strong> a service),activity management extensions (like context and transaction managementframeworks)[32]etc. It does not include resources like CPU or memoryif they belong <strong>to</strong> the host machine. Model should be checked in terms<strong>of</strong> having any connection <strong>to</strong> databases, outside company services or othercomponents s<strong>to</strong>ring and maintaining data like for instance service grids.Depending on resource granularity (for instance database size) and complexity<strong>of</strong> operations executed on the resource, a new service may providean access <strong>to</strong> the resource or <strong>to</strong> operations on resource related <strong>to</strong> particularentities (see 5.6).7. Identify and wrap in<strong>to</strong> services all entity related codeApplied SOA pattern: Entity AbstractionHow <strong>to</strong>: Entity–related Core logic <strong>of</strong> migrated system should be investigatedin components elements that manipulate entities. The manipulationincludes mainly computations and entity-related tasks. Entity related servicescan be unders<strong>to</strong>od as services providing utilities for entities and shouldbe found in Model (see 5.7).

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

Saved successfully!

Ooh no, something went wrong!