Treasury Board of Canada Secretariat
Symbol of the Government of Canada

Government of Canada Service Oriented Architecture Series - Primer



5.0 - Transitioning to SOA

The primary goal of service-orientation is to move away from large monolithic applications that traditionally do not have well defined components accessible independent of the top-level application in which they are embedded. Figure 10 below illustrates the type of closed application that permits virtually no reuse.

Figure 10 - Legacy application classification paradox

Figure 10  - Legacy application classification paradox

Notice that the application straddles both the BAA and the TCA layers. This is acceptable since the application has aspects that reside in both layers. Normally the only way to interface to such an application (without changes) is by imposing some logic over its existing user interface (such as keyboard macros or screen scraping).

Instead the goal is to build applications out of application components in the BAA layers using as many “black box” components in the TCA layer, always accessing them via a formal SEA layer.  

Figure 11 - Introduction of the SEA to a legacy application

Figure 11  - Introduction of the SEA to a legacy application

Applications should thus be built or retrofitted to make available discrete elements of reusable logic, accessible through the SEA Layer. In this example the application still performs all its original function but some useful application components have been isolated and exposed for external use via new SEA interfaces. As a result, two new applications can leverage some of the proven benefits previously buried inside the legacy application. The overall goal is to move as much of the new logic down the layers, towards the TCA. The result is a growing collection of reusable “black boxes” of functionality that act as future building blocks for broader deployment, inside and outside of the organization.