Implementazione di MVC. Gabriele Pellegrinetti



Documenti analoghi
Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

J2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser.

Laboratorio di Basi di Dati

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

PROGETTAZIONE E SVILUPPO DI UN. Relatore: Studente: Paolo Merialdo Valerio Barbagallo

SWIM v2 Design Document

Componenti Web: client-side e server-side

Architetture Software

L architettura MVC (Model- View-Controller) Introduzione

Use Case Driven Object Modeling: ICONIX

Introduzione all elaborazione di database nel Web

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Framework di Middleware. per Architetture Enterprise

XML e PHP. Gestire XML con PHP. Appendice

Siti web centrati sui dati (Data-centric web applications)

Flavio De Paoli

Presentazione della tesi di laurea di Flavio Casadei Della Chiesa. Newsletter: un framework per una redazione web

Applicazioni web centrati sui dati (Data-centric web applications)

Siti interattivi e dinamici. in poche pagine

Una metodologia di progettazione di applicazioni web centrate sui dati

XSL: extensible Stylesheet Language

Corso di PHP. Prerequisiti. 1 - Introduzione

Esercizi di JavaScript

L o. Walter Ambu japs: una soluzione agile (

Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Analisi e sviluppo di un componente per un ESB open source

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

MagiCum S.r.l. Progetto Inno-School

Protocolli e architetture per WIS

Corso basi di dati Introduzione alle ASP

Database e reti. Piero Gallo Pasquale Sirsi

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

sito web sito Internet

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Introduzione al Model-View-Controller (MVC)

Application Server per sviluppare applicazioni Java Enterprise

la tua presenza e il tuo BUSINESS ON-LINE

Esercizio 2. Client e server comunicano attraverso socket TCP

19. LA PROGRAMMAZIONE LATO SERVER

Architettura e tecnologie per lo sviluppo del Setup-Dashboard. Setup Srl Information Technologies

MODEL-VIEW-CONTROLLER PROBLEMA

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@ .cz

Test in automatico di programmi Android

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

Guida all uso delle Web View su ios

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Sito web parrocchiale: STRUMENTI E PROGRAMMI

Situazione Attuale. Le persone svolgono molte operazioni ripetitive ed occupano il proprio computer per le elaborazioni..

Introduzione alla Programmazione

APPENDICE A Servlet e Java Server Page

Installazione e caratteristiche generali 1

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Strumenti di modellazione. Gabriella Trucco

4 Data Transformation Services

Architetture Web: un ripasso

Messa in esercizio, assistenza e aggiornamento di una Piattaform Open Source Liferay plug-in per ARPA

14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. Alessandra Zullo

Rapporto tecnico sulle tipologie di agenti software definiti e implementati nell ambito del progetto

dell incasso degli avvisi di pagamento e dei flussi di rendicontazione di poste italiane.

Base di dati e sistemi informativi

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

Presentazione di Cedac Software

EXPLOit Content Management Data Base per documenti SGML/XML

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework.

PROTOS GESTIONE DELLA CORRISPONDENZA AZIENDALE IN AMBIENTE INTRANET. Open System s.r.l.

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A

Simple & Efficient.

Corso di Informatica Modulo T3 B1 Programmazione web

Progettazione di Applicazioni Web

Come funziona internet

Progettazione Web Applicazioni client-server

e-iter Programma di gestione delle procedure burocratiche in rete con il solo utilizzo di browser ed

Amministrazione Trasparente

Alfa Layer S.r.l. Via Caboto, Torino ALFA PORTAL

Visual basic base Lezione 01. L'ambiente di sviluppo

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

Manuale LiveBox WEB ADMIN.

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c)

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

Capitolo 4 Pianificazione e Sviluppo di Web Part

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Transcript:

Implementazione di MVC Gabriele Pellegrinetti

2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il primo produttore a suggerire di utilizzare il pattern MVC per lo sviluppo di applicazioni web tramite la piattaforma Java2 Enterprise Edition (J2EE). L'applicazione viene strutturata nel seguente modo: le view vengono implementate mediante l'utilizzo della tecnologia Java Server Page che consente di disegnare gli oggetti di presentation tramite il linguaggio HTML e di inserire all'interno di essi il codice Java da eseguire lato server. Questo codice non conterrà nessuna funzione di controllo o di accesso ai dati ma solo le funzionalità di composizione e dinamicizzazione delle pagine. il modello viene implementato tramite l'utilizzo di Java Beans quando le componenti sono locali all'application server che deve gestire l'applicazione o, tramite Enterprise Java Beans quando le componenti sono distribuite su più application server. All'interno dei bean verranno implementate tutte le funzioni di accesso ai dati e le regole di business per il loro trattamento. All'interno dei beans non vengono inserite funzioni di controllo o di presentation. gli oggetti di controllo vengono implementati tramite l'utilizzo delle servlet che avranno il compito di rimappare le richieste dell'utente, eseguite sulle mappe generate dalle JSP, in azioni che verranno eseguite dai beans.

3 il funzionamento è il seguente: 1. l'utente interagisce con una pagina web (web form) e specifica un comando. La pagina web invia al server il comando utente (<< submit >>); 2. sul server viene mandata in esecuzione la servlet di controllo che richiede ai bean (che rappresentano il modello) di eseguire le operazioni di business richieste dall'utente (<< send >>); 3. la servlet di controllo seleziona la view opportuna per presentare l'output all'utente e manda in esecuzione la rispettiva Java Server Page (<< forward >>); 4. la JSP recupera dal bean i dati aggiornati da visualizzare (<< call >>) quindi li elabora e genera come output una pagina HTML; 5. la pagina HTML generata dalla JSP viene inviata all'utente (<< display >>). Nella comunità open source esistono diversi framework che consentono all'utente di implementare applicazioni Java tramite l'utilizzo di MVC. Tra di essi troviamo l'ottimo STRUTS del progetto Jacarta gestito dall'apache Software Foundation (http://jakarta.apache.org/struts/index.html). Implementazione del pattern MVC in tecnologia Microsoft Prima dell'uscita della nuova tecnologia Microsoft.NET, che integra al suo interno delle componenti che semplificano l'implementazione di applicazioni tramite questo pattern (come la nativa separazione, all'interno delle pagine ASP.NET, fra le componenti di

4 presentation e le componenti di controllo), l'utilizzo di MVC con la tecnologia di Redmond era abbastanza difficoltoso. Il modo più semplice per implementare MVC tramite Active Server Page era quello di implementare tutte le componenti tramite file ASP e file di testo contenenti classi e procedure in Visual Basic Script. Più in dettaglio: si implementano le view tramite l'utilizzo di pagine ASP prive di codice di controllo e di codice di business. Queste ASP conterranno solamente codice per la generazione della user interface; si implementa il controller tramite l'utilizzo di una pagina ASP priva di codice HTML. Questa pagina conterrà al suo interno una o più procedure in VbScript che avranno il compito di gestire la logica di controllo dell'applicazione e il mapping delle richieste utente in azioni del modello; si implementa il model tramite la scrittura di classi in VbScript che verranno richiamate dalle pagine ASP di controllo e di visualizzazione. Il meccanismo di interazione fra le componenti è lo stesso di quello descritto per la tecnologia Java (cambia solo il nome delle componenti). La soluzione precedente non è ottimale in quanto si utilizza una tecnologia nata per realizzare oggetti di presentation (le ASP) come supporto per l'implementazione di oggetti di controllo. Le classi VbScript, inoltre, non sono il meccanismo migliore per implementare oggetti persistenti. La soluzione consiste nell'utilizzare, per implementare gli oggetti di controllo e di accesso ai dati, i normali linguaggi di programmazione prodotti da Microsoft che producono oggetti compilati. In particolare: le view vengono implementate mediante l'utilizzo della tecnologia Active Server Page che consente di disegnare gli oggetti di presentation tramite il linguaggio HTML e di inserire all'interno di essi il codice VbScript da eseguire lato server. Questo codice non conterrà nessuna funzione di controllo o di accesso ai dati ma solo le funzionalità di composizione e dinamicizzazione delle pagine. il modello viene implementato tramite l'utilizzo di ActiveX costruite secondo la specifiche COM di Microsoft. All'interno degli ActiveX verranno implementate tutte le funzioni di accesso ai dati e le regole di business per il loro trattamento.

5 Il modo più semplice per implementare l'activex è quello di utilizzare l'ambiente di sviluppo Visual Basic. gli oggetti di controllo vengono implementati tramite la creazione di fast CGI in tecnologia ISAPI che avranno il compito di rimappare le richieste dell'utente, eseguite sulle mappe generate dalle ASP, in azioni che verranno eseguite dagli ActiveX. L'utilizzo di questa tecnologia è più complessa rispetto ai corrispondenti servlet Java ma consente di ottenere performance superiori in quanto le componenti ISAPI sono compilate. Il modo più semplice per implementare la componente ISAPI è quello di utilizzare l'ambiente di sviluppo Visual Basic. Il meccanismo di interazione fra le componenti è lo stesso di quello descritto per la tecnologia Java (cambia solo il nome delle componenti). MVC tramite XML L'utilizzo della tecnologia basata su XML consente di creare applicazioni in grado di trasformare, tramite l'applicazione di un opportuno foglio di stile, un flusso dati, espresso in XML (extended Markup Language), in un qualsiasi altro formato.per eseguire questa operazione le applicazioni si appoggiano principalmente su tre diverse tipologie di oggetti: i file XML che rappresentano i dati da proporre all'utente; i fogli di stile XSL che consentono di descrivere le regole di trasformazione che convertono il file XML in un altro formato (ad esempio in HTML) il parser che, presi in input il file XML contenente i dati e il foglio di stile XSL, esegue la trasformazione nel nuovo formato.

6 L'utilizzo di XML consente di implementare il pattern MVC strutturando l'applicazione nel seguente modo: le view vengono implementate mediante l'utilizzo di fogli di stile XSL. Visto che si vuole implementare una presentation in HTML si utilizzeranno le specifiche XSLT. il modello viene implementato tramite l'utilizzo di una componente (ActiveX, bean,...) che ha lo scopo di generare i file XML contenenti i dati. All'interno di queste componenti verranno implementate tutte le funzioni di accesso ai file XML e le regole di business per il loro trattamento. gli oggetti di controllo vengono implementati tramite le tecnologie tradizionali descritte in precedenza (servlet, ISAPI,...) e avranno il compito di rimappare le richieste dell'utente, eseguite sulle mappe generate dalle view, in azioni che verranno eseguite dagli dalle componenti del model. Sarà compito del controller invocare il parser per eseguire la trasformazione dell'xml in pagine web.

7 il funzionamento è il seguente: 1. l'utente interagisce con una pagina web (web form) e specifica un comando. La pagina web invia al server il comando utente (<< submit >>); 2. sul server viene mandato in esecuzione l'oggetto di controllo che richiede alle componenti che costituiscono il model di eseguire le operazioni di business richieste dall'utente (<< send >>); 3. le componenti che costituiscono il modello generano, se necessario, i dati in formato XML (<< generate >>); 4. la servlet di controllo seleziona il foglio di stile XSL (view) necessario per presentare l'output all'utente e chiede al parser di eseguire la trasformazione. Al parser vengono passati i riferimenti ai dati XML e al foglio di stile (<< trasform >>); 5. Il parser legge i dati XML e il foglio di stile XSL (<< read >>) e genera come output una pagina HTML; 6. la pagina HTML generata dalla parser viene inviata all'utente (<< display >>).

Tecnet Dati s.r.l. C.so Svizzera 185 10149 - Torino (TO), Italia Tel.: +39 011 7718090 Fax.: +39 011 7718092 P.I. 05793500017 C.F. 09205650154 www.tecnetdati.com