Question 1 (35%)
Assignment description
You should be able to start solving this TMA part after studying week 3. We expect you to develop a client-side application that connects to any website (online) and execute the HTTP get command to retrieve any web page content. You are free to choose the programming language, we recommend JAVA, as it is the language we are using in this course. It is up to you, which technology to use, whether low level using socket or higher level using for instance HttpURLConnection library JAVA packages, it is about using the HTTP client commands.
We expect a desktop client application having at least the following features:
1- The URL of the website should be entered by the user once the program runs. [5 marks]
2- To retrieve and display the server response header information. [5 marks]
3- Read and display the source (HTML) contents of the web page. [5 marks]
4- To save the retrieved information in a text file with HTLM extension. [5 marks]
5- To deal with exceptions in case something goes wrong. [5 marks]
6- Screen shots (at least two) showing that the client application runs properly. [5 marks]
You need to provide the whole project source code.
Along with your project, please create a file named README. txt that contains your name and email address along with the name of your application and a brief description of programming langue used how to run the application whether using IDE or you provided an executable, in all cases you should provide the source code of your project. [5 marks]
Question 2 (40%)
You should be able to start solving this TMA part after studying week 4. We expect you to practice developing a server-side web application (we recommend you to use JAVA servlets) to generate a response to an HTTP get request.
It is up to you to decide what the web application should do, but we will grade it based on the technologies used. We expect a web application having at least the following features:
1- It contains a get method that response to a get HTTP client request [5 marks]
2- The server side get method receives at least one parameter form the HTTP client request. [10 marks]
3- The get method response should include the received parameter and other content. [5 marks]
4- We expect you to run the client application developed in part1 to execute the server-side web application and retrieve its content. [5 marks]
5- We except you to provide an HTML page (using the form tag) that can be used to execute the web application as an alternative to the client application created in question 1. [5 marks]
6- Screen shots (at least two) showing that the execution of the website runs properly. [5 marks]
Along with your project, please create a file named README. txt that contains your name and email address along with the name of your application and a brief description of programming langue used how to run the application, in all cases you should provide the source code of your project. [5 marks]
Question 3 (25%)
Assignment description
You should be able to start solving this TMA part after studying week 5. We want you to write code to perform symmetric encryption on a string plaintext using a ciphering algorithm such as DES, AES or TripleDES.
§ The parameter sent form the client application in the previous questions should be encrypted before being sent to the server-side application. [10 marks].
§ We expect also that the server-side application should be updated to decrypt the parameter received [15 marks].
Along with your app, please create a file named README. txt that contains your name and email address along with the name of your app and a brief description of what the application does, along with any special instructions that the user might need to know in order to use it properly (if there are any).
Programming language: JAVA
All application can run within NetBeans IDE and any standard web browser.
How to structure the submitted files for the three questions?
§ Create a folder and call it “TM352_YourID_BranchName_FALL2019”, inside this folder create a folder for each questions and call it question (replace X with 1 for question1 and 2 for question2) and put each app project in the corresponding folder.
§ Zip the folder “TM352_YourID_BranchName_ FALL2019”and submit it as single file. [2 marks]