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 93mean <strong>of</strong> communication. <strong>Pattern</strong> application eliminates bridging servicesin the system what improves performance and maintainability. In order <strong>to</strong>increase benefits associated with the pattern, architects should consider usage<strong>of</strong> widely supported and vendor independent communication pro<strong>to</strong>colslike SOAP.Rationale:Enforcing usage <strong>of</strong> one specific pro<strong>to</strong>col by every single servicein an inven<strong>to</strong>ry has a large impact on communication within the system.3. Canonical Schema –Many services perform operation on the same data thatare modeled differently by different vendors or teams. Those differencesincrease development efforts and make design more complex. Additionally,the transformation between different models introduces performance drop.The pattern standardizes data model for information within the inven<strong>to</strong>ry.The motivation behind the pattern is <strong>to</strong> avoid translation between differentdefinitions <strong>of</strong> the same data and eliminate data definition redundancy acrossthe system.Rationale:Forces services <strong>to</strong> use predefined schemas. <strong>Service</strong> cannot defineown ’implementation’. The pattern influences every service in the system.4. Utility Abstraction –<strong>Service</strong>s, even those that do not provide redundantfunctionality may perform some common operation. Those operations areredundant. The redundancy requires additional effort for testing and maintenance.Utility Abstraction defines one layer containing common utilityservices. The layer contains mainly services without business concern, thereforein opposite <strong>to</strong> business-based services, utility services are developedmainly by architects and developers what raises problems related <strong>to</strong> content<strong>of</strong> such service. Teams need good communication in order <strong>to</strong> avoidredundant services.Rationale:Enriches structure <strong>of</strong> <strong>Service</strong> Layers, what also changes flow <strong>of</strong>messages in the system.5. Entity Abstraction –Many business processes uses the same business entities.It is very likely that the functionality is implemented several times indifferent services. This raises problems with maintenance and testability.Entity Abstraction introduces another layer in<strong>to</strong> layered structure. Thelayer contains services performing operation on business entities.Rationale: See Utility Abstraction rationale.6. Process Abstraction –Grouping <strong>of</strong> business process services <strong>to</strong>gether withnon-business process services makes harder maintenance <strong>of</strong> both types <strong>of</strong>the services. It is harder <strong>to</strong> change processes and maintain functionality

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

Saved successfully!

Ooh no, something went wrong!