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 117ViewViewControllerSchemaControllerPolicySchemaPolicyBasic <strong>Service</strong>s+ Canonical Resources =Basic <strong>Service</strong>sUtilityUtilityResourcesFigure 5.6: <strong>Migration</strong> step 6ViewViewControllerSchemaControllerPolicySchemaPolicyBasic <strong>Service</strong>sBasic <strong>Service</strong>s+ Entity Abstraction =UtilityUtilityResourcesResourcesEntityFigure 5.7: <strong>Migration</strong> step 78. Identify and wrap in<strong>to</strong> services business rulesApplied SOA pattern: Rules CentralisationHow <strong>to</strong>: Business Rule can be both very simple like value ¿ 0 or a complextask that relays on many fac<strong>to</strong>rs. It may be difficult <strong>to</strong> identify businessrules in code, because complex rules may be confused with process controlflow. Consequently other source (not only code and code comments) <strong>of</strong>rules should be chosen. An alternative source <strong>of</strong> rules and constrains isa documentation (if exists). Firstly, business rules should be divided in<strong>to</strong>three groups:(a) First group contains rules that validate arguments <strong>of</strong> operations forinstance value >0.(b) The second group consist <strong>of</strong> business rules defining processes, for instance:“ (normal flow) . . . if value >0 then add else send message. . . (normal flow)”. Another example:“after adding an entity a newdocumentation has <strong>to</strong> be generated”(c) The third group contains rule describing requirements on level <strong>of</strong> objectsand relations between them, for instance“A supervisor may su-

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

Saved successfully!

Ooh no, something went wrong!