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 4. <strong>Service</strong> <strong>Oriented</strong> Architecture 81implementation details, because the consumer is interested only in the result <strong>of</strong>invoked operations. There are also providers who have <strong>to</strong> design services as technicallyindependent as possible. This independency allows consuming service’soperations by any potential consumer. Each service should have possible highestencapsulation.Coupling – ddescribes dependencies between services. This term in case <strong>of</strong>services is much broader then coupling between components. Coupling refersalso <strong>to</strong> [13]:1. localisation –the localization <strong>of</strong> a service should not determinate behaviorand accessibility <strong>of</strong> a service. To achieve low localization coupling, servicesshould be accessible via configurable component like Gateway [59], Enterprise<strong>Service</strong> Bus (ESB)[59] or Reposi<strong>to</strong>ry [31]2. technology – the implementation technology <strong>of</strong> the service cannot determinepossible consumers. To eliminate technology coupling open -standardsfor both transport and messaging like [13]SOAP,XML, TCP/IP are recommended.There is also coupling between [13], message formats, languages, network pro<strong>to</strong>colsand interface contracts but they are consequences and special cases <strong>of</strong> previouslydescribed cases. The aim for architects and designers is <strong>to</strong> keep servicesloosely coupled.Cohesion – cohesion refers <strong>to</strong> relations between operations <strong>of</strong>fered by a service.If operations relate <strong>to</strong> each other by sharing the same data and/or references <strong>to</strong>object then the cohesion is high. A low cohesion means that operations are notrelated <strong>to</strong> each other or the types <strong>of</strong> arguments <strong>of</strong> operations are primitives. Thehigher cohesion a service has, the more flexible and reusable is. Consequently, agood service is characterised by a high cohesion.Granularity – granularity describes size <strong>of</strong> a service. The size is consideredin two dimensions [13].The firs perspective is the size that can be fine or coarse.The second is a purpose, which can be business or technical. Literature pointssize <strong>of</strong> a service as fac<strong>to</strong>r determining granularity but it also does not provide anymeasure which can conclude that a service characterized by a particular size isfine/coarse grained. In practise [13], coarse-grained services are mainly invokers,while fine grained are invoked . Other definition says that a coarse-grained serviceis a service that provides significant business capability [49]. This definition alsodoes not define how <strong>to</strong> measure this signification.

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

Saved successfully!

Ooh no, something went wrong!