An Update About the meSch Server Architecture
Most blog posts up to now have been focused on conceptual and design issues around realizing tangible interaction with (digital) heritage artifacts in smart exhibitions. Of a completely different nature (but nevertheless very much intertwined with the other research in the project) is the work done in the meSch consortium regarding the realization of the software infrastructure behind the whole meSch architecture. Much effort has been put into this, but up to now it hasn’t had much attention on the website, so it’s time for an update. In this blog post the server side needs for the meSch platform, its challenges and the underlying software infrastructure that has been chosen to address these needs and challenges will be discussed.
The overall goal of the meSch project is to provide a fully comprehensive, easy to use, and extensible platform for curators to conceptualize, design, develop and deploy smart objects in an interactive exhibition space. These smart objects (like a magnifying glass or a replica of a heritage artefact) are enriched with digital technology while intelligent spaces embed sensors: both react to people, spaces and smart objects. A bespoke application will adapt the content and the behaviour of the object or space to visitors, their social context and the environment. Curators, using the platform, should be able to model an exhibition, define personalized experiences for it, define objects for that experience by selecting and combining digital content with physical objects, add behavior to the objects, build the objects, and deploy them onsite. The system should collect visitor interactions in the resulting smart exhibition to support the creation or the adaptation of experiences, and provide additional online tools that will allow visitors to continue their experience once at home at their own computer or device. Ultimately it will be possible for visitors to physically ‘touch the story’ in the museum or at heritage sites and continue their experience at home.
The meSch architecture is composed of three main subsystems. These are:
- The server side system, which itself consists of the following four components:
- The business logic services, which provides intelligent support for curators, tools for visitors and data analysis of user interactions.
- The content repository, which provides support for curators to upload specific content they need for building the exhibitions.
- The data integration components, focusing on integrating data from external sources into the system, like Europeana, specific museum databases and more general sources like Wikipedia and Flickr.
- The online experience tools, allowing curators to publish exhibitions online and allowing visitors to visit these to continue their experience online once they visited the exhibitions onsite.
- The Authoring Tool, allowing curators to graphically build the exhibition, experiences and objects. Here we focus on providing a tool which is very easy to use and flexible so it can be adapted to different contexts, types of experiences and visitors. The tool should communicate with the server to acquire data, to manage content and to search data in the integrated sources.
- The onsite architecture, composed of the physical smart objects that have been created and put into place by the curators. The system collects the interaction of the visitors with the smart objects in the museum or at the heritage site and communicates the collected data with the server.
This blog post focusses on the server side architecture (the first of the three main subsystems). First, we depict the core requirements which emerged from the above summarized scenario and then we will discuss the technical choices that have been made to address these requirements.
Some of the main functional requirements that should be addressed by the server component are:
- To provide the authoring tool the necessary functions to model and create exhibitions, experiences and artifacts.
- The ability to search and select multimedia content available on the internet to be used to enrich the tangible objects and to provide additional experiences to the online visitor.
- To support the curator in the task of creating experiences, considering the different types of visitors that could attend the exhibitions (the story for a child will be different than a story for an adult).
- The ability to collect the results of the onsite visitor interactions and exploit them to support the curator in the creation of the next exhibitions.
- To support an easy creation of exhibition dedicated websites, by making it possible to easily publish information on the exhibition on the web and supporting the online experience of the user in a personalized way.
Considering the technical requirements, the full system is very complex and several components to address the specific business logic of meSch should be developed explicitly; it is very important to start with the right set of existing tools and components that are already available.
Furthermore, as the development team is distributed, the development and runtime environment should be designed to maximize the possibility to work simultaneously on different components. At the same time it is important that it is easy to integrate and test the full system while it is developed.
The server should therefore be characterized by:
- A robust and easy to extend technical infrastructure, allowing to develop new components and to integrate them in the system without affecting other components already developed.
- A data integration system allowing content to be retrieved from existing repositories, like Europeana, or the ones provided directly by the museums.
- A personalization system, supporting the creation of personalized exhibitions, according to the target group of visitors and to the type of content to be exploited.
- A local repository, allowing the curator to upload their own specialized content for the specific exhibition.
- An onsite architecture allowing to deploy exhibitions in a flexible way, while at the same time being able to integrate and communicate with the server side components.
To support the challenging tasks described above, we have identified the following infrastructural components on which we will build the system.
Portal Based Integration Platform
To address the needs of the extensibility of the platform, the possiblity to develop in a parallel and distributed way, and the need to have a flexible and well defined integration mechanism, we will exploit portal server based technology, which is compliant with the JSR 286 specification. This is a well-defined standard providing specifications for integrating services and graphical components (portlet) in a robust and flexible way.
In particular, we will adopt Liferay Portal Server, an open source and largely adopted system for developing enterprise complex web solutions. Liferay will address several infrastructural needs:
- Development and integration of custom components dedicated to meSch platform.
- Content management, to support the creation and authoring of new contents for exhibitions and experiences.
- Multitenant support, to easily create separate spaces dedicated to each museum or exhibition.
The system will exploit SOLR, an open source enterprise level search engine, ensuring fast indexing and search on the large number of items and content the system is going to exploit.
EXIST XML:DB, a powerful open source XML database, will be used as configuration repository and as data transformation engine. EXIST XML:DB supports xquery, a query language designed to be broadly applicable across many types of XML data sources.
Finally, to support the personalization and data integration needs we will extend the Suggesto technology based on the Trip@dvice framework originally developed by meSch partner ECTRL for supporting personalized recommendations of products. Suggesto will provide meSch personalization and recommendation algorithms to be used as building blocks for building new functionalities, and a data integration architecture, to support the integration of external data sources.
Still many issues are open and will be addressed in the next months. Among these are:
- How to integrate the onsite architecture with the server side meSch platform;
- Design a domain object model allowing to represent the physical objects that will be created and deployed;
- Identify the data sources to be used as content providers and how they should be integrated within the system;
- Design the tools for curators for supporting their creation tasks;
- Integrating the personalization features into this heterogeneous scenario.
About Suggesto technology:
- F .Ricci, D. R. Fesenmaier, M. Mirzadeh, H. Rumetshofer, E. Schaumlechner, A. Venturini, K. W. Wöber and A. Zins, “DIETORECS: A Case-Based Travel Advisory System” in Destination Recommendation Systems: Behavioural Foundations and Applications, CABI Publishing, June 2006
- F. Ricci, D. Blaas, N. Mirzadeh, A. Venturini and H. Werthner, “Intelligent Query Management for Travel Products Selection”, proceedings of ENTER 2002 Conference, Innsbruck, Austria, January 2002
- See also http://www.ectrlsolutions.com/publications