|
A large corporation may typically have many different financial systems, several ERP and CRM systems (or at least different instances of one ERP and CRM system), and a multiplicity of other applications ranging from human resources applications to business intelligence. In practice, these applications are not isolated in a business process sense, but need to intercommunicate and exchange information with one another. As a result, the information architectures of many large organisations can be extremely complicated.
In order to resolve this complexity the concept of a service oriented architecture (SOA) has been developed. While the ideas that underpin this approach are not new, the technologies and standards for SOA that have been developed over the last few years hold out a real possibility of delivering on the promise of greater simplicity. At the same time, the successful implementation of an SOA should provide a much more flexible environment that will support the agility that modern organisations need.
However, although SOA may remove the complexity from application integration, it does nothing to alleviate the equally complex structures that relate applications to the data sources that they access. SOA principles need to be extended into the data layer through the provision of what is usually referred to as information services. These can be thought of as just another type of service aimed at data in much the same way as web services provide services aimed at specific functions. Many times, organisations that pursue SOA for application integration quickly realise the underlying data issues on key data items such as customers, products, and accounts. Therefore, when pursing SOA, organisations must at the same time also address the foundational issue of master data management to ensure that composite applications have accurate and complete data.
Put simply, an SOA breaks applications down into component services, and then allows these services to be joined together as composite applications that can be rapidly constructed to meet the needs of changing business processes. The advantages of this approach are, firstly, that services can be reused in multiple applications and, secondly, that the architecture of SOA implementations facilitates intercommunication between applications. However, if the data structures and topologies that provide all of the information upon which these services and applications are based is not also addressed, many of the benefits of agility and flexibility that are promised by SOA will simply fail to materialise. Early adopters of SOA soon found out that one of the biggest problems that had to be faced was sorting out the data supporting their SOA initiative.
What is required is a layer that lies above existing data tools such as ETL (extract, transform and load) and EII (enterprise information integration) and which exposes the services provided by these tools to the organisation?s applications, while at the same time isolating the applications from the complexity of the underlying technology - an Information Service Layer (ISL). The functions of the various tools are exposed within the ISL to requesting services and applications, which are thereby isolated from the information storage layer. Middleware to carry out this function, using web services APIs to ensure data quality, transformation, movement and federation, has recently begun to appear on the market.
SOA at the application level is about functional development and the renewal of legacy applications and is mainly performed by developers. SOA at the human level is about the use of portal technologies to enable interaction with the web services and the communication, collaboration and workflow systems within the overall infrastructure. Information services is at the data level - data architects (people who understand the sources, relationships, and meanings of information across various systems) build reusable services that application developers can find and use without needing to understand these relationships and sources themselves. The information as a service model makes both development and deployment simpler and more flexible in a way that mirrors the impact of SOA on the application environment.
|