ShareLydra

farrightΛογισμικό & κατασκευή λογ/κού

15 Αυγ 2012 (πριν από 4 χρόνια και 8 μήνες)

189 εμφανίσεις

ShareLydra

MidTerm

presentation

Gauthier Cart

Benjamin Chervet

Jonathan di Costanzo

Pierre
-
Élie Fauché

Franck Simo

Team Chelydra

2

1. Introduction

1.
Introduction

2.
Tools used

3.
Software organisation

1.
Client’s side

2.
Server’s side

4.
Input / Output

1.
Graphical User Interface

2.
Messages

5.
Simulation & Analysis

6.
Development schedule

Choose your files, choose your friends, share.

3


Programmation languages:


Java SE

for local clients


Java EE

for the application server (JBoss)


XML

for the communication between server & clients


Databases:


Hypersonic

SQL (HSQLDB) on the server


Derby

on the clients


Graphical User Interface:
Swing

API

2. Tools

Programmation

4

2. Tools


NetBeans
: Java IDE


Subversion
: version control


NetCat

&
TCPDump

for Network debugging

Support

5

Client’s computer

3. Software organization

Client’s side

ShareLydra

Files

Database

File

Manager

Profile

Manager

Database

Manager

GUI

Core

Internet

Socket

Manager

6

3. Software organization

Server’s side

Internet

Server

Servlets

JSP

Manager

Session Bean

Database

Users

Entity Beans

Notifications

Entity Beans

REST URI

XML

7

4. Output / Input

Graphical User Interface


Based on Swing API


Functions separated with tabs


Quick view of activity

8

4. Output / Input


Generic format


Message type examples:


Get the list of shared files


Send the list


Download a part (file ID, starting byte, ending byte)


Send a part (file ID, starting byte, ending byte,
checksum, data)


...

Communication from
Client to Client

Version

(1 byte)

Type

(1 byte)

Payload

(variable size)

9

4. Output / Input


RESTful web service

(REpresentational State Transfer)


Actions are performed using
URIs


example:
http://www.sharelydra.com/action?parameter1=value1&parameter2=value2


Examples of actions: register, connect, disconnect, search for a friend, send
notification...


Server reacts to URIs and
responds with XML files


XML files are parsed

by the client

Communication from
Client to Server

10

4. Output / Input

Example of communication from
Client to Server

http://www.sharelydra.com/
connect
?
login=
jack3243&
password=
pizza

<?xml version="1.0" ?> <
sharelydra
><action type="1" />

<friends>

<friend id="
minou
">

<
ip
>192.178.32.147</
ip
>

</friend>

...

</friends>

<notifications>

<notification>

<time>1238734567</time>

<type>2</type><sender>
minou
</sender><content>my_holidays.rar</content></notification>...

</notifications>

...</
sharelydra
>

11

5. Simulation & Analysis


Standard messages tested with a basic
implementation of our protocols in Java


Sequences tested:


Download / Upload


Search / Reply


RESTful architecture on the server

12

6. Development schedule


week 1: Implementation of the low level classes


network classes, communication classes, database classes


week 2: Interconnection of the classes


interactions with the interface


connection of events generated by the network and the database


week 3: finalization


week 4: Testing and debugging

4 weeks remaining

ShareLydra

MidTerm presentation

Gauthier Cart

Benjamin Chervet

Jonathan di Costanzo

Pierre
-
Élie Fauché

Franck Simo

Team Chelydra

Thanks