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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 2. Related Work 22<strong>Service</strong> Identification –<strong>Service</strong> Identification underlines all the processes associatedwith migration <strong>to</strong>ward <strong>Service</strong> <strong>Oriented</strong> Architecture. In context <strong>of</strong> thepresented approach, the identification is based on analysis <strong>of</strong> documentation, especiallyrequirement documentation. The identification consists <strong>of</strong> two steps [84]:1. Sub domain identification –includes analysis <strong>of</strong> selected sub–domains inorder <strong>to</strong> define boundaries <strong>of</strong> the whole legacy system.2. Further analysis –carries the burden from strict analysis <strong>to</strong> modelling, especiallyon modelling <strong>of</strong> the whole system as UML diagram that is afterwardstransferred <strong>to</strong> third party s<strong>of</strong>tware. The diagrams are expressed in XML[84]. The model serves as an input for identification <strong>of</strong> potentially reusablecomponents that latterly may be provided as services. Those services arecalled logical services and they are spanned between concept <strong>of</strong> service itselfand the technical realisation separated from legacy code.Legacy System Understanding –The second process is intended <strong>to</strong> estimatepotential migration chances and model the system. According <strong>to</strong> ZhuopengZhang[84],a system is suitable <strong>to</strong> migrate <strong>to</strong>ward SOA when the system containsreusable business functionality that in comparison <strong>to</strong> the whole system is reasonablymaintainable. Moreover, the functionality should bring additional valueafter exposing it as a service. Having estimation done, a model <strong>of</strong> the systemshould be elaborated. Elaboration <strong>of</strong> the model is based on a re–engineeringprocess and analysis <strong>of</strong> existing documentation including technical documentation,graphs, interfaces and other existing models. Approach description includesdifferent treatment <strong>of</strong> procedural s<strong>of</strong>tware and object–oriented (OO) s<strong>of</strong>tware.Re–engineering <strong>of</strong> procedural–application in opposite <strong>to</strong> OO applications involvesusage <strong>of</strong> additional <strong>to</strong>ols in order <strong>to</strong> obtain candidate classes and intermediateobject–oriented model. In turn, Intermediate Model incorporates UML representation,event driving programming models and object oriented programminglanguage [84]. Object–<strong>Oriented</strong> approach tries <strong>to</strong> define system on different levels<strong>of</strong> abstraction by creation <strong>of</strong> UML class diagram and control flow graph.Agglomerative Clustering Analysis – Agglomerative Clustering requiresa set <strong>of</strong> data for reorganization purpose. This set <strong>of</strong> data in case <strong>of</strong> migrationinvolves functions, procedures and classes that are further clustered according<strong>to</strong> feature similarity. The similarity is a key concept in legacy systemrestructuring[84]. The technique defines features that are used <strong>to</strong> measure thesimilarity and determinate whether two entities belong <strong>to</strong> the same cluster. Afeature reflects found identifiers–name. A name can identify any non local entityor a property <strong>of</strong> the entity including property, name or method name [84].Then, the algorithm is executed (see [84] for more information about thealgorithm).The algorithm produces a dendrogram that describes dependencies

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

Saved successfully!

Ooh no, something went wrong!