Enterprises often struggle with the need to make valuable business information available to all needed parties while minimizing cost and maximizing reusability. In current day applications, where web and mobile requirements drive the need for presenting the same information on multiple devices residing on heterogeneous platforms, it is imperative not to exacerbate the situation by building channel specific data access mechanisms. More than ever there is a need for a reusable and repeatable approach to gathering information targeted for user presentation and integrated system processing that preserves data integrity as information flows through the business process.
Additionally, as an enterprise’s need for exchanging information between systems grows, data sharing takes on an important role in enterprise integration and the ability to provide business users with desired results without requiring them to access multiple applications. Many applications find it difficult to satisfy the vast information needs of the business community with one single technology base, yet as disparate technologies are introduced, how can we enable data sharing between them without creating redundant and technology dependent integrations? In some cases, data warehousing can address this issue. That, however, is not an effective approach for scenarios where real-time data is required since data warehouses are typically refreshed on a periodic basis such as weekly or nightly.
Service Oriented Architecture (SOA) offers a wide variety of benefits that can help an organization rise above these challenges:
- Services are based on interoperable industry standards such as HTTP(S), XML, SOAP, and REST.This enables a single reusable service to expose data to heterogeneous endpoints such as .net, Java, PHP, mobile, etc. REST is a frequent choice for interoperability given its close ties to pure HTTP(S).When more stringent security requirements are in place, the same service can be exposed via SOAP.
- Since services are web based, they are stateless and therefore highly scalable to support the demands of the enterprise.The web services tier can be load balanced and horizontally scaled by adding web servers to the cluster.Web server clustering is typically more straight forward and cost effective to the enterprise scaling at other tiers of the architecture – such as an application server or data base server – where more complex and expensive clustering technologies are required.
- Services offer significant implementation flexibility.Point-to-point implementations can be used when information is of consequence to a single or small/discrete number of downstream systems.Where higher levels of reuse are needed, services can be exposed via Enterprise Service Bus (ESB) technologies which expose a common data feed to multiple subscribing applications.Based on the use of configurable/declarative workflow within the ESB’s “orchestration”, a single data feed can be tailored to the specific workflow and transformation needs of each downstream consumer.This provides speed to market and organizational agility to the enterprise – as new consumers are identified they need only to subscribe to the existing data orchestration.The data extraction effort has already taken place, the ESB needs only to map to the interface contract required by the new subscriber.Multiple extracts of the same data, invariably leading to data inconsistency and reconciliation exercises across the enterprise, are no longer an issue as they do not exist in this architecture.
- Since all consumers are subscribing to the same set of published data, integrity of information across systems is ensured.
- SOA based integration layers ease the O&M efforts of an organization.Since reusable data extract, workflow, and transformation logic are abstracted to common service and orchestration layers, consumers are de-coupled from this effort.As changes are required over time to accommodate incremental requirements and data element needs, the implementation of these enhancements needs to occur only within the service integration layer – not within each individual consuming application.Consumers only need to change in order to react to the new data available in their existing feed.
- Since services act in real time, they avoid data currency issues which can arise when data integration is available only via periodically refreshed data warehouses and data marts.
As with any strategic initiative, SOA-based data integration requires implementation planning and commitment. However, the benefits to the organization are many. Current data is made available to a variety of heterogeneous downstream applications in a manner tailored to their particular needs. Since a vast percentage of the work is performed in the common service layer, the organization’s IT investment is maximized – subscribers are no longer coupled with the details of the publishing application and data is made available via a single interface which, due to the interoperable nature of SOA, is consumable across a wide variety of platforms increasing speed to market while minimizing O&M costs.