Service-oriented architecture is usually tied to the redesign of an entire software system and determines how to decompose the single software unit into loosely coupled components, in which each loosely coupled component acts as an interoperable service.
By building service-oriented architecture libraries, each of which is a loosely coupled service, complex applications can be developed by making use of these services.