Uno scorcio sul mondo OSGi e OSGi enterprise: modularita' e dinamismo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Uno scorcio sul mondo OSGi e OSGi enterprise: modularita' e dinamismo"

Transcript

1 Uno scorcio sul mondo OSGi e OSGi enterprise: modularita' e dinamismo Giacomo Pallotti

2 abstract... Modularità e Dinamismo Modularità e Dinamismo in Java e JEE Diario di un bravo sviluppatore JEE Cosa è OSGI OSGI Alliance Layer Specifiche OSGi Alliance Eclipse ed il framework OSGi Container osgi e osgi enterprise open source Casi d'esempio bundle service provider service client web app (servlet) LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 2

3 Modularità E' la scomposizione logica di un sistema in un insieme di sottosistemi più piccoli che collaborano tra di loro. A1 A A2 A' A3 LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 3

4 Dinamismo E' la capacità di variare un sistema in maniera indipendente senza coinvolgere (e stravolgere...) tutte le altre parti del sistema. A B D D' D C LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 4

5 Modularità in Java ll linguaggio Java non è nato con lo scopo di supportare una programmazione modulare; il suo più grande pregio, oltre al Write Once Run Anywhere (o Everywhere), è la capacità di costruire applicazioni di tutti i tipi, da embedded a mobile, da rich client a enterprise. Quindi il criticare Java per una caratterista che non faceva parte delle sue specifiche sarebbe quanto meno non giusto. Java ha introdotto i concetti di package e visibilità (public, protected, private) in relazione all' encapsulation (incapsulamento), cioè la possibilità di impacchettare in una singola entità i dati e le azioni che sono riconducibili ad un singolo componente. Il fine NON era quello del partizionamento logico di un sistema, ma di una organizzazione finalizzata al singolo componente LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 5

6 La divisione delle classi in package, e la visibilità dei metodi e delle variabili delle classi all'interno dello stesso package oppure da package diversi, obbligano a definire spesso public o al massimo protected (se le classi sono in gerarchia) tali metodi. In pratica la scelta di uno sviluppatore è: 1 - mandare a quel paese la struttura logica della propria applicazione accorpando nello stesso package classi che non sono in relazione tra di loro, per evitare di esporre metodi non public. 2 Mantenere la struttura logica utilizzando però package multipli con il costo di esporre metodi public che possono essere acceduti anche dalle classi degli altri package LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 6

7 Dinamismo in Java Un'applicazione Java (sia una stand alone application, sia una webapp più o meno complessa) è composte da componenti interni (classi, risorse varie, file di configurazioni,...) e da liberie (jar) esterne. Queste librerie verosimilmente hanno una versione e certe dipendenze da altre librerie. La VM e il class loader non supportano la possibilità di avere versioni diverse di uno stesso jar viene caricato il primo che viene trovato nel claspath. Classpath Compile Time vs Runtime LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 7

8 Diario di un bravo JEE developer C'era una volta un bravo sviluppatore java enterprise. Ha sviluppato una web application sul suo workspace, ha fatto le prove sull' application test server sulla sua macchina, e si appresta a deployare la sua applicazione sul server ufficiale di test. Che sia Tomcat o Websphere. Installa la sua webapp, configura tutto per benino, avvia il server e alla prima chiamata alla sua jsp LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 8

9 NoSuchMethodError LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 9

10 cavolo, vuoi vedere che ho messo nelle lib del war i jar sbagliati? Opps, non è possibile, ho copiato solo il war, le lib sono quelle che già c'erano quindi forse le lib vecchie non sono uguali a quelle nuove... (Tomcat) I jar non sono dentro al WAR/EAR, utilizzo una shared lib sul server che punta ad una cartella condivisa da altri applicazioni... (Webshpere) in tutti i modi le libreria che il nostro JEE developer ha sul server non ha il metodo che le classi si aspettano. Il jar incriminato è la libreria pippolib Sul suo workspace uso la versione Il file si chiama: pippolib.jar LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 10

11 E sul server che versione c'è? come si chiamerà il file?! pippolib.jar perfetto :( Almeno hanno data e dimensione diverse LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 11

12 quindi?! 1. decide di mettere tutte le lib all'interno del suo ear/war, per essere sicuri di avere la versione giusta Avrà le librerie comuni replicate dentro ogni applicazione LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 12

13 2. Cerca di ricordarsi di rinominare le librerie aggiungendo al nome del file il suffisso v_x_x_x.jar per riuscire a capire che versione è 3. Crea cartelle di shared lib personalizzate con le versioni di librerie common dentro, e le fa puntare come shared lib in più server (es. Websphere), così da avere più versioni delle stesse lib in cartelle diverse Nessuna di queste soluzioni è standardizzata, soprattutto se il nostro bravo developer non lavora da solo LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 13

14 non esiste l'aggiornamento a caldo delle lib il class loader carica la prima che trova si avranno librerie uguali replicate Modularità e dinamismo?! LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 14

15 OSGi Alliance Acronimo di Open Service Gateway Initiative, è un consorzio fondato nel 1999 da Oracle, Ericsson, Ibm ed altre aziende, il cui obiettivo è quello di creare un framework che implementi un modello a componenti completo e dinamico. Con il tempo altre aziende si sono aggiunte al progetto LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 15

16 Cosa è OSGi?! OSGi è uno strato modulare per la piattaforma Java Il framework OSGi è un sistema modulare ed una piattaforma di servizio per Java che implementa un modello a componenti completo e dinamico. Applicazioni o componenti (bundle) possono essere installate, avviate, arrestate, aggiornate e disinstallate senza richiedere un riavvio. Le specifiche OSGi sono andate oltre l'obiettivo originario che avevano, cioè di gateway di servizi (portale di servizi) sono ora utilizzate in applicazioni per ambienti diversi (mobile, embedded, rcp, enterprise). La gestione dei package Java che i componenti utilizzano è gestita e implementata dettagliatamente. La gestione del ciclo di vita dei moduli stessi utilizza API che ne permettono la gestione remota. Il Service Registry permette ai bundle di rilevare l'aggiunta di nuovi servizi, o l'eliminazione dei servizi, e adeguarsi di conseguenza. LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 16

17 Concetti fondamentali Dunque l'idea dell'osgi Alliance è la implementazione di un framework che sia... modulare: per la piattaforma Java e JEE dinamico: consenta la distribuzione, l'avvio, lo stop e la rimozione dei bundles a runtime, senza dover riavviare il container OSGi orientato ai servizi: che possano essere dinamicamente registrati ed utilizzati. Introduzione e definizione del concetto di bundle (modulo) Gestione automatica delle dipendenze Gestione del ciclo di vita del codice (configurazione e distribuzione dinamica). LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 17

18 Qualsiasi applicazione che è stato progettata in maniera modulare può trarre beneficio dalle specifiche e dal framework OSGi: si potranno avviare, arrestare, aggiornare i singoli moduli con un impatto minimo sugli altri. Riduzione della complessità: sviluppare con la tecnologia OSGi significa sviluppare bundle, che sono semplici Jar. Riutilizzo, Distribuzione, aggiornamenti dinamici (senza riavviare il container) Versioning: la tecnologia OSGi risolve l'inferno delle librerie JAR. Nell'ambiente OSGi, tutti i package sono accuratamente versionati e soltanto i bundles che sono dipendenti sono collegati tra loro. Semplice: Il nucleo API è solo un pacchetto e meno di 30 classi/interfacce Veloce e Lazy (Pigro): L'essere Lazy è una qualità vincente nell'ambito del software e la tecnologia OSGi ha molti meccanismi per fare le cose solo quando sono realmente necessarie La flessibilità delle specifiche OSGi è dimostrato da come si può persino eseguire all'interno di un Application Server J2EE Versioni multiple: Le applicazioni possono avere più di una versione di un particolare bundle in esecuzione al momento stesso LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 18

19 Layers LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 19

20 OSGi Module (o Bundle) layer Definisce il concetto di moduli o bundle, che sono semplici file JAR con informazioni aggiuntive (metadata) nel file MANIFEST.MF. Un bundle contiene le classi e le risorse aggiuntive per quel modulo. Concettualmente un bundle non è un intera applicazione impachettata in un jar, ma è un modulo di una applicazione, che assieme agli altri bundles si combina per formare l'applicazione stessa. Un bundle, con i suoi metadata, estende il concetto di access modifiers che ha java, introducendo informazioni come ad esempio quali packages di quel modulo devono essere visibili all'esterno, oppure quali altri moduli o package di altri moduli sono indispensabili per quel dato bundle (imported e exported packages). Il framework OSGi in questo modo può gestire e verificare la consistenza dei bundle automaticamente. LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 20

21 OSGi Lifecycle layer Definisce come i bundle sono dinamicamente installati e gestiti dal framework OSGi. esternamente all'applicazione definisce come avvengono le operazioni di install, update, start, stop e uninstall per amministrare dinamicamente i bundle internamente all'applicazione fornisce un modo per interagire con il framework OSGi e i servizi che esso fornisce durante l'esecuzione LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 21

22 OSGi Service Layer Supporta un approccio alla programmazione flessibile e orientato ai servizi (concetto presente nel framework OSGi prima che le architetture SOA diventassero popolari...). I service providers (che sono sempre bundle...) pubblicano i loro servizi su un service registry, e i service client (bundles...) utilizzano il registry per ricercare servizi da utilizzarli bind interaction pattern. Promuove uno sviluppo centrato sulla separazione tra interfaccia e implementazioni i servizi OSGi sono semplicemente delle interfacce Java che rappresentano un contratto tra service provider e service client. Gli OSGi service, che sono bundle, possono dunque dinamicamente essere avviati o stoppati. LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 22

23 approccio OSGi allo sviluppo Progettare l'applicazione dividendola in interfacce che espongono un servizio e client che lo usano (approccio interface-based) 2. Implementare i service provider e i client component utilizzando i tools che normalmente si usano 3. Impacchettare le i service provider e i client in JAR separati. 4. Aggiungere ad ogni JAR l'appropriato OSGi metadata. 6. Avviare l' OSGi framework. 7. Installare e avviare tutti i propri bundle. LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 23

24 Specifiche OSGi - OSGi Service Platform R4 Version 4.0 October OSGi Service Platform R4 Version 4.1 May OSGi Service Platform R4 Version 4.2 March 2010: OSGi Service Platform Release 4 Version 4.2 Core Specification OSGi Service Platform Release 4 Version 4.2 Compendium Specification OSGi Service Platform Release 4 Version 4.2 Enterprise Specification OSGi Service Platform Release 4 Version 4.2 Core Companion Code OSGi Service Platform Release 4 Version 4.2 Compendium Companion Code OSGi Service Platform Release 4 Version 4.2 Enterprise Companion Code OSGi Service Platform Release 4 Version 4.2 Minimum Execution Environment OSGi Service Platform Release 4 Version 4.2 Foundation Execution Environment LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 24

25 JaxLondon and OSGi DevCon 2010 LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 25

26 OSGI manifest.mf Bundle-Activator Questa classe viene utilizzata per avviare e stoppare il bundle. Bundle-ClassPath Questa proprietà specifica il CLASSPATH da utilizzare per il bundle. La struttura può contenere riferimenti a directory o file jar all'interno del bundle. Bundle-Version Specifica il numero di versione del bundle. Package imports e required bundle possono includere anche l'informazione sulla versione del package o del bundle. Export-Package Questa proprietà specifica tutti i package da esporre pubblicamente ad altri plug-in. Import-Package Specifica tutti i package necessari da importare in modo esplicito dal bundle. Require-Bundle Questa proprietà specifica quali bundle e quali loro exported package siano da importare per essere utilizzati nel bundle. LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 26

27 LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 27

28 Container OSGi open source Equinox è un progetto di Eclipse che implementa le specifiche OSGi core framework release 4. E' un runtime modulare che consente di deployare e avviare un'applicazione organizzata come una serie di bundle utilizzando i servizi e l'infrastruttura comune Dalla versione 3.0 di Eclipse, Equinox è diventato il runtime per i plugin che è appunto utilizzato da Eclipse stesso, ed è oggi la reference implementation delle specifiche del framework OSGi. Altri container utilizzati sono Knoplerfish e Apache Felix, sviluppato dall'apache Foundation. LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 28

29 Eclipse ed il framework OSGi Eclipse utilizza OSGI come base per il suo sistema di plug-in dalla versione 3.0 Le prime versioni di Eclipse erano state concepite come un insieme di plug-in. Tuttavia, poiché i requisiti sono cresciuti, è diventato necessaria una gestione dei plugin più robusta ed efficace. Tra i requisiti di base di questo nuovo sistema si voleva avere la possibilità di gestire dinamicamente l'aggiunta di nuovi plug-in e l'arresto plug-in esistenti. Dopo ampie ricerche, gli sviluppatori Eclipse hanno optato per utilizzare le specifiche del framework OSGi per realizzarlo. Eclipse fornisce una delle implementazioni possibili di questa specifica ed è l'implementazione di riferimento delle specifiche OSGi R4. LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 29

30 Nelle versioni precedenti alla 3.0, le dipendenze dei plug-in, le extensions e gli extension points erano definiti nei file plugin.xml di ogni plugin. Con l'introduzione delle specifiche OSGi, le informazioni sulle dipendendenze sono state spostate nel file manifest.mf, lasciando nel plugin.xml solo le definizioni di extensions ed extension points. Il progetto Eclipse è stato sviluppato interamente sul framework Equinox ed è quindi un esempio completo di sviluppo "a bundle", modulare, a componenti e a servizi. Un nuovo progetto plugin non è che un bundle nell accezione OSGi, e i plugin di Eclipse non sono altro che bundle e seguono tutti gli standard e le caratteristiche degli stessi. LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 30

31 Equinox si propone come il framework di riferimento in quanto supporta un progetto delle dimensioni di Eclipse. È infatti grazie a questa tecnologia che diventa semplice sviluppare estensioni di Eclipse, agganciandosi alle funzionalità già offerte dall IDE in modo da personalizzarne il comportamento. Lanciando Eclipse con -console si avvia la console OSGi dei bundle in parallelo all'ide dalla quale sarà possibile amministrare i bundle disponibili nella distribuzione. Il jar che racchiude il core del framework è: org.eclipse.osgi.[versione].jar. LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 31

32 Container OSGi enterprise Negli ultimi anni molti vendor si sono affacciati sul mondo OSGI enterprise (IBM, Oralcle, Progress, Sap, VMWare, ) e attualmente supportano la OSGi Alliance attivamente. Parallelamente molti progetti Enterprise Open Source con le comunità Eclipse e Apache sono nati Tutto questo fermento non ha fatto altro che aumentare il numero di sviluppatori che hanno utilizzato e hanno sperimentano le nuove specifiche/features, e con l'introduzione dalle specifiche 4.2 l'attività della comunity è notevolmente aumentata. Attualmente la parte OSGi che si occupa di enterprise è l' OSGI Enterprise Expert Group (OSGi EEG) Accanto ai progetti di open source di osgi container, sono nati altri progetti come: Apache Aries: implementazione del Blueprint Container, che estende specifiche definite dalla OSGI Enterprise Expert Group incluso: convertitore bundle WAR; integrazione per JPA, JTA, JMX, (IBM Websphere 7 lo utilizza) Eclipse Gemini LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 32

33 LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 33

34 Blueprint Container È una specifica OSGI EEG 4.2 Introduce il concetto di dependency injection framework for OSGI Si utilizzano semplici Java object (POJOs), che possono essere utilizzati sia all'interno del framework OSGi che esternamente, ed un file blueprint.xml E' basato su Spiring DM Dynamic Model framework I produttori di OSGi container (es Apache Aries che IBM con WebSphere7 utilizza) si stanno orientando verso questo tipo di approccio LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 34

35 Casi d'esempio (Eclipse Helios 3.6 SR1 + Equinox) Bundle osgi jar helloworld Bundle service provider gettime: servizio interfaccia/implementaizone OSGi che restituisce il time Bundle client gettime: client del servizio gettime Bundle webapp helloservlet: WebApp con una servlet Bundle webapp client gettime: WebApp con servlet e chiamata al servizio LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 35

36 manifest.mf LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 36

37 osgi service provider Activator LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 37

38 osgi service client Activator LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 38

39 osgi servlet vs WAR E' una semplice classe che estende HttpServlet. La differenza con una web application implementata come WAR, è che la servlet è impacchettata in un package di un bundle osgi, e il jar è deployato sull'osgi framework come un semplice bundle appunto. La servlet è registrata nel container osgi (dato che non abbiamo un web container) tramite extension point di org.eclipse.equinox.http.registry.servlets Nelle opzioni di lancio del osgi framework, vanno aggiunti tutti i bundle che servono: com.example.servlet javax.servlet org.eclipse.equinox.common org.eclipse.equinox.http org.eclipse.equinox.http.registry org.eclilpse.equinox.registry org.eclipse.osgi org.eclipse.osgi.services Nei program arguments -console nei VM args -Dorg.osgi.service.http.port=8080 LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 39

40 osgi servlet con Jetty Jetty è un http server ed un servlet container basato su java. Jetty è open source rilasciato con licenza Apache 2.0. Si può scegliere di utilizzare un container più robusto, come Jetty ad esempio, che è compatibile con le specifiche Servlet 2.4 nella versione 7 e con quelle 3.0 per la versione Jetty 8, utilizzando questi bundle: org.eclipse.equinox.http.jetty org.eclipse.equinox.http.servlet org.mortbay.jetty.server org.mortbay.jetty.util al posto di: org.eclipse.equinox.http LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 40

41 osgi framework console LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 41

42 Webliography LinuxDay 2010 Giacomo Pallotti - OSGI e OSGI Enterprise 42

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java

Dettagli

Programmazione server-side: Java Servlet

Programmazione 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

Dettagli

Framework Rich Client Application

Framework Rich Client Application Framework Rich Client Application RELATORE: Paolo Giardiello Savona, 30 settembre 2010 Agenda La Sogei Le applicazioni client Sogei Le caratteristiche Le soluzioni possibili Java Web Start Eclipse La scelta:

Dettagli

Application Server per sviluppare applicazioni Java Enterprise

Application Server per sviluppare applicazioni Java Enterprise Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente

Dettagli

Framework di Middleware. per Architetture Enterprise

Framework 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

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: 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

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli

Tutorial web Application

Tutorial web Application Tutorial web Application Installazione della JDK: Java viene distribuito con la jdk e il jre acronimi di Java Development Kit e Java Runtime Environment rispettivamente. La jdk è l'ambiente di sviluppo

Dettagli

JUG Ancona Italy Spring Framework

JUG Ancona Italy Spring Framework JUG Ancona Italy Spring Framework Andrea Del Bene Jug Marche Spring: perché e nato e perché lo voglio imparare? Quando si decide di investire in un nuova tecnologia è indispensabile capire il valore aggiunto

Dettagli

Applicazione: GAS - Gestione AcceSsi

Applicazione: 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

Dettagli

Breve 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 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

Streaming Tool per CoFFEE

Streaming Tool per CoFFEE Streaming Tool per CoFFEE a cura di Gerardo Lombardo CoFFEE Cooperative Face-to-Face Educational Environment Groupware Suite di applicazioni distribuite (in LAN) per il problem solving collaborativo in

Dettagli

Sistemi Mobili e Wireless Android Introduzione alla piattaforma

Sistemi Mobili e Wireless Android Introduzione alla piattaforma Sistemi Mobili e Wireless Android Introduzione alla piattaforma Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Cos'è Android?

Dettagli

Eclipse Day 2010 in Rome

Eclipse Day 2010 in Rome Living IT Architectures Open Source per la realizzazione del modello XaaS www.spagoworld.org/openevents Engineering Engineering Group: Group: nuovo nuovo approccio approccio per per progetti progetti di

Dettagli

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Sommario Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Introduzione.................................................................................. 1 SOAP........................................................................................

Dettagli

APPENDICE A Servlet e Java Server Page

APPENDICE A Servlet e Java Server Page APPENDICE A Servlet e Java Server Page A.1 Cosa è una Servlet e come funziona Una servlet è un particolare tipo di applicazione Java, in grado di essere eseguita all'interno di un web server e di estenderne

Dettagli

Telematica II 5. Esercitazione/Laboratorio 1

Telematica II 5. Esercitazione/Laboratorio 1 IDE Ambiente di sviluppo IDE - Integrated Development Environment Telematica II 5. Esercitazione/Laboratorio 1 e un Ambiente di Sviluppo Integrato che consente di creare in modo semplice progetti composti

Dettagli

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso 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

Dettagli

Indice. Introduzione PARTE PRIMA IL FRAMEWORK DI JAVASERVER FACES 1

Indice. Introduzione PARTE PRIMA IL FRAMEWORK DI JAVASERVER FACES 1 Indice Introduzione XI PARTE PRIMA IL FRAMEWORK DI JAVASERVER FACES 1 Capitolo 1 Introduzione a JavaServer Faces 3 1.1 Che cos è JavaServer Faces 3 1.2 La storia di JavaServer Faces 4 1.3 Gli obiettivi

Dettagli

Primi passi con Apache Tomcat. L application server dell Apache group

Primi passi con Apache Tomcat. L application server dell Apache group Primi passi con Apache Tomcat L application server dell Apache group 2 J2EE Direttive Sun Microsystem Che cos è un application server EJB Maggiori application server open source 3 Tomcat Open Source e

Dettagli

Introduzione al linguaggio Java: Servlet e JSP

Introduzione al linguaggio Java: Servlet e JSP Introduzione al linguaggio Java: Servlet e JSP Corso di Gestione della Conoscenza d Impresa A. A. 2006/2007 Dipartimento di Informatica Università degli Studi di Bari 1 Servlet e JSP: il contesto Un applicazione

Dettagli

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI PROCEDURA DI SELEZIONE PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, ANALISI, SVILUPPO, MANUTENZIONE ADEGUATIVA, CORRETTIVA ED EVOLUTIVA DI SISTEMI INFORMATIVI SU PIATTAFORMA IBM WEBSPHERE BPM (EX LOMBARDI)

Dettagli

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA

La 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

Dettagli

Programmazione Java Avanzata

Programmazione 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

Dettagli

Progettazione di interfacce web indipendenti dal dispositivo

Progettazione di interfacce web indipendenti dal dispositivo Progettazione di interfacce web indipendenti dal dispositivo Candidato Izzo Giovanni, Matr. 41/1305 Relatore Prof. Porfirio Tramontana 1 Panoramica su contesto ed obiettivi Il contesto della tesi è legato

Dettagli

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione 10 - J2EE 25/05/2015

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione 10 - J2EE 25/05/2015 Web Container vs. EJB Container Alma Mater Studiorum Università di Bologna Scuola di Ingegneria e Architettura Tecnologie Web T - J2EE Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione

Dettagli

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni Tomcat & Servlet Programmazione in Ambienti Distribuiti V 1.2 Marco Torchiano 2005 Contenuti Tomcat Applicazioni Web Struttura Sviluppo Deployment Servlet JSP Uso delle sessioni 1 Tomcat Tomcat è un contenitore

Dettagli

www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License

www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License La La soluzione soluzione di di middleware middlewareaperta aperta e flessibile, flessibile, realizzata realizzata e gestita gestita da da Engineering Engineering www.eng.it www.eng.it 1 L'universal middleware

Dettagli

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

J2EE (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:

Dettagli

Certificazione di Proxy Applicativi e di applicazioni e servizi di cooperazione di Sistemi Informativi Locali

Certificazione di Proxy Applicativi e di applicazioni e servizi di cooperazione di Sistemi Informativi Locali Certificazione di Proxy Applicativi e di applicazioni e servizi di cooperazione di Sistemi Informativi Locali Ver. 1.0 11 Gennaio 2006 Riferimenti Documentazione CART - Regione Toscana [RT-PDK] Proxy Developer

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione 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

Dettagli

Enterprise @pplication Integration Software S.r.l.

Enterprise @pplication Integration Software S.r.l. SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina

Dettagli

Framework. Impianti Informatici. Web application - tecnologie

Framework. 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

Dettagli

Ambienti di Sviluppo

Ambienti di Sviluppo Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il

Dettagli

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Ivan Scagnetto Dipartimento di Matematica e Informatica http://www.dimi.uniud.it/scagnett scagnett@dimi.uniud.it Laboratorio di Tecnologie Lato

Dettagli

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

Corso Analista Programmatore Java Corso Online Analista Programmatore Java

Corso 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

Dettagli

Applicazione: SIPER Servizi In linea per il PERsonale

Applicazione: 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

Dettagli

Le scelte tecnologiche di RUP System

Le scelte tecnologiche di RUP System Cremona 22 novembre 2007 Le scelte tecnologiche di System - Metarete Linguaggio di programmazione Linguaggio di programmazione: Java Semplice e robusto Orientato agli oggetti Indipendente dalla piattaforma

Dettagli

Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E.

Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E. Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E. Università di Bologna Facoltà di Ingegneria Bologna, 08/02/2010 Outline Da applicazioni concentrate a distribuite Modello

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Ingegneria del software A La piattaforma Eclipse Michele Tomaiuolo Eclipse Eclipse, an extensible

Dettagli

Software utilizzato per le esercitazioni

Software utilizzato per le esercitazioni SW Software utilizzato per le esercitazioni Software utilizzato per le esercitazioni Editor testuale per pagine html, xhtml, css Browser Web server Motore Php Motore JSP JDK JSDK Ambiente di sviluppo Java

Dettagli

JUG Ancona Italy. Google Web Toolkit. Giovanni Baleani Programmatore Java. Filippetti S.r.l.

JUG Ancona Italy. Google Web Toolkit. Giovanni Baleani Programmatore Java. Filippetti S.r.l. JUG Ancona Italy Google Web Toolkit Giovanni Baleani Programmatore Java Filippetti S.r.l. AJAX e GWT - AJAX: Tecnologia emergente, tra le prime applicazione ajax ci sono proprio gmail e google calendar.

Dettagli

Programmazione in ambiente

Programmazione in ambiente Università Politecnica delle Marche Dipartimento di Ingegneria dell Informazione Programmazione in ambiente Android Laura Montanini - laura.montanini@univpm.it Corso di Tecnologie per le TLC 2013-2014

Dettagli

Presentazione di Cedac Software

Presentazione di Cedac Software Agenda Presentazione di Cedac Software SOA ed ESB Analisi di un caso studio Esempi Q&A Presentazione di Cedac Software 1 2 Presentazione di Cedac Software S.r.l. Divisione Software Azienda nata nel 1994

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Kirey Re.Search 2.0. Piattaforma di ricerca Open Source

Kirey Re.Search 2.0. Piattaforma di ricerca Open Source Kirey Re.Search 2.0 Piattaforma di ricerca Open Source Le esigenze Quando si parla di motori di ricerca si tende a pensare istintivamente solo a quelli utilizzati per effettuare ricerche in Internet, come

Dettagli

Informatica. Prof. A. Longheu. Introduzione a Java

Informatica. Prof. A. Longheu. Introduzione a Java Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su

Dettagli

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Ivan Scagnetto Dipartimento di Matematica e Informatica http://www.dimi.uniud.it/scagnett scagnett@dimi.uniud.it Laboratorio di Tecnologie Lato

Dettagli

CORSO DI PROGRAMMAZIONE JAVA

CORSO 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

Dettagli

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

Breve 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

Dettagli

WebSphere WebSphere Extended Deployment Versione 6.0.x. Guida al modello di programmazione ObjectGrid

WebSphere WebSphere Extended Deployment Versione 6.0.x. Guida al modello di programmazione ObjectGrid WebSphere WebSphere Extended Deployment Versione 6.0.x Guida al modello di programmazione ObjectGrid Nota Prima di utilizzare queste informazioni, assicurarsi di avere letto le informazioni generali in

Dettagli

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio L altra strada per il BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 Il BPM Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina

Dettagli

Corso analista programmatore Java. Corso analista programmatore Java Programma

Corso 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

Dettagli

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

PROGETTAZIONE 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

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione 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

Dettagli

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB.

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Web Server TOMCAT Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

Dettagli

Programmazione Java Avanzata Concetti su Java

Programmazione Java Avanzata Concetti su Java Programmazione Java Avanzata Concetti su Java Ing. Giuseppe D'Aquì Testi di Riferimento Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Virtual Machine Il codice scritto in Java

Dettagli

Applicazione: Ente Web Sign Università di Pisa (EWS- Unipi) Sistema per la gestione dell Ordinativo Informatico

Applicazione: Ente Web Sign Università di Pisa (EWS- Unipi) Sistema per la gestione dell Ordinativo Informatico Riusabilità del software - Catalogo delle applicazioni: Amministrativo/Contabile Applicazione: Ente Web Sign Università di Pisa (EWS- Unipi) Sistema per la gestione dell Ordinativo Informatico Amministrazione:

Dettagli

WEBsfa: l automazione della forza vendita via Web

WEBsfa: l automazione della forza vendita via Web WEBsfa: l automazione della forza vendita via Web White Paper 1 Gennaio 2005 White Paper Pag. 1 1/1/2005 L automazione della Forza Vendita Le aziende commerciali che che sviluppano e alimentano il proprio

Dettagli

Analisi ed Ottimizzazione dell Architettura Software di un Gateway Domotico Intelligente

Analisi ed Ottimizzazione dell Architettura Software di un Gateway Domotico Intelligente POLITECNICO DI TORINO Corso di Laurea in Ingegneria Gestionale Tesi di Laurea Specialistica Analisi ed Ottimizzazione dell Architettura Software di un Gateway Domotico Intelligente Relatori: prof. Fulvio

Dettagli

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Giampiero Allamprese 0000260193 PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Reti di Calcolatori LS prof. Antonio Corradi A.A. 2007/2008 ABSTRACT L obiettivo di questo progetto è la realizzazione

Dettagli

IBM Software Demos WebSphere Portlet Factory Domino

IBM Software Demos WebSphere Portlet Factory Domino Dimostrazione di IBM WebSphere Portlet Factory Benvenuti in questa dimostrazione di IBM WebSphere Portlet Factory. La dimostrazione ci permetterà di osservare quanto sia facile creare, implementare, personalizzare

Dettagli

Titolo Perché scegliere Alfresco. Titolo1 ECM Alfresco

Titolo Perché scegliere Alfresco. Titolo1 ECM Alfresco Titolo Perché scegliere Alfresco Titolo1 ECM Alfresco 1 «1» Agenda Presentazione ECM Alfresco; Gli Strumenti di Alfresco; Le funzionalità messe a disposizione; Le caratteristiche Tecniche. 2 «2» ECM Alfresco

Dettagli

Informatica. Terzo anno Prof. A. Longheu

Informatica. Terzo anno Prof. A. Longheu Informatica Terzo anno Prof. A. Longheu INTRODUZIONE AL LINGUAGGIO JAVA Originariamente, il progetto che avrebbe portato al linguaggio Java era noto come progetto Green Nome del progetto Sun con l obiettivo

Dettagli

EJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti

EJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti EJB Components Leonardo Mariani Esercitazione di Sistemi Distribuiti 1 Oggetti Distribuiti 2 Middleware Esplicito 3 Middleware Implicito 4 Tipica Applicazione J2EE 1/2 5 Tipica Applicazione J2EE 2/2 6

Dettagli

L infrastruttura di Knowledge Management della Rete Integrata Nazionale GPS (RING) dell INGV

L infrastruttura di Knowledge Management della Rete Integrata Nazionale GPS (RING) dell INGV L infrastruttura di Knowledge Management della Rete Integrata Nazionale GPS (RING) dell INGV Gianpaolo Cecere Istituto sede di Grottaminarda (AV) Nasce verso la fine del 2004 da un progetto finanziato

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

MetaMAG METAMAG 1 IL PRODOTTO

MetaMAG METAMAG 1 IL PRODOTTO METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo

Dettagli

Registro SPICCA Architettura del Software

Registro SPICCA Architettura del Software Registro SPICCA Architettura del Software Versione 1.0 del 25/08/2009 Sommario 1 Introduzione... 4 1.1 Scopo... 4 1.2 Obiettivo... 4 1.3 Riferimenti... 4 1.4 Panoramica del documento... 4 2 Rappresentazione

Dettagli

i5/os per processi di business efficienti e flessibili

i5/os per processi di business efficienti e flessibili L ambiente operativo integrato leader nel settore i5/os per processi di business efficienti e flessibili Caratteristiche principali Middleware integrato per processi di business efficienti. Funzioni integrate

Dettagli

Thea PDM. Cos è Thea PDM? Il PDM (Product Data Management)

Thea PDM. Cos è Thea PDM? Il PDM (Product Data Management) Thea PDM Il PDM (Product Data Management) Nell'industria manifatturiera il PDM è un software per la raccolta ed organizzazione dei file nelle divere fasi di ideazione, progettazione, produzione ed obsolescenza

Dettagli

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina

Dettagli

CORSO WEB SERVER, DBMS E SERVER FTP

CORSO WEB SERVER, DBMS E SERVER FTP CORSO WEB SERVER, DBMS E SERVER FTP DISPENSA LEZIONE 1 Autore D. Mondello Transazione di dati in una richiesta di sito web Quando viene effettuata la richiesta di un sito Internet su un browser, tramite

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE INTRODUZIONE L ingegneria del software è la disciplina tecnologica e gestionalerelativa alla realizzazione sistematica e alla manutenzione di un software rispettando

Dettagli

Linguaggi 2 e laboratorio

Linguaggi 2 e laboratorio Linguaggi 2 e laboratorio Docente: Leonardo Badia Contatti: leonardo.badia@gmail.com Pagina web del corso: www.unife.it/scienze/informatica/ insegnamenti/linguaggi-2-laboratorio Argomenti del corso: Java

Dettagli

LA TUA PRIMA APP CON CORDOVA

LA TUA PRIMA APP CON CORDOVA LA TUA PRIMA APP CON CORDOVA Dedicato a. Gianluca ed Enza, due persone speciali Autore: Gianpiero Fasulo www.gfasulo.it - Pag. 2 COPYRIGHT La tua prima APP con CORDOVA Tutti i diritti riservati. Nessuna

Dettagli

SchoolData. Pagina 1 di 6

SchoolData. Pagina 1 di 6 SchoolData Pagina 1 di 6 Cos è SchoolData: A partire dalle esperienze professionali di singoli docenti e dalle problematiche emerse nella gestione delle programmazioni didattiche di un istituto scolastico

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 15 - Packages Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

Eclipse e Subversion

Eclipse e Subversion Eclipse e Subversion Prerequisito: creare un repository gratuito su http://www.assembla.com Svn: condivisione progetto Svn: condivisione progetto Svn: condivisione progetto Svn: condivisione progetto Svn:

Dettagli

Curriculum Vitae INFORMAZIONI PERSONALI COGNOME NOME

Curriculum Vitae INFORMAZIONI PERSONALI COGNOME NOME INFORMAZIONI PERSONALI COGNOME NOME Curriculum Vitae GIOVANNETTI ANTONIO INDIRIZZO Via della Riserva Nuova, 73 00132 Roma TELEFONO +39 328 8990184 EMAIL antonio.giovannetti@gmail.com GVNNTN74H05I838O Italiana

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

Use Case Driven Object Modeling: ICONIX

Use Case Driven Object Modeling: ICONIX Use Case Driven Object Modeling: ICONIX Un esempio di specifica, analisi, progetto e sviluppo utilizzando ICONIX (applicazione web) Ditta di Noleggio Dvd Un sistema per la gestione di una ditta di noleggio

Dettagli

Il progetto di ricerca Ellade

Il progetto di ricerca Ellade Il progetto di ricerca Ellade Ellade ELectronic Live ADaptive Learning Gruppo di lavoro Università degli Studi della Calabria, Dipartimento di Matematica Università degli Studi Mediterranea di Reggio Calabria,

Dettagli

Formazione sulla piattaforma Java2EE

Formazione sulla piattaforma Java2EE cprsjava2ee Formazione Personale Applicativo JAVA Pag 1 di 8 Formazione sulla piattaforma Java2EE Obiettivo: Figure interessate Informare sulle tecniche OOP OOA e OOD applicate alla piattaforma Java2EE-JSP-

Dettagli

Web services. 25/01/10 Web services

Web services. 25/01/10 Web services Web services Tecnologia per il computing distribuito standard W3C non dissimile da RMI, CORBA, EJB... Relazione con il Web Websites for humans, Web Services for software :-) un Web service ha un indirizzo

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Tecniche di progettazione e sviluppo di applicazioni mobile

Tecniche di progettazione e sviluppo di applicazioni mobile Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy diegozabot@yahoo.it Android Introduzione diegozabot@yahoo.it

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI

Dettagli

Programmazione Android

Programmazione Android Programmazione Android Giovanni Perbellini, Stefano Cordibella Università di Verona EDALab S.r.l. Agenda Introduzione Android Overview Ambiente di sviluppo Esempi Helloworld Weather 2 1 Cos è Android?

Dettagli

JUMP THE UNIFIED MAPPING PLATFORM

JUMP THE UNIFIED MAPPING PLATFORM JUMP THE UNIFIED MAPPING PLATFORM 1 Cos è JUMP? JUMP Java GIS e una piattaforma GIS implementata interamente in JAVA. JUMP include : La JUMP Workbench : una GUI estendibile ed interattiva per manipolare

Dettagli

Programmazione Server Side e Database in rete

Programmazione Server Side e Database in rete Programmazione Server Side e Database in rete Prof. Massimo PALOMBO -IIS A. MEUCCI Casarano La programmazione Stand-Alone consente di costruire applicazioni, più o meno complesse, ma utilizzabili esclusivamente

Dettagli

14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 14 - Packages Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

Eclipse Platform 3.3 (EUROPA)

Eclipse Platform 3.3 (EUROPA) Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Eclipse Platform 3.3 (EUROPA) Alessandro Negri negri@ce.unipr.it http://www.ce.unipr.it/people/negri/

Dettagli

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012 Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici

Dettagli

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata

Dettagli