Garzotto-illustration
March 22-25, 2006
Albuquerque, New Mexico

Papers: MEDINA Three Years Later: Towards
“Enterprise Frameworks” For Cultural Tourism Web Applications

Franca Garzotto, HOC- Hypermedia Open Center, Department of Electronics and Information, Politecnico di Milano, Italy

Abstract

The MEDINA project aims to promote cultural tourism in the Mediterranean basin by means of a transnational multimedia Web portal that addresses Mediterranean culture as a whole and is integrated with a federation of national Web sites, each one dealing with the local heritage of a specific Mediterranean country. A cost-effective development of the overall ‘system’ is made possible by a suite of tools that constitute an enterprise framework for cultural tourism. They offer a semi-complete application skeleton that can be easily adapted to produce customized Web sites in this domain. The MEDINA framework implements a ‘model-based’, ‘end-user development’ approach: built for and with domain experts (cultural tourism specialists), MEDINA provides a set of user-friendly functionalities that hide the implementation complexity and can be used by users with no technical know-how to design a Web site by remodelling, to set up a (customized) design schema with the proper multimedia contents, and to dynamically generate applications on-the-fly, as the development process proceeds.

Keywords: Cultural tourism, enterprise framework, end-user development, dynamic Web generation

Introduction

The MEDINA project – presented at ICHIM’03 for the first time (Garzotto et al. 2003) – is an initiative partially funded by the European Commission under the Eumedis Program (http://www.medinaproject.net/). It involves National Tourism Agencies, Ministries of Tourism and Culture, and Cultural Tourism Associations of twelve countries in the Mediterranean basin (Italy, Greece, France, Morocco, Tunisia, Algeria, Cyprus, Malta, Lebanon, Palestinian Authority, Syria, Jordan). The purpose of MEDINA is to exploit ICT technology to promote cultural tourism in the Mediterranean area, especially in less developed countries. The project aims at encouraging innovative ways of handling tourism through the deep understanding of local civilizations and the promotion of destinations that are usually not mentioned in standard “all inclusive” packages proposed by tour operators. To achieve these goals, the MEDINA project is building a federation of national Web sites (one for each project country) under the umbrella of a Mediterranean portal. The overall ‘system’ provides multimedia information about the material and cultural heritage of the Mediterranean basin (including monuments, landscapes, gastronomy, folk traditions, and performing arts) and links to external, pre-existing tourism information and services. Each national Web site focuses on the culture of a specific country, and also pinpoints its relationship with other cultures. The portal addresses the common cultural roots of the different nations, highlighting the cross-influences of the different civilizations born in the Mediterranean basin, and acts as a “gateway” towards the federated national Web sites.

After three years of project activity, this paper presents the MEDINA experience and results, from a methodological and technical perspective. We discuss the general approach of the project, which is based on the definition, for both portal and federated national Web sites, of a cultural “model”, a conceptual design for the information architecture, and a content production strategy shared among all project partners. We describe the technical solutions of MEDINA, which started with a set of project specific tools and progressively evolved to become a more general enterprise framework for Web-based applications in cultural tourism. We finally pinpoint the potential of the MEDINA framework from a more general perspective; i.e., for building content-intensive applications on the Web in a way that is cost-effective and sustainable in the long-term (especially for less developed countries). We conclude by outlining the current directions of our work.

1. Why an Enterprise Framework?

The concept of enterprise framework exemplifies the notion (well known in software engineering) of application framework (Codenie et al, 1997, Fayad et al. 1997, Fayad M.E., Schmidt et al. 1997). An application framework leverages the knowledge and prior effort of experienced ‘developers’ and provides a semi-complete application skeleton that can be easily adapted to produce customized software products. It provides powerful means to support reuse of software design artifacts and implementation components, avoiding re-creating and re-validating common solutions to recurring application requirements and design challenges, thus reducing development costs. An enterprise framework can be regarded as an application framework for a specific business sector: it captures the experience of both software developers and domain experts in a specific field, and makes it reusable through customization of both implementation components and domain specific design solutions.

For several reasons, the MEDINA project provides a ground where the need for enterprise frameworks is very strong:

Development Costs

It would be prohibitively costly and time-consuming to develop each MEDINA national Web site entirely from the ground up. The reusability characteristics of any framework can yield substantial improvements in the productivity of the many development teams, as well as enhance the quality, performance, and reliability of the final national Web sites and of the MEDINA portal.

Interoperability

The portal and the federation of national sites must provide a coherent scenario for the cultural tourist, so that transition from one site to another is smooth and intuitive for the user. By supporting the development of applications that share design solutions at multiple levels – from information design to interaction design to the implementation architecture – a framework based approach ensures the technical interoperability of the different Web sites and enforces the harmonization of user experiences.

Sustainability

The MEDINA project involves a number of partners who do not have a strong technological background. These teams need technical solutions that hide the complexity of some implementation components and can be easily customized according to local needs. An enterprise framework is not only a productivity tool, but also a channel for know-how transfer and sustainability. By understanding the framework and learning how to use it, local teams can maintain their national Web sites after the project ends, make them evolve, and exploit the framework to build other cultural tourism applications.

The enterprise framework developed for the MEDINA project is named (not surprisingly) MEDINA. In the rest of the paper, the term MEDINA will refer to the framework, while we explicitly say “MEDINA project” to refer to the whole project.

2. MEDINA General Approach

The novelty of the MEDINA enterprise framework lies first of all in its domain – cultural tourism. Our analysis of the state of the art (see section 6) reveals that, apparently, no enterprise frameworks exist in this business sector, which is important for the exploitation of cultural heritage digital contents, and economically crucial for many countries. MEDINA is also innovative for its philosophy: it shifts the perspective of enterprise frameworks from developers to “domain experts”. While frameworks are traditionally intended to be used by software implementers, the MEDINA framework is meant to be a tool also (and above all) for experts in cultural heritage and tourism. Usually, these professionals lack technological expertise but know the requirements of the end users of the product under development; they plan, select, structure, edit, and revise the actual contents. Indeed, they can be considered among the most relevant ‘owners of problems’ for cultural tourism hypermedia, and therefore as the main target users of enterprise frameworks for this domain. MEDINA has been conceived for and with top-level specialists in tourism and cultural heritage. It provides a user-friendly, easy-to-use, visual environment where they can design ‘by reuse’ their applications, instantiate the design schemas with the proper multimedia contents, and generate high quality Web-based hypermedia applications without learning any specific implementation technology.

MEDINA’s ultimate goals are:

  1. to empower institutions to create and maintain their hypermedia artifacts without the need for in-house trained programmers or expensive outsourcing
  2. to let these institutions exploit the competence of in-house domain expert staff, focusing their (usually limited) financial resources on application design and on high quality contents, rather than on programming.

In other terms, MEDINA implements a paradigm that is becoming more and more fashionable in the fields of human-computer interaction and software engineering: the concept of end user development, defined as “… enabling non computer professionals to personalize computer applications … and/or design/develop new ones without ever seeing the underlying program code” (Sutcliffe et al. 2004).

In order to define more specific requirements of the MEDINA framework, approximately twenty cultural heritage experts (partners of the MEDINA project) have been involved in requirements definition, design, and evaluation since the very early stages of framework development. Requirements elicitation applied several techniques, ranging from structured interviews and questionnaires, to focus groups and ethnographic studies carried on during on-site visits of the teams of the MEDINA project in their local countries and contexts of work. The elicitation activity highlighted an important expectation of domain experts, one which drives the overall MEDINA approach: they desire tools to facilitate the development of not just Web-based hypermedia, but successful Web-based hypermedia. They are also convinced that that the key factors for successful hypermedia are quality of contents and usability of information architecture and navigation structures.

To promote usability, we have adopted a model-based, schema-driven approach to hypermedia development (Garzotto et al. 1993, Garzotto et al. 1995, Ceri et al. 2003). Research and practice in hypermedia acknowledge that this approach potentially leads to more usable applications than ‘page-by-page’, schema-free development. It induces developers to focus, first of all, on the relevant conceptual aspects of interactive applications (content design, navigation design, interaction design) rather than on low level implementation details or fine-grained layout features. MEDINA provides a set of tools that enable framework users to easily customize the built-in design schemas according to the actual needs of the application under development, and to generate the final application by systematically instantiating (i.e., filling the multimedia data in) the (customized) design schemas. The MEDINA schema language, or design model (i.e., the set of concepts and primitives for design specification), is easy for domain experts to understand, and close to their mental model and their view of the domain.

In addition, the framework supports a flexible workflow, enabling smooth transitions among different customization and instantiation tasks. Finally, it provides immediate visual feedback during the design and instantiation tasks, to facilitate the creation of a shared understanding within the development team of what is achievable, and of the effects of different design and instantiation choices.

3. The MEDINA Design Model

The MEDINA design model defines the key ‘terms’ to specify the conceptual design of a cultural tourism hypermedia. It provides a set of concepts that domain experts should understand in order to grasp the meaning of the built-in design schema and to customize and instantiate it. The MEDINA design model comprises the primitives discussed in the rest of this section. Their explanation is supported by examples and screen-shots from the MEDINA National Web Site of Tunisia (http://medina.hopto.org/tunisia/pages/).

Cultural Axis (Axis, for short) and Topic

An Axis is a type of topic – subjects that are of interest for the end user of the application under development. For example, “cous-cous in Tunisia” is a topic for Axis “Gastronomy”, and “Carthage” (an important archaeological site in Tunisia) is a topic under Axis “Material Heritage”. MEDINA provides a set of built-in Axes: material heritage, landscape, performing arts, folk tradition, food & gastronomy, handicrafts, practical information, geographic information, what is… (the latter denoting topics that have a concept definition purpose, such as “what is a suq?”).

Built-in Axes have been defined by the multi-national team of cultural tourism and cultural heritage experts of the MEDINA project. New Axes can be defined by the framework users during the process of design customization. An Axis defines a multimedia data structure to represent its topics, using the following attributes: Title, Subtitle, Short Description, Description (textual attributes); Images (list of cardinality N of structured multimedia attributes: <Large size image, caption>); Small images (list of cardinality N of structured multimedia attributes <Small size image, caption>); Audios (list of cardinality N of structured multimedia attributes <audio, (optional) transcript>); Videos (list of cardinality N of structured multimedia attributes <video, (optional) transcript >); Related Web Sites (list of cardinality N of structured multimedia attributes <url, comment>). To address the need for multi-linguism (a frequent requirement of cultural applications), language sensitive attributes (textual and audio attributes) are indeed substructured to support multiple ‘versions’, in different languages, of the same attribute value.

Figure 1 shows the various attributes and relevant associations (defined below) for a topic of Axis “Cultural Heritage”: the archaeological site of Carthage, in Tunisia.

Fig 1: The Web page for the topic “Carthage” – Material Heritage Axis

Fig 1: The Web page for the topic “Carthage” – Material Heritage Axis

Relevant Association (Association, for short)

Associations represent relationships among topics which are rendered through links in the application generated by the framework. For example, the topic “Carthage“ may have associations with the museums where its archaeological findings (e.g., statues, mosaics) are exhibited (see Figure 1). MEDINA provides a set of built-in types of associations, such as the generic relationship related information (to mutually relate topics of Axes material heritage, landscape, performing art, folk tradition, food & gastronomy, handicraft), “where” (to relate topics of the above Axes with topics of Axis geographic information), and Related Touristic Info (to relate topics of the above Axes with topics of Axis Practical Information). An association can be optionally labelled with a Descriptor – a textual attribute (which appears in the generated application when the end user “rolls over” a link with the mouse) that is useful to explain why a topic is associated to another one. In figure 1, for example, the descriptor explains why the topic “Carthage” is linked to the topic “Bardo Museum”. This textual attribute, and the captions required for images and videos in the topic structure, ensure that the final applications fulfil some W3C Web Content Accessibility Guidelines (WCAG) and are appropriate, in principle, for visually impaired users.

Cultural Pathway (Pathway for short)

Like a virtual itinerary, a pathway groups topics (of different axes) that are relevant to a theme of interest for the users of the application under development. An example is Colours in Tunisia (see figure 2). A pathway is defined by a multimedia introductory description, the grouped topics, and the chosen Navigation Pattern. A Navigation Pattern is generic navigation topology that defines how users move across the topics grouped by a pathway. The most popular navigation patterns are Index, Guided Tour, Index + GuidedTour, All-to-all (Garzotto et al. 1999). For example, the Index Pattern defines a one-level tree topology, i.e., a set of bidirectional links from an introductory element to each member of a group of topics. The Guided Tour pattern defines a sequence topology, i.e., a set of bidirectional links from a member of a group of topics to the “next” and the “previous” ones. The Index + GuidedTour pattern (the default one for MEDINA pathways) is a combination of the Index and Guided Tour patterns.

Fig 2: Pathway “Colors in Tunisia”

Fig 2: Pathway “Colors in Tunisia”

4. MEDINA Tools

The users of the MEDINA framework can perform two kinds of tasks: design schema customization and design schema instantiation. These tasks are supported by the following integrated tools:

Customization Design Tool

It allows users to extend the set of built-in axes by defining new ones, to modify the built-in navigation patterns for pathways (by selecting a different pattern from a pattern library provided by the framework), and to set the languages that will be adopted in the application for language sensitive attributes in the definition of Axes.

Instantiation Tool

This schema-driven data-entry tool provides, for each instantiation task, the proper data entry ‘form’. It allows users to create/update the topics of the various Axes (figures 3 and 4), the instances of the various built-in Relevant Associations (figure 5), and the pathways (by defining the multimedia values for their introductions and selecting the topics they group). The creation of the actual pieces of content (texts, video, sounds, images) is performed outside the MEDINA framework, using appropriate multimedia authoring tools. Through the Instantiation Tool, users can assign previously created data sources to the attributes of the topic under creation/update, and create on-the-fly textual attributes such as titles, sub-titles, pathway introductory descriptions, image and video captions, or Descriptors for the Relevant Associations.

Fig 3: List of topics created for Axis Material Heritage

Fig 3: List of topics created for Axis Material Heritage

Fig. 4: Creating Topic “Carthage”– Axis Material Heritage

Fig. 4: Creating Topic “Carthage”– Axis Material Heritage

Fig 5: Creating a Relevant Association, and specifying the Descriptor

Fig 5: Creating a Relevant Association, and specifying the Descriptor

Generation Tool

MEDINA supports the dynamic generation and publication of the application pages by means of a Generation Tool that is hidden to the framework users and is outside their control, but is the core engine for the overall environment. The Generation Tool produces the pages of the final application (as discussed in section 5), displaying all content attributes of topics, the links corresponding to the associations, the links to navigate to, from, and within pathways, and the landmark links (i.e., the links, available in all pages, i.e., to the home page). It also supports the creation and update of the following dynamic pages (accessible via links available in each page):

Visited & Missed, which lists all topics for all axes (previewed on demand, as in figure 6, by moving the mouse on the different little squares), distinguishing the ones already visited (in darker color)

My Favourites (figure 7), which represents a kind of end-user Personal Itinerary created during navigation by ‘marking’ the topics of interest.

Fig 6: Visited and Missed (preview of “Hamman”, or “Turkish Bath”)

Fig 6: Visited and Missed (preview of “Hamman”, or “Turkish Bath”)

Fig 7: “My Favorites” – a personalized itinerary created during navigation

Fig 7: “My Favorites” – a personalized itinerary created during navigation

Finally, the Generation Tool is used for preview purposes, as discussed below. :

Previewer

This is a feedback tool which allows framework users to display and navigate the pages corresponding to all the instances they have created or updated so far, and therefore enables them to inspect the effects of their work as it proceeds. Since the Previewer calls the Generation Tool, responsible for the generation of the final application, the previewed pages appear with the same lay-out and navigation capability as in the final end-user application. Assume, for example, that the topic “Carthage” is created (Figure 4), associated to another Topic (e.g., Bardo Museum – Figure 5), joined to Pathway “Colors of Tunisia”. The Previewer (invoked by clicking the button Preview in Figure 4 or the small eye icon in figure 3) displays the page corresponding to this topic: the framework user can navigate from here to the pages displaying the associated topics (e.g., Bardo Museum), return to Carthage, and navigate to Pathway “Colors of Tunisia” where “Carthage” has been inserted.

5. MEDINA Software Architecture

The software environment is the same for the end users of the final application as for the development team (i.e., the framework users): the same architecture serves the execution of the customization, instantiation, and preview operations, and the dynamic generation of the final application.

The architecture exploits a well-known approach in Web engineering: separating the application business logic from its presentation and control logic. The presentation logic, delegated to the client side, manages user interaction and data (dis)play. The control logic, delegated to the server side, interprets the requests from the presentation level, manages the functionality defined by the business logic (e.g., data retrieval or update, composition of the required HTML page), and returns an HTML page to the presentation level via the network infrastructure using the HTTP protocol.

The framework architecture is modelled according the Model-View-Controller (MVC) design pattern (http://java.sun.com/blueprints/patterns/MVC-detailed.html). This pattern divides an application into three logical categories of objects: Model, View, and Controller. Model objects (collectively referred to as ‘Model’) represent application domain data and the business rules that govern access to and updates of this data. View objects are responsible for rendering the contents of the Model and forwarding user commands to the Controller. Controller objects (collectively referred as ‘Controller’) are responsible for mapping user requests to operations on the Model, for executing them, for building the proper View, and for returning it to the client. In Web applications, user ‘commands’ appear as HTTP page requests. View objects typically correspond to HTML pages. Based on the page request, the results of the operations on, and the state of the Model, the Controller generates the next HTML page to display and transmits it to the client for presentation.

Figure 8 depicts the application of the MVC pattern in the architecture of the MEDINA framework, and shows the flow of control and data.

Fig 8: MEDINA software architecture

Fig 8: MEDINA software architecture

The diagram highlights that MEDINA framework serves requests both from the framework users (for design schema customization and instantiation) and from end users of the final application (for navigational requests).

The View Components in MEDINA

In our framework, Views correspond to HTML pages which are generated by Controller objects using the data in the Model and viewed through the client browser, and the Library of Presentation Templates, which provide the specifications of lay-out properties for the different types of pages.

Presentation Templates are implemented using a standard, largely platform independent language. A graphic designer can retrieve and easily customize them simply by modifying some lay-out attributes. The Presentation Templates Library is implemented as a repository of XTPL files (http://sourceforge.net/projects/xtpl/) and associated CSS (Cascade Style Sheet) specifications (Meyer, 2004). The former can be regarded as structural skeletons of plain HTML pages, without any content or lay-out attributes. CSS files describe the visual properties of Web pages that instantiate the Templates.

The Model Components in MEDINA

The Model in our framework comprises the Object Layer, the Hypermedia Data Base, and the Data Access Layer.

The Object Layer stores the classes and objects that implement the definitions of information and schemas, and their instances. The Object Layer classes provide the methods for the operations that define the business logic of the application. Conceptually, the main operations are:

  1. retrieval (from the underlying Hypermedia Data Base – see below) of the multimedia information pieces that must be presented in the next page to display;
  2. validation and persistent storage of the data entered by the user.

The Object Layer is updated when framework users customize the design schemas for the specific applications, or instantiate them. Objects representing the Visited & Missed and My Favorites are updated when the end users move from one page to another, or when they manage their own itineraries (e.g., adding or deleting an item). The Object Layer abstracts from the implementation characteristics of the Model, defined in the Hypermedia Data Base component, which stores the data structures that implement the Object Layer.

The Data Access Layer is the interface between the two previous components. The purpose of this component is to translate the operations of the Objects Layer into commands that the DBMS understands – regardless which database management system (DBMS) is handling the data.

The design of the Model in MEDINA fulfils the need for encapsulation and information hiding, allows different data bases to share the same higher level Model components, and makes the development of different MEDINA applications easier to implement, test, and maintain.

The MEDINA Object Layer is implemented using PHP (the same implementation language used for the Controller components). PHP – recursive acronym for “PHP: Hypertext Preprocessor” (http://www.php.net/) – a widely-used open source general-purpose Object Oriented scripting language that is especially suited for Web development and can be embedded into HTML. What distinguishes PHP from something like client-side JavaScript is that the code is executed on the server side.

The Data Access Layer is implemented in ODBC (Open DataBase Connectivity http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbc_part_1.asp), a standard commercial component that supports the access to relational data from any application, regardless of which DBMS is handling the data. ODBC can be regarded as a ‘database driver’ between an application and the DBMS. The choice of ODBC enforces modularity and scalability of the MEDINA architecture, since it does not bind it to a specific database. Any DBMS that does support an ODBC link (e.g. MS Access, or open source DBMSs such as MySQL and PostgreSQL) may be adopted by developers using the MEDINA framework.

The Hypermedia Data Base is currently implemented in the MS Access DBMS. To keep the database footprint low and ensure cross-platform compatibility, large binary objects such as images, audio files and videos) are not stored into the DBMS but on the file system, while the database only contains references (URIs) to multimedia files.

The Controller Components in Medina

The MEDINA Controller comprises the following components:

The Front Controller: it is responsible for forwarding user commands to the Action Library, and triggering the execution of the proper Action.

The Action Library: this component stores the Action objects. An Action defines a set of operations needed to fulfil the user request. Based on the user request, these operations invoke the proper methods in the Object Layer, update the Model, and retrieve the data to be displayed.

The Data/View Controller: this is a run-time component that represents the Action in execution

The Presentation Engine: it is responsible for the composition of the HTML page to be displayed to the user. Based on the results of the operations on and the state of the Model, the Presentation Engine selects the appropriate presentation template, assembles the data returned from the operations, and composes the HTML page to return to the user.

The Front Controller is a standard Web server, while Actions are implemented as PHP ‘pages’, i.e., parametric programs coded in PHP. Based on the user command, the Web server retrieves from the Action Library the proper PHP page and launches its execution. The PHP page contains the instructions to invoke the proper methods in the Model Object Layer, which returns the proper data for the page to be displayed. The PHP page also contains the identifier of the needed Presentation Template. It forwards it, together with the data, to the Presentation Engine for HTML page construction.

The Presentation Engine uses XTemplate, a PHP compliant Open Source template engine (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbc_part_1.asp) that creates HTML pages on the basis of: the data sent by a PHP program, a page template (a XTML file) and a CSS. It merges the data into the HTML template and ‘applies’ the CSS lay-out specifications. The HTML page so created is ready for publishing, and is returned to the running PHP page (program). This PHP page ‘terminates’ by sending the HTML page to the Web server responsible for the final delivery to the client browser.

6. Related Work

Documented exemplars of enterprise frameworks are relatively few, and the examples reported in literature are in broad application areas such as telecommunications, avionics, manufacturing, and financial engineering (Codenie et al, 1997, Fayad et al. 1997, Schmidt et al. 1997, Turau 2002). In these domains, enterprise frameworks have proven to provide a substantial return on investment because they support the development of end-user applications and products directly. The idea of exploiting the concept of application framework for hypermedia dates back to the 80’s, with the pioneer work of Meyrowitz’s Intermedia (Meyrowitz 1996), and it has been later explored by other authors (Schwabe 1999, Berti et al. 2004). Still, most hypermedia approaches are application frameworks rather than enterprise frameworks. A notable exception in the domain of cultural heritage is Pachyderm (Samis 2004), built by a US consortium led by NMC and San Francisco Museum of Modern Art, and involving a number of museums and universities. Pachyderm is an authoring and publishing tool for Web-based museum hypermedia which helps hypermedia development by means of a set of high-quality built-in ‘educational-oriented’ templates which domain experts can fill with multimedia contents and links. Different from MEDINA, Pachyderm is not model based and mainly supports a page-by-page development process.

7. Conclusions and Future Work

The first version of the MEDINA framework has been tested by the partners of the MEDINA project (in most cases, cultural tourism or cultural heritage professionals with no or limited know-how in Web development technology) in Tunisia, Morocco, Cyprus, Syria, and Malta. All are currently using the framework to produce their national Web sites for cultural tourism. Current experiences reveal that MEDINA largely fulfils the requirements of usability and productivity that we want to achieve. Although we are not yet able to quantify precisely the framework economics, i.e., the cost of using the framework vs. building the same applications from scratch, we have at least some empirical data on the framework learnability: understanding the overall approach and the hypermedia design has required less that one day of training; learning the use of the customization and instantiation tools has required less than two hours.

We consider the MEDINA framework as a strategic tool in the vertical market of Web applications not only for cultural tourism, but also for the broader business sector of cultural heritage Web applications. We have started improving and extending the MEDINA architecture for a number of national and international projects in this field (including the EPOCH Network of Excellence in Cultural Heritage – the largest initiative in e-culture currently supported by the EC).

The new directions of our research are also towards frameworks for multichannel Web applications in cultural heritage; i.e., applications delivered on different platforms (e.g. Web-enabled desktop, PDA, CD-ROM, mobile phones). Current mobile technology is becoming progressively more mature, and our ongoing experiments show that the MEDINA architecture is general and flexible enough to address the creation, customization, and dynamic generation of highly usable, cost effective multichannel cultural applications.

Acknowledgements

The author is grateful to the EC Commission and all partners of the MEDINA project. A special thank you goes to the HOC development team, and in particular to Luca Megale, Chiara Bramani, Maurizio Noseda, Nicola Piccinotti, and Lorenzo Vismara.

References

Berti, S., F. Paterno, C. Santoro (2004). “Natural Development of Ubiquitous Interfaces”. Comm. of the ACM Vol. 47, N.49, Sept.04.

Ceri, S, P. Fraternali, A. Bongio (2000). “Web Modeling Language (WebML): a modeling language for designing Web sites”. Proc. 9th WWW Conference, Amsterdam, 2000.

Codenie, W, K De Hondt, P. Steyaert, A. Vercammen (1997). “From Custom Applications to Domain-Specific Frameworks”. Comm. of the ACM , vol. 40, n. 10., Oct. 1997.

Fayad, M.E., D.C. Schmidt (1997). “Object Oriented Application Frameworks”. Comm. of the ACM , vol. 40, n. 10., Oct. 1997. Garzotto , F., P. Paolini, and D. Schwabe (1993). “HDM – A Model-Based Approach to Hypertext Application Design”. ACM Transactions on Information Systems , Vol. 11, No. 1., Jan. 1993.

Garzotto, F., P. Paolini, L. Mainetti (1995). “Hypermedia Design, Analysis, and Evaluation Issues”. Communications of the ACM , Vol. 38, N. 8. Aug. 1995.

Garzotto, F., P. Paolini, D. Bolchini, and S. Valenti (1999). “Modeling by patterns of Web Applications”. Proc. Of the International workshop on the World-Wide Web and Conceptual Modelling, WWWCM'99, Paris, 293-306 Nov 1999.

Garzotto, F., M. Speroni, and P. Paolini (2001). “Transnational portals for culture oriented tourism: the experience of the MEDINA project”. Proceedings ICHIM'03 – Paris (Fr), Sept. 2001.

Meyer, E.A. (2004). “Cascading Stylesheets – The Definitive guide.” 2° ed, O’Relly Ed., 2004.

Meyrowitz, N. (1986). “Intermedia: The architecture and construction of an object-oriented hypermedia system and applications framework.” Proc. OOPSALA’86, Portland, OR, Sept. 29-Oct. 2. ACM Press, New York, NY.

Sutcliffe, A.G., and N. Mehandjiev (2004).” End User Development.” Comm. of the ACM Vol.47, N.49, Sept.04.

Samis, P. (2004). “Making Sense of Modern Art at five.” Presentation at Museums and the Web 2004, April 2004. Abstract available: http://www.archimuse.com/mw2004/abstracts/prg_250000744.html

Schmidt, H.A. (1997). “Systematic Framework Design.” Communications of the ACM , vol. 40, n. 10, Oct. 1997

Schwabe, D., G. Rossi, L. Emeraldo, and F. Lyardet (1999). “Web Design Frameworks: An approach to improve reuse in Web Applications.” Proceedings WWW99 Web Engineering Workshop, Springer Verlag, 1999.

Turau, V. (2002). “Web and e-business application: A framework for automatic generation of web-based data entry applications based on XML.” Proceedings of SAC’02- ACM Symposium on Applied Computing , Madrid (Spain). March 2002.

Cite as:

Garzotto F., MEDINA Three Years Later: Towards “Enterprise Frameworks” For Cultural Tourism Web Applications, in J. Trant and D. Bearman (eds.). Museums and the Web 2006: Proceedings, Toronto: Archives & Museum Informatics, published March 1, 2006 at http://www.archimuse.com/mw2006/papers/garzotto/garzotto.html