GPL Integrated IT, LLC
Join our Active Community Program for access to security updates and network threat information.

Join Now
  Home   Login   Search

Systems Integration

Your organization probably uses many applications and services that were built over many months or years, as new business needs were identified. As a result, these applications probably are of different ages, were written by different people using different languages and technologies, reside on different hardware platforms, use different operating systems, and provide very different functionality. In fact, many of your applications often have very little in common at all, resulting in isolated functionality and multiple instances of the same data. For your organization, these conditions can result in redundant activities, higher costs, and inefficient response to your customers.

Effective application integration can provide your organization with many important business benefits, such as:

  • Allowing applications to be introduced into the organization more efficiently and at a lower cost
  • Allowing you to modify business processes as required by the organization
  • Providing more delivery channels for your organization
  • Allowing you to add automated steps into business processes that previously
    required manual intervention

Manual Application Integration
Manual application integration requires people (employees and customers) to act as the interfaces between applications and enable the integration between them. This form of application integration is very common. As an example, think of a customer service department that takes information from the public. People may enter the same information into multiple systems and read information from those systems to respond to customer requests. In other cases, a person may need to read customer information from one database, and then reenter it into another database used for another purpose.

This form of integration requires very little technology investment. It becomes more complex, however, when your organization becomes more complex, and can lead to inaccuracies in data. As the amount and complexity of your data increases, or as the number of applications increases, you will require more and more people to maintain such an environment. An environment that relies heavily on manual integration is generally very inefficient, and does not grow as easily as environments that use more automated techniques.

Semi-Automated Application Integration
Semi-automated application integration combines human steps with some automation. The person may be involved in an area where the corresponding automated solution is too difficult or expensive to implement, or where the business requires a person to make decisions. For example, your business may require a manager to approve all expense claims. In this case, all of the steps before and after managerial approval may be automated, but a person is required in the middle of the process. In other cases, human intervention may be needed to transform data that is required in another system.

Semi-automated application integration generally requires more technology investment, but once that investment is made, you can often reduce the number of people involved in integrating your applications. Reducing human involvement in this manner usually reduces costs and increases reliability.

Fully Automated Application Integration
Fully automated application integration removes people from the business process entirely, although they are required to maintain the solution. This type of integration consists of applications communicating through a series of interfaces and adapters. For example, two databases might share data, which is automatically transformed and committed to the second database from the first with no human interaction. Although fully automated application integration removes the dependency on people, such systems can be more expensive to implement and may not be practical for many business problems. In many cases, you will still require people to make business decisions, and often it is more efficient to have a person control a technical process as well. For these reasons, you should decide where fully automated application integration is appropriate on a case-by-case basis.

Making Application Integration Scalable
An important part of making application integration scalable is to increase the number of automated steps and reduce the number of human steps. This generally involves creating interfaces between applications along with predefined logic that replaces human involvement.

Increasing the level of automation generally increases the amount of information traveling between applications without increasing the number of employees required to support the environment. The scalability issues, however, do not stop at simple automation. You should also consider the number of applications themselves and how integration occurs between them.

For automated application integration, you have two choices:

  • Point-to-point model

    The point-to-point model describes a decentralized structure in which each application communicates directly with the other applications. This type of integration is most appropriate for organizations that need to integrate a few applications with a small number of services.

    As the number of applications and services increases, the number of interfaces and connections that need to be maintained in a point-to-point environment rapidly increases.

  • Integration hub model

    The integration hub model provides a more centralized structure, in which an integration hub is placed between the applications, and each application communicates with the hub rather than communicating directly with other applications. Each application needs only an interface and a connection to the integration hub. To simplify matters, the integration hub can rely heavily on existing standards, which means that either the interfaces already exist or the methodologies for writing them are well-defined.

    The main advantage of an integration hub environment is scalability. The integration hub model is significantly more scalable for integration environments with many applications. A typical large-scale organization has thousands of islands of information, involving thousands of applications. You simply cannot create individual interfaces for every point of interaction. Instead, the solution is to create an application integration environment that allows all of your applications to communicate in a logical, predefined way. This hub infrastructure enables you to modify or update elements much more easily, and to do so when the business requires, rather than when the preexisting technology dictates. It should also allow the organization to more easily change direction and to use the products and services it has to match evolving requirements.

If you have read this far, your organization has probably identified a business requirement for applications to work together. Just as employees have to work together to meet business goals, your applications need to do the same. Application integration isn’t easy. Typically, an environment that supports application integration meets at least the following requirements:

  • Connectivity between different platforms
  • Processing of complex business rules, including complex data transformation logic
  • Support for business processes, from the very short to the very long, including processes that last weeks or months as data is passed and processed through different parts of the organization
  • The ability to modify existing business processes or create new ones as business goals change
  • The ability to adapt to changes in hardware, software, and business goals

To help meet these requirements, your application integration environment should:

  • Expose a common interface through which applications can communicate, by using business semantics to request Web services.
  • Allow service requests at the functional or data level for applications that do not support using business semantics.
  • Use a common set of process and service rules to ensure consistency and reuse of integration services.
  • Be capable of reusing the existing transport protocols that already exist in the enterprise.
  • Insulate itself from existing technologies by using interfaces.

An application integration environment should not depend on the implementation of any particular technology. You don’t know what applications and hardware your organization will be using in five years, but whatever they are, your organization will need to support them.

Web Services
A Web service is an application component that:

  • Exposes useful functionality to other Web services and applications through standard Web service protocols.
  • Provides a way to describe its interfaces in detail, allowing developers to build client applications that talk to it. The description is provided in an XML document called a Web Services Description Language (WSDL) document.
  • Describes its messages by using an XML schema.

Many vendors have endorsed and have started to provide Web service capabilities in their platforms. Using Web services for integration ensures that your integration is based on open standards that are language neutral and platform independent, and helps to ensure that the technology remains relevant over time.

Web services rely on defined specifications to allow systems from various vendors to interoperate. Web services specifications, commonly referred to as WS-* specs, are in various states of acceptance. The Web Services Interoperability Organization (http://www.ws-i.org) was formed to provide a framework and a set of tools to ensure that different vendors’ implementations of a particular WS-* spec are compatible.

 

Copyright 2007 GPL Integrated IT, LLC. All rights reserved.         Legal Statement | Privacy Policy | Contact Us | Terms of Use