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 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!