REQUIREMENTS AND TECHNOLOGY INTEGRATION FOR IT-BASED BUSINESS-ORIENTED FRAMEWORKS IN BUILDING AND CONSTRUCTION

RECEIVED: June 1999
REVISED: November 1999
PUBLISHED: December 1999 at http://itcon.org/1999/4/
EDITOR: Z. Turk

Alain Zarli
Centre Scientifique et Technique du Bâtiment, Sophia Antipolis cedex, France
email: zarli@cstb.fr

Olivier Richaud
Centre Scientifique et Technique du Bâtiment, Sophia Antipolis cedex, France
email: richaud@cstb.fr

SUMMARY: Key challenges nowadays facing industry are increased competition, increased complexity and wider market reach, and in such a context, the information infrastructure of an enterprise determines its strengths and weaknesses. As a consequence, this infrastructure has become vital to enterprise competitiveness, though the diversity of enterprise databases and the heterogeneity of strategic applications are still a barrier to industrial exploitation of the opportunities offered by this infrastructure. Modern enterprise information systems must interoperate in Inter/Intranets and with the WEB in a quite interactive, reliable and secure way, and have to be flexible enough in order to quickly adapt to today's fast moving business environment. This paper first gives a synthesised investigation of the requirements for a standardised open infrastructure, relying on now available distributed objects systems, and integrating in a flexible way the enterprise business model through the emerging concept of Business Objects (BOs), that allows systems designers to put the stress on the business they model and no more the data they exploit. It then focuses on a specific part of the work undertaken in the context of the Esprit project, relying on the OMG Business Object Component Architecture (BOCA) proposed by the BODTF. This was finally not accepted by the OMG board. Nevertheless, at the time we started our work, this proposition was the only one meeting requirements for distributed business objects, and especially the Component Description Language (CDL) and its concepts: a short presentation is given of a CDL compiler that produces IDL, according to the BODTF recommendations for CORBA-based implementations, and Java code, on the basis of a framework we developed. The originality of this approach resides in the fact that it takes into account most of the needs when developing BOs and gives an automated implementation whenever possible. Hence, we automated the generation of factories, event typed dispatching, and relationship handling. This approach lets the BO developers concentrate on the business and relies on improved solution backed by design patterns. This research is regarded as a solid foundation for designers to set up information systems that are a better fit to business user requirements, and expected to be a major step towards the forecast delivery of WEB-oriented software components for the Building Construction and other sectors as well.

KEYWORDS: distributed client/server architectures, communication middleware, business objects, CORBA, CDL, open and standardised industrial business objects frameworks.

1. INTRODUCTION AND CONTEXT

Corporations are today becoming largely distributed, and deeply founded on networking technology allowing to share and access information in different locations. Meanwhile, computer-based information systems have become the spinal chord of modern enterprises, and new appropriate information tools satisfying fast reactive business requirements and offering a strategic corporate advantage are occurring. However, the so-called Virtual Enterprise (VE), which binds A fragmented and geographically spread set of partners collaborating together, today still needs the elaboration of new powerful frameworks to support business models, concurrent enterprising, access to large corporate data sources and multimedia information management, within Intranets, Extranets and even the Internet. The vital information for the future business of companies must be easily accessed and manipulated in a safe and comprehensive way by multiple actor-oriented applications, thereby satisfying the need for improved customer service, on-time delivery, quality management and project co-ordination.

After an identification of the current major needs and requirements for computer-based support of business processes with a focus on the Building and Construction (B&C) sector, this paper emphasises on the possible use and integration of some new advanced standard based technology for the design and development of standardised, flexible, and upgradable information systems, embodying networking and object-oriented (OO) distributed systems technology that are today recognised as the foundations for concurrent engineering in all sectors, including the construction industry.

Despite the fact that advanced computer technology, including Client/Server and distributed-object computing, and Internet/WEB technology, provides reliable and relevant mechanisms and tools for Product Data Management in the large, companies still deal with intricate and non flexible corporate information systems. Indeed, Information Technologies (IT) imply an increasingly complexity in software architecture, development and use. To mask this complexity, we promote the concept of Business Objects (BO), which are related to software components encapsulating business rules and aiming at providing secure sophisticated access to diverse electronic content and software applications. BOs are defined as components of the information system representing the enterprise business model, and are to be promising enablers to build information systems meeting end users and customers requirements, thus revealing critical to the success of the enterprise. Of course, those BOs are supposed to rely on the so-called N-tier architectures based on transactional distributed objects systems as the CORBA (Mowbray and Zahavi, 1996, Siegel, 1996, Orfali et al, 1996) architecture supported by the Object Management Group OMG ( http://www.omg.org ), leading to some high level glue between clients and enterprise data.

Thus, component-based development is the next step in the evolution of object systems, and a major improvement: uniting all the components needed to run the entire IT system will enable to reach with low fixed costs new categories within the market, making enterprise-level functionality available to the broadest universe of users. An integration of such concepts have been specified in the context of the WONDA project. WONDA delivered the specification of an open framework, based on a scalable tier-less component-oriented architecture and relying on standards, leading to a comprehensive solution for future enterprise information systems, electronic commerce, and electronic publishing. The combination of new concepts such as BOs and technologies based on standards (either de jure ones like official norms, or de facto ones in their large industrial use but still leading to openness), is supposed to open the door for substantially enhanced integration of value-added networks, high level application development, and distributed object middleware. This combination will radically simplify and reduce time for the deployment and management of fashionable distributed applications providing corporations with a competitive advantage, especially on the Internet market.

This paper describes enabling technologies and key components, specified within the WONDA project, that constitute a new-fashioned way of designing and deploying secure and open BO-oriented framework. It is structured as follows: it first tries to give an overview of current industrial trends of the Virtual Enterprise, that is a consequence of a world-wide increased competition and mutation. Technologies issues are then investigated, showing that there is a technology and market gap, especially with respect to secure and improved information systems for the SMEs (Small and Medium sized Enterprises). We then introduce and detail the BOs and components concept, as an enabling technology of industrial importance with respect to user needs and practice. A focus is placed on componentware state-of-the-art, definitions and standardisation tendencies for BOs, integration of BOs in a 3-Tiered architecture, and emerging implemented models as potential candidates for a BO framework. The last part before the conclusion focuses on the presentation of a CDL compiler automatically producing IDL specifications and Java code as well, as specified in WONDA, thus facilitating the elaboration of a BO-based information system for distributed companies.

2. REQUIREMENTS AND TECHNOLOGY GAP

2.1 Virtual Enterprises

Facing an increasing complexity of product development along with an intensifying market competition, the Virtual Enterprise (VE) (Hardwick et al, 1996, Hardwick et al, 1997) appears nowadays as a necessity within nearly all the industrial fields, when even large enterprises are no more be able to design and produce all the different parts of a product, due to time constraints and the lack of some widely required specific expertise inside the enterprise. The necessity for VEs can be illustrated by the results of increased competition, change and complexity: Though often considered as a traditional industry, the construction industry is quite a good example of such a situation. Like many other engineering sectors, the end product of construction is a value-added arrangement of standard component parts, designed and constructed by non co-located teams of separate firms who come together for a specific project. The building must be designed for functionality, safety, longevity, and aesthetics. Designers consult regulatory, best practice, pricing, aesthetics and proprietary product information, and design services. The main difference with other engineered products is that a building is most of the time a unique prototype. The design team comprises up to 7 disciplines: property developers, project managers, civil engineers, architects, surveyors, building services engineers, and contractors. All these factors, among others, participate to the fact there is a crucial demand in construction industry for solutions in the VE enabling to manage software incompatible applications running on heterogeneous platforms and systems, data exchange and interoperability mechanisms between applications managing different types of information with different levels of performance and functionality, together with powerful means of communication between most of the time distant applications. This would lead to more agile manufacturing in an industry characterised especially by a large number of SMEs, with a large group of very small businesses.

2.2 Technology issues

Simply considering the product information modelling and exchange area, the complexity and large scope of the problem has involved numerous industrial actors in establishing new standards for improved communication between applications used by different project partners, in order to get better productivity. This has lead to boot major changes in the last few years in industrial enterprises, especially those devoted to the construction of large-scale engineered products, for example in aerospace, shipbuilding and automotive industrial areas. A typical example is STEP (Björk, 1996, Fowler, 1995, ISO, 1995), a nowadays well-known standard for real world product information modelling and interpretation, data exchange and actor co-operation. STEP (STandard for the Exchange of Product data) is an International Standard for the representation and exchange of product data, developed in ISO TC 184/SC 4 (Industrial data and global manufacturing programming languages). It allows the expression in a uniform and complete way of the whole information required for a product during its life-cycle through the EXPRESS language, together with means for exchanging data physical files through STEP Physical Files and sharing product databases through data and application independent mechanisms (SDAI: Standard Data Access Interface). Another example in the specific construction domain is the Industry Foundation Classes (IFC) (IAI, 1999), a universal model to be a basis for collaborative work in the building industry and consequently to improve communication, productivity, delivery time, cost, and quality throughout the design, construction, operation and maintenance life cycle of buildings. As a leading industry driven initiative in the Architecture, Engineering in Construction (AEC) sector, the International Alliance for Interoperability (IAI), which is a non-profit alliance of the building industry including: architects and engineers, building clients, software vendors, and so on, is pushing the IFC as a de facto standard in Building industry in a very near future.

Thus, the VEs of tomorrow are characterised by decentralisation and numerous location of actors to be networked, project - rather than enterprise, department or even legacy data - centred activities, tighter partnering and connection in Intranet and with suppliers, customers and banks, and complex interdependencies like outsourcing, logistics, cash flow, etc. In order to both simplify and improve co-ordination and relationships between activities, there is an inquiry for software product components that are seamlessly interoperable across many boundaries, and for a framework managing the interoperation of these components across and within different application domains. The enterprise information systems are now focused on arming all the VE actors with the whole information needed to assess the above factors, leading to new requirements for those enterprise information systems, which are:

2.3 The technology gap

With respect to the business and technological issues as previously raised, and especially considering the construction sector where the drive towards VEs is patently characterised by partners who are smaller, more numerous, changeable, distributed, and with heterogeneous data and applications, current technology solutions have one or more of the following characteristics: To enable VEs by providing the ability to transact business processes seamlessly and to capture, access and assess the state of the business/project., industry needs a combination of: As attempting to provide an open, distributed, and secure framework for electronic publishing and commerce and BOs supporting brokerage and construction, the WONDA project aims to satisfy these needs.

3. THE WONDA PROJECT OBJECTIVES

The information infrastructure is recognised as vital to Europe's competitiveness. Yet the diversity of enterprise databases, applications and components is a barrier to industries exploitation of the opportunities offered by this infrastructure. It is particularly difficult for industry's diverse enterprise databases to inter-operate with the WEB with full interactivity, reliability and security, and this is a barrier to the take-up of Enterprise Information Systems (EIS) and e-commerce.

The main aim of WONDA has been to specify an open and secure framework for BOs and electronic publishing and commerce. In this context, BOs are software components which encapsulate business rules and procedures and which can run anywhere on the network. They aim at providing customers with secure and sophisticated access to diverse electronic content and software components. BOs are defined as components in the information system representing the enterprise model and promise to be the building blocks of information systems meeting end users requirements critical to the success of the enterprise.

With respect to the global objectives of WONDA, the following technical characteristics to meet the needs of VEs have been investigated:
 
 
Low Entry Level Scalability Security & Transactional support Open Infrastructure Support for Business Processes Enterprise

 Information

Business Objects * * *
Distribution Middleware * * *
WEB Infrastructure * * *
Modular Security * * *
Database Federation * *
Standards * *
Targeting openness has been one of the main WONDA's differentiating features especially in terms of:

Extensibility can be enabled by schema federation and configurability. Standards can be aligned to World-Wide-Web Consortium ( http://www.w3.org ) and OMG. Scalability can be enabled by an open, modular and configurable framework, which can be viewed as the architectural hub of WONDA. It is called the WebMapper and is an enabler for BOs, electronic publishing and security solutions. These features can be achieved through a symbiosis of: The main components of the infrastructure designed in the WONDA project are depicted in the Section 4.5.6 of this paper.

4. BUSINESS OBJECTS: CONCEPTS AND INTEGRATION IN FLEXIBLE ENTERPRISE INFORMATION SYSTEMS

4.1 Introduction and technology state-of-the-art

Due to the proliferation of the Internet and its standards (HTML, VRML, XML, etc.), the emergence of specifications for distributed object computing and architectures like CORBA from the OMG, or the Microsoft OLE/DCOM model, and large efforts around these middleware technologies like JAVA/RMI and JavaBeans, Active X controls or server-side components, etc., large corporations are on the way to move towards new object-based Inter/Intranet distributed computing architecture since few years, in order to build the next generation of enterprise-wide applications.

But these new architectures will involve various languages, systems and protocols, sometimes of low-level, while the end users expect to deal with high level application objects. Previous developments have been done in the past with respect to the issues and requirements identified herein above. With respect to linking and accessing information as contained in large enterprise databases and world-wide data banks and the WEB, one can mention several attempts like for instance:

Regarding components issues, the WEB has led to lot of developments too. For instance, the WebBots (Information about WebBots can be found at the following URLs: http://www.internetbay.com/bots.htm, http://www.netjammer.com/TRAINING/HPD/engines.htm, http://websupport.net/fpguide/fp97webbots.html ) components are dynamic objects evaluated when saving or browsing WEB pages: they allow the query of WEB servers, the updating of WEB pages each time contents change, the inclusion of other pages or images on a page, and adds full text-searching capability. They also grant the insertion of advanced components through the use of scripts (VB script, Javascript) or Java applets. WebBots embody valuable features, but they only deal with client side interfaces, and make transactions with WEB servers, not enterprise servers. Another open solution are the JavaBeans (Orfali et al, 1998), as they rely on the Java language and platform, supposed to be portable on any hardware and operating systems, but even JavaBeans focus on graphical components and environments for end-user interfaces. Tackling the more general concept of intelligent agents, most of the today agent-based systems are custom architecture or proprietary frameworks with internal models, legacy script languages, connection to legacy databases, leading to less interoperability with other applications, poor integration in large enterprise information systems, and above all, less ability to extend - e.g. by direct integration of other pre-built components not based on the same agent network - and to follow the market evolution, even if some of them are business-oriented. Thus, despite notable advances, software technology still looks for improvements with respect to flexible and reusable components, and for reactive and adaptable corporate information systems. Actually, the enterprise information system is oftentimes a complex and inflexible mix of old fashioned solutions. Technological state-of-the-art does not reveal today systems or frameworks providing at the same time the following features: A new solution coming to help with these issues expanded from OMG with Business Objects and the Business Application Architecture that consists of a specification of a standard framework for business applications. Though the initial OMG standardisation efforts have not been successful in terms of the emergence of a new standard, the main concepts of this work are still valid and fundamental from our point of view. The intention was to promote a standard framework for business application residing on top of CORBA. BOs are the <<glue>> between client applications and enterprise data contained in large data stores. They are expected to facilitate communication, design and modelling between implementers and business domain experts through the sharing of the same concepts. They have to model the real world so that people focus on main characteristics and relationships amongBOs.

BOs are means to give high-level views on enterprise product data, related to various representations both throughout the lifecycle of products and for the various actors involved in the design/development/use of products. They can be associated to software components, and therefore can be assembled into frameworks to support high-level industrial products design and developments. When considering distributed architectures, they are the ultimate solution for the interoperation of business components in heterogeneous user views on product and computer implementation of the product data. Thus, while product data models correspond to a conceptual structural approach of data, the BOs conform to a more functional and process view on information, though relying of course on data structures. BOs are concerned with the definition of methods and operations available for objects, and possible queries on these objects. They equally have to manage information about objects, identifying constraints and relationships according to some process or business context. They can be related to ways of retrieving information like object browsers, query languages, keywords-based technologies, etc..

4.2 Definition and standard

A BO is an abstract representation of a concrete and active thing in a specific business domain in the real world, and uniquely identified by its name in this business domain. A possible definition is given below as stated by the OMG. <<A business object is defined as a representation of a thing active in the business domain, including at least its business name and definition, attributes, behaviour, relationships, rules, policies and constraint. A business object may represent, for example, a person, place, event, business process, or concept. Typical examples of BOs are: employee, product, invoice and payment.>>

Thus, a BO may act as a participant in a business process and try to mimic the way things are. Conceptually, BOs add value over other representation because they give a higher level view and package the main concepts of the business model they represent. Consequently, they ease the realisation of business applications while masking the complexity of the underlying communication and implementation means. Software components of the information system implementing those BOs manage the enterprise business model by encapsulating business rules, thus enabling a greater focus on business logic and application development.

As mentioned in X3H7 and RM-ODP (Kilov and Simmonds, 1997), a business rule consists of a set of things that are meaningful for the depicted business. As stated in X3H7: "A business rule is a proposition about business things, relationships between them and operations applied to them, from the business enterprise viewpoint.>>

The major problem is certainly today the absence of standards for BOs, and thus no consensus with respect to the interfaces to provide for BOs. Standards like STEP or the IFC normalise product data entities at an appropriate level for data exchange and sharing, but not for interoperable product components, nor they specify a framework supporting component interoperability. In that context, current efforts, as undertaken in the OMG or by Sun with the EJB: (section 4.4.1) are of primary importance, both for the standardisation of Common BOs (CBOs) and domain specific BOs as well. These standards have to focus on the interfaces of the Application Programming Interface (API) which define the communication layer, whilst the communication mechanisms ensuring transactional behaviour will be implemented by a tier middleware. The choice for OMG is naturally CORBA, with its services (OMG, 1995a).

In response to an initial Request For Proposal (RFP) issued by the OMG for Common Business Objects and Business Object Facility (OMG Document CF/96-01-04), the Combined Business Object Facility Proposal introduced a general architecture for providing a coherent and standardised solution for BOs. Elements that are part of this solution are:

As a consequence, BOs expressed through CDL are CORBA objects. Thus, the BOA is built firmly upon the Object Management Architecture (OMA), because all BOs must be network accessible through an Object Request Broker (ORB). A CORBA reference will uniquely refer to a BO. Nevertheless, CDL simply express the BOs' semantics and interfaces. In order to represent an entity or a process in a specific business domain, and on the base of an underlying object technology, a BO is a set of:

4.3 Integration of BOs in Three-Tiered infrastructures

In order to take plentiful advantages of them, BOs are to be considered in the context of a full distributed architecture based on middleware technology i.e. on a software bus in charge of communication between objects, like an ORB or a DCOM bus. Indeed, BOs must support distribution to be easily integrated in client/server architectures, and they promote the nowadays well-known 3-tier architecture. They aim at being distributed on remote sites for specific use and event, while at the same time being accessible in a seamless and transparent way. They constitute the fundamental bricks of the <<business-centred>> middle tier of today emerging architectures.
 
 


Figure 1: The general 3-Tier architecture.

For each main tier of this infrastructure, the following comments can be made:

A flexible and evolving architecture must integrate models and rules so as to control treatments on engineering knowledge, both at level of managing and massaging the information and at offering various views and interfaces to client applications and end-users. This role is indeed devoted to the central tier component, acting as a specific applications server for fundamental services encapsulating objects and views with their procedures and rules in business objects as a modelling of the business enterprise.

4.4 Existing implemented model for BOs

The emerging technologies presented hereinafter can be considered as implemented solutions of a model and application architecture for BOs. Nevertheless, it is worth noticing that these developments have been undertaken regardless specific standardisation efforts of the OMG with respect to Business Objects Facility and Business Application Architecture. They are proprietary SUN (Enterprise JavaBeans - EJB) and Microsoft (Active X components) solutions to deal with business oriented framework and components. As based on Java, the Enterprise Java Beans, however, can be considered, at least at the moment, as the most open framework. Moreover, BOs are supposed to rely on distributing computing: the most currently achieved specification is the OMG CORBA (OMG, 1995b), but even other distributed-object systems, like OLE/DCOM for instance, are candidates to support BOs. In any case, the integration of an ORB-like backbone is a requirement for the real deployment of a BOs application infrastructure, allowing any application on the network to deal with BOs.

4.4.1 Enterprise JavaBeans

Java, including the language itself, the first basic Java libraries and the first Java oriented Integrated Development Environments (IDEs), initially provided only the opportunity to client applications for dynamic WEB user interfaces, with sometimes some ready-to-use simple client-side JavaBeans components. The Java Virtual Machines (JVMs), allowing to execute Java applets, were not designed to support enterprise applications servers, especially because of a lack for essential support of transactions. The on-going definition of the EJP (Enterprise Java Platform) is making the situation evolved.

The EJP can be viewed as a virtual application server specification, defining Java-based portable application servers on top of any OS (Unix-like, 9x/NT, proprietary mainframe OS), thus allowing to build enterprise applications servers independently of the underlying OS layer. The objective of EJP is to standardise the services and API required for object oriented distributed applications based on Java, i.e. transactional services, objects lifecycle, synchronous or asynchronous objects interoperability, security aspects, and so on. In a similar way JavaBeans describe an API for reusable graphical object components, which does not meet large enterprise systems requirements, EJP includes the Enterprise Java Beans (EJB) (Sun Microsystems, 1998), (Orfali et al, 1998), specified by Sun, in order to provide a component architecture for development and deployment of distributed, enterprise wide objects. Applications written using EJB should be deployed on all Java-enabled server systems.

The EJB model aims at offering distributed scalable, transactional and reusable components, and any Java enabled platform may run these components, provided they use a corresponding EJB component enabler. EJBs extend the JavaBeans component model to the server side, and aim at accommodating components for large transaction-oriented applications, tying legacy data to Intra/Internet clients, under the control of the business logic coded in the EJB on a middle tier. Thus, an EJB provider is an expert in a business domain and develops specialised components. Typically, he will distribute his product which implements specific and standardised tasks related to a well-known business domain.


Figure 2: General architecture for an EJB platform.

It is worth noticing that, in its third release of CORBA (currently 3.0), due by the end of 1999, the OMG plans to incorporate the Java Beans model in order to deliver CORBA Beans. This will both enable rapid development of CORBA objects and integration using graphical tools. Moreover, CORBA objects may be easily and seamlessly combined with Microsoft's Active X components. With the emergence of EJB, a plentiful market for ready-to-use JavaBeans components for client and servers can now be deeply envisaged. In a very synthetic way, the major positive points for EJBs are:

On the other hand, the current main shortcomings are the following:

4.4.2 Active X components

Besides de facto standards as those promulgated by the OMG or specific efforts of SUN/Javasoft for promoting Java and RMI, Microsoft (COM Home, 1998) is developing more proprietary solutions in the field of distributed architectures. Solutions as offered by Microsoft have similar characteristics than other distributed architectures, but initially don't provide platform independence. However, this is less and less the case, as a lot of efforts for porting Microsoft developments on other platform/OS are underway: especially the COM/DCOM model aims at running on multiple platforms, including its original Windows system as well as various implementations of Unix-based environments.

Windows DNA is a unified approach for building distributed, scalable, multi-tier applications that can be delivered over any network. Windows DNA is the first application architecture to integrate the Internet, client/server, and PC models of computing for a new class of distributed computing solutions.

OLE (Object Linking and Embedding) is a set of libraries and applications for storage, data exchange and integration of elements within compound documents. COM (the Component Object Model) is the Microsoft component software model and underlying software architecture for applications to be built from binary software components, leading to higher-level software services like those provided by OLE for various aspects of commonly needed system functionality, including compound documents, custom controls, data transfer, and so on. The COM specification contains the standard APIs supported by the COM library, the standard suites of interfaces supported or used by software written in a COM environment, along with the network protocols used by DCOM in support of distributed computing.

DCOM (Distributed Component Object Model) complements COM and OLE as being a model allowing to get benefits from a component-based approach across a broader scale of multi-user applications in a distributed component architecture. It is mainly a protocol enabling software components to communicate directly with each other across networks, including the Internet and intranets, the various objects involved being associated to different processes on remote machines. DCOM introduces to new interfaces and APIs for distributed objects. This specification is still evolving, and thus subject to change.

Eventually, what is called Active X is an extension of OLE/COM for the specific context of the WEB and the Internet. It is the Microsoft infrastructure for WEB-centric communication between clients and servers of distributed objects, and the integration of objects within WEB pages for Internet and Intranet applications. Indeed, Active X is a set of integration technologies for distributed client/server applications, dealing both with client and server sides and including:


Figure 3: General framework for COM/Active X components.

All these features make the Active X technology a potential answer as a component-based framework for Internet and Intranet business applications, at least from an end user point of view. Of course, CORBA can be identified as a more general specification than DCOM, and in a similar way, the EJBs can be viewed as a more general transaction-oriented platform specification than Active X. Anyway, Active X offers the advantage of being practically well integrated and performing, and is available today, while EJBs implementations are still emerging, and interoperability between EJBs coming from various vendors still have to be proved. Moreover, it is the intention of Microsoft to keep on integrating the various aspects of COM and DCOM, and its services inside the Operating System, leading to a future integration of the COM objects model and the Internet-oriented distribution model in order to unify the access to any kind of document anywhere that is, for local files as well as remote WEB documents. On the other hand, issues related to standardisation aspects for components and executable specification languages for components are not grasped in the DCOM/Active X universe. Moreover, and this is also the case for EJBs, both sides are seen as an easier way to create distributed transaction-based applications, but both are still in the early stages of development.

4.5 BOs in the WONDA specification

4.5.1 Introduction

As already stated, BOs are distributed (CORBA) objects. But whereas CORBA provides distributed objects with a rich framework, a more elaborated framework to support BOs is required, to manage the business logic and processes as well. In order to effectively, unambiguously and rapidly define BOs, the WONDA specification especially built upon CDL for a textual computer-oriented definition of BOs. From that CDL specification, both IDL specifications and Java code are generated.

The choice of Java and CORBA is to be explained through their attractive features. They offer a quite interesting complementarity. Java provides portability of code and platform independence. With CORBA, you add location transparency and an enterprise level object model that allows your application to inter-operate with a multitude of existing languages and integrated or legacy systems. From a technological point of view, CORBA is a general infrastructure specification for applications interoperability, based on OO technology, and allowing heterogeneous clients and servers connected by a network to live as individual entities able to access to the information they need in a seamless transparent way. It includes a middleware that lets technical objects and business components find each other in a network environment and invoke their respective services regardless of the underlying platforms or languages on which the applications are running. It also ensures ORB's interoperability through the Internet Inter-ORB Protocol (IIOP) protocol. From a business-oriented point of view, the CORBA standard is getting more and more acceptance within a lot of industries, now appearing as a potential solution for production of business environments. There are several reasons for this driving force promoting CORBA: its complementary with Internet/WEB technology and its association with Java, and the need for component-based interoperability relying on middleware technology and standard communication mechanisms between applications, arising as true solutions to build cross-platform component-based applications to be deployed over the WEB.

We hereafter detail concepts related to BOs together with an example, and then how they are related to a CORBA framework.

4.5.2 Business Objects kinds and modelling

The OMG Business Object Domain Task Force (BODTF) (BODTF, 1998) identifies several types of BOs: A business system domain is a set of business entities, processes and events, and to federate BOs that apply to a particular business domain, the business system domain stands for the smallest solution that allow for maintaining the business rules. Especially, this notion is meaningful when trying to interconnect different businesses, by connecting business system domains using semantics adapters. To describe the BOs of a given business domain, CDL can be used so as to write down in a textual form BOs specifications in an OO manner. An analogy can be drawn with IDL, and CDL can be considered as a superset of IDL, dedicated to producing BOs specifications, keeping in mind that BOs are in essence distributed objects. CDL definitely captures the semantics expressed with BOs and enable to model attributes, operations, business rules, events and bi-directional relationships. CDL should be compiled, according to the BODTF vision, to IDL interfaces to be further integrated in a CORBA framework. Moreover, those interfaces are implemented according to a given target framework as presented in the next section, and code can be automatically generated to free the developer from low-level and repetitive tasks.

4.5.3 Business Object Framework

The objective of a Business Object Framework (BOF) in (Eeles and Sims, 1998) and (Orfali et al, 1998) is to offer a full environment for developing and deploying BOs. Hence, a BOF must support BOs as plug-and-play components, ensure interoperability between them and shield developers from developing complex components. Moreover, a BOF can be implemented on top of CORBA and cope with:

1) Business objects' naming: BOs must be named in order to be retrieved and their reference accessed through the use of such a unique name in the considered business system domain. Such a service can be supplied by the CORBA Naming Service (OMG, 1995a).

2) Life cycle management: The BOF is responsible for managing the creation, deletion, activation and deactivation of BOs at runtime. A BO is created and deleted once in its lifetime, so the BOF must ensure that this rule of thumb is enforced. A BO may be activated and deactivated several times because the BOF has to efficiently manage its resources. When a BO is activated, it must acquire its state from persistent storage and vice versa, when deactivated, it must dump its state into persistent storage. Concerning life cycle management, BOs could rely on the CORBA Life Cycle service (OMG, 1995a).

3) Persistency management: Persistency addresses the need to access enterprise data (i.e. stored into legacy systems). This must be achieved in a safe manner that frees the BOs developers from most of the task.

4) Event notification: Clients need to be aware of changes in the BOs internal states because they maintain, for instance, graphical views. An event service (OMG, 1998a), based on the publish/subscribe pattern is a flexible and scalable architecture that allows clients to be asynchronously notified of changes and to receive meaningful information. Moreover, filtering features are added to sort out events that are meaningful.

5) Transaction management and concurrency control: Since BOs can be shared by different users that perform actions at any time in a distributed environment, the BOF must offer a way to serialise methods calls by handling distributed transactions. Still in the CORBA world, we can point out OTS (OMG, 1998b) designed to respond to that issue. Distributed transactions raise the question of whether a specified BO should be recoverable or not. Non Recoverable BOs (i.e. that cannot roll back, sometimes called stateless BOs) must be found among business processes whereas business entities should be recoverable since rolling back a transaction must leave the system in the previous state.
 
 

Figure 4: The WONDA framework for BOs.
 

4.5.4 From CDL to CORBA business objects

Starting from a typical development design process with a CDL textual specification, an objective then is to automate as much as possible the work involved in creating and deploying software component-based applications, wrapping existing systems and data for presentation as components, in order to let BO developers concentrate on the business rules. CDL specifications can be processed in order to produce: It is however worth mentioning that BOs implementation can be investigated against other new emerging models, especially the future multi-language CORBA component model, also referred to as CORBA Beans, supposed to encompass the EJB model and aiming to tightly integrate Java, EJB, and CORBA so that applications and objects can be used across more than EJB servers. Indeed, the CORBA model grants standard services layer for EJB to go against, and the complementary of these two models seem to be a true potential basis for future large-scale component-based business applications. Side Bar: A simple CDL example: The following entity represents a contractor related to zero or more other contractors considered as subcontractors.

entity Contractor {
    relationship subcontractors Many 0..* Contractor inverse      contractor;
};

The process specified below represents the task of choosing a subcontractor among a list of possible contractors.

process HireContractor {
    relationship contractor Reference 1..1 Contractor;
    relationship possible_contractors Uses 1..* Contractor;

    void evaluate_propositions();
};

The following process deals with constructing a new building that can be on hold, being constructed or released to the new owner. Two signals start the two associated transition rules that make the state evolve.

process StartBuilding {
    state_set achievement { ON_HOLD, BUILDING, RELEASED };

    signal start_building();
    signal release_building();

    apply StateTransitionRule when_started {
        source = achievement::ON_HOLD;
        target = achievement::BUILDING;
        trigger = start_building;
    };

    apply StateTransitionRule when_built {
        source = achievement::BUILDING;
        target = achievement::RELEASED;
        trigger = release_building();
    };
};

The first step is to compile the CDL code to IDL by mapping CDL features and kinds of BOs:

The next side bar gives some hints according to the previous explanations. Side Bar: A simple CDL example (continued) The Contractor entity is mapped to the following IDL interfaces. First of all, the Contractor entity is mapped to an IDL interface with the same name that inherits from the WondaMetamodel::Entity which is the super type for all entities. By this way, the framework is automatically aware that this BO must be considered as an entity, especially when dealing with transaction at runtime. The bi-directional relationship labelled subcontractors is mapped to the 3 operations that are embodied into that interface. The first one enables to obtain an iterator for navigating the relationship from the beginning. This operation is defined only if the relationship is navigable. The two following operations are generated if the relationship is not read only, and allow to insert and remove BOs from the relationship. The developer does not have to implement theses methods since the framework can produce implementation classes in a language that supports a binding to IDL.

One can notice that there is also an additional support interface. This interface represents an iterator that can be produced by any relationship that is typed by a Contractor type. The first method returns the business that carries the relationship to which this iterator is related. The two following methods are accessors that help to obtain (for the first one, the second is a restriction) at most count Contractor entities. The get_by_key operation allows to retrieve in the relationship the BO that holds a key equal to the one being passed. The copy and destroy methods are life cycle management operations. It is obvious that the implementation of the interface can be automatically generated by the framework so that the developer can directly use instances to traverse relationships.
 

typedef sequence<Contractor> ContractorSeq;
interface Contractor : WondaMetamodel::Entity {
    ContractorIter get_subcontractors();
    void insert_in_subcontractors(in Contractor o);
    void remove_from_contractors(in Contractor o);
};
interface ContractorIter {
    Contractor get_origin();
    boolean next_n(out ContractorSeq values, in long count);
    boolean next_one(out Contractor c);
    Contractor get_by_key(in WondaMetamodel::Key key);
    ContractorIter copy();
    void destroy();
};


The process HireContractor is generated the same way as Contractor entity, except that it has one operation mapped to a standard IDL operation and it inherits from the interface WondaMetamodel::Process.

The process StartBuilding is very different from the two previous business entities. A nested enum is generated for the values that can take the achievement state. For that state, since it is not read only, two methods are generated (for setting and getting). Signals are mapped to standard operations, but with our framework no implementation is required since we can deduce that when a signal method is called we must check the state's value and accomplish a state transition if needed. Nevertheless, this is only achieved by producing some additional code in a language that support IDL mapping (C++ and Java are well-suited).
 

interface StartBuilding : WondaMetamodel::Process {
    enum achievement_kind { ON_HOLD, BUILDING, RELEASED };
    void set_achievement(in achievement_kind a);
    achievement_kind get_achievement();
    void start_building();
    void release_buildin();
};

4.5.5 Implementation

In order to rapidly produce BOs from a CDL specification, and besides the generation of IDL interfaces, an object implementation must be provided, which has been done in our developments in providing the generation of a pre-implementation of our BOs, indeed directly implementing them in Java within a BOF. This CDL to Java additional mapping endeavours both the issues of generating Java interfaces, and the real implementation of Java-based BO skeletons. Producing interfaces addresses the notion of relying on well-known interfaces on the client side. With respect to delivering BOs implementations, the issue had been tackled in a similar way the OMG did for CORBA. Hence, we produce our skeletons that connect the developer's implementations to our BOs framework. We do not get into details of this generation, for more information, the reader should refer to (Richaud and Zarli, 2000).

A prototype system has been built in the CIC (Computer Integrated Construction - http://cic.cstb.fr/ ) division at CSTB. The CDL compiler has been developed on Windows NT 4 with Visual C++ 6.0. We also developed a CDL model viewer that allows to visualise in a graphical manner any CDL specification and to graphically ask IDL or Java code generation. For now on, this is the only platform on which we support developments. The underlying Java/CORBA framework is the one supplied with the JDK 1.2. It comprises an IDL to Java compiler and an implementation of the Naming Service.

4.5.6 Integration of BOs: the main components of the WONDA specification

As shown in Fig. 5, WONDA specified a 3-Tier architecture based on a set of existing and emerging international de jure or industrial de facto standards. Building upon standards further enables easy integration into existing enterprise IT environments based on these standards. The three WONDA layers are identified as follows: A last specific WONDA feature is the introduction of security components for data protection and confidentiality levels configuration, so that applications can be securely linked, thus enabling WONDA to be exploited for real industrial and commercial applications. This is achieved through a set of components, named SILK, to be integrated at the client side, the BOs layer, and as a firewall component with the filtering of IIOP requests.


Figure 5: the WONDA global architecture.

In WONDA, a special focus has been put on end users manipulation and visualisation of BOs, through Media Objects (MO). While BOs manage the business process logic, MOs deal with the presentation logic. Typically, BOs can be associated with graphical views or be accessed by simple client/server solutions that serve as a front-end. BOs/MOs interactions can be realised through notifications from BOs to (COMMOTION) MOs achieved throughout a publish/subscribe technology loosely coupling MOs and BOs. Particularly, such a mechanism can rely on the CORBA event service, as a critical service for applications intended to automate a complete business process, letting CORBA objects dynamically register their interest in specific events. The WebMapper is then in charge of mapping BO interfaces and multimedia content to WEB interfaces with the help of MOs, through access to BOs with well-known (IDL) interfaces and their multi-modal GUI-oriented representations. Since data are <<conceptually>> embodied within BOs, both the BOs layer and the WebMapper form the bridge between user interfaces and enterprise data. Eventually, the WebMapper allows for BOs and generic front-ends to be designed, implemented and deployed separately, thus inter-operating in a flexible, configurable and seamless way. For extended details about BOs/MOs connection, and more generally about the various components exhibited herein above, the reader should refer to the WONDA WEB site ( http://www.bild.ie/wonda ). WONDA User Requirements and a <<System Analysis>> document, showing functionality of BOs, are accessible as well.

Hence, WONDA focused on a framework for business solutions and open interchangeable software tools, specifying an infrastructure fully dedicated to the WEB interconnection, and based on major standards. Along with uniform access to any databases, the objective is to extend the openness of such platform towards WEB standards and applications via the WebMapper for information presentation and query, and at a generic level in terms of standardised models for presentation and not from an tool-oriented point of view. Thanks to an implementation of a infrastructure as specified in WONDA, coupling of WEB data with internal corporate information memory including data managed by Intranet applications will become possible, along with the development of sector specific software for Internet servers and browsers with a component based technology.

5. CONCLUSION

This paper tried to identify a set of requirements and suggested a possible technology integration for IT-based Business-oriented frameworks, targeting the specific Construction sector, though most of the technologies considered and developments presented above are quite generic. Our work has been undertaken in the context of the WONDA project, whose main objectives was to develop an architecture specification meeting requirements typical of the construction industry, i.e. IT solutions for VEs delivering low entry level, scalability, open infrastructure and location independent access, seamless enterprise information, transparent support for business processes, security and transactions.

As presented in this paper, the central enabling technology is BOs, which are defined as components in the information system representing the enterprise model and which promise to be the building blocks of information systems meeting requirements critical to the success of the enterprise. BOs are dedicated to rapidly coping with business changes and making them appear in the involved information systems. This objective is not correctly addressed through the current common concept of application, since it is obviously difficult to mix applications to obtain a new application that is the sum of those applications. Moreover, modifications cannot be carried out at a high conceptual level: this is especially true if the source code is not available and/or if those applications are bought from different vendors. Furthermore, whether or not source code is available, traditional applications are hard to maintain. Even if distributed objects have been a major evolution towards interoperability and remote access, they don't address all the integration issues. The future consists of distributed objects that are easy to integrate, and can be viewed as distributed BOs in the sense of the OMG approach.

The main hypothesis in our work is that BOs address the notion of distribution because they are network accessible through an ORB as found in CORBA. Furthermore, BOs are design time as well as runtime artifacts because they are described using OO modelling tools and because they are <<distributable>> components as long as there exists a BOF managing BO instances. One of the main advantages with such a framework is that developers are exposed to a higher level API than the one supplied by CORBA. Hence, BOs encapsulate the storage (i.e. access to persistent data and how to manipulate them in a safe way with a high level interface), metadata (i.e. the ability to describe itself), concurrency and transaction (i.e. the ways to safely interact with BOs when clients, for instance, perform asynchronous operations that makes the BOs internal state change). As designed in the WONDA project (and reflected by this paper), the strengths of BOs for information systems design and implementation support can be summarised as follows:

From a more user oriented point of view, BO can manage quite different end user views, but also realising the links between information related to engineering product data, financial data, process and workflow oriented information, and so on. At the same time, they are quite masking the internal representation of the various stored information, and encapsulating the rules and relationships/associations associated to the BOs. Considering the construction sector, and just as a building is a unique arrangement of standard products, a project is a unique arrangement of financial, logistic and technical product data, and the role of the BOs is to translate it in a Business model.

Experimentation is now underway to model business applications, so as to access distribution services and package other services through BOs, in order to get tangible and physical proof of the original hypothesis, and its relevance regarding business practices in the construction field. The WONDA project itself endeavoured the vision of a standardised open WEB-oriented framework for information access and electronic publishing and commerce for the Building Construction. The combination of new concepts and technologies based on standards, either de jure ones like official norms, or de facto ones in their large industrial use but still leading to openness, is supposed to open the door for substantially enhanced integration of value-added networks, high level application development, and distributed object systems. This combination will radically simplify and reduce time for the development, deployment and management of distributed applications providing corporations with a competitive advantage, especially on the Internet market, and moreover will be the foundations of intelligent systems for a business which requires decision-making, adaptive or learning systems, data-mining, etc.. At the end of the day, it will enable businesses to profit and expand by harnessing the capabilities and promise of truly global electronic commerce.

6. ACKNOWLEDGEMENTS

The authors wish to acknowledge the financial support of the European Commission in the context of the EP 25.741 project WONDA, as well as the participation of their partners, SNI/C-Lab, TU Delft and Dassault Electronique, in the elaboration of the whole WONDA framework.

7. REFERENCES

Björk, B.-C. (1996) . Requirements and information structures for building product data models, Espoo Technical Research Centre of Finland (VTT), 1995, VTT Publications Ndeg. 245.

BODTF (1998) . The Business Object Component Architecture, Revision 1.1, Business Object Domain Task Force, OMG Document 1998: bom/98-01-07

COM Home (1998) , COM: Delivering on the Promises of Component Technology, http://www.microsoft.com/com/comintro.htm

Eeles, P., Sims, O. (1998) . <<Building Business Objects>>, Wiley Computer Publishing,1998.

Fowler, (1995) . STEP for Data Management, Exchange and Sharing. Technology Appraisals 1995.

Hardwick, M., Spooner, D.L., Rando, T., Morris, K.C. (1996) . Sharing Manufacturing Information in Virtual Enterprise, Communications of the ACM, February 96, Vol 39 Ndeg.2.

Hardwick, M., Spooner, D.L., Rando, T., Morris, K.C. (1997) . Data Protocols for the Industrial Virtual Enterprise, 1997.

IAI (1999) . International Alliance of Interoperability (1999). http://iaiweb.lbl.gov

ISO (1995) . Industrial automation systems and integration - Product data representation and exchange Part 22. Standard Data Access Interface. 1995.

Kilov, H., Simmonds, I. (1997) . Business rules: from business specification to design, ECCOP'97 Workshop on Precise Semantics for OO Modelling Techniques

Mowbray, T. J., Zahavi, R. (1996) . The Essential CORBA - System Integration Using Distributed Objects. John Wiley and Sons.

OMG (1995a) . CORBA Services: Common Objects Services Specification, Revised Edition, 95-3-31 ed, Object Management Group, March 1995.

OMG (1995b) . The Common Object Request Broker Architecture and Specification (CORBA) Revision 2.0, Object Management Group, July 95. http://www.omg.org.

OMG (1998a) . CORBA Event Service Specification, Object Management Group, 1998. http://www.omg.org/corba/sectrans.htm#event

OMG (1998b) . CORBA Transaction Service Specification, Object Management Group, 1998. http://www.omg.org/corba/sectrans.htm#trans

Orfali R., Harkey, D. (1998) . Client/Server Programming with Java and Corba, John Wiley and Sons.

Orfali, R., Harkey, D., Edward, J. (1996) . The Essential Distributed Objects Survival Guide, John Wiley and Sons.

Richaud, O., Zarli, A. (2000) . Developing a Framework for CORBA components, submitted to the 14th European Conference on Object-Oriented Programming - ECOOP 2000, 15 pages.

Siegel, J. (1996) . CORBA Fundamentals and Programming, John Wiley and Sons, April 96.

Sun Microsystems (1998) . Enterprise Java Beans, http://java.sun.com/products/ejb/