CORBA-based P2P File-Sharing Application
Budget: $30 – $250 CAD
1. The server program runs at a computer.
2. The server program maintains a connection with a database management system.
You need to discuss with your tutor which database management system your program
is going to use.
You need to provide the relevant database files or SQL Database Definition Language
to your tutor to help your tutor establish the database needed to test your TME.
3. The user can run the client program at his/her computer (which may be different from the
computer on which the server program is running).
When your tutor tests the program, s/he may test two or more clients and test the filesharing function among clients.
4. The user can choose which files s/he wants to share with other users.
The client program then registers the files on the server via CORBA.
The user can remove the files that s/he no longer wants to share with others. If the user
does this, the client program will update the sharing status on the server via CORBA.
5. The user can search the filename which s/he wants to download from other users.
The client program then searches on the server via CORBA.
If the client program finds that anyone is sharing the file, the client program shows the
file name to the user without revealing who owns the file.
If the client program finds that no one is sharing the file, the client program shows “no
match result” to the user.
6. If someone is sharing the file that the user wants to download, the user can click on the file name
and download the file to his/her computer. When the user starts the download,
the client program first asks the server who owns the file (via CORBA).
the client program (i.e., client-A) then builds a socket connection with the other client
program (i.e., client-B), which means that the client program is a socket server
application as well as a socket client application.
client-A then tells client-B which file it wants to have.
client-B sends the file to client-A via a socket.
* You must write a complete program that compiles and runs with Eclipse IDE
* Include a test plan
2. The server program maintains a connection with a database management system.
You need to discuss with your tutor which database management system your program
is going to use.
You need to provide the relevant database files or SQL Database Definition Language
to your tutor to help your tutor establish the database needed to test your TME.
3. The user can run the client program at his/her computer (which may be different from the
computer on which the server program is running).
When your tutor tests the program, s/he may test two or more clients and test the filesharing function among clients.
4. The user can choose which files s/he wants to share with other users.
The client program then registers the files on the server via CORBA.
The user can remove the files that s/he no longer wants to share with others. If the user
does this, the client program will update the sharing status on the server via CORBA.
5. The user can search the filename which s/he wants to download from other users.
The client program then searches on the server via CORBA.
If the client program finds that anyone is sharing the file, the client program shows the
file name to the user without revealing who owns the file.
If the client program finds that no one is sharing the file, the client program shows “no
match result” to the user.
6. If someone is sharing the file that the user wants to download, the user can click on the file name
and download the file to his/her computer. When the user starts the download,
the client program first asks the server who owns the file (via CORBA).
the client program (i.e., client-A) then builds a socket connection with the other client
program (i.e., client-B), which means that the client program is a socket server
application as well as a socket client application.
client-A then tells client-B which file it wants to have.
client-B sends the file to client-A via a socket.
* You must write a complete program that compiles and runs with Eclipse IDE
* Include a test plan
Related categories:
Business, Accounting, Human Resources & Legal
Software Architecture
MySQL
Socket IO
Eclipse