Integrating Systems

Integration is the process of linking applications together in order to streamline and automate business processes to the greatest extent possible. A goal is to avoid having to make major changes to the applications or data structures.

To do this, we promote and enable a service oriented architecture (SOA) where application functionality is achieved by combining several modular, self-contained "services" that each perform a single activity. These services primarily take the form of APIs.

What is Service Orientation?

Service orientation is "a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains," as defined in the SOA reference model. This means that different departments on campus who own application functionality or data can offer their own service capabilities, and integration technologies can orchestrate these into a seamless, unified user experience.

Leveraging these distributed capabilities requires extensive use of integration technologies, as well as a broad adoption of a common integration architecture on campus.  It also requires organizational readiness, including collaboration on service governance, data release policies, as well as a funding model that promotes sharing and reuse of services.

What is a Service?

A service is generally implemented as a coarse-grained, discoverable software entity that exists as a single instance and interacts with applications and other services through a loosely coupled (often asynchronous), message-based communication model.

The most important aspect of SOA is that it separates the implementation of a service from its interface. Service consumers view a service simply as a communication endpoint supporting a particular request format or contract. 

How services execute the functionality requested by consumers is irrelevant; the only mandatory requirement is that the service sends the response back to the consumer in the agreed format, specified in a predefined contract.