Transcription

Suo Tane-mail: suo [email protected] Zeng1e-mail: [email protected] Institute of InformationSystems Engineering,Faculty of Engineering & Computer Science,Concordia University,Montreal, QC,H3G 1M8, CanadaBo ChenMinicut International Inc.,Montreal, QC,H1J 2YS, Canadae-mail: [email protected] K. Bani Milhime-mail: h [email protected] Schiffauerovae-mail: [email protected] Based DesignApproach to IntegratingEnterprise ApplicationsEnterprises tend to depend on various legacy applications in supporting their businessstrategies and in achieving their goals. In order for an enterprise to be efficient and costeffective, their legacy applications should be seamlessly integrated within and beyond theenterprise. Some research work in enterprise applications integrations (EAI) analyzedthe problem, while others proposed solution models for the syntactic and semantic integration of business processes. In this paper, the EAI is considered as a design problemand is analyzed from design point of view. Environment based design (EBD) methodologyis applied to handle the integration problem by analyzing and clarifying the designrequirements to generate appropriate solutions. A framework is proposed for EAI problems based on the EBD approach. A case study is also provided to show how theapproach can be applied within a company to generate satisfactory EAI solutions withlow cost, high efficiency, and enhanced scalability. [DOI: 10.1115/1.4007171]Concordia Institute of InformationSystems Engineering,Faculty of Engineering & Computer Science,Concordia University,Montreal, QC,H3G 1M8, Canada1IntroductionAlong with the rapid development of information technologies,various applications have been developed in almost every aspect ofenterprise business processes, such as supply chain management(SCM), customer relationship management (CRM), enterpriseresource planning (ERP), and product lifecycle management(PLM), in order to enable organizations to improve their use of information systems in supporting their operational and financialgoals [1–3]. A SCM application focuses on co-ordination and interenterprise supply chain upstream and downstream relationships [2].A CRM application supports organizations to improve their frontend operations regarding the value they offer to their customers [4].An ERP application is a software package that attempts to integrateall the organizations’ departments and functions into a single system to serve the departments’ needs [5]. Most of these applicationshave been built with very specialized focus on specific businessneeds and are often developed without thorough consideration ofhow to share with other existing applications. With such a greatquantity and variety of applications, there is a growing need forfacilitating the data sharing among them. Each individual application is often upgraded independently from others that might bedeveloped by different IT companies. As a result, different applications with the similar functions or several generations of the sameapplication may co-exist in an enterprise. Inefficient data sharingamong those applications in a business process inhibits seriouslythe productivity of the enterprise. This situation is mostly due to thecomplexity and the multidisciplinary nature of the business proc1Corresponding author.Contributed by the Computers and Information Division of ASME for publicationin the JOURNAL OF COMPUTING AND INFORMATION SCIENCE IN ENGINEERING. Manuscriptreceived August 23, 2011; final manuscript received April 18, 2012; published onlineAugust 6, 2012. Assoc. Editor: Ashok K. Goel.esses [6]. It was estimated that more than 30% of IT dollars werespent to link different systems together [6]. The IT industry hasbeen trying to bring competitive advantages to businesses by working on various EAI solutions. It is a challenging task to integrate anindividual application into other application platforms in a mannerthat fits into the general business logic existing in an enterprise.EAI has emerged to address the demands of horizontal and vertical integrations, within and beyond enterprises, in more flexibleand maintainable way [7,8]. Irani [9] stated that “EAI addresses theneed to integrate both intra and interorganizational systems.” Thiscan be achieved by incorporating functionality from different legacy applications in use. Linthicum [6] defined EAI as “unrestrictedsharing of data and business processes among any connected applications and data sources in the enterprise.” Du et al. [10] consideredthat “the integration of applications enables information sharingand business processes, both of which result in efficient operationsand flexible delivery of business service to customers.” Chen et al.[11] gave a similar definition to enterprise integration as “enterpriseintegration is the process of ensuring the interaction between enterprise entities necessary to achieve domain objectives.” Chen et al.[11] indicated that enterprise integration can be approached in various manners and at various levels, such as (1) physical integration(interconnection of devices, NC machines via computer networks),(2) application integration (integration of software applications anddatabase systems), and (3) business integration (co-ordination offunctions that manage, control and monitor business processes).The scope of implementing EAI can be classified into three majorcomponents according to Ref. [9]: (1) intra-organizational component that integrates packaged and custom systems, (2) interorganizational application integration that incorporates cross-enterprisebusiness processes and systems throughout a supply chain, and (3)hybrid application integration component that integrates businessto-customer applications with other interorganizational solutions.Journal of Computing and Information Science in EngineeringC 2012 by ASMECopyright VSEPTEMBER 2012, Vol. 12 / 031003-1Downloaded 17 Aug 2012 to 132.205.100.54. Redistribution subject to ASME license or copyright; see http://www.asme.org/terms/Terms Use.cfm

The major business objectives of EAI implementations are toimprove productivity, to facilitate data sharing, to achieve greateragility and flexibility in supporting business processes integration,to avoid trusted legacy systems replacements, and to solve theissues related to organizational mergers. In this paper, integrationsfrom all levels are considered as a whole enterprise-wide application integration problem.The research conducted in the EAI area emphasized on manyissues, including the semantic and syntactic issues, the analyticalissues, and the technical issues. In Liu et al’s state of the art review[12], they discussed the EAI from two generic points of view:semantic and syntactic integration. In their review, they concludedthat the current EAI solutions do not satisfy the manufacturingcompanies’ needs and that organizations should focus more onsemantic integration. Sharif et al. [13] proposed an EAI impactframework to address research challenges in EAI area. However,the framework itself is complex and is hard to implement for anEAI solution. Themistocleous [7] classified the major EAI driversto eight major factors: barriers, benefits, costs, external and internalpressures, support, IT sophistication, evaluation framework for integration technologies, and assessments of EAI packages and ITinfrastructure. Compared to Ref. [7], Lam [14] investigated the critical success factors for EAI from administrative perspective andcategorized them into three major groups: (1) top management support, (2) overall integration strategy, and (3) EAI project planningand execution. Vasconcelos et al. [15] verified the dimensions thatshould be represented as part of information systems architecture ofEAI. Scheibler et al. [3] introduced a platform independentapproach to modeling, describing, and enacting EAI patterns inservice oriented architecture. Losavio et al. [16] modeled the EAIbased on Brown’s conceptual model of integration, which wasextended to obtain more unified and organized views in EAI bySandoe and Saharia [17]. Kamal et al. [18] evaluated the implementation of EAI solutions to Welsh Local Government Association bydistinguishing between the factors of adoption and nonadoption ofthe EAI. Puschmann and Alt [1] presented an implementation ofEAI in Robert Bosch Group and addressed the need for standardized integration architecture. In addition, studies on customizedEAI solutions attracted a lot of researchers. For example, Nia et al.[19] proposed a collaborative engine to facilitate application integration for tooling companies. With this engine, both technical andbusiness process integration requirements were satisfied. Also, security issue in information sharing was addressed in the proposedintegration solution. While some of the studies discussed the designissues of the EAI solutions, Gleghorn [20] suggested that the designobjectives of the integration solutions are configurable, extensible,and reusable. Lublinsky [21] presented a procedure to design anEAI solution: define and catalog business processes, businessevents, IT components, process rules and messages, and messagecontents. Umapathy et al. [22] proposed a study on conceptualdesign of enterprise integration solutions, which indicated that thereare two main prerequisites for the design process: an understandingof the design requirements represented in business process models,and the expertise that professionals brought to the project as designknowledge acquired from enterprise integration patterns. Johannesson and Perjons [8] suggested a methodological support for modeling the alignment of application integration to business processes,and some design guidelines for design, validation, and presentationof applications integration were given. It fell into two groups: thefirst group to assist the designer in obtaining different views of themodel, while the second group to check the completeness of theprocess diagram.Although research has been done for specific problems in EAI,enterprises are still faced with many problems. Enterprises tend todepend on various legacy applications in supporting their businessstrategies and in achieving their goals by implementing softwareapplications for special requirements of different functional sectors, which are mutually independent at most of the time [10].Enterprises need to integrate their business functions into asingle system, in order to be able to adopt the changes in their031003-2 / Vol. 12, SEPTEMBER 2012environments and in the technology development. Traditionalapproaches, such as electronic data interchange, database-orientedmiddleware, and distributed objects (e.g., CORBA, DCOM, etc.)technology, do not fully automate the desired integration [7,9].Innovative solutions are needed to achieve this goal more easily.It leads to new integration technologies supporting effective EAIsolutions, such as message brokers, process brokers, middlewaresystems (e.g., SOAP, J2EE, etc.), adapters, wrapper’s API, webservices (e.g., W3C, WebServices.or, etc.). Most of the commercial integration products and services fall into two basic categories: hosted integration solutions and server-based middlewaresolutions [6,9,10,12,20]. There are many EAI solutions in the market, such as “Vitrea,” “ActiveSoftware,” “CrossWorld,” and manyothers [14,23]. Meanwhile, many integration tools have beendeveloped by different vendors, such as “BizTalk Server 2004”developed by Microsoft, “WebSphere MQ” developed by IBMand several others [24]. However, enterprises are forced to giveup their legacy applications and invest a huge amount of money tobuy those new integrated solutions in order to manage their business. This is not necessarily to be the only option. The reasons liemainly in three aspects: first, from the implementation point ofview, different enterprises may have different EAI requirements,which come from various applications and variety of businessdata and processes. It is practically impossible to achieve all thoserequirements in one EAI system [19,22]. Different applicationsneed different integration methods. Second, many applicationshave their own built-in functions for development, e.g., VBA,ACTIVEX, AUTOCAD script, and API for AUTOCAD. However, it is often costly and time consuming to integrate enterprise applicationsby using those built-in functions, which requires not only theunderstanding of different built-in functions for different systemsbut also the internal data and process structures within eachrelated applications. Third, most of existing EAI solutions arefocused on answering questions, such as “what do we need to doto integrate the various applications?” instead of considering theimplementation process as the sum of existing applications andthe context of the business environment [6,12].In this paper, EAI problems are discussed from the design pointof view. By applying EBD methodology to EAI problems, aframework has been proposed. Through a case study, a low costand high efficiency EAI solution were developed to validate theframework. The rest of the paper is organized as follows: Sec. 2introduces the EBD methodology, followed by the framework andthe case study to show the implementation process of the EBD togenerate an integration solution. Evaluation of the generated solution is addressed thereafter. Sec. 4 concludes the paper.2Environment-Based DesignApart from traditional design methodologies, the EBD methodology [25–27] was logically derived from the axiomatic theory ofdesign modeling [28], which was founded on the recursive logicof design [29]. The basic idea is that a design problem is impliedin a product system and is composed of three parts: the environment in which the designed product is expected to work, therequirements on product structure, and the requirements on performance of the designed product. The requirements on productstructure and performance are related to the product environment.In addition, the product environment includes three major environments: natural, built, and human. As illustrated in Fig. 1, theEBD includes three main activities: environment analysis, conflictidentification, and solution generation. These three activities worktogether progressively and simultaneously to generate and refinethe design specifications and design solutions.The objective of environment analysis is to find out the keyenvironment components, in which the product works, and therelationships between the environment components. From theenvironment implied in the design problem described by the customer(s), a designer will introduce extra environment componentsthat are relevant to the design problem at hands. The results fromTransactions of the ASMEDownloaded 17 Aug 2012 to 132.205.100.54. Redistribution subject to ASME license or copyright; see http://www.asme.org/terms/Terms Use.cfm

Fig. 1Environment-based design: process flow [27]this analysis constitute an environment system. One of the keymethods for environment analysis is linguistic analysis [30]. Therecursive object model (ROM) was proposed by Zeng [31] to conduct this work. The ROM includes two types of objects, which areobject and compound object, and three kinds of relations betweenany two objects: connection, constraint, and predicate (as shownin Table 1).While a ROM diagram is generated, some questions should beasked to clarify every object in the ROM diagram. Wang andZeng [32] gave the rules on question asking to conduct a comprehensive environment analysis. In order to verify the completenessTable 1TypeObjectRelationof the extracted environment components and their relations, aroadmap was proposed as guidance for requirements modeling[33]. In this roadmap (see Fig. 2), requirements (structural or performance) are categorized by two criteria in terms of different partitions of product environment: One criterion classifies theproduct requirements by partitioning product environment interms of product lifecycle (refer to Fig. 2(a)) and the other oneclassifies them by partitioning the product environment into eightlevels (refer to Fig. 2(b)). The eight levels can be grouped into thenatural, built, and human environments for better extraction of theenvironment components. Following the pattern of such environment analysis, conflicts could be identified among the relationsbetween environment components [26,27]. There are several rulesto follow for conflict identifications [27,34]:Rule 1 If an object has multiple constraints, then potential conflict exists between any pair of constraining objects.Rule 2 If an object has multiple predicate relations from/toother objects, then potential conflict exists between a pair ofthose predicate relations.Rule 3 If an object is constrained by another object, then therelation is inherited by its subobjects, e.g., an object O1 isconstrained by another object O2, and O1 has two components O11 and O12. O11 and O12 are considered being constrained by O2.Figure 3 shows three forms for a possible conflict existing in aROM diagram. A, B1, B2, R1, and R2 are existing objectsElements defined for the ROM [31]Graphic representationDescriptionObjectEverything in the universe is anobjectCompound objectIt is an object that includes atleast two objects in itConstraint relationIt is a descriptive, limiting, orparticularizing relation of oneobject to anotherConnectionIt is to connect two objects thatdo not constrain each otherPredicate relationIt describes an act of an object onanother or that describes thestates of an objectFig. 2A roadmap for environment analysis [33]Journal of Computing and Information Science in EngineeringSEPTEMBER 2012, Vol. 12 / 031003-3Downloaded 17 Aug 2012 to 132.205.100.54. Redistribution subject to ASME license or copyright; see http://www.asme.org/terms/Terms Use.cfm

Table 2Fig. 3 Three forms of an existing conflict in a ROM diagram[27,34](relations are seen as objects as well [28]). C stands for a possible conflict. A is called the resource object, B1 and B2 or R1and R2 are two competing objects [34]. Specifically, Fig. 3(a)shows a possible conflict between two constraints—resultedfrom conflicting constraint relations. Figures 3(b) and 3(c)show two other forms—resulted from predicate relations.Please notice the different directions of predicate relations inFigs. 3(b) and 3(c). How to apply them to practice is shown inthe case study later. At the third stage of the EBD, a set of keyenvironment conflicts will be chosen to be resolved by generating some design solutions. This process continues until nomore unacceptable environment conflicts exist.Customers’ requirements are commonly described in naturallanguage. Compared to other approaches to EAI (function-oriented, operation-oriented, business process-oriented, etc.), theEBD is easy to start and to follow due to its natural language processing ability and well-defined rules. Through the recursive process of the EBD along with the ROM, implicit requirements canbe revealed. In addition, the lifecycle of an EAI solution is considered, semantic and syntactic integration issues and technologyissues are focused at the design stage, which will definitelyenhance the reliability of the final solution, at least with lessdesign defects. All of those benefits will be illustrated in Sec. 3.3A Framework to EAI Using EBD3.1 The General Framework. Since the purpose of EAI isto seamlessly integrate various kinds of applications into a business process to increase the employees’ work efficiency and topromote the company’s business effectiveness, we start by drawing a ROM diagram as shown in Fig. 4. The environment analysiswill then be conducted based on the initial ROM diagram. Obviously, “integrate” is the most constrained object as a predicaterelation is a bidirectional constraint. According to the rulesdefined in Ref. [32], questions will be asked first about its constraining object that has the mos