## page was renamed from Sviluppo di Applicazioni Web ###acl LorenzoGallucci:read,write,revert,admin,delete GiovanniGrasso:read,write,revert,admin,delete GisellaBennardo:read,write,revert,admin,delete All:read == Sviluppo di Applicazioni Web (DM509) == <
> <> <> '''Spostamento lezioni:''' [[attachment:orario.pdf]] === Obiettivo del corso === E' obiettivo del corso fornire agli studenti conoscenze sufficienti per poter sviluppare, da subito, applicazioni Web in ambito enterprise. Obiettivo dello studente è, invece, l'acquisizione di tali capacità sia dal punto di vista organizzativo, che puramente tecnologico. Per tale ragione, è necessario che i progetti d'esame siano sviluppati congiuntamente da gruppi di 4 persone. === Svolgimento del corso === In una prima fase viene creato un ambiente condiviso di sviluppo, basato su strumenti che facilitano la collaborazione tra i membri di un team, in particolare sistemi che rispondono alle seguenti esigenze: * "Software configuration management" --> CVS * "Issue Tracking" --> Bugzilla * "Shared knowledge" --> Media``Wiki ''E' consigliata la formazione dei gruppi già in questa fase.'' In una seconda fase, strumenti di supporto al processo di sviluppo vengono introdotti e spiegati, in particolare: * Integrated Development Environment --> Eclipse (già incontrato nei corsi precedenti, ne verrà analizzata la connessione con gli strumenti precedenti) * Automated Unit Testing --> JUnit (integrato in Eclipse) * Automated Build Process --> Ant (integrato in Eclipse) === Argomenti trattati === Una volta che sia stato stabilito l'ambiente complessivo (strumenti di sviluppo personali e server di supporto) in cui il gruppo potrà muoversi vengono affrontate le tematiche più squisitamente tecnologiche: * Protocolli e standard * HTTP * XML * Tecnologie lato client per lo strato di presentazione: * HTML * CSS * Java``Script ''(maybe)'' * Tecnologie lato server per lo strato di presentazione: * Servlet e JSP nell'architettura JEE di Sun * Tecnologie lato server per gli strati di modello e controller: * Utilizzo di framework per la gestione della persistenza in linguaggi ad oggetti (Tools di ORM, Object Relational Mapping) --> Hibernate * Utilizzo di framework per la costruzione di applicazioni (in particolare, applicazioni Web) --> Spring Framework === Testi consigliati === Elenco dei testi consigliati: * [[http://www.manning.com/walls2/|Spring in Action]] * [[http://www.manning.com/bauer2/|Java Persistence with Hibernate]] Spring * [[http://www.manning.com/walls2/|Spring in Action]] * [[http://www.springframework.org/|Spring framework]] Hibernate: * [[http://www.manning.com/bauer2/|Java Persistence with Hibernate]] * [[http://www.hibernate.org/|Hibernate]]