Deliverable D6.3.1
Total Page:16
File Type:pdf, Size:1020Kb
Grant Agreement Number: 257528 KHRESMOI www.khresmoi.eu State of the art, concepts and specification for the “Early software architecture” Deliverable number D6.3.1 Dissemination level public Delivery date 10th of May 2011 Status Version 1.1 Emmanuel Jamin, Vassil Montchev, Author(s) Konstantin Pentchev, revised by Allan Hanbury This project is supported by the European Commission under the Information and Communication Technologies (ICT) Theme of the 7th Framework Programme for Research and Technological Development. D6.3.1: State of the art, Concepts, and specification of the Early Prototype Executive summary This document reports on the foundations of the architecture and integration aspects of the Khresmoi project. This includes the technical and functional requirements that imply technical choices and integration decisions for the architecture design. To provide the architecture description and the system specification, an iterative approach has been followed. The structure of the document reflects the main aspects of this approach. At first, two kinds of state of the art are presented. The first one compiles the systems that use similar technologies into four different domains (information retrieval, semantic web systems, multimedia search engines, and platforms for natural language processing). This permits to situate the technical position of the Khresmoi system and provides recommendations in terms of technical requirements. The second state of the art retraces the main technologies for the system integration. Based on this state of the art, the decision is made to adopt the SOA approach, as it offers the best features in terms of flexibility and scalability to be used in the Khresmoi system. In the list of SOA approaches, the SCA approach provides the most generic specification of software components and the mechanism to compose services. Thus, SCA provides a useful software infrastructure to integrate and deploy various software components as loosely coupled services. Based on the general requirements and the integration decisions, the abstract and logical structure proposed by the SOA approach is used to define the Khresmoi architecture. Then the logical layers and their respective functional modules are described. After several iterations between top-down (components analysis) and bottom-up (user requirements) approaches, the main services of Khresmoi were identified. Finally, as the main components of the system were identified, their specification as services and their interactions with other services are described. The integration mechanism proposed by the Service Component Architecture (SCA) is described as an integration guideline and examples of integration are provided. To complete the specification section, the development environment is described. Descriptions of tools and development guidelines are provided. Page 2 of 84 D6.3.1: State of the art, Concepts, and specification of the Early Prototype 1 Table of contents EXECUTIVE SUMMARY .................................................................................................................................... 2! 1! TABLE OF CONTENTS ................................................................................................................................ 3! 2! LIST OF ABBREVIATIONS ......................................................................................................................... 5! 3! LIST OF FIGURES ......................................................................................................................................... 6! 4! LIST OF TABLES ........................................................................................................................................... 7! 5! INTRODUCTION ........................................................................................................................................... 8! 5.1! OBJECTIVES ................................................................................................................................................ 8! 5.2! SUMMARY OF THE INTEGRATION FRAMEWORK .......................................................................................... 8! 5.2.1! Approach ............................................................................................................................................ 9! 5.2.2! Conceptual integration ...................................................................................................................... 9! 5.2.3! Technical integration ......................................................................................................................... 9! 5.2.4! Work plan for the integration .......................................................................................................... 10! 5.3! PLAN ......................................................................................................................................................... 11! 5.3.1! State of the art .................................................................................................................................. 11! 5.3.2! Concepts of the Khresmoi architecture ............................................................................................ 11! 5.3.3! Specification of the Khresmoi system .............................................................................................. 12! 6! STATE OF THE ART ................................................................................................................................... 13! 6.1! INTRODUCTION ......................................................................................................................................... 13! 6.2! ARCHITECTURAL VIEWPOINT .................................................................................................................... 14! 6.2.1! Architecture for Information Retrieval systems ............................................................................... 14! 6.2.2! Architecture for Semantic Web systems used as a knowledge base server ...................................... 16! 6.2.3! Architecture for Multimedia search engine ..................................................................................... 17! 6.2.4! Architecture for Platform for Natural Language Processing .......................................................... 19! 6.2.5! Main requirements coming from the state of the art ........................................................................ 21! 6.3! EXISTING TECHNOLOGIES FOR INTEGRATION ASPECTS ............................................................................. 22! 6.3.1! Different approaches for the system integration ............................................................................. 23! 6.3.2! Methodology to build SOA system ................................................................................................... 28! 6.3.3! Cloud and virtualization .................................................................................................................. 35! 6.4! GENERAL REQUIREMENTS AND INTEGRATION DECISIONS ......................................................................... 37! 6.4.1! List of the main components to be integrated .................................................................................. 38! 6.4.2! General scenario and user requirements ......................................................................................... 40! 6.4.3! Conclusions about the User requirements ....................................................................................... 42! 6.4.4! Integration decisions ........................................................................................................................ 42! 7! CONCEPTS OF THE KHRESMOI ARCHITECTURE .......................................................................... 44! 7.1! OVERVIEW OF THE KHRESMOI ARCHITECTURE (MAIN LAYERS) ............................................................... 44! 7.1.1! Architectural overview ..................................................................................................................... 44! 7.1.2! The Layered Architecture ................................................................................................................ 46! 7.2! TWO COMPLEMENTARY CORE SYSTEMS ................................................................................................... 47! 7.2.1! The Service Layer ............................................................................................................................ 47! 7.2.2! The Search Core services ................................................................................................................. 48! 7.2.3! The Batch Core services .................................................................................................................. 48! 7.3! DESCRIPTION OF THE KHRESMOI SERVICES .............................................................................................. 48! 7.3.1! 1 - Application Services ................................................................................................................... 49! 7.3.2! 2.1 – Search Core services ............................................................................................................... 49! 7.3.3! 2.2 – Batch Core services ................................................................................................................ 50! 7.3.4! 3 - Persistence