Login: password:
Forgot your password?

Web Architectures 2020-21

Assignments
1) Install NetBeans 8.2 with JDK8 included, (during instllation select "all", with Tomcat and Wildfly):
https://www.oracle.com/technetwork/pt/java/javase/downloads/jdk-netbeans-jsp-3413153-ptb.html

2) Create a WebApp where:
In the welcome page
- if the user is unknown (a new user) aks for the name and for the favorite soccer team.
- Else, it greets the user by name and states “you are a fan of”+soccerteam, and offers to the user the option “Forget me”.


Deliver the Netbeans project by zipping it and uploading it onto piazza, in the folder “delivery_1” as a private message to the instructor.

Deadline: 23:59, Sept 25.

Create a Netbeans project named with your surname + 2 (eg., for me it would be Ronchetti2) and containing a webapp with the same name.

Create a Derby database named DELIVERY2DB with username username and password pw.
The database must be located within your Netbeans project.

Create a table where usernames and passwords are kept.
Populate the table with a record containing "user1" and "pw1".

The web app must be composed by the following conponents:

A loginServlet asks user for username and password, checks in the database if a username with that password exists:
if not it gives an error message and asks username and pw again,
else it creates a session and proceeds to the main servlet.

The mainServlet shows the user name and the current time, and it allows to change password and to delete the session. The mainServlet is protected by a filter.

The filter checks if the session exists, if not it redirects to the loginServlet.

Deliver the Netbeans project by zipping it and uploading it onto piazza, in the folder “delivery_2” as a private message to the instructor.

Deadline: 23:59, Oct 9.

Create a Netbeans project named with your surname + 3 (eg., for me it would be Ronchetti3) and containing a webapp with the same name.

On-line newspapers often offer a broadcasting of live events, such as soccer matches. We can outine the architecture of such an app in the following way:

a page, accessible only to the journalist, allows to add one-liners such as
"Leo Messi is going to be substituded by another player, because he's not feeling good after the fault on him."
Readers who connect to the newspaper page that broadcasts the match will get that line.

Typically, the readers' browser will every few seconds (say 15) ask the server if there is anything new, passing a token which identifies the last seen line.
The server will respond to the requesting browser passing all the lines, which have a token greater that the one sent by client, or the info that there is nothing new.
The browser will update the page with the info (the page is in the style of Single Page Application, and will update only what is needed, without performing a reload but only adding the new lines in a suitable place..

The initial token passed by a browser that is starting the connection will be 0.

 You should implement a solution without using a database, and describe your choices in a report that explains what your app does. Zip the project and the pdf in a file having the same name as the project.

Upload it onto piazza, in the folder “delivery_3” as a private message to the instructor.

Deadline: 23:59, Sunday Nov 1.

Follow the tutorial:

http://www.mastertheboss.com/jboss-server/jboss-as-7/jboss-as-7-remote-ejb-client-tutorial

make it work. Embed the code in a Netbeans project named with your surname + 4a. Deploy the application you developed into Wildfly.

Once done that, modify the code so that:
- instead of creating an account, you access it on a database (as in the past, use a derby DB stored in the project directory). Take care of transactions.
- instead of having a desktop java application client, you access it from a web client (use a Business Delegate in your code!).

The modified code should be in a Netbeans project named with your surname + 4b.

If you have problems you can not solve, ask on Piazza! (and as usual, if you can help your peers on Piazza, please do it!)

HINT:
if you google for solving problems, make sure that what you find is about EJB 3.x and not older stuff! Otherwise it gets confusing.

Write a report using the following structure:
  • Title Page containing date, title , your name
  • Introduction (problem statement, description of the domain)
  • Section 1: deploying the tutorial
    • 1.1 screen shots of your app running, documenting the various steps
    • 1.2 Comments and notes (optional: any problems encountered during the project development, any other comment)
  • Section 2: modification of the tutorial
    • 2.1 Implementation (report and comment the most relevant pieces of soure code and config files)
    • 2.2 Deployment (screen shots of your app running, documenting the various steps)
    • 2.3 Comments and notes (any problems encountered during the project development, any other comment)
Create a zip having your name, containing the two projects and the report
Upload it onto piazza, in the folder “delivery_4” as a private message to the instructor.

Deadline: 23:59, Sunday Dec 6.

Given the list of members of the Scottish Parliament, available at (https://data.parliament.scot/api/members)
create an angular application that lists the parliament members (showing their name, and if the PhotoUrl field is not empty add an icon to show that the photo is available).

Every name is linked to a personDetail page that:
Use routing to allow moving between the two pages (the lists, and the personDetail).

Deploy the application serving it from the Tomcat embedded in Netbeans (i.e. create a simple Web project having your name in Netbeans that delivers the transpiled angular app, even as a static page).

Write a report using the following structure:
  • Title Page containing date, title , your name
  • Introduction (problem statement, description of the domain)
    • 2.1 Implementation (report and comment the most relevant pieces of source code and config files)
    • 2.2 Deployment (screen shots of your app running, documenting the various steps)
    • 2.3 Comments and notes (any problems encountered during the project development, any other comment)
Create a zip having your name, containing:
  • the Tomcat project
  • the report
  • the Angular sources
Upload it onto piazza, in the folder “delivery_5” as a private message to the instructor.

Deadline: 23:59, January 17 if you plan to take the exam on Jan 21, else February 13 (last deadline, also for taking the exam in the summer).



powered by segue
segue_logo