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 52data and provide them <strong>to</strong> clientsClient – uses reposi<strong>to</strong>ry <strong>to</strong> s<strong>to</strong>re data in it. Client also obtains data fromthe reposi<strong>to</strong>ry.Relationships – all the client elements are aware <strong>of</strong> the reposi<strong>to</strong>ry and canperform operations on it. The reposi<strong>to</strong>ry knows nothing about the clientsand cannot invoke them (see figure 3.16).Client 1 Client 2Reposi<strong>to</strong>ryClient 3Client 4 Client 5Figure 3.16: Example usage <strong>of</strong> Shared Reposi<strong>to</strong>ry pattern12. MessagingOverview – supports low coupling between elements <strong>of</strong> the system. Thispattern is also characterised by high maintainability and lower performance.ElementsMessage Bus – gets requests from services and invoke requested services.<strong>Service</strong> – presents business logic <strong>of</strong> the system.Relationships – <strong>Service</strong>s are not aware <strong>of</strong> the location <strong>of</strong> other services.OnlyMessage Bus is known <strong>to</strong> services. Message Bus is aware <strong>of</strong> all the registeredservices (see figure 3.17).13. Client ServerOverview – - the pattern is dedicated for distributed architectures. Thepattern clearly separates frontend <strong>of</strong> the application from its logic.ElementsClient– it is a frontend <strong>of</strong> the application. This element allows a user <strong>to</strong>

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

Saved successfully!

Ooh no, something went wrong!