Service Oriented Architecture
An increasingly preferred means of integrating software is the Service Oriented Architecture (SOA) which reduces the monolithic applications of the past into components or services which construct the larger applications. These services or applications are mounted on a single user web based user interface. Users can choose the services they need instead of buying a package which often has components that are not relevant for them. Each of these components are inter-connected by web services which use XML tags to build an interface which can be used to access services using web technology. Web services can be used to provide access to business processes, applications, BI cubes, reports, queries and data integration functions, databases etc. The web services are indexed in a UDDI registry. In order to connect to a web service, an application or portal simply queries the UDDI registry, finds the service and then dynamically connects to it by sending it an XML message known as a SOAP (Simple Object Access Protocol) message. The Service Oriented Architecture (SOA) is a more cost effective since it does not require IT people to inter-connect applications.
An example of a Service Oriented Architecture (SOA) implementation is Siebel 7.5.3, released in mid-2003, which is expected to crystallize with the Siebel 8.0, due in 2006. The complete Web-services-oriented software will include workflow management tools.
At the heart of efforts at integration is the task of creating taxonomy and metadata or descriptions of data which helps to describe data across any application, repository or database. Most metadata is sui generis and hard to relate to other descriptions of data associated with another application.
Data is fragmented for a variety of reasons. Structured and unstructured data is hard to correlate because the former is stored in a relational data base and the latter in a content repository. Content itself is divided between document, web and digital asset management repositories. It is hard to find related structured and unstructured information in a relational database and a content repository because the former uses SQL to extract data and the latter uses a search engine. The descriptions of the data vary depending on the function of the person who is using it. A marketing person is concerned about customer acquisition while a sales person is interested in prospects, orders and closures. The information systems they use will differ; a marketing person will use a CRM system while a sales person will typically use Salesforce.com. Both will enter customer reference data often with different conventions about recording first names and second names, address entries, etc. When the units of a company are spread across the world, each national subsidiary uses a different language which often means they also use another information system.