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 131puter (extends Asset), Part (composes Asset), AssetNumber (identifiesAsset). The name <strong>of</strong> such schema is defined as.xsd. For instanceresourceAsset.xsd.Output: XML schema. The schema is located in ProcessAbstraction<strong>Service</strong>.The document will contain definition <strong>of</strong> arguments <strong>of</strong> service’s methods andtheir return types.4. Unify PoliciesApplied SOA pattern: Policy CentralisationApplication: Available documentation does not require special security pro<strong>to</strong>cols.Application <strong>of</strong> policies is a complex task. See [44] for more information.Output: No new elements are introduced in case <strong>of</strong> this project.5. Identify and wrap in<strong>to</strong> services all coarse grained utilitiesApplied SOA pattern: Utility AbstractionApplication: Presentation Layer has only GUI related code, while Controllerexcept process flow code has some code responsible for maintenance<strong>of</strong> temporary assets. Code <strong>of</strong> Model also do not provide any “utility” code.The project does not have utility related code, therefore application <strong>of</strong> thisguideline in case <strong>of</strong> TRWAM will not introduce changes <strong>to</strong> the target architecture.Output: No new services are implemented in case <strong>of</strong> this project. If aUtility Abstraction related code would exist; it would be wrapped in<strong>to</strong> abasic service.6. Identify and encapsulate access <strong>to</strong> any external resourceApplied SOA pattern: Canonical ResourcesApplication: In case <strong>of</strong> MVC, the only place where an access <strong>to</strong> Resourceis allowed is Model. Therefore any resource-related parts <strong>of</strong> Model shouldbe identified. Analysis <strong>of</strong> TRWAM project shows only two resource relatedclasses. The first, AbstractDAO defines general CRUD operations. Thesecond is AssetDAO (SrodkiTrwaleDAO) which executes asset related operationson database. AssetDAO becomes a service providing asset-relateddatabase operations.Output: Two projects are created. The first is crAsset<strong>Service</strong> providingasset related operations like addAsset (adds a new asset) and getCurrent-MaxNumber (returns max id <strong>of</strong> an asset). There is also removeAsset operationbut it is only a stub that takes crComputer as an argument. This

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

Saved successfully!

Ooh no, something went wrong!