Friday, November 19, 2010

Further Description about the System.

1.      Basic Requirements

·         Major requirement of this project is to develop a calendar which updates its holidays and events using a server.
·         The system should have light weight desktop client which have ability to communicate to a server and update its holidays and also should facilitate to store user events on local computer. It also should facilitate normal calendaring features.
·         There also should have a way to administrator to input data to the server and to manage and update the data on the server which desktop client communicates.
·         The server should store data which took from administrator and should provide it to the client whenever it wants.
·    Other than that following is required.

o   Total system should be localized and should be able to work with any language.
o   It is better if the system is platform independent.
o   The data in the calendar and server should be able to share in between other programs.

2.      Proposed Solution

The system will contain three parts as expressed in requirements. They are desktop client, administrator’s web client and server with the database.

2.1. Desktop client

The desktop client is going to build as a normal calendar which facilitate following main features.
·         Add reminders and notes
·         Add birthday alerts.
·         And it also contains the facilities which are described on the post about features.
The desktop client is decided to create using Java (J2SE) to make it platform independent. All the data which are added by the users are store on the local machine as xml files. The reason for that is to make it easier to read from software. We don’t use a database to store that data because it may harm the light weight of the calendar. Then the desktop client can read those xml files whenever it wants and update the calendar.
The desktop client use web services in the web server to get data from the server. It will send and get soap based xml messages to communicate with the web server. Up-to now we had decided that the desktop client will get number of calendars on the database and it let user to select which calendar he wants to use. As an example same server may contain the calendar about Sri Lanka and the calendar about IT faculty. User can select what he wants. The holidays and other facts which are unique to the calendar will get form the web server via web service and show it on the calendar.
Up-to now we had decided that the desktop client can’t store user specific data (notes, alerts etc…) on the server. But the desktop client can be extend up to that by creating a way to send xml files which are stored on local machine.

2.2.Administrators Web Client

The system has a web client for administrators. It is a web application which uses a web browser.
There the administrator can create new calendars and can add specific data. As an example the administrator can create Sri Lanka calendar and Faculty calendar. The web client also contains a system to insert password and usernames to prevent unauthorized access.

2.3.Server Part

This part will contain the database and web services and web pages which facilitate web client and desktop client. We decided to use apache axis for web services and mysql for databases. The web services retrieve data form data base and send it to desktop client as soap messages.

3.      Other Facts

There are few other facts that we should concentrate. They are I18N and Sharing data with other programs.

3.1. I18N

The desktop client and the web client can internationalize using separate files. We also can store local text in database as Unicode. So internationalization will not be a problem for proposed solution.

3.2. Sharing data

This part will discusses later.


   




No comments:

Post a Comment