Giter VIP home page Giter VIP logo

mailbox_manager's Introduction

Introduction

The aim of the project is to design and realize a mailbox manager. The mailbox manager handles classical user mailboxes and a common newsgroup which may be read by every user. A directory manages the users which may access the mailbox and their rights to access different mailboxes. Only some users have the right to send messages to the common newsgroup.

User Case Diagram

Architecture

Mailbox-Manager Structure

The general Architecture of the system is presented as Clients and Servers are distributed over the network.

(i)A MailBoxManager manages the mail boxes. There is one mail box by user of the system and one news-box shared by all the system’s users.

(ii)A UserDirectoryManager manages the users and their access to the system. In the final version of the system, the MailBoxManager verifies with the UserDirectoryManager the user rights concerning the access to the common news group.

(iii)A MailBoxClient accesses the MailBoxManager services.

(iiii)An AdministrationClient accesses the UserDirectoryManager services to add, remove and modify rights of the users.

Database Design

ER Diagram

Technologies Involved

(i)The UserDirectoryManager and the MailBoxManager are developed using JavaEE technology. All the mailboxes, the newsgroup and the user rights are persistent.

(ii)The communication between the clients and the Managers will be realized through Java RMI for the administration server.

(iii)For the persistence of the mailboxes, the messages and the directory, use a derby database embedded in the glassfish application server.

Environment

GlassFish3.1 and JAVA JRE1.6 used in the project. MyEclipse as IDE.

To check the content of the Derby database, use the ij tool. In a terminal window, launch the following command:

$ ij

If the ij tool is working fine, see on the screen:

version ij 10.6 

ij>

Then connect to the Derby database and write SQL requests:

connect 'jdbc:derby://localhost:1527/sun-appserv-samples'; 

show tables;

Launch

We have two projects in total, an EJB project MailBoxManager and a JAVA project MailBoxManagerClient. So, import these two projects respectively into MyEclipse Workspace. Start the database and the server, deploy EJB project, then launch JAVA project.

Yunkai LIU / Ke SHEN

Versailles Saint-Quentin-en-Yvelines University

mailbox_manager's People

Contributors

shenke93 avatar yunkai-liu avatar

Watchers

 avatar  avatar

Forkers

panjietsp

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.