a framework for engineering enterprise agility

14
A FRAMEWORK FOR ENGINEERING ENTERPRISE AGILITY Abd Rahman Mokhtar Martin Hanneghan Madjid Merabti School of Computing and Mathematical Sciences Liverpool John Moores University United Kingdom ABSTRACT Central to engineering enterprise agility is the ability to meaningfully share and communicate information between enterprise systems. Such a characteristic enables the agile enterprise to possess the capabilities and processes to allow the enterprise to respond to and master change, and hence achieving and maintaining competitiveness. In this paper, we present a novel framework for engineering enterprise agility. The framework encompasses the idea of ontology viewpoint, i.e. a viewpoint that is committed to “an explicit specification of a conceptualisation”. The framework also involves the provision of an appropriate middleware and multiagent environment in supporting the execution of distributed processes and their automation. The paper presents our proposed preliminary architecture and its components. The former utilises the ubiquitous HTTP protocol of the World Wide Web, in enabling accessibility and connectivity of the architectural components via a middleware environment. The integration of ontology, viewpoints, and agent-middleware based environment is pursued by utilising open standards in programmatic and metalanguage support, thereby enhancing component interactivity and connectivity. The framework, thus, promotes semantic interoperability and coherence and the subsequent growth and agility of heterogeneous and distributed enterprise systems. KEYWORDS Enterprise, agility, ontology, viewpoints, agents, middleware. 1. INTRODUCTION In an era of intense global competition, enterprises that more effectively meet a client’s need using fewer resources than their competitors will thrive, while those who cannot, will not be able to remain or be competitive and will fall by the wayside (Merabti et al, 1999). It is the enterprise’s information systems that provide it with its institutional memory and its “nervous system” (Gates, 1999), (Ryan, 1997). If, as the enterprise grows and adapts, its information systems cannot adapt with it, the growth of the entire organisation is impeded. Many key technologies have emerged that promote the development and implementation of more effective and adaptable information systems. These provide the context for enterprise development and contribute to enhancing the agility of the enterprise, a crucial capability to enable enterprises to respond and master change and hence achieving and maintaining competitiveness. One of the most significant key technologies is the development of intelligent desktop client workstations and networking infrastructures such as the Internet and the World Wide Web. This has put more processing power in the hands of the end-users as well as enabling distributed processing among multiple computing resources. The development and growth of these enterprise systems are, however, characterised by complex and chaotic manifestation of platforms, languages and proprietary environments. The network and protocols underlying and connecting these systems might be just as diverse. This heterogeneity that is prevalent in an enterprise’s information systems is due to factors such as engineering trade-offs, which arise from the absence of an acceptable solution to a complex engineering problem; accumulation of legacy systems over time; and varying system costs (Vinoski, 1997). As an enterprise employs the available information systems resources for a wide range of activities that include distributed database

Upload: rahmanmokhtar

Post on 30-Oct-2014

342 views

Category:

Technology


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: A Framework for Engineering Enterprise Agility

A FRAMEWORK FOR ENGINEERING ENTERPRISE AGILITY

Abd Rahman MokhtarMartin Hanneghan

Madjid MerabtiSchool of Computing and Mathematical Sciences

Liverpool John Moores UniversityUnited Kingdom

ABSTRACT

Central to engineering enterprise agility is the ability to meaningfully share and communicate information between enterprise systems. Such a characteristic enables the agile enterprise to possess the capabilities and processes to allow the enterprise to respond to and master change, and hence achieving and maintaining competitiveness. In this paper, we present a novel framework for engineering enterprise agility. The framework encompasses the idea of ontology viewpoint, i.e. a viewpoint that is committed to “an explicit specification of a conceptualisation”. The framework also involves the provision of an appropriate middleware and multiagent environment in supporting the execution of distributed processes and their automation. The paper presents our proposed preliminary architecture and its components. The former utilises the ubiquitous HTTP protocol of the World Wide Web, in enabling accessibility and connectivity of the architectural components via a middleware environment. The integration of ontology, viewpoints, and agent-middleware based environment is pursued by utilising open standards in programmatic and metalanguage support, thereby enhancing component interactivity and connectivity. The framework, thus, promotes semantic interoperability and coherence and the subsequent growth and agility of heterogeneous and distributed enterprise systems.

KEYWORDS

Enterprise, agility, ontology, viewpoints, agents, middleware.

1. INTRODUCTION

In an era of intense global competition, enterprises that more effectively meet a client’s need using fewer resources than their competitors will thrive, while those who cannot, will not be

able to remain or be competitive and will fall by the wayside (Merabti et al, 1999). It is the enterprise’s information systems that provide it with its institutional memory and its “nervous system” (Gates, 1999), (Ryan, 1997). If, as the enterprise grows and adapts, its information systems cannot adapt with it, the growth of the entire organisation is impeded.

Many key technologies have emerged that promote the development and implementation of more effective and adaptable information systems. These provide the context for enterprise development and contribute to enhancing the agility of the enterprise, a crucial capability to enable enterprises to respond and master change and hence achieving and maintaining competitiveness.

One of the most significant key technologies is the development of intelligent desktop client workstations and networking infrastructures such as the Internet and the World Wide Web. This has put more processing power in the hands of the end-users as well as enabling distributed processing among multiple computing resources. The development and growth of these enterprise systems are, however, characterised by complex and chaotic manifestation of platforms, languages and proprietary environments. The network and protocols underlying and connecting these systems might be just as diverse. This heterogeneity that is prevalent in an enterprise’s information systems is due to factors such as engineering trade-offs, which arise from the absence of an acceptable solution to a complex engineering problem; accumulation of legacy systems over time; and varying system costs (Vinoski, 1997).

As an enterprise employs the available information systems resources for a wide range of activities that include distributed database transactions and information interchange, the need for software agents in the automation of the tasks

Page 2: A Framework for Engineering Enterprise Agility

involved is much desired. These software agents may play autonomous roles within a middleware environment (Bernstein, 1996) – an environment that provides a middle platform that holds together the various elements or components of distributed and heterogeneous enterprise systems. Within such environments, the software agents may be implemented to enable automation of, for example, data translation and transformation; brokering between users, other software agents and information resources; validation or maintenance within and between resources; as well as presentation of information to users.

The communication between systems in a distributed and heterogeneous environment requires the unhindered ability to meaningfully share information. However, in large and complex systems, such ability is suppressed since the meaning of information can be drastically affected by the context in which it is viewed and interpreted. The development of an ontology of domain concepts and terms, along with their respective formal and unambiguous definitions, potentially provides the basis to meaningfully share information. An ontology is defined as “an explicit specification of a conceptualisation” (Gruber, 1995). The “conceptualisation” involved is an abstract, simplified worldview (i.e. the global set of concepts, their definitions and inter-relationships), that represents the domain of discourse. The definition of an ontology is further

refined (Guarino, 1998), as a logical theory accounting for the intended meaning of a formal vocabulary (not necessarily) as part of a logical language. The ontology of an enterprise, constructed through the processes of conceptualisation and explication of the conceptualisation, will therefore present itself as a framework for modelling of and shared understanding between, the various aspects of the enterprise.

Furthermore, the construction of a complex description or model associated with an enterprise or system involves many stakeholders or participants and these participants would have different views of the system they are trying to describe or model within the domain of discourse. The combination of the participant and the view that the participant holds is said to be a viewpoint (Sommerville, 1995).

An enterprise information model is logically composed of a number of discrete components which, when synthesised, produce the whole model. For example, in manufacturing, the accommodation of needs of various departments such as designs, materials, suppliers, stock control, finance, logistics, etc. is necessary to support its business objectives. As the enterprise information requirements change or evolve, new viewpoints arise, each being uniquely characterised by the combinatory state of the participant and the view, as depicted in Figure 1.

Page 3: A Framework for Engineering Enterprise Agility

The application of viewpoint analysis during, for example, the early stages of elicitation or extraction of enterprise system requirements is one area of system development where many diverse client views are prevalent (Hanneghan et al., 2000).

Ontologies can be used as a means to capture precisely information that needs to be delivered from one system to another. It is the precise and unambiguous specification of ontologies that can enable systems to interoperate effectively and efficiently. However, herein lies the problem: ontologies that completely capture the essence of an enterprise are almost impossible to describe. The number of unique facets of an enterprise is just too great to enumerate and the subtleties in interpretation of each facet give rise to ambiguities that render the ontology unusable in all but the simplest situations. In our research, viewpoints are utilised to aid the construction of an ontology, as it provides an initial context or starting point for the identification of key concepts and relationships in the domain of interest.

2. BACKGROUND

Most documents on the World Wide Web are constructed using markup language representation (Bosak, 1997) that is based on an open standard namely Standard Generalised Markup Language, SGML (ISO 8879) (Goldfarb, 1997). The current widely used markup language (namely Hypertext Markup Language, HTML) is a simple SGML language variant that is well suited for small and reasonably simple documents. However, as web documents have become larger and more complex, web content providers have begun to experience the limitations of a medium that does not provide the extensibility, structure, and validation needed for large-scale distributed information processing (Hanneghan et al., 1996). Recent efforts to introduce new standards such as Resource Definition Format (RDF) (Lassila et al., 1999) have yet to achieve widespread acceptance.

The next generation markup language variant (namely Extensible Markup Language, XML) (Bray et al., 1998), (Mace et al., 1998) addresses the issues described above. Its extensibility enables users to specify their own tags or attributes in order to parameterise or semantically qualify the information to be processed. There is support for specification of the deep structures needed to represent database schemas or object-

oriented hierarchies, as well as allowing consuming applications to check data for structural validity during processing. These capabilities enable the prospect of data or knowledge interchange in expressing, for example, an enterprise content model and its semantics. Furthermore, horizontal-enterprise applications, such as software distribution, searching/filtering, and e-commerce, in addition to vertical-enterprise applications, such as health-care, manufacturing, and education, can utilise the XML standard in attempting to achieve sustainable global interoperability (Smith and Poulter, 1999) e.g. the implementation of business-specific tasks across domains. Major Information Technology solution providers such as Microsoft and Hewlett Packard are developing frameworks for e-commerce using the power of XML (e.g. BizTalk from Microsoft and ESpeak from Hewlett Packard).

Middleware architectures are increasingly used in the network-centric, Internet-savvy environment in an attempt to host robust business logic, balance distribution of processing, provide complex and rapid data access, manage persistent state and session, and provide guaranteed and reliable processing. Middleware is typically divided into five basic categories: transaction processing middleware, which provides distributed transaction monitoring, management, load balancing, and fail-over across multiple data sources; message-oriented middleware (MOM), which provides asynchronous communications and guaranteed delivery of messages or events between applications across the network; object request brokers (ORBs), which provide communication pipelines among software components that make up a distributed system; data access middleware (Hanneghan et al., 1998), which provides efficient and rapid access to heterogeneous data sources; and application servers, which provide extensible platforms for assembling, deploying, and managing distributed applications, connecting software components with heterogeneous databases and network resources. CORBA (the Common Object Request Broker Architecture) (Maffeis and Schmidt, 1997), (Siegel, 1998) and the Java Remote Method Invocation (RMI) programming model (Singhal and Nguyen, 1998), (Waters, 1998) are representative of object request broker and application servers middleware, respectively. Furthermore, the development and deployment of middleware environment can be pursued as

Page 4: A Framework for Engineering Enterprise Agility

component-based, whereby the building of software systems is carried out using pre-packaged generic elements (Meyer and Mingins, 1999). These elements or components when written in Java to the Enterprise Java specification (are known as Enterprise JavaBeans) have the ability to communicate using Java RMI or CORBA Internet Inter-ORB Protocol (IIOP), and utilise Enterprise Java services. McFall (1998) discusses the interplay between Java-enabled Web clients, CORBA, Web servers, and backend systems (such as application and transaction systems) as part of a model that assumes universal connectivity, distributed environment, and cross-platform interoperation.

The use of software agents, as individually autonomous software entities to hide the distribution and complexity problems is described by Laufmann (1997) with the focus especially on the practical issues that are commonly faced in distributed and heterogeneous enterprise environments. Additionally, effective communication of knowledge between agents in distributed and heterogeneous enterprise environment needs to be based on a common understanding of terms contained in the messages passed between agents in the environment. Jones (1998) discusses the construction of a shared ontology, as one of the main stages in the development of a multiagent system. Jain et al. (1999) expands the multiagent metaphor further in describing the multiagent system as a sphere of commitment which encapsulates the promises and obligations the agents may have toward each other. By employing flexible commitments, their approach allows the commitments to be manipulated in various ways. Thus, for example, besides the ability to create and discharge commitments, agents are allowed, although cannot be wantonly performed, to cancel commitments. Such flexibility can furthermore be empowered to mobile agents. These agents that are created in one execution environment, can transport their states and codes, as discussed by Wong et al. (1999), to another execution environment where they can resume tasks. The migration of state and codes of the agents can, for example, be facilitated by an open middleware environment.

Uschold and Gruninger (1996) provides a general introduction to the design and use of ontologies and outlines both informal and formal methodology for developing and evaluating them. The process of building an ontology involves

identification of key concepts and relationships in the domain of interest; production of precise unambiguous text definitions for such concepts and relationships; identification of terms to refer to such concepts and relationships; and finally agreeing on all of the above. In order to aid the utilisation of the ontology, the explicit representation of the conceptualisation will need to be expressed in some formal language.

Blàzquez et al. (1998), describes the METHONTOLOGY framework, a framework that enables the construction of ontologies at the knowledge level and includes: the identification of the ontology development process, a life cycle based on evolving prototypes, a method for specifying ontologies at the knowledge level and multilingual translators that automatically transform the specification into several target codes.

The use of an ontology in the context of an enterprise is further discussed by Uschold et al. (1997), whereby a glossary of terms pertinent to an enterprise, are expressed in a restricted and structured form of natural language supplemented with a few formal axioms. The ontology described has five top-level classes for integrating the various aspects of an enterprise, consisting of metaontology; activities and processes; organisation; strategy; and marketing.

The range of ontology-based work pertaining to enterprise modelling is reviewed by Fox and Gruninger (1998), who introduce the concept of a generic enterprise model (GEM) and extend that to the concept of a deductive enterprise model (DEM). The former model essentially describes an object library that defines the classes of objects that are generic across a type of enterprise, such as manufacturing (Schlenoff et al., 1998), and can be used or instantiated in defining a specific enterprise pertaining to the latter model.

The analysis of an enterprise displaying a complex structure and with many interlocking constraints on their construction and behaviour, necessitates, for example, multiple viewpoints for complexity control and separation of concerns. The use of a viewpoint method at the requirements stage of systems development is exemplified in the work of Kotonya and Sommerville (1996). Their service oriented viewpoint method takes into account both the end-user and organisational considerations, in generating system requirements. Sommerville et al. (1998) further discusses a practical and flexible

Page 5: A Framework for Engineering Enterprise Agility

approach in eliciting and validating system requirements, by introducing the notion of concerns as global high-level criteria that are used as drivers of the requirements elicitation process. The conceptual relationship between concerns and viewpoints as a sociotechnical pyramid is depicted in Figure 2. These concerns, potentially, affect every aspect of the system.

Mannion et al. (1998) describes the use of viewpoints to define domain requirements that take into consideration the reusability of the requirements against the background of overlap of domain requirements due to the presence of multiple systems and multiple users. The authors’ VORD (viewpoint-oriented domain requirements definition) method consists of four steps: scope the domain, characterise the domain, document the viewpoints, and analyse the viewpoints. The outputs from this method serve as inputs to the rest of the domain engineering process.

From an operations perspective, the aspects of domain modelling and process engineering must be able to supply information and knowledge necessary to support the tasks and operations of the enterprise. These would need to be streamlined and integrated to enable the enterprise to be agile and hence remains competitive, that is, the ability to produce products and services that are of consistently high quality throughout the product/service's life, customised to market needs, open in that they may be integrated with other product/services, environmentally benign, and technically advanced. An agile enterprise is one

that possesses the capabilities and processes that allow the enterprise to respond and master change - an enterprise that has the ability to continuously monitor market demands; quickly respond by providing new products, services and information; quickly introduce new technologies; and quickly modify business methods (Nagel and Dove, 1991).

3. CURRENT WORK

With the proliferation of distributed and heterogeneous computing facilities and infrastructures, an enterprise’s information systems are continuously depended upon to bring about constructive changes in many domains (King and Tester, 1999). The growing complexity of enterprise information and the increasing necessity to communicate and exchange this information, however, hinges on the requirement for an unhindered ability to meaningfully share information. As a first step towards addressing the current lack of such semantic interoperability across multiple platforms and processing environments, our research develops a framework based on the notion of “ontology-driven information systems” (Guarino, 1998). This provides a context for enterprise systems to be integrated across their functions, and hence the framework for engineering enterprise agility.

The scope and scenario of our research activities is depicted in Figure 3. The research stressed the importance of the use of ontology in an

Page 6: A Framework for Engineering Enterprise Agility

interdisciplinary and integrated setting, i.e. in conjunction with the utilisation and development of concepts derived from a range of contemporary areas of interest, such as: open metalanguage support for information exchange, viewpoint-oriented modelling and analysis, middleware environment, and multiagent paradigm.

3.1 Ontological Representation

Our research investigates the ontological representation of a distributed and heterogeneous enterprise. The ontology, as part of a world view, provides the basis to model the enterprise and meaningfully share information between the various facets of the enterprise. Of equal interest at this research stage is the investigation of the explicit relationship between ontological structures of an enterprise and the generation of viewpoints. For a given viewpoint state, the participant is regarded as an actor or class type rather than an instance, the participating entity as well as being an external entity to the system, represents a role or a number of roles in the enterprise or system. The actor communicates

with the system by sending and receiving messages. The stimulus obtained from an incoming message is represented by a use case scenario which expresses a specific functionality of the system.

The exposure of system functionalities through use cases can thus provide a mechanism for viewpoints to be constructed. The set of human readable description of terms, concepts, and relations within the viewpoints relates or maps to a number of aspects of ontology development, such as type, subject, and purpose of ontology; scope in relation to notions that includes number of concepts representing classes, number of concepts representing instances, number of explicit axioms, number of class concepts per hierarchy level, etc. Thus the outcome of this initial stage is the ontological representation of the distributed and heterogeneous enterprise pertaining to its structure, activities, processes, information, resources, people, behaviours, goals, and organisational constraints. It provides a vocabulary of terms and relations with which a domain can be modelled.

Page 7: A Framework for Engineering Enterprise Agility

Additionally, our utilisation of a visual modelling language such as the Object Management Group's (OMG) Unified Modelling Language (UML) facilitates the domain modelling process. UML provides a visual expression of domain models, in terms of object-oriented diagrams that are: accurately descriptive of the system to be built; consistent in avoiding conflicts between domain views e.g. the use case view and concurrency view (the view that relates to the non-functional property of the system); and convenient to communicate to users and be amenable to change (Eriksson and Penker, 1998).

Furthermore the use of UML in representing enterprise conceptualisation provides a diagrammatic expression of the ontology (e.g. in terms of class diagrams) which then facilitates the process of modelling and identifying mismatches between ontologies, and the assessment of enterprise heterogeneity (Visser et al., 1998).

The level of enterprise heterogeneity and ontology mismatches and their contextual trade off with the need for interoperability, for example, provides an

important measure in evaluating the process of integrating disparate enterprise systems.

3.2 Capturing via Markup Language Variant

The ontology can be parameterised using an open metalanguage for markup with support for extensibility, structure and validation. The development of a markup language variant in representing the captured ontology in expressing an enterprise model provides a framework for semantic interoperability in enabling data or knowledge interchange over a network infrastructure such as the World Wide Web.

We utilise XML as the deployment standards in the markup language based capturing process. The listing below (Listing 1) exemplifies the use of XML in capturing some ontological representation of a Marketing Department of an Enterprise. In essence the XML-based deployment allow user-defined markup elements to qualify data and its structure, in expressing a particular knowledge domain.

Page 8: A Framework for Engineering Enterprise Agility

The processing of the XML document is carried out by a parser, commonly with a compulsory well-formedness and an optional validation checking capability.

A well-formed XML document is one that possesses properly structured markup syntax, e.g. the pairs of opened and closed tags or tags are nested properly. A validated XML document is one that conforms to a schema construct or document type declaration, DTD (the section with <!DOCTYPE …]> in Listing 1). The DTD, which may either be internally or externally defined (i.e. pointed by the ENTITY XML keywords), provides the rules for constructing the structure of an XML document.

The processed document containing the information to be exchanged, e.g. the captured ontologies and their pertinent DTDs can then be made available to consuming applications. The DTD captured ontologies may be derived from heterogeneous and distributed sources, each related to the representation of explicit specification of conceptualisation. In essence our open metalanguage capturing process exposes the distributed architecture of ontologies while allowing validation of extensibility processes such as accommodation of emergent viewpoints and ontologies.

Furthermore, the inclusion of an additional layer of abstraction, in the form of application programming interfaces (API), between the XML document and the application, provides methods and properties to access and manipulate an XML document. Legacy systems can also use these interfaces to provide access to legacy data as if the data was natively stored in XML (Ceponkus and Hoodbhoy, 1999). The XML 1.0

recommendation (Bray et al, 1998) does not specify which API to use. Our research utilises a widely available API for XML processing known as the XML Document Object Model (DOM) specification (Apparao, 1998). The above-mentioned XML deployment process is depicted in Figure 4.

Via the DOM interfaces, for example, a tree representation of the XML document is exposed, whereby every construct in the XML document, such as an element or an attribute, is represented as a node in the tree. The tree representation is designed with object-oriented principles that provides the advantage of object encapsulation and reusability. Each node has its own set of

methods and properties, and inherits functionality from a base class, including common functionality such as navigation through the tree and manipulation of contents of the nodes.

Irrespective of the inclusion of an interface for the purpose of exposing XML document as a tree-like structure of nodes that possesses properties and methods to consuming applications, our research also investigates the use of templates or stylesheets to present different views of the XML document. One particular XML-based stylesheet language for stylesheets definition is the Extensible Markup Language Stylesheet Language (XSL) (Clark, 1999). By adopting the use of stylesheets, we are able to reuse data in defining presentation semantics by: transforming the source XML document to multiple output formats such as HTML, Rich Text Format (RTF), or other forms of markup language systems; and performing dynamic customisation of presentation for user preferences. The XML/XSL deployment process is depicted in Figure 5.

Page 9: A Framework for Engineering Enterprise Agility

In summary, our research is investigating the use of appropriate markup elements and qualifiers, and the construction of DTDs, in order to support generic enterprise model and deduced enterprise model requirements, as well as enabling programmatic interfaces to architectural component, consuming applications, and their services.

Additionally, our use of UML and object-oriented paradigm at the ontology representation phase is extended to include the modelling of metalanguage capturing phase. In our research, the mapping of domain knowledge (as qualified by the ontology) to the metalanguage representation (as exemplified by the use XML with DOM interface) provides an integrated modelling solution as well as generation of code skeletons as a base for the implementation phase. This can be further supplemented with user-centric customisation of views or presentation involved (as exemplified by the use of XSL). The modelling or code generation environment can furthermore be integrated with other development environments such as agent and problem solving or domain-oriented development tools.

3.3 Viewpoint Modelling and Analysis

The resulting markup language-based ontology information resource may be expressed in terms of many different viewpoint states. Our research addresses a wide range of pertinent issues to the analysis of the viewpoints, including the construction of a novel viewpoint model that would accommodate the ontological aspects of the enterprise; identification of potential viewpoints and their relevance to the ontology; the manner in which ontology influences the consistency of viewpoint specifications; and managing information from these ontology viewpoints. In essence, the ontology viewpoints are regarded as viewpoints that are committed to “an explicit specification of conceptualisation”.

Our research investigates the potential extension of the model described in (Sommerville et al., 1998) and aims to establish the role of ontology in structuring, analysing, and modelling viewpoints and their interactions. The conceptual relationship for our viewpoint model is shown in Figure 6.

Page 10: A Framework for Engineering Enterprise Agility

3.4 Middleware Support

A middleware support framework is utilised as a platform to hold the various distributed and heterogeneous components together. Additionally, the middleware support framework aids software agents to enact their roles autonomously in the distributed and heterogeneous environment. The framework facilitates the potential migration of states and codes of the software agents (Wong et al., 1999) in achieving flexibility of execution of agent processes in the distributed and heterogeneous environment. The architecture, considered in the context of current research and its conceptual components, consists of the following main parts: connectivity to a network

infrastructure such as the Internet and World Wide Web; middleware server environment; ontology editor, repositories, processor and translator; viewpoint/domain-oriented services; and agent-oriented services. The architecture, as depicted in Figure 7, is further discussed below.

The user/client connectivity to the World Wide Web utilises the ubiquitous hypertext transfer protocol (HTTP) for exchanging files on the network infrastructure. This method of connectivity allows for web editing and browsing-based implementations (such as editing and browsing of ontologies), as well as Transmission Control Protocol/Internet Protocol (TCP/IP)-based transport of messages between systems and architectural components.

Page 11: A Framework for Engineering Enterprise Agility

Critically, the middleware server implementation behaves as an extensible, persistent host in providing support for the distributed environment in dealing with e.g. transaction management, load balancing, seamless accessibility and connectivity between architectural components and heterogeneous systems including enterprise applications and databases. Furthermore, an open implementation, e.g. using the Java RMI technology/XML open standards, aided by a distributed object paradigm, enables component reusability and open interface in achieving e.g. desired system interoperability, integration and extensibility.

The ontology editor enables the construction of ontology as per domain. More importantly, the ontology capturing process is governed by construction rules or mapping implemented using the XML metalanguage standards described earlier. The research utilises appropriate markup elements and qualifiers, i.e. through the construction of DTDs, in order to support generic enterprise model and deduced enterprise model requirements, as well as enabling programmatic interfaces to architectural component, consuming applications, and their services.

The construction rules and captured ontologies are stored in repositories which are necessarily required to support extensibility and connectivity of the database of ontologies.

The ontology processor provides well-formedness and validity checking of captured ontologies against adopted construction rules, prior to allowing global accessibility of the captured ontologies via the ontology translator. As and when required, the ontology translator supports mapping processes between and within ontologies for validation and consistency checking (including ontology mismatches); and between ontologies and format requirements of the consuming applications and their services.

In the research, the consuming applications and their services are perceived as agents and viewpoint/domain-oriented, whose operations are enhanced via semantic transactions and interoperability enabled by the captured ontologies and facilitated by the middleware services described earlier.

Additionally, our research investigates the responsiveness of the middleware support framework to accommodate the requirements of distributed ontology viewpoint services, e.g. the

need for shared ontology in supporting data/knowledge translation and transformation processes.

3.5 Multiagent System

Software agents are used to automate the tasks of participating entities. For such a multiviewpoint system, a multiagent representation is being generated. To enable effective communication of knowledge between the agents, an appropriate shared ontology is utilised to support the inter-agent communication (Jones, 1998). Our research on the accommodation of shared ontology looks into its structural composition and how that can be derived from the assumed ontology viewpoints model. Additionally, the implementation of software agents accommodates the metalanguage representation of the shared ontology. The research is investigating the requirements involved in such metalanguage support in facilitating inter-agent communication, e.g. in comparison to the use of other prominent agent communication languages (ACLs) such as the Knowledge Query and Manipulation Language (KQML) and the ACL of the Foundation for Intelligent and Physical Agents (FIPA) (Singh, 1998).

3.6 Integration

In our research, in order to facilitate integration of the conceptual components of ontology, viewpoints, and agent-middleware based support framework we employ the open published standard of CORBA for system interoperability within a distributed infrastructure, with support for standard services including directory, transactions and security. The CORBA based infrastructure generally provides support for applications implemented in a range of programming languages (e.g. C++, Java, C, and COBOL) and distributed system requirements, such as distribution, location, and networking transparency.

With the availability of Java Virtual Machines (JVM) on environments, such as Microsoft Windows, IBM OS/2, and Apple Macintosh, we utilise Java technology, e.g. Enterprise JavaBeans programming as the means of writing portable and component-based application codes.

The selection of CORBA as the integration infrastructure and provision of standard services, ensures that Java (technology) as well as other application environments, such as Microsoft

Page 12: A Framework for Engineering Enterprise Agility

proprietary Component Object Model (COM), can then be successfully integrated.

The component-based solution is able to accommodate and integrate existing (legacy) as well as new applications and services in achieving desired functionality such as levels of availability, performance, and reliability of the integrated system.

4. DISCUSSIONS

The novelty of our research and the simplicity of the architecture provide a generic framework for a wide range of technological implementations. One emerging area in terms of meeting particularly the needs of an agile enterprise is enterprise application integration (EAI). The central theme of EAI is to achieve effective integration of one system with another, whether new or legacy systems.

The conceptual and architectural components of our research provides a platform to enable an open EAI (OEAI) through the integration of ontology-driven systems implemented by open standards in programmatic and metalanguage support. Such systems are characterised by a number of factors, including: accessibility from an Internet/web based infrastructure; support for ontology-driven enterprise/business processes against the background of constant change of viewpoints and domain-oriented requirements; support for distributed transactions; reusable component implementation and integration; system availability, performance, and reliability; and security service requirements.

Through OEAI, the integration of complex and often disparate systems, i.e. within a distributed and heterogeneous environment, enables enterprises to derive a number of important advantages. These advantages in the context of engineering enterprise agility and hence supporting the capability for an enterprise to be competitive are:

enhancing semantic interoperability between systems, and automation of domain-oriented (e.g. enterprise-critical) processes, while exploiting and harmonising enterprise resources.

extending applications to more customers and product users and improving clientele services (e.g. over a global or network-centric scale) and satisfying their requirements.

elimination of duplication of system services and rationalising engineering and business processes.

design and implementation of a solution that can scale easily to accommodate growth of the enterprise as well as possessing integration capability with other services, thereby increasing enterprise productivity and lowering costs.

5. CONCLUSION

The globalisation of enterprise activities is fuelled by the world-wide wave of the liberalisation of trade, investment and capital flow. This is further aided by the very rapid development of communication and information networks, the fast development of computer based production technologies and structures, and the spread of market-oriented economies, among others. The global economic environment affects all enterprises, whether they be catering to just the domestic markets or to international markets (Prokopenko, 1999). One manifestation of the increasing pace of globalisation is the intensification of competitiveness within and across national boundaries; with competition increasing not only for international and domestic markets of products and services but also in attracting the increasingly mobile investments and capital.

Increasingly, the productivity of enterprises, which are set against the background of complex, distributed and heterogeneous environment, is limited not by labour or capital, but by information (Barbuceanu and Fox, 1994). For example, the enterprise facets of supply, production, assembly, distribution, and end customer need to be sewn together from a system integration perspective, motivated by both the enterprise’s stakeholders and its information systems development.

The achievement of desired semantic interoperability between enterprise systems must necessarily be in parallel with the effort to streamline the physical flow of the enterprise and the integration of its processes. This, in turn provides viewpoint or domain-oriented information and services as well as problem solving methods that are responsive or agile to competitiveness requirements, such as satisfying customer or market demands through the provision of high quality product or services in the shortest time possible. The framework

Page 13: A Framework for Engineering Enterprise Agility

presented in this paper, which involves the notions of ontology, viewpoint, and agent-middleware based environment, provides an integrated perspective for engineering enterprise agility.

6. REFERENCES

Apparao, V., Byrne, S., Champion, M., Isaacs, S., Jacobs, I., Hors, A. L., Nicol, G., Robie, J., Sutor, R., Wilson, C., and Wood, L., (1998), "Document Object Model (DOM) Level 1", URL http://www.w3.org/TR/REC-DOM-Level-1.

Barbuceanu, M. and M. S. Fox (1994). "The Information Agent: An Infrastructure Agent Supporting Collaborative Enterprise Architectures". Proceedings of Third Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, Morgantown, West Virginia, USA.

Bernstein, P. A., (1996), "Middleware: A Model for Distributed System Services", Communications of the ACM, 39: 2, pp. 87-98.

Blàzquez, M., Fernàndez-Lopez, M., Garcia-Pinar, J. M., and Gomez-Pérez, A., (1998), "Building Ontologies at the Knowledge Level using the Ontology Design Environment", Proceedings of Eleventh Workshop on Knowledge Acquisition, Modelling and Management, Banff, Alberta, Canada.

Bosak, J., (1997), "XML, Java, and the Future of the Web", URL http://webreview.com/wr/pub/97/12/19/xml/index.html.

Bray, T., Paoli, J., and Spherberg-McQueen, C. M., (1998), "Extensible Markup Language (XML) 1.0 Specification", URL http://www.w3.org/TR/1998/REC-xml.

Ceponkus, A., and Hoodbhoy, F., (1999), Applied XML: A Toolkit for Programmers, John Wiley & Sons Inc., New York, USA.

Clark, J., (1999), "Associating Style Sheets with XML Documents Version 1.0", URL http://www.w3.org/TR/xml-stylesheet.

Eriksson, H., and Penker, M., (1998), UML Toolkit, John Wiley & Sons Inc., New York, USA.

Fox, M. S., and Gruninger, M., (1998), "Enterprise Modeling", AI Magazine, Fall, pp. 109-120.

Gates, B., (1999). Business @ the Speed of Thought, Penguin Books, UK.

Goldfarb, C. F., (1997), "ISO 8879 TC 2", URL http://www.ornl.gov/sgml/wg4/document/1955.htm.

Gruber, T. R., (1995), "Towards Principles for the Design of Ontologies Used for Knowledge Sharing", International Journal of Human-Computer Studies, 43: 5/6, pp. 907-928.

Guarino, N., (1998), "Formal Ontology and Information Systems", Proceedings of the First International Conference Formal Ontology in Information Systems, Trento, Italy, pp. 3-15.

Hanneghan, M., Merabti, M., and Colquhoun, G., (1996), "The World-Wide Web as a Platform for Supporting Interactive Concurrent Engineering", Advanced Information Systems Engineering - 8th International Conference, CAiSE'96, 1080, Springer-Verlag, Lecture Notes in Computer Science, Heraklion, Crete, Greece, pp. 301-318.

Hanneghan, M., Merabti, M., and Colquhoun, G., (1998), "CONCERT: A Middleware-based Support Environment for Concurrent Engineering", Proceedings of Second International Symposium on Tools and Methods for Concurrent Engineering (TMCE'98), Manchester Metropolitan University, United Kingdom, pp. 446-455.

Hanneghan, M., Merabti, M., and Colquhoun, G., (2000), "A Viewpoint Analysis Reference Model for Concurrent Engineering", Computers In Industry, 41: 1, pp. 35-49.

Jain, A. K., Aparichio IV, M., and Singh, M. P., (1999), "Agents for Process Coherence in Virtual Enterprises", Communications of the ACM, 42: 3, pp. 62-69.

Jones, D. M., (1998), "Developing Shared Ontologies in Multi-agent Systems", ECAI'98 Workshop on Intelligent Information Integration, Brighton, United Kingdom.

King, P., and Tester, J., (1999), "The Landscape of Persuasive Technologies", Communications of the ACM, 42: 5, pp. 31-38.

Kotonya, G., and Sommerville, I., (1996), "Requirements Engineering with Viewpoints", Software Engineering Journal, 11: 1, pp. 5-18.

Lassila, O., and Swick, R. R., (1999), "Resource Description Framework (RDF) Model

Page 14: A Framework for Engineering Enterprise Agility

and Syntax Specification", URL http://www.w3.org/TR/REC-rdf-syntax/.

Laufmann, S. C., (1997), "Towards Agent-based Software Engineering for Information-dependent Enterprise Applications", IEE Proceedings Software Engineering, 144: 1, pp. 38-50.

Mace, S., Flohr, U., Dobson, R., and Graham, T., (1998), "Weaving a Better Web", BYTE, 23: 3, pp. 58-68.

Maffeis, S., and Schmidt, D. C., (1997), "Constructing Reliable Distributed Communication Systems with CORBA", IEEE Communications, 35: 2, pp. 56-60.

Mannion, M., Keepence, B., and Harper, D., (1998), "Using Viewpoints to Define Domain Requirements", IEEE Software, 1/2, pp. 95-102.

McFall, C., (1998), "An Object Infrastructure for Internet Middleware", IEEE Internet Computing, 3/4, pp. 46-51.

Merabti, M., Hanneghan, H., and Mokhtar, A., (1999), "Towards a Framework for Enterprise Integration", Proceedings of Second Workshop on European Scientific and Industrial Collaboration WESIC '99, Newport, South Wales, United Kingdom, pp. 95-102.

Meyer, B., and Mingins, C., (1999), "Component-Based Development: From Buzz to Spark", IEEE Computer, 32: 7, pp. 35-37.

Nagel, R. N., and Dove, R., (1991), "Twenty-First Century Manufacturing Enterprise Strategy: An Industry-led View", Technical Report, Iacocca Institute, Lehigh University, Pennsylvania, USA.

Prokopenko, J., (1999), "Globalisation, Alliances and Networking: A Strategy for Competitiveness and Productivity", URL http://www.ilo.org/public/english/65entrep/papers/emd21.htm.

Ryan, T. W., (1997). Distributed Object Technology: Concepts & Applications, Prentice Hall PTR, Upper Saddle River, New Jersey, USA.

Schlenoff, C., Ivester, R., and Knutilla, A., (1998), "A Robust Process Ontology for Manufacturing Systems Integration", URL http://www.ontology.org/main/papers/psl.html.

Siegel, J., (1998), "OMG Overview: CORBA and the OMA in Enterprise Computing", Communications of the ACM, 41: 10, pp. 37-43.

Singh, M. P., (1998), "Agent Communication Languages: Rethinking the Principles", IEEE Computer, 31: 12, pp. 40-47.

Singhal, S., and Nguyen, B., (1998), "The Java Factor", Communications of the ACM, 41: 6, pp. 34-37.

Smith, H., and Poulter, K., (1999), "Share the Ontology in XML-based Trading Architectures", Communications of the ACM, 42: 3, pp. 110-111.

Sommerville, I., (1995). Software Engineering, 5th edition, Addison-Wesley, New York, USA.

Sommerville, I., Sawyer, P., and Viller, S., (1998), "Viewpoints for Requirements Elicitation: A Practical Approach", Proceedings of IEEE International Conference on Requirements Engineering, IEEE Press, Colorado Springs, USA.

Uschold, M., and Gruninger, M., (1996), "Ontologies: Principles, Methods and Applications", Knowledge Engineering Review, 11: 2, pp. 93-136.

Uschold, M., King, M., Morales, S., and Zorgios, Y., (1997), "The Enterprise Ontology", Knowledge Engineering Review, 13, pp. 71-88.

Vinoski, S., (1997), "CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments", IEEE Communications, 35: 2, pp. 46-55.

Visser, P. R. S., Jones, D. M., Bench-Capon, T. J. M., and Shave, M. J. R., (1998), "Assessing Heterogeneity by Classifying Ontology Mismatches", Proceedings of the First International Conference Formal Ontology in Information Systems, Trenco, Italy, pp. 148-162.

Waters, J. K., (1998), "Java in the Middle", Strategic Platforms The Journal of Advanced Software Engineering, Fall, pp. 10-19.

Wong, D., Paciorek, N., and Moore, D., (1999), "Java-based Mobile Agents", Communications of the ACM, 42: 3, pp. 92-102.