<?xml version="1.0" encoding="utf-8"  ?>
<rss version="2.0">
	<channel>
		<title>Web Architectures 2020-21 &gt; Deliveries &gt; Assignments</title>
		<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578</link>
		<description></description>
		<lastBuildDate>Fri, 24 Feb 2023 04:12:43 +0100</lastBuildDate>
		<generator>Segue RSS Generator</generator>
		<item>
			<title>1st DELIVERY</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4187&amp;detail=4187</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4187&amp;detail=4187</guid>
			<pubDate>Fri, 18 Sep 2020 8:54:00 +0200</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>1) Install NetBeans 8.2 with JDK8 included, (during instllation select &amp;quot;all&amp;quot;, with Tomcat and Wildfly): &lt;br /&gt;&lt;a href=&quot;https://www.oracle.com/technetwork/pt/java/javase/downloads/jdk-netbeans-jsp-3413153-ptb.html&quot;&gt;https://www.oracle.com/technetwork/pt/java/javase/downloads/jdk-netbeans-jsp-3413153-ptb.html&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;2) Create a WebApp where: &lt;br /&gt;In the welcome page  &lt;br /&gt;-       if the user is unknown (a new user) aks for the name and for the favorite soccer team.  &lt;br /&gt;-       Else, it greets the user by name and states &amp;ldquo;you are a fan of&amp;rdquo;+soccerteam, and offers to the user the option &amp;ldquo;Forget me&amp;rdquo;.     &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Deliver the Netbeans project by zipping it and uploading it onto piazza, in the folder &amp;ldquo;delivery_1&amp;rdquo; as a&lt;strong&gt; private message &lt;/strong&gt;to the instructor.   &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Deadline: 23:59, Sept 25.&lt;/strong&gt;</description>
		</item>
		<item>
			<title>2nd DELIVERY</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4207&amp;detail=4207</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4207&amp;detail=4207</guid>
			<pubDate>Tue, 29 Sep 2020 11:53:00 +0200</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>Create a Netbeans project named with &lt;strong&gt;your surname + 2&lt;/strong&gt; (eg., for me it would be Ronchetti2) and containing a webapp with the same name.&lt;br /&gt;&lt;br /&gt;Create a Derby database named &lt;strong&gt;DELIVERY2DB&lt;/strong&gt; with username &lt;strong&gt;username&lt;/strong&gt; and password &lt;strong&gt;pw&lt;/strong&gt;.&lt;br /&gt;The database must be located within your Netbeans project.&lt;br /&gt;&lt;br /&gt;Create a table where usernames and passwords are kept.&lt;br /&gt;Populate the table with a record containing &amp;quot;user1&amp;quot; and &amp;quot;pw1&amp;quot;.&lt;br /&gt;&lt;br /&gt;The web app must be composed by the following conponents:&lt;br /&gt;&lt;br /&gt;A &lt;strong&gt;loginServlet&lt;/strong&gt; asks user for username and password, checks in the database if a username with that password exists:&lt;br /&gt;if not it gives an error message and asks username and pw again,&lt;br /&gt;else it creates a session and proceeds to the main servlet.&lt;br /&gt;&lt;br /&gt;The &lt;strong&gt;mainServlet &lt;/strong&gt;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.&lt;br /&gt;&lt;br /&gt;The &lt;strong&gt;filter&lt;/strong&gt; checks if the session exists, if not it redirects to the loginServlet.&lt;br /&gt;&lt;br /&gt;Deliver the Netbeans project by zipping it and uploading it onto piazza, in the folder &amp;ldquo;delivery_2&amp;rdquo; as a&lt;strong&gt; private message &lt;/strong&gt;to the instructor.   &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Deadline: 23:59, Oct 9.&lt;/strong&gt;</description>
		</item>
		<item>
			<title>3rd DELIVERY</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4240&amp;detail=4240</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4240&amp;detail=4240</guid>
			<pubDate>Sun, 18 Oct 2020 19:19:00 +0200</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>Create a Netbeans project named with &lt;strong&gt;your surname + 3&lt;/strong&gt; (eg., for me it would be Ronchetti3) and containing a webapp with the same name.&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;br /&gt;a page, accessible only to the journalist, allows to add one-liners such as &lt;br /&gt;&amp;quot;Leo Messi is going to be substituded by another player, because he&#039;s not feeling good after the fault on him.&amp;quot;&lt;br /&gt;Readers who connect to the newspaper page that broadcasts the match will get that line.&lt;br /&gt;&lt;br /&gt;Typically, the readers&#039; browser will every few seconds (say 15) ask the server if there is anything new, passing a token which identifies the last seen line. &lt;br /&gt;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. &lt;br /&gt;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..&lt;br /&gt;&lt;br /&gt;The initial token passed by a browser that is starting the connection will be 0.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;page&quot; title=&quot;Page 1&quot;&gt;&lt;div class=&quot;section&quot;&gt;&amp;nbsp;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.&lt;br /&gt;&lt;br /&gt;Upload it onto piazza, in the folder &amp;ldquo;delivery_3&amp;rdquo; as a&lt;strong&gt; private message &lt;/strong&gt;to the instructor.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Deadline: 23:59, Sunday Nov 1.&lt;/strong&gt;</description>
		</item>
		<item>
			<title>4th delivery</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4287&amp;detail=4287</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4287&amp;detail=4287</guid>
			<pubDate>Tue, 17 Nov 2020 12:07:00 +0100</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>&lt;div class=&quot;story&quot;&gt;Follow the tutorial:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mastertheboss.com/jboss-server/jboss-as-7/jboss-as-7-remote-ejb-client-tutorial&quot;&gt;http://www.mastertheboss.com/jboss-server/jboss-as-7/jboss-as-7-remote-ejb-client-tutorial&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;make it work. Embed the code in a Netbeans project named with &lt;strong&gt;your surname + 4a. &lt;/strong&gt;Deploy the application you developed into Wildfly.&lt;br /&gt;&lt;br /&gt;Once done that, modify the code so that:&lt;br /&gt;- 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.&lt;br /&gt;- instead of having a desktop java application client, you access it from a web client (use a Business Delegate in your code!).&lt;br /&gt;&lt;br /&gt;The modified code should be in a Netbeans project named with &lt;strong&gt;your surname + 4b. &lt;br /&gt;&lt;br /&gt;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!)&lt;br /&gt;&lt;br /&gt;HINT: &lt;/strong&gt;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.&lt;br /&gt;&lt;br /&gt;Write a report using the following structure:&lt;div class=&quot;story&quot; style=&quot;margin-bottom: 10px; clear: both; color: rgb(68, 68, 68); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;&lt;div class=&quot;story&quot; style=&quot;margin-bottom: 10px; clear: both;&quot;&gt;&lt;ul style=&quot;color: rgb(68, 68, 68); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);&quot;&gt;    &lt;li&gt;&lt;strong&gt;Title Page&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;containing date, title , your name&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Introduction&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;(problem statement, description of the domain)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Section 1: deploying the tutorial&lt;/strong&gt;    &lt;ul&gt;        &lt;li&gt;&lt;strong&gt;1.1 screen shots&lt;/strong&gt; of your app running, documenting the various steps&lt;/li&gt;        &lt;li&gt;&lt;strong&gt;1.2 Comments and notes&lt;/strong&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;(optional: any problems encountered during the project development, any other comment)&lt;/li&gt;    &lt;/ul&gt;    &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;strong&gt;Section 2: modification of the tutorial&lt;/strong&gt;&lt;/strong&gt;    &lt;ul&gt;        &lt;li&gt;&lt;strong&gt;2.1 Implementation&lt;/strong&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;(report and comment the most relevant pieces of soure code and config files)&lt;/li&gt;        &lt;li&gt;&lt;strong&gt;2.2 Deployment&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;(screen shots of your app running, documenting the various steps)&lt;/li&gt;        &lt;li&gt;&lt;strong&gt;2.3 Comments and notes&lt;/strong&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;(any problems encountered during the project development, any other comment)&lt;/li&gt;    &lt;/ul&gt;    &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;page&quot; title=&quot;Page 1&quot;&gt;&lt;div class=&quot;section&quot;&gt;Create a zip having your name, containing the two projects and the report&lt;br /&gt;Upload it onto piazza, in the folder &amp;ldquo;delivery_4&amp;rdquo; as a&lt;strong&gt; private message &lt;/strong&gt;to the instructor.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Deadline: 23:59, Sunday Dec 6.&lt;/strong&gt;&lt;/div&gt;</description>
		</item>
		<item>
			<title>5th Delivery</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4335&amp;detail=4335</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2021WebArchitectures&amp;section=467&amp;page=1578&amp;story=4335&amp;detail=4335</guid>
			<pubDate>Thu, 17 Dec 2020 11:37:00 +0100</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>Given the list of members of the Scottish Parliament, available at (&lt;a href=&quot;https://data.parliament.scot/api/members&quot;&gt;https://data.parliament.scot/api/members&lt;/a&gt;)  &lt;br /&gt;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).  &lt;br /&gt;&lt;br /&gt;Every name is linked to a personDetail page that: &lt;br /&gt;&lt;ul&gt;    &lt;li&gt;shows the birthdate (if available)&lt;/li&gt;    &lt;li&gt;shows the picture (if available)&lt;/li&gt;    &lt;li&gt;shows the party to which the parliamentary belongs (using &lt;a href=&quot;https://data.parliament.scot/api/memberparties&quot;&gt;https://data.parliament.scot/api/memberparties&lt;/a&gt; and &lt;a href=&quot;https://data.parliament.scot/api/parties&quot;&gt;https://data.parliament.scot/api/parties.&lt;/a&gt; Suggestion: create a service to cache (part of) the data.&lt;/li&gt;    &lt;li&gt;shows her/his website (if available, from &lt;a href=&quot;https://data.parliament.scot/api/websites&quot;&gt;https://data.parliament.scot/api/websites&lt;/a&gt; )&lt;/li&gt;&lt;/ul&gt;Use routing to allow moving between the two pages (the lists, and the personDetail).&lt;br /&gt;&lt;br /&gt;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).&lt;br /&gt;&lt;br /&gt;Write a report using the following structure:&lt;div class=&quot;story&quot; style=&quot;margin-bottom: 10px; clear: both; color: rgb(68, 68, 68); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;&lt;div class=&quot;story&quot; style=&quot;margin-bottom: 10px; clear: both;&quot;&gt;&lt;ul style=&quot;color: rgb(68, 68, 68); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);&quot;&gt;    &lt;li&gt;&lt;strong&gt;Title Page&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;containing date, title , your name&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Introduction&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;(problem statement, description of the domain)&lt;/li&gt;    &lt;li&gt;    &lt;ul&gt;        &lt;li&gt;&lt;strong&gt;2.1 Implementation&lt;/strong&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;(report and comment the most relevant pieces of source code and config files)&lt;/li&gt;        &lt;li&gt;&lt;strong&gt;2.2 Deployment&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;(screen shots of your app running, documenting the various steps)&lt;/li&gt;        &lt;li&gt;&lt;strong&gt;2.3 Comments and notes&lt;/strong&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;(any problems encountered during the project development, any other comment)&lt;/li&gt;    &lt;/ul&gt;    &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;page&quot; title=&quot;Page 1&quot;&gt;&lt;div class=&quot;section&quot;&gt;Create a zip having your name, containing: &lt;br /&gt;&lt;ul&gt;    &lt;li&gt;the Tomcat project&lt;/li&gt;    &lt;li&gt;the report&lt;/li&gt;    &lt;li&gt;the Angular sources&lt;/li&gt;&lt;/ul&gt;Upload it onto piazza, in the folder &amp;ldquo;delivery_5&amp;rdquo; as a&lt;strong&gt; private message &lt;/strong&gt;to the instructor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;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).&lt;/strong&gt;&lt;/div&gt;&lt;/div&gt;</description>
		</item>
	</channel>
</rss>