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 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!