wiki:S2S_DEPLOY_TECHNOLOGIES_R0

Version 9 (modified by pavlina, 16 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=S2S_DEPLOY_TECHNOLOGIES_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

The goal of this task is to research and decide which technologies we will use for deploying and running the Sophie server. They should be demonstrated.

Task requirements

  • Decide which database we will use (i.e. HSQLDB, MySql, SqlLite, PostGre, Apache Derby)
    • Talk to Milo what is the best decision.
    • Deploy simple configuration of the chosen database.
  • Decide which servlet container we will use (It is jetty. See S2S_CORE_DEPLOYMENT_R0)
  • Decide if we will use JSPs for the web pages. Deploy them and give examples.
  • Decide which technologies we will use for web services (i.e. SOAP web services(xfire, axis), rest services)

Task result

  • Sophie 2 basic server which runs and use the chosen database and basic web user interface.

Implementation idea

S2S_CORE_DEPLOYMENT_R0
S2S_WEB_COMMONS_R0

How to demo

  • Show the running server and its web interface, consisting of JSPs and servlets.
  • Demonstrate the communication with the chosen database - use SQuirreL to show the database and its fields.

Design

Here is the common deployment diagram:
source:/trunk/sophie2-platform/modules/org.sophie2.server/doc/S2S_Deployment_Diagram.png

  • Server Core - UserService, GroupService classes (org.sophie2.server.service package)
  • Persistence Layer - DatabaseManager, GroupDao, UserDao, AbstractEntity, Group, User (in org.sophie2.server.persistence.dao and org.sophie2.server.persistence.entity packages)
  • The server should use Jetty as web / web service server.
  • The data should be persisted by API which uses Derby ( JavaDB ) to an embedded database.
  • The user should log to it from the client using the web services (REST or SOAP), or from the browser using the servlets, JSP pages or applets embedded in html pages.
  • May be in the future we should use a protocol of our own for the communication between the client's connector and the server in some cases.

Implementation

(Implementation results should be described and linked here (from the wiki or the repository))

Testing

Comments

(Write comments for this or later revisions here.)