Cross application joins

Building large systems in which each service maintains its own database (and the only way to access such data is by calling the published interface of the service), has a lot of advantages. Such systems architectures also have to fulfil requests for providing intelligent view of data which can be constructed only by joining data belonging to different services. At this point while one might rue the decision to have modular services with complete ownership of data, there are other ways to solve the business problem. In this chapter we would look at some of these alternatives.

Search one and page from other

Cache

Reporting Application

Single Sign On

This means that the access is across process boundary with only the knowledge of published interface. When dealing with large data set, this can become problematic when one really needs to perform a relational-join between the data owned by two services, for performance reasons.