29
Project: BETADE (Building blocks for Effective Telematics Application Development and Evaluation); Metamodelling and Component-Based Development Integrated Component-Based Framework for Effective and Flexible Telematics Application Development Z. Stojanovic, A.N.W. Dahanayake, H.G. Sol - Technical Report, Delft University of Teechnology - ISBN: 90-76412-13-8 Delft, November 2000

Flexible Telematics Application Development Summary

  • Upload
    rug

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Project: BETADE (Building blocks for Effective Telematics Application Development and Evaluation);

Metamodelling and Component-Based Development

Integrated Component-Based Framework for Effective and Flexible Telematics Application

Development

Z. Stojanovic, A.N.W. Dahanayake, H.G. Sol

- Technical Report, Delft University of Teechnology -

ISBN: 90-76412-13-8

Delft, November 2000

1

Integrated Component-Based Framework for Effective and Flexible Telematics Application Development

Z. Stojanovic1, A.N.W. Dahanayake1, H.G. Sol2

1Faculty of Information Technology and Systems

Department of Information Systems and Software Engineering Delft University of Technology

Zuidplantsoen 4, P.O. Box 356, 2600 AJ Delft, The Netherlands

2Faculty of Technology, Policy and Management Department of Information, Communication and Systems, Systems Engineering Group

Delft University of Technology Jaffalaan 5, 2628 BX Delft, The Netherlands

Delft, November 2000

Summary Information and communication technologies (ICT) are considered today as a factor, which will transform and shape society profoundly in the future, by bringing solutions to a number of societal problems such as the stagnation of economic activities, threats to the environment and the lack of good healthcare and education for large parts of the world’s population. This rapid change and development of technology and organisational business processes result in many benefits but also in some problems and important consequences. The biggest challenge organizations that deploy and use software-intensive systems face today is how to manage the complexity inherent in the systems they are deploying, while at the same time being able to rapidly adapt to changes, without breaking the connection with previous knowledge and experience. This combination of complexity and changes provides the greatest risk to successful system deployment [Brown, 2000]. The answer to these new technology, business and organisational requirements lies in growing interest and popularity in the research community and industry over component-based development (CBD) paradigm [Brown, 1997; Brown and Wallnau, 1998; Szyperski, 1998]. By using CBD approach a system development becomes the selection, reconfiguration, adaptation, assembling and deployment of encapsulated, replaceable, interoperable system elements with clear functions and hidden implementations, rather than building the whole system from scratch [Barroca et al., 2000; Clements et al., 2000]. Standard approach to complex enterprise-scale system development tends to consider business and technology issues and concepts separately, which leads to unsatisfactory results from both viewpoints. Therefore, a new development strategy is required, covering all aspects of large-scale, data-intensive, mission-critical applications in integrated and consistent manner. Such integrated solution should provide a total system specification, from concept to deployment, through business, information, application and technology issues. The main objective of this research is to define an integrated, effective, and flexible approach consolidated in a component-based framework providing comprehensive concepts, models, rules, methods and guidelines as a support for advanced telematics applications development. By using layered approach through the separation of concerns defined by Open Distributed Processing international standard [ISO, 1998] in a combination with advanced concepts and principles of CBD, we intend to provide an integrated, flexible framework-like support for effective development of telematics applications in general, and applications with specific requirements in information type, network infrastructure and quality parameters in particular.

2

1. INTRODUCTION

The last few years have witnessed substantial and widespread interest in the academia and industry over merging (ICT), services and systems. Such intensive ICT development has introduced a term telematics, formed out of the words Telecommunications and Informatics. It implies the growing together of these two research and application areas and represents the organization and cooperation of heterogeneous, data-intensive information systems in specific, wire or wireless network structures [Telematics, 1999]. The subject matter of telematics thus extends over a broad spectrum: from the fundamentals of electronics, telecommunications and information engineering, to the application of these technologies in areas such as the design, implementation, use and evaluation of services at a distance via networks. Over the last years, the Telematics Applications programme of the European Union Commission [Telematics, 1999] has amply illustrated the value of information and communication tools in providing services which are more user-friendly, reliable, and accessible than ever before. The fast development of Information and Communication infrastructures, resulting in world wide adoption of the Internet, brings a wider choice of services which are more efficient, transparent, responsive, closer to the citizen, and cost less. It, in turn, helps strengthening industrial competitiveness, create new jobs, promote new forms of work-organization, and improve quality of life and the environment. Telematics applications play already now, and will play in the near future an important role in many areas of modern society such as E-commerce and E-business, computer-based tele-training and learning, the patient multimedia medical records, in-car or hand-held navigation and route guidance systems, on-line trading of multimedia, geographical or financial information content, etc. Due to fast ICT development during the last few years, there has been a major shift from centralized mainframe-based applications accessed via terminals over proprietary networks toward distributed, multi-tiered applications remotely accessible from a variety of client machines over intranets and the Internet [Orfali et al., 1996]. In a distributed environment, different processes are assigned to different machines. For example, the client-side of a business may run on one machine, while transaction and application processing occur on another, and database access is assigned to yet another, or even multiple machines. The idea that an application, or business process, can be spread across multiple computing environments has opened up the computing industry and business to a wealth of new possibilities. In that way advanced computer technology is nowadays considered as an integral part of an organisation’s business strategy, significantly impacting the way it performs business services and competes in the market [Brown, 2000]. Computer systems are now at the heart of many safety-critical systems, such as aircraft control, hospital patient monitoring and vehicle navigation systems. The Internet is the ultimate example of a distributed environment. Although once the exclusive domain of academics and government, the Internet is now a mainstream communications network. It has created a new era of “digital economy”. A growing number of people are now using the Internet to conduct routine business via portable computing devices, such as personal computing assistants (PDA’s) and cellular phones. It is now even possible to complete banking transactions using a cellular phone. According to the analysis of the International Data Corporation [IDC, 2000a], the worldwide market for e-Business will reach one trillion dollars by 2003. By the analysis presented in the May 2000 issue of the PC Magazine, 81% of organisations, surveyed in February 2000, were at that moment already implementing or making plans to conduct their business on the Web [PC Magazine, 2000].

3

2. NEW REQUIREMENTS AND SOLUTIONS This rapid change and development of technology and organisational business processes result in many benefits but also in some problems and important consequences. Today, complex distributed business systems are built by a team of more than 100 people over the time of more than a year [Andersen Consulting]. Built from scratch, on top of the network protocols, such systems often have an incompatible, unscaleable and vendor-locked architecture, with a lack of integration and correlation with the previous knowledge and solutions. Built as monolithic solutions such systems are very difficult to test and understand, which results in their low-reliability. Because of the structure, they have very long life-cycle resulting in long project execution time, as well as low level of adaptability to changes, i.e. if one part of the system must be upgraded, that affects the whole system as well [Butler Group]. Such traditional system development approach is very unsatisfactory from the time and money point of view, resulting in non-competitive position on the market of organisations practicing it [Fingar et al., 2000]. Today, organizations that deploy and use software-intensive systems face pressures from many sides in their efforts to improve the way they carry out business activities in order to further improve the productivity and quality of offered services. The biggest challenge they face is how to manage the complexity inherent in the systems they are deploying, while at the same time being able to rapidly adapt to change, without breaking the connection with previous knowledge and experience. This combination of complexity and change provides the greatest risk to successful system deployment [Brown, 2000]. Therefore, the ability to manage complexity and rapidly adapt to change has been widely recognised as a crucial factor in modern business world and become an important differentiator among competing organisations [Brown and Wallnau, 1998]. Therefore, there is a strong need for a solution providing composable, flexible, plug-and-play development helping organizations to easily accommodate constant advances and new achievements in ICT and business field. This solution must allow a change to occur in each part of a system without affecting its other parts, as well as the addition of new parts to the overall function of the system without requiring that large portions of the system be redefined. Such breaking problem into parts will allow organizations used to be involved in a small number of large projects, to be now involved in a larger number of smaller, almost independent projects, carried out in parallel and whose results can be shared and combined in overall solution in many possible ways. The answer to these new technology, business and organisational requirements lies in growing interest and popularity in the research community and industry over component-based development (CBD) paradigm [Brown, 1997; Brown and Wallnau, 1998; Szyperski, 1998]. Many ICT scientific conferences, journals and books are now dedicated to this theme; many companies are now providing specific tool support for CBD approach to system development. A primary role of CBD is dealing with rapidly growing complexity and size of business software systems. CBD provides organisations with a method for building enterprise-scale solutions that are flexible and able to accommodate the ever-changing demands of e-Business and other modern web-enabled systems in a cost-effective, timely manner [Allen and Frost, 1997; Brown, 2000; Eelse and Sims, 1998; Zahavi, 2000]. By [Cheesman and Daniels, 2000] there is a natural fit between components and evolutionary development, i.e. the major role of a component approach is to manage changes better. By using CBD approach a system development becomes the selection, reconfiguration, adaptation, assembling and deployment of encapsulated, replaceable, interoperable system elements with clear functions and hidden implementations, rather than building the whole

4

system from scratch [Barroca et al., 2000; Clements et al., 2000]. CBD is expected to revolutionise the development and maintenance of modern software systems. It results in significant improvements in quality, productivity, performance, reliability and interoperability of a system, and in reducing of development time, time to market, documentation, maintenance and training costs [Herzum and Sims, 2000; Szyperski, 1998]. System development using components reduces development costs through reuse of existing, developed and pretested components. In addition to that, reusing existing components increases productivity, since system development teams don’t have to start building new applications from scratch. Building with components also reduces maintenance costs. Since components are encapsulated, it is possible to make changes to their implementation without affecting all the systems that rely on them. Component approach provides also the solution of re-using organisation’s existing knowledge and investments across a range of its applications. By opening up such legacy applications and turning them into components using various wrappers, these legacy components “wired together” with new components can accommodate a broader range of business process variability and evolution [Brown, 2000]. The main concepts and benefits of the CBD approach are shown in the Figure 1.

Figure 1. Concepts and benefits of the CBD approach. Components can reside anywhere. Through the use of open-industry standards such as eXtensible Markup Language (XML) [W3C, 2000], the Simple Object Access Protocol (SOAP) and the Wireless Application Protocol (WAP), it is possible to place components on servers that make the most business sense. In some cases, the server may reside within an organization. In others, it may be assigned to the external systems of a partner or service provider. The adaptability and flexibility that characterize component-based solutions allow business to break free from traditional monolithic, inflexible systems, which inhibit their ability to aggressively compete. Therefore, the major motivation for using a component approach is to manage changes in business and ICT requirements and environment more effectively in order to improve productivity and quality of services and ensure the stable position on the market [Cheesman and Daniels, 2000; Veryard, 2000]. According to a Gartner Group study [Gartner Group], the market for pre-built components will grow from $1.4 billion in 1997 to more than $8 billion in 2002. Furthermore, by 2003, at least 70 percent of all new applications will be deployed as a combination of pre-assembled and newly created components integrated to form complex business systems. Gartner Group

5

predicts that “through 2004, ICT organizations mature in Component Based Development (CBD) methods and containing a large inventory of business components have the potential to be five to 10 times more productive and responsive than those that do not.” A schematic architecture of modern component-based e-commerce applications is shown in the Figure 2.

Figure 2. Schematic architecture of the component-based e-commerce applications. 3. COMPONENT-BASED DEVELOPMENT Although the entire manufacturing sector is now based on the concept of using interchangeable components to assemble larger objects, this was not always the case. Eli Whitney, the inventor of the cotton gin, introduced the concept of building parts to a predefined specification in the late 18th century. Whitney believed that he could manufacture products faster by using machines to build parts to a certain specification, and then assembling together these parts to create the end product. This idea revolutionized the manufacturing sector. Today, the computing hardware industry is able to produce devices such as PC’s, printers and laptops by the millions each year using tools that build the parts required to assemble these machines according to pre-defined specifications. CBD applies the same manufacturing principle to software. 3.1 The roots of CBD Over the years, the ambition and goal of the Software Engineering community have been to have the ability of fast assembling or building a software system from compatible and cooperating entities or components. This has been largely motivated by similar composable abilities in the companion hardware areas but also in many other industrial fields. Such modular approach to software development should result in shortened time to market and increased productivity as well as in systems of higher quality and lower costs. Software plug-and-play also promises more evolvable systems - a result of the capability to easily replace constituent components.

6

Component-based development approach is rather evolutionary than revolutionary. It has existed in one form or another for a number of years. The idea of constructing modular software system has long been recognized as advantageous within the software community, even dating back to the early days of structure programming with subroutines and libraries serving as "components". During 90’s Object-Oriented (OO) techniques have been considered as a powerful means of solving software crisis through high maintainability and reusability. Some authors state that CBD is a natural extension and evolutionary method of OO paradigm with many similar concepts and characteristics [Orfali et al., 1996; Brown and Wallnau, 1998], but some insist on failure of object technology in solving software reusability problems and new development of the component paradigm [Udell, 1994]. Work by Booch [Booch, 1987] and Meyer [Meyer, 1994] was generally regarded as seminal in the advancement of ideas regarding the fundamental nature of components, particularly with regard to low-level structural properties of the components. Work by Nierstrasz and his group at the University of Berne [Nierstrasz and Dami, 1995] related to component-oriented approach to software composition in open distributed systems, can be considered as important contribution to the later CBD concepts and ideas. Further work extended these early ideas along various dimensions, including the introduction of formal specifications into component frameworks, the development of new paradigms for data movement, and the development of improved design guidelines for what constitutes a good component that is both efficient and independently verifiable. Over the last years component-related research can be also found under various subjects such as module interconnection languages (MILs) [Prieto-Diaz and Neighbors, 1986], module interface specification and analysis [Perry, 1989], megaprogramming [Wiederhold et al., 1992], domain-specific software architectures (DSSAs) [Fischer, 1994], software generators [Batory and Geracy, 1996], object-oriented frameworks and patterns [Gamma et al., 1995; Fayad et al., 1999] and architecture description and configuration languages (ADLs) [Garlan and Perry, 1995]. A common theme to all these research works is a shift of emphasis from developing small centralised monolithic systems to complex systems consisting of programming units deployed over the network. The two key concepts that have emerged are: (i) components as large-grain functional units of systems and (ii) frameworks and patterns as blueprints of the system describing its architecture and the way of unit composition. 3.2 CBD definitions There have been many attempts, software-oriented, business-oriented, more technical or conceptual to define the component concept so far. These definitions are indicative of the fact that components may come in different forms and granularity. They also demonstrate that different participants of the component-based development, deployment and maintenance process see components differently, according to the context of considering and their implicit requirements [Herzum and Sims, 2000; Andersen Consulting]. First possible stereotyping of the component concept can be carried out by taking logical and physical perspectives into account. From logical perspective components are a means for modeling real-world concepts in the application (so far mainly business) domain. These components are called Model, Business, or Specification Components. Model Components provide an underlying logical framework for ensuring flexibility, adaptability, maintainability, and reusability. They serve to break down large, complex problems into smaller, coherent elements. They model the real-world concepts that make up the domain or domains, e.g. entities, business processes, roles, transactions, etc. That is, the model components serve as

7

the direct link between the real-world domain(s) and the physical application. From physical perspective components are independent pieces of software, or application building blocks, that implement those real-world concepts. These components are Software, Implementation or Technical Components. They can be further partitioned into smaller, independent pieces of software (possibly to the level of single classes) that provide functionality generally useful across a distributed environment and wide range of applications. In defining the concept of component for specific purpose the most important is to recognize the different perspectives, requirements and needs, and to understand when it is appropriate to use a particular type and definition of a component. Some definitions of the component concept frequently used in the CBD research field are:

- A component is a non-trivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture. A component conforms to and provides the physical realization of a set of interfaces [Booch et al., 1999].

- A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third party [Szyperski, 1998].

- A business component is the software implementation of an autonomous business concept or business process. It consists of all the software artifacts necessary to represent, implement and deploy a given business concept as an autonomous reusable element of a larger business system [Herzum and Sims, 2000].

- A business component is a means for modelling real-world concepts in the business domain. It encapsulates everything about those concepts including name, purpose, knowledge, behavior, and all other intelligence [Andersen Consulting, 1998]

- A component is a part of a system that is (at the same time) a unit of design, construction, configuration, management, and substitution. A component conforms to and provides the realization of a set of interfaces in the context of well-formed system architecture [Kozaczynski, 1999].

After hardware, software and recently middleware, the term componentware has been introduced in the Information Technology community [Gartner Group 1997; Sessions, 1998b]. So far, it has been mainly used to define software assembled from a set of components [Ring and Ward-Dutton, 1998; Bergner et al., 1999]. In general view, and in order to maximize the benefits of CBD approach, all information generated in the course of development, ranging software products to requirement specifications, design specifications, project plans, test plans, quality plans, use manuals, including ideas, methods, experiences, etc. should be included and determined by “componentware”. In [Herzum and Sims, 2000] component-based development is defined as a system development approach where all aspects and phases of the development lifecycle, including requirements analysis, architecture, design, construction, testing, deployment, the supporting technical infrastructure, and also the project management, are based on components. Advantages which CBD intends to provide are manifold and include facilitation of software reuse (especially by third parties), speed up of development processes, reduction of development costs, and higher quality of a final product (standard components are less prone to exhibit errors if they have already been used and tested in prior projects).

8

3.3 The CBD state-of-the-art Component-based development is an important and growing approach in the software industry. Many scientific and industry conferences, journals, books and reports are being devoted to this theme. Many vendors and corporations are providing a specific support for CBD. In that way, the CBD approach has been influencing all the aspects of system development, from infrastructure technologies and application frameworks, to modelling concepts, supporting tools and development methodologies. 3.3.1 Technology and Frameworks At first place, the move toward CBD paradigm has carried out by introducing distributed infrastructure technologies based on Microsoft’s Component Object Model (COM) [Sessions, 1998a; COM], Object Management Group’s (OMG) Common Object Request Broker Architecture (CORBA) [OMG, 1999b; Siegel, 2000] or Java-based tools [Java Beans]. These technologies are often called as component infrastructures, component-oriented middleware, or physical component models. These standards (both de facto and official) have emerged that enable interoperability to be achieved in the heterogeneous world of the Internet. Middleware based on the COM, CORBA or Enterprise Java Beans standards is the “glue” that holds distributed, componentized applications together. In each of these three dominant component infrastructures, there is a vision for building enterprise-scale component-based applications supported by a set of standards and products. Based on them, many vendors have developed various component frameworks and architectures providing effective solutions for fast development of component-based applications. The Microsoft component infrastructure services offer significant functionality to builders of component-based applications but exclusively for Windows platforms. These services are now incorporated into the newest Windows 2000 environment providing essential capabilities to greatly reduce the cost of assembling and maintaining component-based applications. A number of implementations conforming to the OMG CORBA standards are available on a variety of platforms in various application domains such as banking, telecommunications, and retail [Zahavi, 2000; Siegel, 2000]. A characteristic solution based on CORBA model is TINA-C (Telecommunications Information Networking Architecture Consortium) initiative that defines an open architecture for development, deployment and operation of telecommunication systems [TINA-C, 1996]. TINA is a component-oriented architecture, defines a set of service components, which interact through well-defined interfaces, and uses CORBA as a distributed processing environment for intercomponent communication. The Enterprise Java Beans (EJB) has recently been announced; however a number of vendors have already begun to provide EJB-compliant containers. Individual components do not have an added value for building large-scale enterprise systems. As previous similar initiatives in the object–oriented technology, component frameworks, (templates and patterns) have started appearing on the market. Traditionally, a framework represents a collection of collaborating adaptable classes. In [Jacobson, 1997; Fayad et al., 1999] an application framework is defined as a set of concrete and abstract components and classes that are architected and designed to work together to provide most of the functionality needed by a set of related applications. Component framework is an architectural template that supports components conforming to certain standards [Szyperski, 1998]. It identifies key interfaces and services, and provides a context for identifying and resolving policy, management and strategic technical issues. By [Sprott, 2000] a component solution framework provides around 80% of the required functionality and allow a customized

9

solution to be implemented extremely rapidly. Component frameworks can be horizontal and vertical. Horizontal frameworks provide general functionality but inside a larger domain, such as framework for online payment processing or framework for tax calculations. Vertical frameworks are domain- or industry-specific frameworks, built around industry-specific interfaces and business processes. Examples are MTW Corporation’s framework for insurance systems, SWIFT for banking industry, CMG ‘s cFRAME for e-business transactions and Transoft Component Framework (TCF) for integrating legacy systems. The strong support for EJB from both Sun and IBM resulted in introducing SanFrancisco component framework [SanFrancisco; Carey et al., 2000]. SanFrancisco is a large framework that possesses both horizontal and vertical functionality. It provides prebuilt, pretested Java technology-based reusable components to help developers build and modify business applications quickly and efficiently. SanFrancisco is used by a number of other vendors to expedite the creation of their own vertical products such as general ledger facilities and order management. The shematic architecture of the SanFrancisco framework is shown in the Figure 3.

Figure 3. Schematic architecture of the SanFrancisco framework. 3.3.2 Component Modelling On the other hand, parallel to technological achievements, many CBD methodologies, that make the component concept an integral part of the complete system life-cycle, have been proposed. The common point of these efforts is mainly Unified Modeling Language (UML), approved as a standard by the consortium of organisations that form the Object Management Group (OMG) [OMG, 1999a]. The UML is a graphic language for visualizing, constructing and documenting the artifacts of software systems. In a relatively short period of time it has emerged as the software industry's dominant modeling language. The current UML 1.3 specification provides basic support and notation for modeling components and component frameworks. Component modeling issues are being given a high priority by both the UML

10

Revision Task Force (UML RTF) and the UML 2.0 Working Group [OMG, 2000a], which are scheduled to be finalized and issued later this year. Also, standard UML modeling profiles should be defined for specific component technologies, such as EJB and COM+. It is a strong belief of OMG participants that UML will evolve along with components to meet their special needs, and it will not be surprised if future modelers think of UML as a component-based, rather than an object-oriented, modeling language [Kobryn, 2000]. In 1996 OMG issued Business Object Component Architecture (BOCA) as a result of a request for proposal over business objects. The BOCA, i.e. current version 1.2 of revised proposal, has already passed the OMG “Architecture Board” but still must pass a general vote of the membership [OMG, 1998]. One of the goals of BOCA is to close the “semantic gap’ between analysis and design and the implemented, executing components. BOCA is the technology specification that explicitly defines the way to progress from designs, expressed in OMG UML, to executing business objects. By specifying this link users will have a unified and consistent development life-cycle that traces from designs to running code. The part of the BOCA proposal is Component Definition Language (CDL). CDL is an extensible declarative specification language, which can be used to describe composition of semantically oriented enterprise objects. CDL is an extension of the very successful OMG Interface Definition language (IDL) [Siegel, 2000]. Its grammar is a superset of IDL with additional constructs to formally support semantic concepts. CDL is simply a way to write down, in a textual form, business object specifications that use the BOCA meta-model. BOCA current implementation status includes its incorporating into IBM SanFrancisco Framework [Carey et al., 2000]. Given UML design generates CDL metadata that can be used to generate Java classes in IBM’s proprietary framework. Enterprise Java Bean frameworks will be available soon, and BOCA will generate Enterprise Java Bean code, Figure 4.

Figure 4. EJB implementation of BOCA.

When the Component Facility of CORBA standard becomes available, BOCA will generate CORBA components as well, which is initially supported by IBM, Netscape, Oracle and Sunsoft. Combined with the force of the OMG and the considerable group of companies already committed to implementing BOCA, suggest that this could be the key to a new generation of enterprise computing that integrates existing applications, off-the-shelf components and easy to use application assembly tools.

11

Microsoft, one of the leading software company in the world, through its earlier development of Visual Basic and ActiveX Controls (precursors of today’s component technologies) realised the importance of having a central place for persistently storing shared components and for supporting users who wanted to search the available components to select those most appropriate to their needs. The resulting Microsoft Repository consists of a general engine supporting a set of information models collectively known as Open Information Model (OIM) [Microsoft, 2000]. This includes a Component Description Model (Cde), an information model specifically targeted at recording details of components. Microsoft Repository is an ideal component catalog for components specified and implemented not just by Microsoft tools, but by other tools too. The Cde can be used to record a variety of information about components regardless of their original source. Over 40 organizations have now agreed to use the Microsoft Repository as their basic storage engine for components. This, together with the on-going porting of the Microsoft Repository engine to platforms other than the Microsoft operating systems, offers the strong possibility that application developers assembling systems from components can access a single source for components developed using a wide range of tools technologies. The need for a widely agreed component infrastructure has led OMG to focus on the Object Management Architecture (OMA) and its realisation through appropriate contributing standards and technologies [OMG, 1999b]. The OMA views application as independently-developed collections of services communicating across a common infrastructure. These services can most easily be designed and implemented as components providing them. According to that, OMG has defined Meta Object Facility (MOF) and further the XML Metadata Interchange (XMI) [Iyengar et al., 2000]. MOF is the meta-metamodel used to describe the entire software development architecture including itself [OMG, 2000b]. It describes modelling languages such as UML, a set of technology metamodels such as the CORBA Component Model (CCM), the Enterprise JavaBeans (EJB) model and so on, as well as any other user-defined metamodels. MOF also contains a set of rules that specify the interoperability semantics and interchange format for any of its metamodels using XMI. One of the biggest problems facing enterprises working with data warehousing today are metadata management and reconciliation of inconsistent metadata when data from different sources are merged. OMG’s Common Warehouse Metamodel (CWM) provides a standard solution to this problem [OMG, 2000b]. Building on existing industry standards the UML, MOF, XML and XMI [Iyengar et al., 2000], the CWM starts by establishing a common metamodel for warehousing and standardising the syntax and semantics needed for import, export, and other dynamic data warehousing operations. CWM combines the power of enterprise data management, object and component modelling, making them available to data modelers, database designers, data warehouse users and administrators, and corporate portal developers and managers. Finally, in September 2000, the agreement of merging Meta Data Coalition (MDC) and Microsoft’s OIM and OMG’s CWM into a single standard through the new version of CWM has been achieved. Now, a single standard will allow users to exchange metadata between different products from different vendors freely. And again, the component concept plays an important role in CWM. 3.3.3 Methodologies and Tools Taking full advantage of CBD requires not only proper modeling language than new analysis and design methods and tools that are much closely aligned with component principles and support component-based development. The work of Bertrand Meyer on “design-by-contract”

12

has had a great influence on component modeling approaches [Meyer, 1997]. In support of his Eiffel language, Meyer proposed an approach to component-based development in which he compared the formal description of how components interact to a legal contract between two parties. He then describes an approach to the creation and management of these contracts as a primary design artifact. The Eiffel language allows these contracts to be directly encoded in the language. The next solution, originally from the object-oriented analysis community is a component-oriented approach called Catalysis [D’Souza and Wills, 1999]. It is described as a next generation methodology for modeling and constructing open systems from components and frameworks. Catalysis began in 1991 as a formalisation of OMT, and was developed over several years of applying, consulting, and training. It supports a powerful form of framework-based development, defining methodical refinements from abstract specification to implementation, handling coarse-grained to fine-grained components, formalising use-cases, recursively decomposing components into patterns of collaborating objects, synthesizing such patterns, and refining the transactions between the collaborating objects to support traceability. Although the details of Catalysis are somewhat complex, the approach itself is based on a small number of underlying concepts (types, conformance, collaborations and frameworks) used throughout the approach. Catalysis is mostly a development process, which means that it creates working software from requirements. Different vendors of enterprise application development tools have developed a number of proprietary component-oriented design methods. As these vendors started to develop large-scale applications from available assets (such as legacy code, packages, third party solutions), they required methods advising their customers on how to achieve the assembly of those pieces within their own tool environments. This resulted in a variety of component-oriented methods and techniques. The best known of these includes CBD96 from Sterling Software [Sterling Software, 1998], Select’s Perspective method [Allen and Frost, 1997], and Rational’s Unified Process [Kruchten, 1999] and Platinum Technology’s Enterprise Component Modeling (ECM) [Platinum, 1999a]. Select Perspective provides the ability to leverage OO technology while integrating it with other widespread and proven technologies that are also needed for IT development, such as data modeling, UML and business process modeling. Proven in real-world, small to large scale IT projects, Select Perspective has been refined over several years into a collection of highly practical, tightly focused best practices for application development. The Rational Unified Process supports component-based development, both in terms of representation of component-based systems, using UML, and the actual workflow, i.e., activities and step-by-step guidance on how to model then to build the systems. The goal of the process is to enable software development organizations to rapidly build and deploy component-based systems. Rational proposes techniques and tools that are independent from a specific component technology, but still practical enough to be instantiated in any of these technologies or emerging technologies. Rational Unified Process is not only a development process than a management process as well, which means it schedules work, plans deliveries, allocates resources and monitors progress. Enterprise Component Modelling (ECM) represents a strategy for delivering multi-tiered enterprise-scaleable applications using object technology and component-based development. ECM provide the framework for building an iterative model-driven software development methodology, enabling users (at least they claim it) to manage applications complexity, reduce costs, adapt to changes and maintain OO method notation independence. The first wave of tools supporting CBSE-oriented methods is beginning to appear. In some cases, such as Rational Rose [Quatrani, 1999], this support is provided through additions to existing products. In other cases, such as Select’s Component Manager [Allen and Frost, 1997], Sterling Software’s COOL:Spex product and Platinum Technology’s Paradigm Plus

13

[Platinum, 1999b], such tools have been purpose-built to support component specification and component architecture visualization. For example COOL:Spex draws many of its ideas from the Catalysis approach. As a result, the diagramming notations and techniques supported by COOL:Spex are those that have been tried and tested in Catalysis. Paradigm Plus is the modelling tool that provides support for the Catalysis method, by designing, visualizing, and maintaining modern business applications. The tight integration of design, data, and business process models in the Paradigm Plus tool ensures that business needs are met by incorporating them into software system design. A key aspect of these new CBD tools is that they support a strong notion of interface-based design as a key approach to the development of component-based applications. They can be used to describe the interfaces offered by the components and the collaborations that occur among them when constructing an application from components. 4. RESEARCH BACKGROUND Environment in which this research is founded is characterised by many advanced technology and business issues under the constant and rapid changes. The research must provide answers and solutions to this new technology, business and combined requirements. The most important parameters of the research background are open distributed processing and organisation, changing the business strategy and domains, merging various kinds of information inside a single enterprise system and new mobile computing facilities through wireless network connections. 4.1 Open Distributed Systems In order to cope with the advances in computer hardware technology and rapidly changing requirements, there has been a continuing trend in the development of software applications towards so-called open distributed systems [ISO, 1998]. Open systems differ from closed, proprietary systems in the sense that they are not only open in terms of topology (distributed systems) and platform (heterogeneous hardware and software), but particularly in terms of changing requirements, which evolve rapidly and are neither closed nor stable. The essential point is that open systems define a generic (hence reusable) architecture for a family of applications. An individual application may either be considered as an instance of a generic family of applications or a snap-shot in time of an evolving application. The following requirements are important for open distributed systems:

- Flexibility – related to network architecture, number of clients, different platforms, and changing application requirements.

- Heterogeneity - systems have to cope with different and changing hardware, operating systems, communication networks and protocols, etc.

- Autonomy - the various management or control authorities and organizational entities are autonomous.

- Evolution - systems have to cope with changing application requirements.

- Mobility - activities and data can be spread over a network. There are many initiatives in industry and academia over advanced specification and standardisation of open and interoperable systems in various domains. The example for that is OpenGIS Consortium (OGC) with the aim of the full integration of geospatial data and

14

geoprocessing resources into mainstream computing and the widespread use of interoperable, commercial geoprocessing software throughout the global information infrastructure [OGC, 1998; OGC, 1999]. The ISO Reference Model for Open Distributed Processing (RM-ODP) [ISO, 1998] is an international standard that can serve as a framework for describing architectures for distribution, interoperability and portability of applications based on object-oriented technology. RM-ODP standardisation focuses on distributed systems that cross organisational and technological boundaries. RM-ODP specification of a system consists of five different specifications, corresponding to five different, but related and consistent viewpoints: enterprise, information, computational, engineering and technology viewpoints, Figure 5. Each viewpoint is an abstraction of the whole system focusing on a specific area of concern:

- Enterprise – focuses on the purpose, scope and policies for the enterprise system.

- Information – focuses on the semantics of the information and information processing.

- Computational – enables distribution through functional decomposition.

- Engineering – focuses on the mechanisms and functions for distributed interaction support.

- Technology – focuses on the choice of technology in the system.

Figure 5. Viewpoints in the ISO RM-ODP Model. RM-ODP offers a good starting point for technology-neutral specification of architectures for open distributed systems. It provides a rich specification framework for describing behavioural aspects of complex systems, including those that involve a significant human and organisational component. Telematics systems are right examples of such complex systems, and therefore RM-ODP should represent a basic point for further telematics system development. Today, one of the crucial points in advanced open distributed system development is eXtensible Markup Language (XML) [W3C, 2000]. XML is an ideal technology to use as a cross platform data interchange mechanism. As defined by the World Wide Web Consortium (W3C), XML is an open standard for describing data on any platform. It is a data description technology that aligns well with the exchange of data between business processes and applications without regard to source or destination platform issues. The flexible nature of XML reduces the need for the applications to move information in a set order or format. Thus,

15

XML is primarily intended to meet the requirements of large-scale Internet content providers for industry-specific markup, vendor-neutral data exchange, media-independent electronic publishing, one-on-one marketing and workflow management in collaborative environments. Today, many variants of XML exist, covering various information domains and technology settings, such as Commerce XML (cXML) for the online exchange of business transaction information in common formats, Geographic Markup Language (GML) for geographic information and Wireless Markup Language (WML) for wireless network systems. Because of its wide adoption and applicability in information exchange over the Web, XML (or some of its specific variants) must be used in constructing modern, complex telematics systems and solutions. 4.2 Ever-changing business Today, remarkable increase in the range and variety of available computer technology provides a number of possibilities for building enterprise-scale solutions. Many organisations and corporations are now looking for the way to make, as effective as possible, use of this technology within constantly changing business environment. The good example is the way the e-business market has unfolded over the past few years, with different players, with different or similar strategies, thriving at different stages. But that is not all. Many corporations are now breaking business domain barriers and developing an entirely new business apart of their primary business area. There is currently an explosion of new businesses - not just small start-ups but substantial launches. Many well-known brand names are cut-and-pasted onto new products and services [Veryard, 2000]. A grocery store opens a bank or insurance company. A record company opens an airline, a railway and an insurance company and becomes a completely new player in these marketplaces. Of course, such changing of business directions are not new, but now it requires extremely effective strategy for a corporation to be competitive in the short time even in a new market. The promising ability for such practice is to completely construct a whole new business from existed, off-the-shelf systems or system parts. Using basic CBD plug-and-play principles and mechanisms such companies will be able to plug a new business together in a very short time, and enter industries where they have no previous track record. Even a substantial company can now be viewed as a component of a much larger system, rather than as a self-contained business operation, and this has huge implications for planning and managing at all levels. Thanks to the plug-and-play approach, a new business can be rapidly assembled as a loosely coupled set of partnerships, services, and complex business process components, giving the best balance between time-to-market and application flexibility. 4.3 Information Integration Furthermore, the last decade has witnessed the widespread integration of various IT systems (documentary, multimedia, artificial intelligent, etc.) into the business field. The illustrative case is Geographic Information System (GIS) [Vckovski, 1998; OpenGIS, 1999] widely adopted by business and retail organisations, primarily for business analysis and decision-making purposes. The societal importance of geographical data is obvious: by [NCGIA, 1999] 80% of all business and policy problems involved in creating livable communities include geographical data as a key element in their decision-making process. The study “GIS in business” conducted by Dutch-based Ravi Business Platform in collaboration with the Vrije Universiteit, Amsterdam and Britain’s Manchester Metropolitan University shows that an

16

estimated 90% of business-related information is geographical in nature, especially in business support systems [GeoEurope]. This category covers the integration of GIS with other IT systems such as Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) supporting both tactical and strategic analysis and decision-making. By the analysis of the International Data Corporation [IDC, 2000b] the year 1999 is marked as a year of fundamental change for the spatial information management (SIM) market. The definitive trend is the movement from proprietary systems that support geocentric applications to open database systems that support mainstream business processes. Companies that are focusing on the use of spatial technology in mainstream business are growing at rates two to three times faster than companies that focus on traditional geographic information system (GIS) technology. And again, CBD plug-and-play paradigm can be considered as a crucial strategy for satisfying such wide variety of requirements and ever-changing demands. Implementation of CBD concepts and principles can provide effective development of various data-intensive, heterogeneous systems from existed components encapsulating required functionality. In that way, complex business systems with various advanced multimedia capabilities can be rapidly developed, i.e. assembled through a number of possible combinations. 4.4 Mobile Computing Today, the strong technological input represents the ability of wireless communication becoming the advanced and modern initiative, with whole set of new protocols, communication and data exchange models and concepts. A wide variety of new user interface platforms have been introduced, in the form of personal digital assistants (PDA), cellular phones and other personal devices. Everything now is going "wireless". As portable devices become more and more prevalent, it is necessary to architect component system solutions that are robust enough to support these devices. These architectures must support situations where the user interaction may occur with a portable device, so certain components of the system must be able to operate without any dedicated network connection. Such solutions should offer a proper level of abstraction that allows developing systems that do not always offer dedicated connections. Using mobile computing facilities, new concepts and terms are emerging. For example, M-Commerce is a term intended to encompass the elements of mobile E-Commerce using handheld Computers, mobile phone technologies, and connections to existing PC's. This technology is still in its infancy, but is rapidly developing and could eventually replace what we know as E-Commerce today. The recent convergence of network computing and wireless telecommunications with GIS technologies is giving rise to a new class of location-based applications and services. Location-based services mark a major convergence between the Internet and wireless services. The emergence of these services marks an inflection point in the evolution of the spatial information industry. Internet and wireless service providers are now beginning to deliver web mapping, street routing and electronic yellow page services to both web and wireless handsets. Prior to this period, the GIS market realised growth in the range of 10-15% that centered primarily on providing mapping and spatial analysis to specialist users. However, in 2000 the rate of growth for location service for general Internet and mobile users is expected to exceed that of the traditional GIS market [IDC, 2000b]. Furthermore, new developments merge business and technology in order to reach location-based M-Commerce, by combining business, geographical and other information relatively to current location of actor and his partners and/or customers in the real-time, Figure 6.

17

L-commerce

The power to capitalize on the location of your customers and your location to reach the success of your business.

+ E-commerce

The act of doing business via the Internet.

= M-commerce The ability to conduct the business anytime from anywhere using

location-based services and a portable computing device.

Figure 6. New possibilities of mobile, location-based e-commerce. 5. RESEARCH PROJECT Fast and effective transformation of the corporation’s strategy and the role in the market, combination of various data-intensive multimedia heterogeneous IT concepts and systems in order to reach a specific business goal, but also permanent introducing new technological developments represent a great challenge to both the ICT and business world. It requires an universal answer. That could be an integrated CBD approach covering all aspects of complex systems and providing an effective response on changing requirements, technology and business strategies in the environment. 5.1 Research objectives and questions New generations of telematics applications are becoming more complex, both in terms of semantics and scale. Furthermore, we are witnessing constant changes in both business and IT fields, as presented in Chapter 4. This requires a more disciplined, well-defined and structured approach to specifying the solutions for advanced systems and applications. A new strategy for telematics applications development is needed. It should address the complex and ever-changing requirements of large-scale, data-intensive, mission-critical applications, where flexibility, scalability, adaptability, extensibility, interoperability and integration with heterogeneous legacy systems are essential and must be provided. Component-based development approach as presented in previous chapters can provide an effective answer to many of complex, rapidly-changing business and ITC requirements. However, that is not enough. An integrated strategy based on CBD concepts and principles but covering all aspects of modern telematics applications (not only structural and behavioral, but also qualitative) is needed. Experiences of enterprises so far that have used distributed systems extensively suggest a strong need for a technology-neutral strategy and architecture for supporting their processes, operations and policies. However, there is still a lack of such integrated and systematic approach in enterprise-scale system development. By the analysis of the META Group, technology infrastructure is still the focus of 80% enterprises in terms of formal architecture process and deliverables [META Group, 2000]. This means that technology changes and requirements still direct in a great deal the enterprise business strategy, instead of being cooperative and coordinated to each other. It results in bad market position, less business value, and furthermore in the less capability for adopting new advanced technologies, i.e. one kind of a “deadlock” situation is emerged.

18

For effective and flexible enterprise-scale system development, adaptable to emerging changes and complexity, a new strategy is strongly required. It should provide a focus not only on the technology aspects of the enterprise IS (as now is the case with CORBA and COM), then also on the business requirements and processes, as well as information flows inside and outside the enterprise. In that way, various, but mutually dependable business and technology concepts and needs are seamlessly integrated, providing much easier adoption of new technologies, as well as business requirements, as they emerge. Term enterprise architecture often refers to such a technology-neutral and business-oriented distributed system architecture. Furthermore, EAI (Enterprise Application Integration) is a common business computing term for plans, methods, and tools aimed at modernizing, consolidating, and coordinating the computer application in an enterprise. Obviously, there is an important convergence between a new business development and new IT development. As it is said in [Veryard, 2000], “business and IT are dancing around each other”, and each side is carefully listening the requirements from the other side. IT is not worthy and important if it is not needed from the business side, and business cannot be effectively and competitively conducted any more without the IT support. Therefore, the business world generates an unending flow of urgent demands for new and enhanced IT systems; meanwhile the technological world generates an unending flow of new opportunities and achievements. An integrated strategy, covering all aspects of complex enterprise-scale systems, from business to technology, must be provided. Therefore, the main objective of this research is to define an integrated, effective, and flexible approach consolidated in a component-based framework providing comprehensive concepts, models, rules, methods and guidelines as a support for advanced telematics applications development. Such an integrated framework will ensure that the capabilities of distributed objects and components are appropriately positioned in the context of the organizational structures, policies, business processes and roles. This framework, coupled with accompanying tools, will facilitate specification and building of telematics systems that can withstand various technology and business changes. Our integrated, component-based framework does not represent a traditional object-oriented or component implementation framework providing skeletal implementation of the whole family of applications, using e.g. inheritance of the framework abstract classes. Our framework is founded more at the conceptual level providing a rigorous and consistent set of specifications, design principles and guidance, from concepts to deployment, and all in systematic and integrated way. To manage this extremely high level of potential complexity and constant changes in the environment, our solution will be to provide the separation of those complex concerns into discrete areas of concern. It can be done through defining semantically different layers of an enterprise system architecture: business, information, application and technology layer, Figure 7. Similar approach can be found in [META Group, 2000]. Specifying different aspects of complex systems by considering them through different viewpoints is also the starting point of ISO Reference Model for Open Distributed Processing (RM-ODP) presented in chapter 4.1 of the paper. The architecture layers presented in [META Group, 2000] fit fine into five viewpoints of ISO RM-ODP. Although separate, these viewpoints should be closely related, thus allowing different aspects and constraints on system design to be properly addressed. A complete specification of the system is obtained by combining different viewpoint specifications. In that way, our overall framework approach will provide an integrated view

19

on the system development, i.e. an integration and cooperation of all aspects of complex enterprise telematics systems.

Figure 7. New Enterprise Architecture and Strategy. Orthogonal to these viewpoints (or layers), our strategy is to provide an effective support for Component-Based Development concepts and methods, in order to gain claimed benefits of the CBD approach in complex enterprise-scale system development presented in Chapters 2 and 3 of the paper, 8. Based on the ODP standardization efforts and the best practices and the power of Component-Based Development approach, our framework will provide a structured, integrated, systematic and well-defined way for high-quality development of complex telematics systems. Flexibility, adaptability, reusability and other characteristics inherited from CBD, will ensure providing a flexible and extensible support for development of various types of applications. In that way, the framework will be able to manage the complex requirements for various types of information (multimedia, business, location), network infrastructures (e.g. wireless connection) and required qualitative parameters (e.g. QoS).

Component-Based Development

Enterprise viewpoint Integrated

Information viewpoint Component-Based

Computational viewpoint Framework

Engineering viewpoint Technology viewpoint

20

Figure 8. Integrated Component-Based Framework based on CBD and ODP.

In that way, our integrated framework will provide a rich specification approach for describing not only behavioural and structural aspects of complex telematics systems, then also aspects including a significant human and organizational component. The intention here is not to develop a system, by following completely separate tracks, then to provide an integrated view on the system through various viewpoints (i.e. layers), which evolve coordinately through time. The aim is to provide a complete system specification, from concept to deployment, in a rigorous and consistent way using CBD principles and practice. Based on the research objective the following research questions can be formulated:

1. How to define an integrated component-based framework providing comprehensive and systematic support for effective development of telematics applications?

2. How to provide flexibility and customisation of the framework to handle complex requirements in a development of various telematics applications?

3. How to validate and evaluate the framework through the real application cases? 5.2 Research approach In order to provide effective answers to proposed research questions and reach the research objective, many well-defined, structured research steps should be performed. Decision is made to use standardization efforts and issues in the field of Open Distributed Processing and Open System Environment [Schulz, 1995] as a solid and standard technology-independent base for further research. Taking five RM-ODP viewpoints presented in the chapter 4.1 into account, the focus in answering the first two research questions will be on Enterprise, Information and Computational viewpoints. During the evaluation of the framework in real application cases, Engineering and Technology viewpoints will be considered. RM-ODP standard is devoted to the creation of distributed, object-oriented architecture, which means using object-oriented paradigm. Our intention is to combine component-based approach with it, i.e. to integrate CBD principles, concepts and methodologies with the standard specification framework offered by RM-ODP. In that way we try to achieve a higher-level flexibility of the design framework, providing a firm support for handling different types of information and applications (business, multimedia, geographical) with different network infrastructure (standard distributed and mobile computing) and different qualitative parameters (e.g. Quality of Service – QoS). This component-based framework will be designed specifically to allow easy customisation, evolution and extension of basic telematics application concepts and components inside it to match the complex business and ITC requirements in the environment presented in the Chapter 4. As already mentioned, our conceptual framework for telematics application development will be defined according to CBD concepts and principles, due to many benefits of this advanced approach in modern complex system development, presented in Chapter 3. Among the other important characteristics and benefits of the CBD approach claimed so far, it can also play, in our opinion, a significant role in seamless, consistent and natural integration, coordination and cooperation between different specification viewpoints (i.e. enterprise architecture layers). Component concept represents an excellent solution for providing meeting point between

21

technology and business worlds. By defining component as an encapsulated unit with hidden interior and exposed functionality through interfaces and services, it can be easily understood by both worlds. On the other hand, objects can be too small in size and technologically oriented to be considered by business side people, and business processes are too vague and complex to be uniformly understood by IT side people. Before defining component-based framework, a concept of component should be precisely defined and used consistently throughout the research work. This concept should identify and define all important characteristics and features of a component. As a starting point we can present the following definition of a component:

- A component is a self-contained (nearly-independent), reusable and replaceable building block, encapsulating its internal structure and providing useful functionality to its environment through precisely defined interfaces. A component may be customised in order to match the specific requirements of the environment in which it is used and deployed.

Furthermore, the clear separation of business and technical components should be made. Business component is the component stereotype that indicates provision of business value functionality and data, while technical component indicates the provision of technical infrastructure facilities, functions and data. The concept of business component will be used in providing answers to the first two research questions, while technical (or software) components will be used in the real-case validation of the framework, Figure 9.

Figure 9. Component typology. In answering the second research question, an effective flexible support for development of various types of telematics application must be provided by the component-based framework. First, the framework should offer extensibility and customisation mechanisms to efficiently handle and process various types of information (business, multimedia, geographical). In that way, the framework will serve as a standard basis for effective development of domain-specific telematics applications. The further challenge represents the infiltration of wireless networks and mobile computing concepts into modern enterprise systems. The aim is to maximize the productivity benefits (availability and usability anywhere anytime anyhow) of the system while minimizing the constraints brought by mobility (failures, limited capabilities). The component-based framework should identify the enterprise requirements

22

required to support a wide range of mobile work situations and enterprise mobile collaboration. It should provide an adequate support for dynamic behaviour such as reconfiguration, disconnection, and location-dependent computation. Parallel to that, the framework should handle some qualitative aspects of complex enterprise systems, such as Quality of Services (QoS). Especially in a mobile environment QoS plays an important role. It has a much wider spectrum than traditional QoS and include not only computer network related aspects, but also security, availability, reliability and fidelity. In defining and specifying our component-based framework, the metamodelling approach will be used. By using complete formal (often mathematical) definition of the variety of the framework concepts, the final solution would be too complex and difficult to build. On the other hand metamodelling usually delivers semi-formal specifications of modeled artifacts. Graphical notations, which are commonly used in metamodelling, will provide a means to cope with the complexity of the modeled framework concepts. Thus, metamodelling approach represents a higher-level abstraction of the defined concepts and can provide the way of integration between various viewpoints and semantic architecture layers [Dahanayake, 1997; Hillegersberg, 1997]. Finally, a demonstration repository can be provided as a functional integration and implementation of the specified metamodels of framework artifacts. Unified Modelling Language (UML) will be used as a modelling and specification language along with Object Constraint Language (OCL) for more formal specification and defining constraints [Warmer and Kleppe, 1999]. The choice is natural: RM-ODP provides the overall conceptual framework and foundations for describing distributed systems while UML provides a flexible, standardized notation for representing them. And furthermore, new versions of UML have a rich support for CBD concepts. In order to answer the third research question, the partial implementation of the framework will be performed. This evaluation of the framework in one or many real cases can eventually reveal small inconsistencies or ambiguities that have made through the framework design. In this final phase of the research the engineering and technology viewpoints specification will be used for consistent and seamless mapping from (UML) design artifacts to middleware glue and specific implementation code. Using UML-based representation and technology-independent approach through the answering of the first two questions, our component-based framework should be independent of, but compatible with specific component implementation technologies. With the aim in mind that the solution should be platform and implementation language independent, the natural choice at this moment seems to be OMG CORBA, as a distributed component infrastructure. XML standard for data exchange along with its variants must be taken into account throughout the whole research project but especially in the final implementation and validation phase. The use of XML should be considered for any business service, which expects, or returns self-describing lists of data, which have dynamic length and structure. Standard XML parsers should be used to parse the data. Meanwhile, an effort is under way to make XML more component-like [W3C, 2000]. 6. RESEARCH METHODOLOGY A range of research approaches has been recommended for use in the general field of information systems, among the most important are literature survey, case study, field experiment, laboratory experiment, surveys and simulation [Galliers, 1994]. The selection of an appropriate methodology requires the evaluation of many factors and the determination of how well they work together in supporting the research objective.

23

Literature survey is considered to be an important (and the basic) part of every research in order to find out the state-of-the-art of the research area and for future comparison of research contributions with current research achievements in that area. This survey consists of a comprehensive examination of existing research that bears on the topic and a building of arguments with supporting references for an explanation. The questions behind the literature survey are: Where did the problem come from? What is already known about this problem? What other methods have been tried to solve it? The comprehensive review of the literature must be included through the whole research work, but specially during the initial phases of the research. The rationale behind it consists of an argument with two lines of analysis: 1) this research is needed, and 2) the chosen methodology is the most appropriate for the research question that is being asked. Case study should help in capturing the knowledge of practitioners and developing theory of it [Yin, 1994; Galliers, 1994]. The case study methodology is well-suited to identifying key events and actors and to linking them in a causal chain. The case study is a way of investigating an empirical topic by following a set of prespecified procedures. It gives the possibility to generate theories from practice and allows understanding the nature and complexity of the processes in the problem area [Yin, 1994]. The strength of the case study approach is that it enables the capture of reality in considerably greater detail and the analysis of a considerably greater number of variables, than it is possible with any other research methodology. Its weaknesses include the fact that its application is usually restricted to a single event/organization and hence the problems associated with making generalisations from individual case studies. Further, when multiple case studies are used, it is possible to relate variability in context to constants in processes and outcomes. By the analysis of IS research strategies applied in a number of dissertations and journal articles in the IS field in [Galliers, 1994], case studies are the most commonly employed empirical strategy. In carrying out the research work, important questions are how to select a starting point, and what could be the order of further research methodologies [Galliers, 1994]. Generally, basic steps in performing any research are: formulation of research questions, theory building, theory testing, eventual theory extension, and then testing based on possible extensions. In order to follow this procedure, a reasonable starting point is always a survey of the literature. A next logical step is a case study (or multiple case studies) in an organization (or organizations) to establish a reality for future research. In this research project, basic component concepts and theory will be built by using extensive literature survey, through carefully chosen case studies belonging to different application domains. In the next phase of the project (defining a component-based framework for telematics application development) further literature survey and theory concepts finding through case studies will be carried out. Domain-specific phase of the research project will be carried out by intensive literature survey inside a particular domain, as well as by proper case study in that domain. For testing the theory in real cases, developed case studies will be used. At the moment of writing this research proposal a number of literature references related to the project field is available in paper or electronic form. Also, at this moment potential case studies for this research project can be:

1. Internet Geographic Information System;

2. E-commerce, Banking/insurance case;

3. Healthcare case, focused on Electronic Patient Record system;

24

4. OneTalk system – Internet-enabled legal terminology system; 7. RESEARCH WORK SCHEDULE Considering research questions and objectives and chosen research methodologies, the following research approach can be defined. It consists of three main phases and the final phase. Each of the first three phases is devoted to corresponding research question. The fourth (final) phase will be dedicated to the thesis writing. It should include the practical work on formulating, collecting and structuring the results of the research phases and research project as a whole, in order to form a doctoral thesis, as a final result of the project work. The whole period of the research should last four years. Each year is divided into halves, consisting of 6 months each. Table 1 gives an approximate time schedule of the project. More detailed time schedule will be done later, during performing of each phase of the research. After each phase and/or subphase of the research project, based on the intermediate results of the research, answers to the research questions, the results of case studies etc., particular technical reports will be written. Based on these reports, conference, workshop and journal papers will be prepared and published in the corresponding workshop and conference proceedings in which the author will participate and/or scientific journals.

Phases of the project 1st year 2nd year 3rd year 4th year 1 2 1 2 1 2 1 2

First phase X X X X Second phase X X X Third phase X X Final phase X X

Table 1. Approximate time plan of the project.

8. EXPECTED RESULTS Among the main results of the first phase of the research project will be a detailed specification of a component concept. This phase aims to deliver a set of generally applicable concepts covering the basics of telematics system component-based development. These concepts will provide clarity and lead to better general understanding in the area of components and component-based approaches. It will aim also to clear up common misunderstanding between objects and components. The next step is to apply CBD concepts and principles inside the layered system architecture approach offered by the emerging ISO RM-ODP standard in the field of advanced telematics systems. The result should be an integrated component-based framework providing effective and manifold support for specifying all aspects of complex telematics system and their interrelations. The main result of the second research phase will be incorporating customisation and tailorability mechanisms into defined framework. In that way it will be able to provide a flexible support for handling complex and changeable requirements in the environment inherited from actual integration of various types of information (multimedia, business, location), new network infrastructures (e.g. wireless connection) and required qualitative parameters (e.g. QoS). Taking that, our integrated component-based framework will support

25

even the development of some, almost futuristic, applications, such as mobile, location-based, e-commerce applications. Practical result, covering the third phase of the research, will be the partial development of a system (or systems) defined by the case study in a real environment. In that way, the built theory and defined integrated component-based framework will be proved and validated, using development guidelines presented in Chapter 5.2. Final result of the project will be the published doctoral thesis, encompassing and describing all achieved results during the project in the structural form. REFERENCES

Allen P., Frost S. (1997), “Component-Based Development for Enterprise Systems: Applying the Select Perspective”, Cambridge University Press.

Andersen Consulting (1998), “Understanding Components”, white paper, Eagle project, http://www.ac.com

Barroca L., Hall J., Hall P.(Eds.) (2000), “Software Architectures: Advances and Applications”, Springer-Verlag London Limited.

Butler Group (1998), “ Component-Based Development”, Management Guide, Researched by D. Sprott and L. Wilkes, available at http://www.butlergroup.com

Batory, D., and Geraci, B. J. (1996), “Validating Component Composition in Software System Generators”, in Proceedings of the Fourth International Conference on Software Reuse, IEEE Computer Society Press, April 1996.

Bergner K., Rausch A., Sihling M., Vilbig A. (1999), “Componentware - Methodology and Process”, CBSE 99, Proceedings of the International Workshop on Component-Based Software Engineering: Held in conjunction with the 21st International Conference on Software Engineering (ICSE99) Los Angeles, CA, USA, May 17-18,

Booch G. (1987), “Software Components with Ada”, Benjamin-Cummings.

Booch G., Rumbaugh J., Jacobson I. (1999), “The unified modeling language user guide”, Addison-Wesley.

Brown A.W. (ed.) (1997), “Component-Based Software Engineering”, IEEE Computer Society Press.

Brown A.W., Wallnau K.C. (1998), “The Current State of Component-Based Software Engineering”, IEEE Software, September/October 1998.

Brown A.W. (2000), “Large-Scale Componenet-Based Development”, Prentice-Hall PTR.

Carey J., Carlson B., Graser T. (2000), “SanFrancisco design patterns : blueprints for business software”, Addison-Wesley.

Clements P.C., Bass L. [et al.] (2000), “Constructing Superior Software”, MacMillan Technical Publishing, Indianapolis.

Cheesman J., Daniels J. (2000), “UML Components: A Simple Process for Specifying Component-Based Software” Addison-Wesley Pub. Co.

COM, DCOM, MTS, ActiveX, COM+, information available at http://www.microsoft.com/com/

26

Dahanayake A. (1997), “An environment to support flexible information modelling”, PhD thesis, Delft University of Technology, Delft, The Netherlands.

D’Souza D.F., Willis A.C. (1999), “Objects, Components, and Frameworks with UML: the Catalysis Approach”, Addison-Wesley.

Eelse P., Sims O. (1998), “Building Business Objects”, John Wiley & Sons, Inc.

Fayad M.E., Schmidt D.C., Johnson R.E. (1999), “Buidling Application Frameworks”, Wiley Computer Publishing, John Wiley & Sons, Inc.

Fingar P., Kumar H., Sharma T., (2000), “Enterprise E-Commerce”, Meghan Kiffer Pr.

Fischer, G. (1994), “Domain-Oriented Design Environments”, Automated Software Engineering, Johnson, L., and Finkelstein, A., eds., Kluwer Academic Publishers, Vol. 1, No. 2, June 1994.

Galliers R. (Eds.) (1994), “Information Systems Research: Issues, Methods and Practical Guidelines”

Gamma E., Helm R., et al. (1995), "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley.

Gartner Group (1997): “Componentware: Categorization and Cataloging,” Applications Development and Management Strategies Research Note, by K. Loureiro and M. Blechar, December 5, 1997, http://www.gartnergroup.com.

Garlan, D., and Perry, D. E. (1995), “Introduction to the Special Issue on Software Architecture”, IEEE Transactions on Sofiware Engineering, 21 (4): 269–74, April 1995.

GeoEurope (2000), “Geofocus: GIS in business”, April 2000, available at http://www.geoplace.com.

Herzum P., Sims O. (2000), “Business Component Factory”, John Wiley & Sons Inc.

Hillegersberg van J. (1997), “Metamodelling-based integration of object-oriented systems development”, Erasmus University Rotterdam, The Netherlands.

IDC - International Data Corporation (2000a), “Review and Forecast of the Worldwide Information Appliance Market, 1999-2004”, available at http://www.idc.com

IDC -International Data Corporation (2000b), “1999 Worldwide Spatial Information Management Markets and Trends”, avaliable at http://www.idc.com

ISO (1998), International Standard Organisation, Information Technology, “Basic Reference Model of Open Distributed Processing, ISO/IEC 10746-1.

Iyengar S., Dirckze R., Baisley D. E. (2000), “UML, MOF and XMI”, XML Journal, June, 2000, available also at http://www.xml-journal.com

Jacobson I., Griss M., Jonsson P. (1997), “Software Reuse – Architecture, Process and Organisation for Business Success”, ACM Press, Addison-Wesley Longman.

JavaBeans, The source for JavaTM technology at http://java.sun.com

Kobryn C. (2000), “Modeling Components and Frameworks with UML”, Communications of the ACM, Vol 43, No 10, October 2000.

Kozaczynski W. (1999), “Composite Nature of Component”, in Proceedings of International Workshop on Component-Based Software Engineering: Held in conjunction with the 21st International Conference on Software Engineering (ICSE99) Los Angeles, CA, USA, May 17-18.

27

Krutchen P. (1999), “The Rational Unified Process”, Addison-Wesley.

META Group (2000), “Enterprise architecture Strategies Process Model: Evolution 2000”, META Practice, No 3, Vol 4, April 2000.

Meyer, B. (1994), “Reusable Software: The Base Object-Oriented Component Libraries”, Prentice-Hall International.

Meyer B. (1997), “Object-Oriented Software Construction”, 2nd edition, Prentice-Hall.

Microsoft Corp. (2000), “Microsoft Repository and Open Information Model (OIM)”, available at http://msdn.microsoft.com/repository/

NCGIA (1999) – National Center for Geographic Information and Analysis, National GeoData Forum, Washington DC, USA.

Niagara SIG Meeting (2000), (Special Interest Group) CBDi Buying & Selling Components, 19/20th September 2000.

Nierstrasz O., Dami L. (1995), “Component-Oriented Software Technology”, in Object-Oriented Software Composition, ed. O. Nierstrasz and D. Tsichritzis, Prentice Hall, pp. 3-28.

OMG (1998) Object Management Group: Business Object Component Architecture (BOCA) Revised Proposal 1.2, document bom/98-07-01, available at http://www.omg.org

OMG (1999a) Object Management Group: Unified Modeling Language 1.3 specification, document ad/99-06-09. Available at http://www.omg.org/uml/

OMG (1999b) Object Management Group: CORBA Components and Component Model, document orbos/99-02-05, available at http://www.omg.org/.

OMG (2000a) Object Management Group: UML 1.4 Revision Task Force, UML 2.0 Working Group and Request for Proposal, available at http://www.celigent.com/omg/umlrtf

OMG (2000b) Object Management Group: Data Warehousing, CWM And MOF Resource Page, available at http://www.omg.org/technology/cwm/index.htm

OGC -Open GIS Consortium (1998), “The OpenGISTM Guide: Introduction to Interoperable geoprocessing and the OpenGIS Specification”, Third edition, available at http://www.opengis.org.

OGC -Open GIS Consortium (1999), OpenGISTM Service Architecture, product number 99-112, available at http://www.opengis.org.

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

PC Magazine (2000), May 2000, pp. 77.

Perdita S., Pooley, R.J (2000), “Using UML : software engineering with objects and components”, New York : Addison-Wesley.

Perry, D. E. (1989), “The Inscape Environment”, in Proceedings of the 11th International Conference on Software Engineering, IEEE Computer Society Press, May 1989.

Platinum Technology (1999a), “Enterprise Component Modeling (ECM)”, White paper, available at http://www.cai.com/products/alm/enterprise_modeling.htm

Platinum Technology (1999b), “Paradigm Plus”, Product Information, available at http://www.cai.com/products/alm/paradigm_plus.htm

Prieto-Diaz, R., and Neighbors, J. M. (1986), “Module Interconnection Languages”, Journal of Systems and Software, 6:307–334, 1986.

28

Quatrani T. (1999), “Visual modeling with Rational Rose 2000 and UML” Edition 2nd, Addison-Wesley.

Ring K., Ward-Dutton N. (1998), “Componentware – Building it, Buying it, Selling it”, Ovum Ltd.

Sammetinger J. (1997), “Software Engineering with Reusable Components”, Springer-Verlag Berlin Heilderberg.

SanFrancisco, IBM Software Products, all information available at http://www-4.ibm.com/software/ad/sanfrancisco/

Sessions R. (1998a), “COM and DCOM”, John Wiley Press.

Sessions R. (1998b), “Component-Oriented Middleware”, Component Strategies, October 1998.

Schulz F. (1995), “Open System Environment (OSE): Architectural Framework for Information Infrastructure”, NIST Special Publication 500-232.

Siegel J. (2000), “CORBA 3: Fundamentals and Programming” OMG Press, John Wiley & Sons, Inc.

Sodhi J., Sodhi R. (1998), “Software Reuse: Domain Analysis and Design Process”, McGraw-Hill.

Sommerville I. (1996), “Software Engineering”, Addison-Wesley Publishing Company.

Sprott D. (2000), “Components in the Finance Sector”, The Journal of Component-Based Development &Integration, March 2000, available at http://www.cbdiforum.com.

Sterling Software (1998), “The CBD96 Standard, version 2.1”, http://www.cool.sterling.com/CBD/CBD96.htm

Szyperski C. (1998), “Component Software: Beyond Object-Oriented Programming”, ACM Press, Addison-Wesley.

Telematics Research Programme, An Applied Research Programme of the European Commission, DG XIII C/E, 1999, http://158.169.50.95:10080/telematics/

TINA-C (Telecommunications Information Networking Architecture) (1996), Service Architecture 4.0, http://www.tinac.com

Udell J. (1994), “Cover Story: Componentware”, Byte Magazine, May 1994.

Vckovski A. (1998), “Interoperable and Distributed Processing in GIS”, Taylor & Francis Inc.

Veryard R. (2000), “Plug and Play: Towards the Component-Based Business”, Springer London, in preparation, November 2000.

Warmer J.B., Kleppe A.G. (1999), “The object constraint language : precise modeling with UML”, Addison-Wesley.

W3C (2000) World Wide Web Consortium, “Extensible Markup Language (XML) 1.0”, Second Edition, available at http://www.w3c.org/XML/

Wiederhold, G., Wegner, P., and Ceri, S. (1992), “Toward Megaprogramming,” Communications of the ACM, Vol 35, No 11, November 1992.

Yin R.K. (1994), “Case Study Research: Design and Methods”, Second Edition, SAGE Publications.

Zahavi R. (2000), “Enterprise Application Integration with CORBA: Component and Web-Based Solutions”, OMG Press, John Wiley & Sons, Inc.