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 ...
Chapter 5. Guidelines 132stub was needed to make crComputer available. This is a technology relatedissue ( see 5.4.1 for more details ). The second project is crCommons.This is a shared library that is included to canonical resource project. Theproject provides database related operations like executeResultQuery orgetConnection.7. Identify and wrap into services all entity related codeApplied SOA pattern: Entity AbstractionApplication: MVC pattern has two components containing business logic.The first is Model which should be investigated at the begging and controllerwhich potentially can contain core logic but it should not. TRWAMProject is a Create-Read-Update-Delete (CRUD) based application. TR-WAM’s Model contains only DAO classes and corresponding entities. Controllerdoes not contain only work flow controlling code. It also has a coderesponsible for generation of a new id of assets. This generation activityshould not be a part of controller, because controller delegates tasks. Existenceof a non-work flow related code attests to braking structure of thepattern. Asset number generation should be separated into an asset-relatedCore Logic service.Output: A new project is created. The service is named eaAssetService. Theservice provides operation Service providing following operation “generateidentifiers” The operation takes collection of services and starting numberas arguments.8. Identify and wrap into services business rulesApplied SOA pattern: Rule CentralisationApplication: Available TRWAM documentation (SPECYFIKACJA REGU I OGRANI.doc)contains sixteen business rules and five domain constrains.(a) Group 1: OGR/2, OGR/3OGR/2: An asset has to belong to one category: time depreciatingor others(b) Group 2:Rules defining processes are described in form of use cases.(c) Group 3:REG/01, REG/02,REG/03,REG/04,REG/05,REG/06,REG/07,REG/08,REG/09, REG/10, REG/11,REG/12,REG/13, REG/14, REG/15,REG/16,OGR/1, OGR/4REG/02: An asset can be lend if executives allowed.REG/03: Lending person creates a lend note during asset lending.OGR/4: Numbers of assets are unique. Each asset may have morethan one asset number.
Chapter 5. Guidelines 133Group 3 may be encapsulated in services but there is no implementationreferring to those rules in code, consequently no rules validation serviceswill be created during migration .Output: No services are implemented in case of this project. If a RuleCentralisation related code would exist; it would be wrapped into a basicservice as it is done in the previous guideline.9. Provide inventory endpoints to basic servicesApplied SOA pattern: Inventory EndpointApplication: Inventories in TRWAM project consists of only one servicedue to a small size of the project. Introduction of an additional service(inventory endpoint) that will be a facade to the existing services is simplyredundant. Such introduction would unnecessary complex the process andintroduce overhead.Output: No new services are implemented in case of this project. Implementationof an inventory endpoint in case of this system makes no sensebecause inventories 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 ofTRWAM project, Controller is not implemented properly what was noticedin Entity Abstraction part. This is not the only problem of Controllerin TRWAM project. TRWAM’s Controller contains also code responsiblefor maintenance of temporary assets. Temporary asset is an asset thatwas defined by a user but was not persisted yet. Due to wrong Controllerimplementation, the flow of process has been distorted. The process isartificially divided into two separated processes. The fist process createsidentification numbers for temporary assets. The number is based on actualmaximum value of asset primary key and requires additional computing.Computation of 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 to persist temporary assets. A properwork flow of the process should be following:(a) Create an asset.
- Page 91 and 92: Chapter 4. Service Oriented Archite
- Page 93 and 94: Chapter 4. Service Oriented Archite
- Page 95 and 96: Chapter 4. Service Oriented Archite
- Page 97 and 98: Chapter 4. Service Oriented Archite
- Page 99 and 100: Chapter 4. Service Oriented Archite
- Page 101 and 102: Chapter 4. Service Oriented Archite
- Page 103 and 104: Chapter 4. Service Oriented Archite
- Page 105 and 106: Chapter 4. Service Oriented Archite
- Page 107 and 108: Chapter 4. Service Oriented Archite
- Page 109 and 110: Chapter 4. Service Oriented Archite
- Page 111 and 112: Chapter 4. Service Oriented Archite
- Page 113 and 114: Chapter 5. Guidelines 1035.1 Patter
- Page 115 and 116: Chapter 5. Guidelines 105Descriptio
- Page 117 and 118: Chapter 5. Guidelines 107Result Con
- Page 119 and 120: Chapter 5. Guidelines 109ContextAn
- Page 121 and 122: Chapter 5. Guidelines 111Result Con
- Page 123 and 124: Chapter 5. Guidelines 113System’s
- Page 125 and 126: Chapter 5. Guidelines 115ViewSchema
- Page 127 and 128: Chapter 5. Guidelines 117ViewViewCo
- Page 129 and 130: Chapter 5. Guidelines 119ViewViewCo
- Page 131 and 132: Chapter 5. Guidelines 121ViewViewPr
- Page 133 and 134: Chapter 5. Guidelines 123FrontendFr
- Page 135 and 136: Chapter 5. Guidelines 125complicati
- Page 137 and 138: Chapter 5. Guidelines 127Concluding
- Page 139 and 140: Chapter 5. Guidelines 129UsecasesTh
- Page 141: Chapter 5. Guidelines 131puter (ext
- Page 145 and 146: Chapter 5. Guidelines 135Output: Du
- Page 147 and 148: Chapter 5. Guidelines 137generation
- Page 149 and 150: Chapter 5. Guidelines 139(a) Fronte
- Page 151 and 152: Chapter 5. Guidelines 141Figure 5.1
- Page 153 and 154: Chapter 5. Guidelines 143Figure 5.1
- Page 155 and 156: Chapter 5. Guidelines 145FrontendSc
- Page 157 and 158: Chapter 6. Conclusion 147There are
- Page 159 and 160: Chapter 6. Conclusion 149RQ.6 How t
- Page 161 and 162: References[1] http://www.soa-manife
- Page 163 and 164: References 153[22] Frank Buschmann,
- Page 165 and 166: References 155[46] Dirk Krafzig, Ka
- Page 167 and 168: References 157[67] Xiaohong Qiu. Bu
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.