Driven by emerging opportunities in the marketplace, e-commerce organizations must rapidly and continuously roll out new products and services to support evolving business models. But agility is possible only when an organization's enterprisewide applications infrastructure permits changes and the quick deployment of new functionality. In practice, the infrastructure consists of many integrated software application systems, each designed to meet a particular business objective. These systems might also include interfaces to external systems to facilitate business-to-business (B2B) interactions. Organizations implementing an enterprisewide applications infrastructure to meet immediate business needs often pursue unplanned and ad hoc application systems integrationan undisciplined approach that too often leads to large isolated monolithic application systems involving proprietary architectures, business semantics, and technologies. The resulting brittle infrastructure is unable to adapt to changes as readily as it should.
The ad hoc approach runs counter to a coordinated integration strategy based on a global view of current and future standards, technologies, and business opportunities. Predicting future business opportunities is clearly difficult, but adopting standards-based integration solutions is the most promising way to reduce the long-term costs of integration and facilitate a flexible applications infrastructure capable of responding to business changes.
Adopting a standards-based approach to applications integration is difficult for several reasons. First, standards and specifications are often incompatible, incomplete, or involve overlapping scopes that are not mutually exclusive. This lack of congruence complicates the process of selecting a set of standards covering all aspects of integration for an organization's multiple applications. Second, standards are not always available; for example, the only one available for message-oriented middleware (MOM) is the Java Messaging Service specification, which is restricted to Java-based integration solutions. This opens the door for many proprietary implementations of MOM. Finally, standards and specifications evolve, further limiting their use in integrated business applications.
Though frameworks available in the literature view systems integration at high levels of abstraction, no existing framework to our knowledge provides a global view of existing standards and specifications when it comes to applications integration (see the sidebar "Sources for Standards and Specifications"). Such a framework would be useful in providing a much-needed perspective for system architects weighing the scope and usefulness of standards and specifications. Here, we propose such a framework. Apart from providing the necessary foundation and perspectives, it also helps identify gaps in the coverage offered by the existing standards and specifications.
The main objective of the proposed framework is to help practitioners and researchers alike analyze and navigate the maze of standards and specifications available for application integration. Standards and specifications have been developed for respective problem domains covering various components of applications and facets of integration. When building enterprise applications, a number of methodologies and technologies can be used. However, certain aspects of application integration are common in most applications and can be classified into three categories:
The application itself. An application's architecture can be viewed as a collection of three functional components: presentation for presenting data and providing the user interface; business logic for encapsulating the application's processing logic; and data logic for managing persistent data;
Application integration requirements. Integrating an application with other applications affects one or more application components and involves one or more levels of integration, including: transport for dealing with the movement of data between integrated applications; data format for enabling consistent representation of data between applications; and process for coordinating business events between applications; and
Domain independence, domain dependence. Domain-independent standards and specifications are generic in nature, applicable in a variety of domains, while domain-dependent standards and specifications are specific to a vertical industry domain.
In order to facilitate a coordinated integration strategy using a global view of the existing standards, any holistic framework must incorporate all the characteristics of the application-integration environment. These characteristics are the basis for defining the dimensions of the proposed framework.
Adopting standards-based integration solutions is the most promising way to reduce the long-term costs of integration and facilitate a flexible infrastructure.
Application-integration standards and specifications can be organized along the lines of three orthogonal dimensions:
Applications architecture. This dimension represents an application's three functional components, as outlined in Figure 1:
Presentation logic. Provides the ability to manage the interactions between an application system and its various presentation interfaces, including Web browsers, interactive voice recognition, mobile computing devices, fat clients, and dumb terminals;
Business logic. Implements the business rules that represent the business processes of an application system; an example is the logic that encodes the rules needed to process an invoice and accounts payable; and
Data logic. Provides the ability to access and map data into a form that can be processed by business logic; an example is accounts data retrieved from a database and encapsulated as a Java bean for use by the business logic.
Integration level. This dimension represents the level of integration (there are three), as outlined in Figure 2:
Transport. Provides the infrastructure and abstraction over the communication protocols needed to move data between similar and dissimilar entities in a transparent manner. Examples of tasks involved at this level are transport protocol bindings, routing, and reliable transport of messages across applications using asynchronous and synchronous mechanisms;
Data. Facilitates integration of business applications by addressing the representation data elements in different systems, packaging data elements into formatted messages, and associated transformation rules. Typical tasks at this level are encoding data, formatting and specifying data fields based on an ontology, and packaging messages by including data, as well as metadata, for encoding, message content, security, and message delivery; and
Process. Pertains to the integration of at least two different entities (such as application systems, lines of business, and enterprises based on business rules and events); tasks at this level include orchestrating process interactions based on business rules and events providing process context, and handling process exceptions.
Industry domain specificity. This dimension represents the scope of the integration standards (there are two types), that is, whether they are generic and applicable to a variety of industries or specific to a particular industry:
Industry domain independence. Standards are generic, providing capabilities across multiple industry domains; examples are HTTP 1.1 and SQL; and
Industry domain dependence. Standards are specific to a particular vertical industry domain; examples are RosettaNet and HL7.
The three dimensions of the integration frameworkapplications architecture, integration levels, and industry-domain specificityhelp practitioners identify the integration standards in Tables 1 and 2. For example, HTTP 1.1 is included in the cell "Domain Independent, Data Logic, Transport Level," since it is used to access information from a server and transport it to a client. However, HTTP 1.1 is not included in the cell "Domain Independent, Business Logic, Transport Level," since nothing inherent about HTTP 1.1 pertains to business logic, even though HTTP 1.1 could be used as a transport protocol for business logic.
In some cases, standards with broader scope are placed in more than one cell. For example, RosettaNet Implementation Framework 2.0 covers transport-level and data-format-level issues for data, as well as for business logic, and is therefore in four cells. The presence of a standard in a cell in Tables 1 and 2 does not indicate that it encompasses all the features of that cell. Tables 1 and 2 list only notable nonexhaustive standards, as it is not possible to provide a complete list. The color codes in the table legend identify the type of standard.
Even new standard initiatives do not address the migration strategies organizations might choose to follow in adopting the new standards.
Based on the framework presented here, a number of observations can be made regarding standards and their coverage and usability in enterprise applications:
The framework and these observations reinforce the need for practitioners and organizations to create their own evolving standards-based strategy for managing application integration. Moreover, the observations highlight the need for enhancing existing standards for effective integration.
©2004 ACM 0002-0782/04/0700 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2004 ACM, Inc.
No entries found