Ask Computer Network & Security Expert

Design and implement a basic File Transfer Protocol (FTP) graphical user interface tool. When executed, the tool will display a UI where the user can upload (put) and download (get) files from a remote server. The ftp4j library will be used to implement the actual protocol and file transfers. A remote FTP site and credentials will be provided for the project.

This project reuses classes implemented in Project 1. You should be able to use the classes with little to no modification. The classes (and related parent classes) to be reused are:

PutJob.java: A subclass of TransferJob that performs an FTP upload of a file to the remote host.

GetJob.java: A subclass of TransferJob that performs and FTP download of a file from the remote host.

SingleThreadedTransferEngine.java: An implementation of TransferEngine that performs all operations in a single thread (i.e. the same thread as the caller). Therefore operations like addJob() will block while the job is added and executed.

The UI must contain the following features:

A host text field: For entering the remote host name.

A port text field: For entering the remote port number.

A username text field: For entering the user name for remote authentication.

A password password input field: For entering the password for remote authentication.

A connect button: Creates the FTPBuilder using the host, port, username, and password. Starts the transfer engine. Creates an FTPClient to be used by the main UI thread.

A put button: Transfers the selected local file to the remote site. If not file is selected in the local file list, this button does nothing.

A get button: Transfers the selected remote file to the local site. If not file is selected in the remote file list, this button does nothing.

A console text area: A non-editable text area for displaying user feedback and job status information.

A refresh button: Refreshes the local file list, remote file list, and appends the status of all jobs to the console text area.

A local file list: Displays the files in the current local directory (i.e. the directory the application was launched in).

A remote file list: Displays the files in the remote directory (i.e. the default home directory on the remote FTP server).

Refer to the example screenshot for a suggested layout. You may use the NetBeans UI Builder for this project.

The general functionality is the same as with project 1. A user can upload and download files but rather than with the console prompt, the user can use a simple UI. You do not need to implement directory browsing so the local file list will always be for the current directory and the remote file list will always be for the default home directory of the user (refer to FTPClient.currentDirectory()).

Future projects in this class will reuse the core parts of this project (e.g. the transfer engine, jobs, and UI) so implement them correctly, cleanly, and with proper documentation in order to save time later. Ask questions in the online classroom on via email if you are struggling with any part of the assignment.

Refer to Project 1 for information on the ftp4j library and the FTP site information for testing will be provided to you.

All code must be properly documented with JavaDoc style class, method, and field comments and inline code comments. All code must be properly formatted and indented for readability. Java style guidelines and conventions must be used for class, method, field, and variable naming.

Deliverables

Demonstrate that your code compiles and runs without issue using the command line JDK tools (i.e. javac and java). You can use screen captures to demonstrate this functionality in a Word document. Be sure to include enough cases to verify functionality and to represent adequate testing of the application.

The Word document must also include a Lessons Learned section in which you provide lessons learned while developing the application including (but not limited to):

What was the most challenging part?

What are the limitations of the current implementation?

What improvements or new features could be added?

How might you add features like remote file deletion and directory listing?

How could the assignment be improved?

What are the key lessons learned that you would take into future assignments?

Your completed assignment should consist of all the .java implementation files and the .doc(x) documentation file. Do not include the ftp4j .jar library file or any .class compile files. Do not copy and paste your Java code into the Word document.

Submit these files to your project 2 assignment area no later than the due date listed in the syllabus.

Grading

Refer to the Assignment Rubric in the online classroom for a breakdown of the grading areas and point distributions.

Example Program Execution

The following is an example execution of the application. Note that the remote host will be different and the file names and directories may be different.

Computer Network & Security, Computer Science

  • Category:- Computer Network & Security
  • Reference No.:- M91314890
  • Price:- $90

Guranteed 48 Hours Delivery, In Price:- $90

Have any Question?


Related Questions in Computer Network & Security

Security challenges in emerging networksassignment

Security Challenges in Emerging Networks Assignment Description The purpose of this assignment is to develop skills to independently think of innovation. In this assignment students will first learn how to develop knowle ...

Security challenges in emerging networksassignment

Security Challenges in Emerging Networks Assignment Description The purpose of this assignment is to develop skills to independently think of innovation. In this assignment students will first learn how to develop knowle ...

Security challenges in emerging networksassignment

Security Challenges in Emerging Networks Assignment Description The purpose of this assignment is to develop skills to independently think of innovation. In this assignment students will first learn how to develop knowle ...

Security challenges in emerging networksassignment

Security Challenges in Emerging Networks Assignment Description The purpose of this assignment is to develop skills to independently think of innovation. In this assignment students will first learn how to develop knowle ...

Advanced network design assessment - human factors in

Advanced Network Design Assessment - Human factors in network analysis and design Purpose of the assessment - This assignment is designed to assess students' knowledge and skills related to the following learning outcome ...

Advanced network design assessment - human factors in

Advanced Network Design Assessment - Human factors in network analysis and design Purpose of the assessment - This assignment is designed to assess students' knowledge and skills related to the following learning outcome ...

Assignment descriptionproject scope a typical network

Assignment Description Project Scope: A typical network layout diagram of a firm is given below for illustrative purposes only. The service requirements are enclosed. Figure. Network layout of a firm Service requirements ...

Assignment descriptionproject scope a typical network

Assignment Description Project Scope: A typical network layout diagram of a firm is given below for illustrative purposes only. The service requirements are enclosed. Figure. Network layout of a firm Service requirements ...

After reading this weeks materials please respond to two 2

After reading this week's materials, please respond to TWO (2) of the following questions. AND PROVIDE CITATION IN APA 1. Describe the differences between bus, ring, star and mesh topologies. 2. Explain the TCP/IP Model ...

The abstract should not be more than 250 words describe

The abstract should not be more than 250 words. Describe your project, focusing on research questions and research method for next stage of the project. 1. Introduction [The introduction should describe what the project ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As