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 3. <strong>Architectural</strong> <strong>Pattern</strong>s 64exist neither in MVC nor in PAC. The connec<strong>to</strong>rs specify more precisely way <strong>of</strong>communication between elements. Summarizing, MVC pattern is the most generalpattern within the category and becomes representative <strong>of</strong> User InteractionView.Representative: Model–View–ControllerComponent Interaction ViewCandidates: Explicit Invocation, Implicit Invocation, Client–Server, Peer–<strong>to</strong> –Peer,Half–Sync / Half–AsyncSelection: <strong>Pattern</strong> descriptions presented in section 3.2.1 underlines similaritiesbetween Explicit invocation, Implicit Invocation and Client–Server. Client–Serverdefines division <strong>of</strong> a system in<strong>to</strong> two parts. Explicit and Implicit Invocations alsomake this division but they also introduce new elements determining communicationdetails between Client–Server parts. They are just variants <strong>of</strong> Client–Serverpattern, therefore Client-Server is more general in terms <strong>of</strong> previously stated criteria.Peer–<strong>to</strong>–Peer pattern describes interaction between elements that are clientsand servers in the same time. In fact, this pattern crates a network <strong>of</strong> modifiedClient-Server entities. The problem appears when a comparison between Client-Server and Half–sync/half–async has <strong>to</strong> be made. The problem is that those twopatterns describe different model <strong>of</strong> connection between components. Responsibilities<strong>of</strong> elements those two patterns are incomparable. Parts <strong>of</strong> Half–Sync/ Half–async pattern in opposite <strong>to</strong> Client–Server take care about two differentaspects <strong>of</strong> communication, therefore those two patterns cannot compared <strong>to</strong> eachother. The Component Interaction view has two representatives.Representative: Half–Sync / Half–Async, Client–ServerDistribution ViewCandidates: Broker,Remote Procedure Call, Message QueueingSelection: Distribution View contains three architectural patterns. The firstin row is Broker. The description <strong>of</strong> Broker pattern underlines similarities betweenthis pattern and previous category. The structure and functionality <strong>of</strong> thispattern matches description <strong>of</strong> Client –Server pattern. In fact, Broker is just amore complex version <strong>of</strong> Client–Server; therefore, this pattern will not be comparedwith patterns from Distribution View and shall be moved <strong>to</strong> ComponentInteraction View. Since this pattern is a more complex version <strong>of</strong> Client–Server,Broker is not a representative <strong>of</strong> Component Interaction View. Remote ProcedureCall does not have fixed structure. It is rather an idea how <strong>to</strong> keep connectionsbetween different parts <strong>of</strong> distributed systems masked. The patterns are incomparable;consequently, this view has also two representatives–both are differentin terms <strong>of</strong> their structure and functionality.Representative: Remote Procedure Call, Message Queueing

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

Saved successfully!

Ooh no, something went wrong!