Login: password:
Forgot your password?

Web Architectures - 2019/20

Marco Ronchetti - DISI -UniTN
Course
Assignments
In first place, you need to be registerd at the course. You can register by sending an empty e-mail with subject WEBARCH1920 to marco.ronchetti@unitn.it

After registering, you will receive a google docs link to a folder, which will be dedicated to your deliveries.

Every delivery must be a zipped file containing all the requested material (report + source code + anything else that is possibly indicated for that week).
The zip file must be called NAME-weekN.zip, where NAME is your surname followed by the initial of your name, and N is the assignment number.


The report must have the following structure:
  • Title Page containing date, title , your name
  • Introduction (problem statement, description of the domain)
  • Explanation (describe how you solved the problem)
  • Implementation (report and comment the most relevant pieces of soure code and config files)
  • Deployment (screen shots of your app running, documenting the various steps)
  • Comments and notes (optional: any problems encountered during the project development, any other comment

Delivery deadline: midnight of Sunday, Sept.29 postponed to OCT 6
See slide 28 in the lecture 2


Assignment n. 2
Delivery deadline: midnight of Tuesday, Oct. 15

In the
provided jar (see here below) there are two classes.

zipped jar file

Find out:
- What is their name?
- Where do they inherit from?

Only for the Mistery class:
- which methods are exposed by the class (ignore the inherited ones)?
- what is every public method doing? Run them in order to be able to guess what is their functionality and the meaning of their params.


Deliver a report describing what you did, and the source code.


Delivery deadline: midnight of Tuesday, Oct.22

  • Install the Tomcat Server on your machine
  • Write and deploy a web app which has:
  • A home page with links to the time page and to the date page
  • a filter that intercepts ALL pages except home, check if a valid cookie is available, and if not redirects to a login page
  • a login page which checks username and password. Names and pwds are kept in an xml file having for each user the stucture described below.
  • a time page showing the current time of the day
  • a date page showing the current date
  • a logout page which deletes the cookie
  • all pages present a greeting to the user (showing his/her name), and a link to the logout page
XML Fragment:
<user>
  <name>user name</name>
  <password>user password</password>
</user>

Deliver a report , the source code, and the webapp in form of a war.

Assignment n. 4
Delivery deadline: midnight of Tuesday, Nov. 19

Part 1:
Install Wildfly.

Write an enterprise java bean (we'll refer to it in the following as "B1" which exposes methods for giving a string containing the date and the time of the day.
Deploy the enterprise bean on Wildfly.
Write a client (a web app) which connects to the bean, asks twice the method on the bean and writes on screen the first date/time and the elapsed time between the two calls.

Part 2:
Add a bean, which shows to methods:
  • method 1 gets the user name as input, keeps a (total, independent from the user) count of how many times it has been called, calls the B1 bean twice (waiting for a random time comprised between 0 and 3 sec between the two calls) and returns an object containing date/time and elapsed time between the two calls. It also stores permanently username and elapsed time.
  • method 2 gets the user name as input and returns the number of times method 1 was called for that user, and the average of the elapsed times relative to calls performed by that user.
  • method 3 has no input, and returns a list of everything, what is permanently stored.
Write a client (a standard Java app) which exposes a user interface which allows to specify the user name and to choose which method to call (method 1, 2 or 3).

Delivery as usual, report and source code.

Assignment n. 5
Delivery deadline: midnight of Tuesday, Dec. 10

Create a web page, which presents a (master) list of items (e.g. songs, or cars, or students, or...). When clicking on an item, the lower part of the page (detail) changes, showing the detail of the chosen element (eg. for songs author and date, for cars price and availability date, for students matriculation number and average score... make the data a bit rich and complex).

The update of the page should happen via AJAX. Prepare two versions: one using XML, the other using JSON.

Delivery as usual, report and source code. (Source code includes the server part, which produces the data).



Assignment n. 6
Delivery deadline: midnight of January 6

Same as assignment 5, but using AngularJS, managing also the routing.
Delivery as usual, report and source code.




Course

powered by segue
segue_logo