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 133Group 3 may be encapsulated in services but there is no implementationreferring <strong>to</strong> those rules in code, consequently no rules validation serviceswill be created during migration .Output: No services are implemented in case <strong>of</strong> this project. If a RuleCentralisation related code would exist; it would be wrapped in<strong>to</strong> a basicservice as it is done in the previous guideline.9. Provide inven<strong>to</strong>ry endpoints <strong>to</strong> basic servicesApplied SOA pattern: Inven<strong>to</strong>ry EndpointApplication: Inven<strong>to</strong>ries in TRWAM project consists <strong>of</strong> only one servicedue <strong>to</strong> a small size <strong>of</strong> the project. Introduction <strong>of</strong> an additional service(inven<strong>to</strong>ry endpoint) that will be a facade <strong>to</strong> the existing services is simplyredundant. Such introduction would unnecessary complex the process andintroduce overhead.Output: No new services are implemented in case <strong>of</strong> this project. Implementation<strong>of</strong> an inven<strong>to</strong>ry endpoint in case <strong>of</strong> this system makes no sensebecause inven<strong>to</strong>ries have only one service. The endpoint service would haveexactly the same interface.10. Identify all processes within the legacy applicationApplied SOA pattern: Process AbstractionApplication: MVC architectural pattern has one component that takes careabout Business Process Logic within application - Controller. In case <strong>of</strong>TRWAM project, Controller is not implemented properly what was noticedin Entity Abstraction part. This is not the only problem <strong>of</strong> Controllerin TRWAM project. TRWAM’s Controller contains also code responsiblefor maintenance <strong>of</strong> temporary assets. Temporary asset is an asset thatwas defined by a user but was not persisted yet. Due <strong>to</strong> wrong Controllerimplementation, the flow <strong>of</strong> process has been dis<strong>to</strong>rted. The process isartificially divided in<strong>to</strong> two separated processes. The fist process createsidentification numbers for temporary assets. The number is based on actualmaximum value <strong>of</strong> asset primary key and requires additional computing.Computation <strong>of</strong> a new number for temporary assets does not make sense atall. The assets simple may not be persisted and all the computation effort iswasted. The second process is meant <strong>to</strong> persist temporary assets. A properwork flow <strong>of</strong> the process should be following:(a) Create an asset.

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

Saved successfully!

Ooh no, something went wrong!