Spring Intro Una panoramica del framework open source. Giovedì 18 febbraio 2016
|
|
- Riccardo Lelli
- 7 anni fa
- Visualizzazioni
Transcript
1 Spring Intro Una panoramica del framework open source Giovedì 18 febbraio 2016
2 Programma della mattinata : Primo Modulo Introduzione a Spring Framework Panoramica delle componenti principali IoC e Dependency Injection Configurazione del context : coffee break
3 Programma della mattinata : Secondo Modulo Spring MVC Introduzione alla configurazione MVC Spring Controllers Spring Hateoas: REST Support : Q&A e conclusione dei lavori
4 Introduzione a Spring Framework Il più diffuso framework open-source per lo sviluppo di applicazioni in ambiente Java EE: Adottato ormai come uno standard de facto Non invasivo Modulare Facilita lo sviluppo, occupandosi delle operazioni base e lasciando al programmatore il focus sulla logica di business Promuove pratiche di programmazione virtuose e l uso di design patterns
5
6
7 Core Container Core & Beans compongono la parte fondamentale del framework e forniscono funzionalità quali IoC e Dependency Injection Context fornisce un metodo di accesso agli oggetti gestiti da Spring, in modo simile ad un registro Expression language fornisce un potente linguaggio per leggere e manipolare oggetti a runtime (jsp, security, ecc..)
8 AOP, Aspect, Instrumentation AOP implementazione AOP Alliance-compliant che permette all utente di definire intercettori e punti di controllo per disaccoppiare funzionalità distinte Aspect integrazione con AspectJ Instrumentation classi di supporto e classloaders per vari applications server (spring-instrumentationtomcat)
9 Data Access Integration JDBC ORM integrazione con framework come Hibernate e ibatis OXM integrazione con framework di mapping Obj/xml (jaxb, castor, ecc..) JMS Transaction per la gestione programmatica delle transazioni
10 WEB Web offre funzionalità base per applicazioni web-oriented, come l upload multipart e l inizializzazione del container IoC attraverso l uso di Servlet Listeners WebMVC (web servlet) fornisce le implementazioni per il pattern model-view-controller e i protocolli REST WebMVC - Portlet come la precedente, ma implementa il protocollo JSR-286 (portlet 2.0)
11
12 IoC e Dependency Injection IoC Pattern Le basi del Container IoC
13 IoC Pattern Un applicazione Java consiste tipicamente in un insieme di componenti (oggetti) che collaborano tra loro in diversi modi, generando delle dipendenze tra di loro. Una delle lacune di Java è la mancanza di un metodo standard per la gestione e l organizzazione dei blocchi principali di un applicazione. La soluzione è lasciata all architetto (o molto spesso al programmatore stesso), che si può affidare ai Design Patterns.
14 IoC Pattern
15 IoC Pattern Spring utilizza il principio chiamato Inversion of Control (IoC) per gestire questa complessità, fornendo una modalità per comporre i diversi oggetti di un applicazione in un unico progetto coerente. Implementa una serie di pattern che possono essere utilizzati in modo semplice dall utente. Il Dependency Injection è una modalità con la quale viene realizzato IoC.
16 IoC Pattern Il Dependency Injection è un processo attraverso il quale gli oggetti definiscono le proprie dipendenze, in tre modalità: Argomenti del Construttore Argomenti ad un Factory Method Proprietà che devono essere settate (setters) Il Container si occupa di iniettare queste dipendenze, in modo automatico, invertendo di fatto il processo di creazione degli oggetti.
17 IoC Pattern
18 Le basi del Container IoC L interfaccia ApplicationContext rappresenta il Container IoC Spring. E responsabile della creazione, configurazione e assemblaggio dei beans.
19 Le basi del Container IoC Le istruzioni per la creazione dei beans vengono caricate dai metadati di configurazione, che sono rappresentati da: XML Java Annotations Java Configuration Questi metadati esprimono le dipendenze tra gli oggetti gestiti nella nostra applicazione.
20 Configurazione del Context Creazione di un context: xml, annotation e configuration Inizializzazione di un Container IoC: standalone e web Uso del Container IoC
21 Creazione di un Context: XML
22 Creazione di un Context: Annotation
23 Creazione di un Context: Annotation Per essere attivo richiede la configurazione preventiva di uno scanner per individuare le annotation: Le injection via Annotation vengono chiamate prima di quelle dichiarate via configuazione xml.
24 Creazione di un Context: Annotation Esiste una gerarchia di Stereotipi che ci aiuta a definire il ruolo dei nostri oggetti all interno della struttura dell applicazione:
25 Creazione di un Context: Java Config
26 Inizializzazione di un Container IoC In modalità stand-alone (cioè non web) un context può essere inizializzato caricando un metadato (xml config) o registrando una o più classi di configurazione (java config)
27 Inizializzazione di un Container IoC Un esempio di caricamento tramite configurazione Java
28 Inizializzazione di un Container IoC
29 Uso del Container IoC Abbiamo già visto che l interfaccia ApplicationContext rappresenta il nostro Container e inizializza il context. Una volta inizializzato il context possiamo recuperarlo nei nostri bean possono essere wirate anche Collections<T> dove T è in una gerarchia di beans gestiti context.getbean(string name, Class<T> requiredtype)
30 Uso del Container IoC
31 Spring MVC Spring web-mvc Il Pattern MVC Spring MVC architetture Dispatcher Servlet Componenti principali
32 Spring web-mvc Spring web-mvc è un modulo di Spring che possiamo utilizzare nei nostri progetti. E il modulo di riferimento per le applicazioni web (sia classiche che REST) Implementa il pattern Model - View - Controller
33 Il Pattern MVC MVC è un pattern architetturale di front-end per l interazione con altri sistemi. Si basa sull interazione di tre componenti principali, opportunamente configurati.
34 Il Pattern MVC Rappresentazione del flusso di esecuzione in un pattern mvc
35 Spring MVC Architecture Assumendo l uso di jsp, possiamo rappresentare così l archiettura mvc implementata da Spring
36 Spring MVC Architecture DispatcherServlet: single point of access per le richieste Controller: si occupa di elaborare le richieste e costruire gli elementi necessari per inviare la risposta View: si occupa di renderizzare i dati contenuti nel model ModelAndView: incapsula la relazione tra view e model, contenendo i dati (model) e il nome logico della vista Model/ModelMap: contiene i dati (tipicamente pojo) che servono per il rendering finale della vista
37 Dispatcher Servlet E la servlet principale dell applicazione, nella maggior parte dei casi, l unica servlet definita. Si occupa anche di inizializzare i componenti del framework che servono a processare le richieste (interceptor, view resolver, internationalization, ecc..) Gestisce tutte le richieste in arrivo e le dirotta ai vari controller, determinando quale di essi sia deputato a gestire la richiesta specifica Utilizza un design pattern chiamato Front Controller.
38 Dispatcher Servlet Deve essere inizializzata nel web.xml. E richiesta la creazione di un WebApplicationContext per ogni servlet definita... ricordate il secondo contesto definito durante la creazione del progetto? Vediamolo insieme!
39 Componenti principali: Controller E responsabile di ricevere le richieste dall utente (o dal browser) Interpreta e valida gli input dell utente Trasforma gli input ricevuti in oggetti più o meno complessi Si occupa di creare e popolare il model, utilizzando i servizi sottostanti All interno di un applicazione Spring, può essere riconosciuto per dall
40 Componenti principali: Model Il Model è un contenitore di oggetti (pojo o beans) che saranno inviati alla view per essere rappresentati Tipicamente viene implementato attraverso una Map<String, Object> All interno di un applicazione Spring web troveremo spesso un oggetto di tipo ModelAndView, che incapsula la relazione tra model e view e viene ritornato dal controller
41 Componenti principali: View Si occupa di renderizzare l output finale da ritornare al browser o all invocante Possono essere utilizzate diverse tecnologie per la realizzazione della view, ad esempio: jsp tiles velocity struts ecc Spring utilizza uno (o più) bean per matchare il nome della view definito nel controller con un oggetto specifico da processare (un file jsp, un template velocity, ecc..)
42 Introduzione alla configurazione MVC Guardiamo insieme un esempio di contesto View Resolution
43
44
45 Configurazione MVC All interno del file di esempio possiamo discutere gli elementi principali di questo context: - <context:annotation-config /> component-scan <mvc:annotation-driven/> <mvc:default-servlet-handler/> esempi di view resolver <mvc:argument-resolvers /> <mvc:interceptors /> security
46 View Resolution Possiamo definire più beans che si occupino di matchare il nome logico di una vista con un bean/file/template. Tutti questi beans implementano due interfacce: - ViewResolver Ordered Questi resolvers dovrebbero sempre essere ordinati e la risoluzione avviene per pattern matching. Possiamo definire più beans che si occupino di matchare il nome logico di una vista con un bean/file/template.
47 Spring Controllers Definizione di un Controller Request Mapping Parameter Injection RequestBody e ResponseBody
48 Definizione di un Controller Lo identifica una classe deputata alla gestione di una o più richieste http. L è utilizzata per definire il mapping tra le richieste, definite come url + parametri, e i metodi deputati alla gestione. Può essere utilizzata a livello di classe, per definire un path specifico valido per tutti i metodi, o a livello di metodo. Accetta una serie di parametri che analizzeremo tra poco.
49 @Request Mapping Definisce il mapping tra url e classe/metodo di gestione Properties disponibili: Value: definisce il path url a cui il metodo risponde Method: definisce l elenco dei metodi HTTP che il metodo supporta (GET, POST, OPTION, PUT, ecc..) Consumes/produces: definisce il mimetype del contenuto che il metodo supporta. Il mimetype è usato per fare il marshalling e l unmarshalling del contenuto della request e della response (esempio: text/html, application/json, ecc..) Alcuni mimetype richiedono converters (json, xml,..)
50 @Request Mapping
51 Parameter Injection: URI Templates Spring ci permette di definire delle variabili all interno dei nostri path e di gestire queste variabili come parametri in ingresso al controller: - supportano regular expressions - valido solo per tipi primitivi (wrapper), String e Date
52 Parameter Injection: HTTP Params Spring ci permette di definire i parametri della nostra richiesta (GET, POST) come parametri in ingresso al controller: - default per tipi primitivi (wrapper), String e Date - possono essere estesi con i DataBinding - supportano le properties: value, required e defaultvalue
53 Parameter Injection: HTTP Params Possiamo tranquillamente utilizzare tutti questi metodi di injection dei parametri, Spring cercherà il miglior match possibile (o ritornerà 404 se nessun match è possibile)
54 @RequestBody Indica a Spring che l intero body della nostra request deve essere mappato su un unico oggetto java. Deve esistere un converter valido per questo oggetto!
55 @ResponseBody Indica a Spring che l intero body della nostra response deve essere popolato con il valore del tipo di ritorno del metodo. Anche in questo caso deve essere utilizzato un converter valido tra l oggetto java e il mimetype in output dichiarato dal metodo. Utilizzato molto spesso in ambiti REST.
56 Esempio di una vista
57 Spring Hateoas: REST Support ResourceSupport Utilizzo Gestione chiamate Cross-Origin
58 Resource Support La funzionalità principale del pacchetto Hateoas è l introduzione della classe ResourceSupport Supporta nativamente la conversione in JSON, tramite la libreria jackson In ambito REST, ogni metodo che ritorna un dato (@ResponseBody) dovrebbe ritornare: HttpEntity<T extends ResourceSupport>
59 @Rest Controller Novità di Spring 4.0, definito come meta L viene propagata a livello di metodo, quindi non è più necessario indicarla su ogni singolo metodo. Da Spring 4.2 (Luglio 2015) supporta l utilizzo per definire proiezioni di dati.
60 @Json View
61 Gestione di chiamate Cross Origin Una chiamata http viene definita Cross Origin quando l initiator e la destination hanno due domain name diversi (protocol + server name + port). Spesso utilizzate per chiamate ajax. Caso tipico applicazioni REST + frontend javascript!
62 Gestione di chiamate Cross Origin Fino a poco tempo fare era necessario implementare un filtro Da Spring 4.2 non serve permette di modellare questo comportamento, aggiungendo gli header corretti
63 Q&A Domande? Dubbi?
64 Grazie per l attenzione! Per saperne di più sui nostri corsi di formazione visita
Programmazione Java Avanzata Il Framework Spring
Programmazione Java Avanzata Il Framework Spring Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress.
DettagliPROGETTAZIONE E SVILUPPO DI UN. Relatore: Studente: Paolo Merialdo Valerio Barbagallo
PROGETTAZIONE E SVILUPPO DI UN SIMULATORE ECONOMICO FISCALE Relatore: Studente: Paolo Merialdo Valerio Barbagallo Sommario il problema: gestione e ottimizzazione del bilancio piattaforma J2EE e framework
DettagliIl Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework.
tesi di laurea Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework. Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio
DettagliProgrammazione Java Avanzata
Programmazione Java Avanzata Introduzione a Servlet e Struts 2 Ing. Giuseppe D'Aquì 1 Testi Consigliati Java Enterprise in a nutshell, 3 rd edition (O'Reilly) Struts 2 in Action Brown, Davis, Stanlick
DettagliAOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma
AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma PROGETTAZIONE E REALIZZAZIONE DI UN SISTEMA WEB MULTI-AGENTE PER LA PIANIFICAZIONE DI ITINERARI Relatore: prof. Ing.
DettagliFramework di Middleware. per Architetture Enterprise
Framework di Middleware per Architetture Enterprise Corso di Ingegneria del Software A.A.2011-2012 Un po di storia 1998: Sun Microsystem comprende l importanza del World Wide Web come possibile interfaccia
DettagliCorso di Applicazioni Telematiche
Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.12 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Una Servlet è un componente software scritto in Java,
Dettagli3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni
IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................
DettagliCORSO DI PROGRAMMAZIONE JAVA
CORSO DI PROGRAMMAZIONE JAVA Corso di Programmazione Java Standard Edition ( MODULO A) OBIETTIVI ll corso ha come obiettivo quello di introdurre la programmazione a oggetti (OOP) e di fornire solide basi
DettagliMODEL-VIEW-CONTROLLER PROBLEMA
MODEL VIEW CONTROLLER DESIGN PATTERN MODEL-VIEW-CONTROLLER INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it
DettagliCorso analista programmatore Java. Corso analista programmatore Java Programma
Corso analista programmatore Java Programma 1.1 Obiettivo e modalità di fruizione L obiettivo del corso è di fornire le conoscenze tecniche e metodologiche per svolgere la professione di Programmatore
DettagliScuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica. Elaborato finale in Programmazione 2
Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Programmazione 2 Il framework Spring MVC per lo sviluppo di applicazioni enterprise Anno Accademico
DettagliCorso Analista Programmatore Java Corso Online Analista Programmatore Java
Corso Analista Programmatore Java Corso Online Analista Programmatore Java Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Java Tematiche Trattate Modulo Uno
DettagliProgrammazione Java Avanzata PATTERN
Programmazione Java Avanzata PATTERN Anno 2011/2012 Pattern Una soluzione progettuale generale a un problema ricorrente Elementi per il riuso di software ad oggetti Vantaggiosi e obbligatori da usare Pattern
DettagliL architettura MVC (Model- View-Controller) Introduzione
L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,
DettagliArchitettura MVC-2. Alberto Belussi. Anno accademico 2006/2007
Architettura MVC-2 Alberto Belussi Anno accademico 2006/2007 Verso l architettura MVC-2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell esecuzione, che rimane alla servlet,
DettagliCorso Online. We Train Italy info@wetrainitaly.it
Corso Online Programmatore Java New Edition We Train Italy info@wetrainitaly.it Programma Generale del Corso Programmatore Java New Edition 1. Introduzione al corso Java da 0 al web Presentazione del corso
DettagliLaboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
DettagliBreve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida
Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare
Dettaglisimplesoad SERVICE ENGINEER
SIMPLE ENGINEERING simplesoad SERVICE ENGINEER TRAINING CYCLE SHEET SIMPLESOAD_SE_COURSE_SHEET_IT_2007032701 SIMPLE ENGINEERING 2007 - ALL RIGHTS RESERVED. SIMPLE ENGINEERING IS AN INDEPENDENT EUROPEAN
DettagliCorso Programmazione Java Standard
Corso Programmazione Java Standard Codice: ITJS0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle varie sfaccettature della sintassi del linguaggio Java, integrata con mirate
DettagliFramework. Impianti Informatici. Web application - tecnologie
Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione
DettagliINTRODUZIONE E CONTESTO PROBLEMA. DEPENDENCY INJECTION INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Scopo. Esempio naive.
DEPENDENCY INJECTION DEPENDENCY INJECTION INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it Architetturali
DettagliSWIM v2 Design Document
PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback
DettagliReti di Calcolatori L-S A.A. 2007/2008. Sviluppo e collaudo di un'applicazione web mediante IoC e AOP. di Franchi Alessandro matr.
Reti di Calcolatori L-S A.A. 2007/2008 Sviluppo e collaudo di un'applicazione web mediante IoC e AOP di Franchi Alessandro matr. 0000219521 Introduzione Le specifiche J2EE definiscono una piattaforma per
DettagliVerso l architettura MVC-2 Java Server Pages (JSP)
Verso l architettura MVC-2 Java Server Pages (JSP) 1 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 2 0 1 2 / 2 0 1 3 JSP Una pagina JSP può essere vista come uno schema di pagina Web dove: le
DettagliJ2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser.
Il Pattern MVC J2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser. Il famework Sun J2EE Component, Container e Connector:
DettagliIntroduzione a JSF: Le basi in un esempio. Giulio Rossetti 20/09/2007
Introduzione a JSF: Le basi in un esempio. Giulio Rossetti 20/09/2007 Introduzione: Java Server Faces è un framework, le cui specifiche sono rese disponibili dalla Sun, che permette di realizzare GUI in
Dettagli26-28 Luglio Angular 2. One framework. Mobile and desktop.
26-28 Luglio 2016 Angular 2 One framework. Mobile and desktop. AGENDA Gli argomenti che affronteremo in questa sessione 1 INTRODUZIONE 3 Cos è Angular 2 e perchè dovremmo usarlo. Architettura generale
DettagliProgrammazione Java Avanzata Spring - JDBC
Programmazione Java Avanzata Spring - JDBC Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress. 2008
DettagliIntroduzione. Java HTTP. G. Prencipe
Java html e http G. Prencipe prencipe@di.unipi.it Introduzione Tutte le comunicazioni tra client e server Web avvengono mediate il (HyperText Transfer Protocol, attualmente alla versione 1.1), che è un
DettagliArchitettura Model-View-Controller (MVC)
Laboratorio a o o di Basi di Dati e Web Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere
DettagliImplementazione di MVC. Gabriele Pellegrinetti
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
DettagliDesign Principle. immagini da SOLID Motivational Posters, by Derick Bailey
Design Pattern Design Principle immagini da SOLID Motivational Posters, by Derick Bailey Single Responsibility Principle Single Responsibility Principle A class should have only one reason to change. Open
DettagliApplicazione: GAS - Gestione AcceSsi
Riusabilità del software - Catalogo delle applicazioni Gestione ICT Applicazione: GAS - Gestione AcceSsi Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi Nome
DettagliSOMMARIO DESIGN PATTERN
INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 DESIGN PATTERN
DettagliD B M G Il linguaggio HTML
Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti
DettagliCurriculum Vitae di. Pietro Martinelli
Curriculum Vitae di Pietro Martinelli Informazioni generali nato a Brescia il 19/03/1978 residenza e domicilio a Brescia in via Colle Fiorito n. 23 - c.a.p. 25123 cell. 3470189513, 3207297747 email: amicofragile@gmail.com
DettagliSOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE. Introduzione. Cos è un design pattern. Cos è un design pattern
INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it DESIGN PATTERN
DettagliLa Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA
IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support massimo_marasco@it.ibm.com Oriented Architecture (SOA) Servizio
Dettagli1. Destinatari e requisiti di ingresso. 2. Durata sede e organizzazione del corso. 3. Oggetto della formazione
Summer school per lo sviluppo di applicazioni software enterprise Sottotitolo: "Formazione, seminari e sviluppo software in Java. Implementazione di un caso di studio reale" Sardegna Ricerche, nell ambito
DettagliModel View Controller (MVC)
(MVC) in sintesi è una applicazione del pattern alle interfaccie utente (GUI ma non necessariamente) lunga tradizione in smalltalk non è propriamente un design patter ma un architectural pattern perché
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE Framework per il Modello 2 Struts versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliMaster SIT settembre Corso Web & GIS. Chiara Renso. ISTI- CNR
MAPSERVER Corso ISTI- CNR c.renso@isti.cnr.it Mapserver è un software opensource fornito dall Università del Minnesota http://www.mapserver.org/ e fornisce un ambiente per la pubblicazione sul web di mappe.
DettagliPROGETTO E SVILUPPO DI UNA PIATTAFORMA PER LA GESTIONE IN REMOTO DELL HERBARIUM PATAVINUM
UNIVERSITÀ DI PADOVA FACOLTÀ DI INGEGNERIA TESI DI LAUREA PROGETTO E SVILUPPO DI UNA PIATTAFORMA PER LA GESTIONE IN REMOTO DELL HERBARIUM PATAVINUM Laureando: Carlo Menegazzo Relatore: Sergio Canazza Targon
DettagliArchitetture di sistema
Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.7 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
Dettagli@2011 Politecnico di Torino 1
Concetti di base Programmazione Web Il linguaggio HTML HTML consente di annotare un testo per contrassegnare le parti che lo compongono Le annotazioni sono realizzate tramite i "tag" Visualizzare documenti
DettagliJUG Ancona Italy. Andrea Del Bene. Jug Marche
JUG Ancona Italy SpringMVC AndreaDelBene JugMarche Cos'èSpringMVC? Spring MVC è il sotto-framework di Spring che permetti di servirsi del Framework Spring per realizzare applicazioni web. Possiamo quindi
DettagliSviluppo di una web-application per itinerari turistici in Spring MVC: autenticazione tramite social network
Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Tesi di Laurea di I livello in Informatica Sviluppo di una web-application per itinerari turistici in Spring MVC: autenticazione
DettagliLaboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
DettagliVerso l architettura MVC-2 Java Server Pages (JSP)
Verso l architettura MVC-2 Java Server Pages (JSP) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 JSP Una pagina JSP può essere vista come uno schema di pagina Web dove: le parti statiche sono scritte in
DettagliRiccardo Solimena e Stefano Dellafiore Javaday IV Roma 30 gennaio 2010
Applicazioni RESTful con Jersey Come realizzare un microblog in 10 minuti About us Senior Consultant @ Milano About us Senior Consultant @ Lugano JIP Java Italian Portal Sito Internet - http://www.javaportal.it/
DettagliArgomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON
XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato
DettagliAscotWeb - mediatore Versione dicembre 2015
AscotWeb - mediatore Versione 1.0.1 21 dicembre 2015 Approvazioni Il presente documento è stato approvato da: 20/05/16 12.17 2 Storia delle Modifiche Versione Data Descrizione 1.0 19/05/2016 Prima versione
DettagliIl Paradigma REST per lo sviluppo di applicazioni Web 2.0
tesi di laurea Anno Accademico 2006/2007 Il Paradigma REST per lo sviluppo di applicazioni Web 2.0 relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Marcello Cinque candidato Antonio Alonzi Matr.
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa
DettagliModelli e strumenti per la generazione automatica di codice
tesi di laurea Anno Accademico 2005-2006 relatore Ch.mo prof. Porfirio Tramontana candidato Valerio Lombardi Matr. 534/237 Contesto e Contributo Fusione tra il mondo della modellazione e della programmazione
DettagliIntroduzione al mondo della persistenza. Dott. Doria Mauro doriamauro@gmail.com
Hibernate Introduzione al mondo della persistenza Dott. Doria Mauro doriamauro@gmail.com La questione della persistenza Il modo dei database è complesso e le tecniche e le tecnologie sono molte. Per anni
DettagliLaboratorio di Applicazioni Internet Anno Accademico 2005/2006
Laboratorio di Applicazioni Internet Anno Accademico 2005/2006 Tito Flagella (tito@link.it) Domenico Aquilino (d.aquilino@metaware.it) Dipartimento di Informatica Università di Pisa Orario Mercoledì, 9-11
DettagliCosa è importante: pom.xml Goal Plug-in Repository
Cos è Maven? Maven è un software usato principalmente per la gestione di progetti Java e build automation, ma è utile anche per gestire documentazione, report, dipendenze... Cosa è importante: pom.xml
DettagliLezione di Basi di Dati 1 18/11/2008 - TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP
EVOLUZIONE DEL WEB: PAGINE STATICHE vs PAGINE DINAMICHE Il Web è nato a supporto dei fisici, perché potessero scambiare tra loro le informazioni inerenti le loro sperimentazioni. L HTTP è nato inizialmente
DettagliArchitetture di sistema
Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.6 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio
DettagliWeb framework in ambito Java: Java Server Faces
POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Monografia di Laurea Web framework in ambito Java: Java Server Faces Terzulli Pierangelo matr. 113149 A.A. 2006/
DettagliReti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete
Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete Reti di calcolatori Protocolli di Trasmissione: Il modello ISO/OSI L architettura TCP/IP Protocolli di trasmissione Un protocollo di
DettagliRESTful Web Service. Andrea Pinazzi. 10 Maggio 2010
RESTful Web Service Andrea Pinazzi 10 Maggio 2010 Che cos è REST? REST, Representational State Transfer, è uno stile architetturale per sistemi software distribuiti. Il termine è stato introdotto e definito
DettagliNETSHOP: un centro commerciale virtuale
Seconda Università degli Studi di Napoli Facoltà di Ingegneria Tesi di Laurea in Ingegneria Informatica NETSHOP: un centro commerciale virtuale Relatore: Candidato: Ch.mo Prof. Luigi Luongo Antonio d Acierno
DettagliPattern Architetturali e Analisi Architetturale
Pattern Architetturali e Analisi Architetturale Ingegneria del Software parte II Andrea Bei Pattern Architetturali Pattern Architetturale Descrive il modello organizzativo strutturale di un sistema software
DettagliApplicazioni Web con JavaServer Faces (JSF)
Applicazioni Web con JavaServer Faces (JSF) a cura di Damiano Distante damiano.distante@unitelma.it Un po di storia Settembre 2002 pubblicazione della prima December 2003 - proposta di versione finale
DettagliApplicazione: SIPER Servizi In linea per il PERsonale
Riusabilità del software - Catalogo delle applicazioni Gestione Personale Applicazione: SIPER Servizi In linea per il PERsonale Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei
DettagliAlcune idee sui sistemi software e la loro architettura
Luca Cabibbo Analisi e Progettazione del Software Alcune idee sui sistemi software e la loro architettura Capitolo 92 marzo 2016 Gli orchi sono come le cipolle. Le cipolle hanno gli strati. Gli orchi hanno
DettagliInternet of Things & Wireless Sensor Networks
Internet of Things & Wireless Sensor Networks Protocols for IoT Ing. Luca Davoli Wireless Ad-hoc Sensor Network Laboratory WASNLab davoli@ce.unipr.it This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike
DettagliStrutture di accesso ai dati
Strutture di accesso ai dati 1 A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 0-2 0 1 1 Gestore dei metodi di accesso 2 E il modulo del DBMS che trasforma il piano di esecuzione
Dettagli1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org
1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org Applicazione J2EE sul SAP WAS con SAP NWDS. Il SAP Web Application Server fornisce un framework integrato per lo sviluppo e l
DettagliProgettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)
Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori
DettagliProgrammazione server-side: Java Servlet
Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos
DettagliIntroduzione ad Architetture Orientate ai Servizi e Web Service
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci iannucci@ing.uniroma2.it Anno
DettagliCapitolo 6 Le infrastrutture SoftWare
Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione
DettagliCome funziona internet
Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
DettagliPROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA
PROGRAMMAZIONE DISCIPLINARE PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA 1. Competenze: le specifiche competenze di base disciplinari previste dalla
DettagliArchitettura 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 2 0 1 2 / 2 0 1 3
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 2 0 1 2 / 2 0 1 3 Verso l architettura MVC-2 2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell
DettagliUltime novità su RES Suite
Ultime novità su RES Suite Ultime novità su RES Suite: il cantiere della versione EV 1.0 Procedono i lavori sulla nuova versione di RES Suite, le prima che avrà il suffisso EV (Enterprise Version): l annuncio
DettagliStoneGate Report Manager. Panoramica sulla funzionalità
StoneGate Report Manager Panoramica sulla funzionalità Marco Rottigni 4 maggio 2007 Pag. 2 di 9 Indice Capitolo 1 Scopo del Documento 3 Capitolo 2 Breve Descrizione di StoneGate Management Center 4 Capitolo
DettagliCorso Android Corso Online Sviluppo su Cellulari con Android
Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione
DettagliInteroperabilità e cooperazione applicativa tra sistemi informativi
Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community
DettagliJDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico
JDBC Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 JDBC JDBC (Java Database Connectivity) è una API Java per accedere ed elaborare dati in una sorgente dati (di solito un db
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliPROGRAMMA CORSO Analista Programmatore JAVA - ORACLE
PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE 1. JAVA 1.1 Introduzione a Java Introduzione Cosa è Java 1.2 Sintassi e programmazione strutturata variabili e metodi tipi di dati, array operatori
DettagliAPPENDICE 4 AL CAPITOLATO TECNICO
APPENDICE 4 AL CAPITOLATO TECNICO Descrizione dei profili professionali INDICE 1 PROFILI PROFESSIONALI RICHIESTI 3 1.1 CAPO PROGETTO 3 1.2 ANALISTA FUNZIONALE 4 1.3 ANALISTA PROGRAMMATORE 5 1.4 PROGRAMMATORE
Dettagli03 Una Rapida Parentesi su Java 5 e Annotazioni (JSR-175)
Java 5 e Annotazioni Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2010/2011 Sistemi Distribuiti M 03 Una Rapida Parentesi su Java 5 e Annotazioni (JSR-175) Docente:
DettagliProtocolli e architetture per WIS
Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS
DettagliEsercitazione sui Design Pattern. lunedì 29 aprile 13
Esercitazione sui Design Pattern Pattern Creazionali Singleton Permette la creazione di una sola istanza della classe all interno dell applicazione Fornisce un metodo con cui ottenere l istanza Il costruttore
DettagliJSIS. Java Solution Integrated Suite
JSIS Java Solution Integrated Suite architettura JSIS I sistemi ERP offrono le funzionalità e le integrazioni necessarie per offrire una vista unitaria e trasversale verso tutti i processi critici di business
DettagliSommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10
SISS SUITE Sommario 1 Introduzione... 3 2 progetto... 3 3 Soluzione... 3 4 Integrazione... 10 5 Conclusioni... 10 2 1 INTRODUZIONE L OMNICOM SISS Suite è una libreria DLL espressamente concepita per facilitare
DettagliCandidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013
e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE Framework per il Modello 2 Java Server Faces versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliComunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione
I semestre 03/04 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 2
DettagliComponenti Web: client-side e server-side
Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente
DettagliBreve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz
Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,
Dettagli