Design and implement a basic file transfer protocol

Assignment Help Computer Networking
Reference no: EM13756594

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.

Reference no: EM13756594

Questions Cloud

What change in government policy could explain : At the same time, many Autarkians have quit their other jobs in order to raise sheep to produce wool. What change in government policy could explain -  Which of the two taxes is likely to cause more deadweight loss?
What is performance excellence : What is performance excellence? What are the principles of total quality? Describe the composition of each category in the Baldrige Criteria. Contrast total quality (TQ) and Six Sigma. Briefly describe the various elements of strategy development. Li..
Increased its tuition for in-state and out-of-state students : State University has increased its tuition for in-state and out-of-state students in each of the past five years to offset cuts in its budget allocation from the state legislature.
Define what professional organizations you might join : Write a 2- to 3-page paper discussing what professional organizations you might join, and websites you might visit, that would provide insight into a career that includes responsibility for database administration
Design and implement a basic file transfer protocol : A subclass of TransferJob that performs an FTP upload of a file to the remote host.
Corporate policy designed to minimize inventory shrinkage : Corporate Policy Designed to Minimize Inventory Shrinkage Related to Theft, Stocking Errors, Shipping Errors
Developed products-pricing and supply chain strategies : Why might a traditional functional prospective have blinded P&G to the problems of the old system? In the mid-1990s, P&G was organized around 5 business sectors; laundry and cleaning, paper goods, beauty care, food and beverages, and health care. The..
To bring inspiration and innovation to every athlete : Nike's mission statement is " To bring inspiration and innovation to every athlete in the world."How completely does this address the expectations of a mission statement?
Describe the various transmission mediums : Describe the various transmission mediums and explain the best use of each with various examples of business use. Identify communications capabilities of each medium and the types of signals that are used for each

Reviews

Write a Review

Computer Networking Questions & Answers

  Internet business model

Question 1: What Internet business model would be appropriate for the company to follow in creating a Web site and why? Question 2: In what ways can the business benefit from a Web site? What functions should it perform for the company (e.g., marke..

  Perform online reconnaissance on xyz to see what

objectiveabc invitation design and xyz invitation printing have decided to merge into one company a2z invitations. abc

  What is the transmission rate of ethernet lans

List six access technologies. Classify each one as residential access, company access, or wide-area wireless access.

  Equalities by induction on n

Be the sum of the first n cubes. Prove the following equalities by induction on n, to arrive at the curious conclusion

  Importance of computer networking

What are the three general reasons for the importance of computer networking

  Computing depreciation using three-year macrs rates

Depreciation will be calculated using the 3-year MACRS rates of 33%, 45%, 15%, and 7% for the first through the fourth year, respectively. Looner Industries' marginal tax rate is 40%, and its cost of capital is 10%. Should the plant be built?

  Identify the source port number

Identify the source port number and identify the destination port number and what is the length of the data?

  Design application-layer protocol for streaming video

Suppose you are designing the application-layer protocol for streaming video. How would you deal with unreliability of Internet Protocol?

  Determine result of scrambling sequence using techniques

Determine the result of scrambling sequence 11100000000000 by using one of the following scrambling techniques? Suppose that last non-zero signal level has been positive.

  Brief details of the school chosen including its floor plan

Introduction that will include the brief details of the school chosen including its floor plan to cater for its ICT requirements, its ICT requirements emphasizing the networking and data communications, and the challenges for the solution(s).

  Adoption of an enterprise security framework

How is the adoption of an enterprise security framework helpful for developing an enterprise security policy and how does Donn Parker's model compare with the X.805 framework?

  Information security security being a top concern for any

security being a top concern for any organisation choosing the correct security solutions is of utmost importance.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd