= Entity Directory = The Entity Directory (ED) is the storage place for Entity Bindings that bind an operation of a resource to the attributes of entities of interest. The ED offers two interfaces that enable the management of bindings (storage, update, deletion) and to look up the latter. The implementation features a Web GUI that allows users to access these interfaces. For developpers, these interfaces are also directly accessible through REST calls. In what follows, we describe these features and specify the installation procedure of the corresponding software. [[PageOutline(2-3,Table of Contents,inline)]] ---- == Implementation == The ED has been implemented within a REST container RESTlet to offer RESTful APIs. As a result, the buisness logic of the component has been embedded within so-called RESTlet Resources that provide the API to manage the access to the ED operations in a RESTful fashion. One of the key features of the RESTlet framework is also the integration within its API of a template engine, Freemarker that allows to build Web pages on top of the framework RESTful API. This makes the ED accesible through both standard RESTful calls but also through a simple Web site. The implementation features the following path structure: * http://hostname:port/eoi/ : ED index page * http://hostname:port/eoi/bindings : List of bindings * http://hostname:port/eoi/entities : List of entities * http://hostname:port/eoi/epi : Entity Publication Interface * http://hostname:port/eoi/eli : Entity Lookup Interface * http://hostname:port/eoi/bindings/{itemName} : Access binding with ID itemname * http://hostname:port/eoi/subscribe : Subscription interface * http://hostname:port/eoi/subscriptions : List subscriptions * http://hostname:port/eoi/subscriptions/{subsName} . Access subscription with ID subsName The binding database that is the core of the ED architecture has been implemented using SEDNA, an XML database that supports native XML document storage as well as XML query processing over the set of XML documents stored in the database. As a result, the implementation presents itself as a software implementing the ED functionalities and an instance of the SEDNA database. ---- == Requirements == * Windows or Linux operating system * [http://java.sun.com/javase/downloads/widget/jdk6.jsp Java SDK], version 6.0 or higher * [http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/heliossr1 Eclipse IDE for Java EE Developers] * [http://modis.ispras.ru/sedna/download.html SEDNA server] * [wiki:ED-dwl Entity Directory version 3] (checkout the ED Eclipse project) ---- == Using the REST API == The implementation contains a client API for developpers to access the standard REST API of the ED. The API is available in the package com.sap.research.sensei.eoidirectory.api of the software. We refer the reader to the code JavaDoc for a description of the methods part of the client implementation. ---- == Web Interface == The Web Interface is depicted in the User Guide at [wiki:RuEdi#WebInterface] . ---- == Installation == You need to download the SEDNA Database from [http://modis.ispras.ru/sedna/download.html] and dezip it. Run SEDNA : SEDNA_PATH/bin/se_gov.exe and create the eoidb database (do it once) : SEDNA_PATH/bin/se_cdb.exe eoidb. Then start the eoidb database : SEDNA_PATH/bin/se_sm.exe eoidb. To stop the eoidb database : SEDNA_PATH/bin/se_smsd.exe eoidb To stop SEDNA : se_stop.exe The software can be started from the Main class in the package com.sap.research.sensei.eoidirectory.startup . Fill in the EoI.properties file based on your own configuration: {{{ #SERVER CONFIGURATION #----------------------- #Path to the EPI Interface EOI_DIRECTORY_EPI_URI = http://localhost:8183/eoi/epi #Path to the server index page EOI_DIRECTORY_BASE_URI = http://localhost:8183/eoi #Server port SERVER_PORT = 8183 #SEDNA CONFIGURATION #----------------------- #DB USERNAME DB_USERNAME = SYSTEM #DB PASSWORD DB_PASSWORD = MANAGER #DB BASE URI DB_URI_BASE = xmldb:sedna://localhost/eoidb #DB BINDINGS COLLECTION URI DB_URI_COLLECTION = xmldb:sedna://localhost/eoidb/bindings #DB SUBSCRIPTIONS COLLECTION URI DB_URI_SUBSCRIPTION = xmldb:sedna://localhost/eoidb/subscriptions #DB ENTITY MODEL COLLECTION URI DB_URI_ENTITY_MODEL = xmldb:sedna://localhost/eoidb/entitymodel #VISUALIZATION TOOL CONFIGURATION (Not used in this version, left here in case this changes) #----------------------- #Activate visu tool VISU = NO #Time to let the GUI refresh SLEEP = 1500 #Paths the the visualization tool VISUARCHIPATH = http://localhost:8080/SVGMonitor/setstate.jsp VISUSQRPATH = http://localhost:8080/SVGMonitor/setstate.jsp }}}