SOA Best Practice (Service Oriented Architecture)
Service Oriented Architecture (SOA) is an approach to sharing, or integrating, data to/from different systems.
Integration is the act of bringing together smaller components into a single system that functions as one. In an IT context, integration refers to a process to stitch together different, often disparate, subsystems so that the data contained in each becomes part of a larger, more comprehensive offering that, ideally, quickly and easily shares data when needed.
To enable integration of their data, system owners often build a customized architectures, or structures of applications, to combine new or existing hardware, software, and/or communications capabilities (or services). This approach is known as Service Oriented Architecture.
Northwestern IT supports four types of integration options:
Custom Point-to-Point Integration
- Definition: A direct point-to-point link is created between applications for each business function.
- Attributes: Designed and implemented solely for the purpose of directly integrating two specific systems. Custom code for:
- Data extraction
- Business rule processing
- Data loading
- Custom data format
- Inconsistent transmission protocol
- Used for both real and batch integrations
- Example: Batch job to share a set of attributes with one consumer, DB link to read data from a source system.
- PRO:
- No need to invest in expensive tools up front
- No need for developers to learn new skills and packages
- CON:
- Not reuseable
- Expensive to create and hard to maintain
Messaging - MQ
- Definition: Source systems “publish” enterprise messages to a common bus; application “subscribe” to relevant messages and act on them.
- Attributes:
- "Wraps" each application
- Acts as a broker between applications
- Provides near real-time, guaranteed, once-only delivery
- Stores and forwards messages
- Provides an enviroment in which to define rules
- PRO:
- Systems are integrated but not coupled
- Business rules are centralized in the message broker and transformation engine
- Allows for near real-time integrations which reduced latency and allows for throttling
- CON:
- As the number of systems increase, the integration effort expands linearly
Web Services / SOA
- Definition: Functionality to be integrated is exposed via SOAP or REST API’s. Other systems can consume this service if needed.
- Attributes:
- Common language of communication across heterogeneous systems
- Based on standard internet technologies
- Self-describing and advertising
- Supports dynamic discovery & integration
- Services fit within an overall architectural model
- Widely supported by major vendors
- Supports XML and JSON based web-services for cloud integration
- PRO:
- Solves problems similar to those EAI solves
- No need for expensive integration tools
- Systems are integrated but not coupled
- Can secure at a granular level
- CON:
- Scalability issues as the load and amount of data increase
ETL Tools
- Definition: A standard set of tools and processes used to extract, transform and load large volumes of data between systems. Very useful in populating a data warehouse.
- Attributes:
- Provides tools for data cleansing; correcting misspelling, resolving conflits (city & zip code incompatibilities), missing elements, parsing elements
- Can combine combat data sources: Matching on key values, fuzzy matches on non-key attributes, textual comparisons to reference tables
- De-duplicate processing: Identifying and eliminating duplicates
- Create aggregates to boost performance of common queries in data warehouses and data marts
- Loading and indexing: For large data warehouses, specialized bulk loading processes are required
- Advantages:
- Extremely efficient for moving large volumes of data in short timeframes
- Applies consistent transformations
- Can provide or integrate with meta-data for the enterprise data model
Northwestern IT SOA Resources
SOA Best Practice Overview

Last Updated: 22 March 2018
Get Help Back to top