JDesktop
A
server/client program designed to help user to upload files to the remote
machine.
To
develop a server/client based application that helps user to upload files in the
remote machine.
1. Java Swing for GUI
2. Eclipse 3.2 IDE for development,
debugging.
3. Programming Language: Java (jdk 1.6)
4. Ant for build.
5. SVN version control for versioning and
code delivery.
6. NSIS - creating installable executable file.
Following are the major
requirements that we had to meet while developing this project:
Ø
Technical Requirements
1.
Develop the swing based
GUI for client program.
2.
Create installable client program.
Ø
Functional Requirements
A
server/client program designed that will do following things:
Client
Program
This is the software that the user
will download. When they run the program it should start off by prompting for a
login name and password. Once they enter that it will send the info to the remote
program server which will verify the information.
Following are the
implementation:
Ø
Technical Solutions
1.
We used java swing
for GUI.
2.
We developed the
application using Java (jdk 1.6).
3.
SFtp for file
transfer.
4.
NSIS - creating installable executable file.
Swing
We used java swing for GUI. Swing provides
a native look and feel that emulates the look and feel of several platforms,
and also supports a pluggable look and feel that allows applications to have a
look and feel unrelated to the underlying platform.
NSIS
NSIS
(Nullsoft Scriptable Install System) is a tool that allows programmers to create
installers for Windows. NSIS creates installers that are capable of installing,
uninstalling, setting system-settings, extracting files, etc.
To create a NSIS installer, you first have
to write a NSIS script (script file is .nsi). A NSIS script is just a regular
text file with a special syntax.
The second thing you
need to do in order to create your installer after you have created your script
is to compile your script. MakeNSIS.exe is the NSIS compiler. It reads your
script, parses it and creates an installer for you.
System Architecture
Figure 1 shows the architecture diagram of this
application. The application uses Swing based GUI for the presentation Layer.

Figure 1
Ø
Functionality Implementation
1. User Login
Screen
shown in Figure 2 shows the Login panel, while opening the client application.

Figure 2
This User has to provide the user name and
password to make a successful login for uploading the files. On successful
login, it returns back the FTP information that includes ftp URL, ftp username
& password. Screen shown in Figure 3 comes if the login is successful.

Figure 3
Here
the user can select a list of files from local system and upload a list of file
to the remote system as a batch. The client first opens a sftp connection with
the remote system. After which the files are passed to the remote machine and uploads
these file to the directory provided in the remote machine for each user. If any
error, will be displayed in the text area provided.