Applicazioni server-side in Python. Sebastiano Viviani

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Applicazioni server-side in Python. Sebastiano Viviani sebastiano.viviani@system5.it"

Transcript

1 Applicazioni server-side in Python Sebastiano Viviani

2 Cenni storici Progettato e creato da Guido van Rossum viene pubblicato nel 1991 Nel 1994 raggiunge la versione 1.0 (CWI istituto nazionale olandese per la ricerca nelle scienze informatiche e matematiche) Dal 1995 al 2001 viene sviluppato presso il CNRI (organizzazione no-profit di ricerca con sede in Virginia) salvo una piccola parentesi in BeOpen.com Dal 2001 ad oggi è proprietà della Python Software Foundation (organizzazione no-profit)

3 Caratteristiche tecnologiche Linguaggio di scripting Object oriented (con ereditarietà multipla) Gestione delle eccezioni Dynamic typing / strong typing Elementi di programmazione funzionale Utilizzo di una VM con relativo bytecode Definizione dei blocchi di codice attraverso l'indentazione

4 Implementazioni esistenti Cpython (implementazione di riferimento con relativi sorgenti) disponibile per Linux/Windows/OSX Porting esistenti per Solaris/AIX/iSeries(AS400)/zOS(MVS) Windows CE Jython (VM su JVM) interprete e con traduzione in Java Byte Code IronPython (VM in ambiente.net) PyPy (Python on Python)

5 Performance Da Computer Language Benchmarks Game Rapporto 1,00 1,50 17,00 21,00 23,00 48,00 linguaggio C gcc Java 6 -server Python Perl PHP Ruby

6 Come valutare le performances Java -> Pure Java Python -> Librerie native (C) Estensibilità: C nativo, SWIG, PyREX

7 Batterie incluse Estesa libreria fornita assieme al base system Package per gestione , parser xml, internazionalizzazione, embedded db su sql-lite Client per i più diffusi protocolli internet: IMAP, POP3, SMTP, HTTP, XML-RPC, FTP, TELNET, NNTP Oggetti server: HTTP, SMTP, XML-RPC Sistema di logging, Profiler API per accesso SQL (DB-API) Documentazione relativa a librerie, API, tutorial

8 Tipi di dati (1) Gestisce nativamente tipi scalari (booleani, caratteri, interi, float, complessi) Iteratori Sequenze (stringhe, stringhe unicode, liste, t- uple) Insiemi Dizionari Files I metodi possono restituire qualunque di questi dati

9 Tipi di dati (2) Classi e metodi sono tipi nativi Prevede l'introspezione Prevede la serializzazione Thread Meccanismi di sincronizzazione

10 Qualche esempio from datetime import datetime from xml.etree import ElementTree def date_adder(doc): tree = ElementTree.XML(doc) pags = [float(a.text) for a in tree.findall("./pag")] return (datetime.now(), sum(pags)) print date_adder("""<?xml version="1.0" encoding="utf-8"?> <document> <pag>10.0</pag> <pag>12.0</pag> <pag>9.5</pag> </document>""") >>> (datetime.datetime(2007, 11, 19, 18, 41, 56, ), 31.5)

11 XML-RPC Request POST / HTTP/1.0 User-Agent: PEAR XML_RPC Host: localhost Content-Type: text/xml Content-Length: 332 <?xml version="1.0" encoding="utf-8"?> <methodcall> <methodname>date_adder</methodname> <params> <param> <value><string><?xml version="1.0"?> <document><pag>10.0</pag><pag> 12.0</pag><pag> 9.5</pag></document></string></value> </param> </params> </methodcall>

12 XML-RPC Response HTTP/ OK Server: BaseHTTP/0.3 Python/2.5.1 Date: Fri, 23 Nov :50:52 GMT Content-type: text/xml Content-length: 245 <?xml version='1.0'?> <methodresponse> <params> <param> <value><array><data> <value><datetime.iso8601> t10:50:52</datetime.iso8601></val ue> <value><double>31.5</double></value> </data></array></value> </param> </params> </methodresponse>

13 XML-RPC from SimpleXMLRPCServer import SimpleXMLRPCServer from datetime import datetime from xml.etree import ElementTree def date_adder(doc): Commento del metodo tree = ElementTree.XML(doc) pags = [float(a.text) for a in tree.findall("./pag")] return (datetime.now(), sum(pags)) srv = SimpleXMLRPCServer((' ',8080)) srv.register_function(date_adder) srv.serve_forever()

14 XML-RPC CLIENT import xmlrpclib clnt = xmlrpclib.server(" print clnt.date_adder("""<?xml version="1.0" encoding="utf-8"?> <document> <pag>10.0</pag> <pag>12.0</pag> <pag>9.5</pag> </document>""") >>> [<DateTime ' T18:50:14' at b7cee20c>, 31.5]

15 Python vs C/C++ Estesa libreria standard fornita assieme al base system Management automatico degli oggetti (ref count) Tempo di sviluppo infinitamente minore Possibilità di integrare solo piccole componenti in C/C++ per migliorare le performances Multipiattaforma Sintassi più chiara

16 Python vs PHP Migliori performances Possibilità di distribuire il solo byte-code al posto di tutta l'applicazione Estesa libreria fornita con il sistema di base (anche se il gap si sta lentamente colmando grazie al framework PEAR) PHP è progettato più che altro per l'impiego in applicazioni WEB in abbinata con un Web Server come Apache 2

17 Esempio in PHP5 <?php function date_adder($doc){ $document = new DOMDocument(); $document->loadxml($doc); $xpath = new domxpath($document); $pags=$xpath->query('/document/pag'); $sum = 0.0; foreach ($pags as $pag){ $sum+=$pag->textcontent; } return array("date"=>getdate(),"sum"=>$sum); } print_r( date_adder('<?xml version="1.0" encoding="utf-8"?> <document> <pag>10.0</pag> <pag>12.0</pag> <pag>9.5</pag> </document>'));?>

18 XML-RPC server <?php require_once 'XML/RPC/Server.php'; function date_adder($doc){ $document = new DOMDocument(); $document->loadxml($doc); $xpath = new domxpath($document); $pags=$xpath->query('/document/pag'); $sum = 0.0; foreach ($pags as $pag){ $sum+=$pag->textcontent; } return array("date"=>getdate(),"sum"=>$sum); } function date_adder_wrapper($params){ $res = date_adder($params->getparam(0)->scalarval()); return new XML_RPC_Response( new XML_RPC_Value($res['sum'],'double')); } $srv = new XML_RPC_Server(array("date_adder"=>array("function"=>"date_ adder_wrapper")));?>

19 XML-RPC client <?php include ('XML/RPC.php'); $client = new XML_RPC_Client("/srv.php", "localhost", 80); $msg = new XML_RPC_Message("date_adder",array(new XML_RPC_Value('<?xml version="1.0"?> <document><pag>10.0</pag><pag>12.0</pag><pag>9.5</pag></doc ument>',"string"))); $response = ($client->send($msg)); print_r($response->value());?>

20 Python vs Perl Estesa libreria fornita assieme al base system Migliori performances Sintassi chiara Object Oriented

21 Python vs Java (1) Con JSE 6.0 Sun ha aggiunto al sistema base Apache Derby (SQL db puro java) Per applicazioni web è necessario un container j2ee (Apache Geronimo) oppure un servlet container (Apache Tomcat) Java può venire utilizzato per applicazioni su piattaforma mobile Python può essere compilato per piattaforme ove non esiste Java (ad esempio Linux/Sparc)

22 Python vs Java (2) Jython è un'implementazione dell'ambiente Python 2.2 in Java Fornisce accesso alle strutture dati ed alle API della VM su cui viene utilizzato

23 Framework per accesso ai dati SQLAlchemy Django Twisted

24 Object-relational mapping Stabiliscono una relazione oggetto->tabella Offrono un livello di astrazione di livello superiore rispetto a SQL Permettono una più facile portabilità dell'applicazione rispetto al backend scelto per lo storage Gestiscono in maniera automatica gli oggetti riferiti da foreign-key o relazioni molti-a-molti

25 SQLAlchemy Supporta SQLite, Postgres, MySQL, MS-SQL e Oracle A livello sperimentale Firebird and Informix In fase di sviluppo un driver for DB2 Permette di operare su database già esistenti Gestisce la creazione delle tabelle a partire dal codice che ne definisce gli oggetti Permette di mappare un oggetto su più di una tabella

26 Django Supporta SQLite,MySQL, PostgreSQL e Oracle Il supporto Oracle è recente C'è in fase di sviluppo un supporto per MS-SQL (attualmente solo via ADO-DB e datato) Permette di operare su database già esistenti Gestisce la creazione delle tabelle a partire dal codice che ne definisce gli oggetti Offre una serie di framework tra cui la gestione delle transazioni e una raffinata amministrazione web creata dinamicamente dalla definizione degli oggetti È anche un framework per la creazione di web application

27 Twisted È un framework per la realizzazioni di servizi di rete ad elevate prestazioni È basato sul modello ad eventi tramite un oggetto ('reactor') che ne gestisce il passaggio dallo stato di riposo a quello di esecuzione appoggiandosi a specifiche primitive di sistema al posto di utilizzare il modello di programmazione concorrente basato su thread Offre l'implementazione lato server di molti protocolli (IMAP4/POP3/SMTP/DNS/HTTP/SSH/SFTP) Offre un ORM (meno sofisticato dei precedenti) basato sul modello ad eventi

28 Framework per il WEB CGI PSP Apache + mod_python CherryPy Django

29 Basic CGI Programming #!/usr/bin/python import cgi def main(): print Content type: text/html\n print <html>\n form_data = cgi.fieldstorage() if form_data.has_key( nome ) and form_data[ nome ].value!= : print <h2>ciao,form_data[ nome ].value, </h2> else: print <h2>errore</h2> print </html>\n main()

30 PSP (Apache+Mod python) <html> <head> <title>welcome</title> </head> <body> <% title = "<H1>Welcome to the world of Python</H1>" greeting = "If you lived here, you'd be home by now" res.write(title) res.write("<p>") res.write(greeting) %> </body> </html>

31 CherryPy Un differente approccio filosofico al protocollo HTTP Ogni richiesta da client viene trasformata in una chiamata a funzione i cui parametri di ingresso sono i campi passati nella richiesta GET o POST Ogni oggetto associato ad un URL viene esposto se deve essere accessibile Il metodo index viene invocato in assenza di altra specifica

32 import cherrypy Esempio class HelloWorld(object): def index(self): return """<html> <form action="test" method="post"> inserisci un valore <input type="text" name="valore"> <input type="submit" value="vai"/> </form> </html>""" index.exposed = def test(self,valore): return """<html> Hai scritto <h3>%s</h3> </html>""" % valore class Page2(object): def index(self): return "Page2" index.exposed = True cherrypy.root = HelloWorld() cherrypy.root.p2 = Page2() cherrypy.server.start()

33 Django (1) È un framework completo per lo sviluppo di web application Contiene un ORM molto avanzato Un template engine per il rendering delle pagine WEB Serializzatori per gli oggetti in formato JSON o XML Un sito di amministrazione molto flessibile e generato automaticamente dalla descrizione della web application

34 Django (2) Un framework per la gestione delle transazioni Un web server Un sistema di integrazione con Apache o con altri web server Gestione delle sessioni Gestione del Caching delle pagine Un sistema per la creazione e la validazione di form web a partire da descrizioni sintetiche oppure dalla descrizione dell'oggetto stesso

35 Django (3) Supporto multilingue Database introspection Limiti: un database<--->un'applicazione In corso di realizzazione porting su Jython

36 Qualche esempio > django-admin.py startproject sito > vi settings.py DATABASE_ENGINE = 'sqlite3' DATABASE_NAME = '' DATABASE_USER = '' DATABASE_PASSWORD = '' DATABASE_HOST = '' DATABASE_PORT = '' # 'postgresql_psycopg2', # 'postgresql', 'mysql', # 'sqlite3' or 'ado_mssql'. # Or path to database file # if using sqlite3. # Not used with sqlite3. # Not used with sqlite3. # Set to empty string for # localhost. Not used with # sqlite3. # Set to empty string for # default. Not used with # sqlite3.

37 > cd esempio >./manage.py startapp news > cd news > vi models.py from django.db import models # Create your models here. class Argomento(models.Model): """Categoria articoli""" nome = models.charfield(maxlength="50",verbose_name="nome") descrizione = models.charfield(maxlength="255",verbose_name="descrizione",blank=true,null=true) def unicode (self): return self.nome def str (self): return self.nome class Admin: search_fields = ['nome'] save_on_top = True class Meta: verbose_name = "Argomento" verbose_name_plural = "Argomenti" class News(models.Model): """Notizia""" titolo = models.charfield(maxlength="100",verbose_name="titolo") testo = models.textfield(verbose_name="testo") argomento = models.foreignkey(argomento,verbose_name="argomento") immagine = models.filefield(verbose_name="img", upload_to="images") def str (self): return self.titolo class Admin: search_fields = ['titolo','testo'] save_on_top = True list_filter = ['argomento'] class Meta: verbose_name = "Notizia" verbose_name_plural = "Notizie"

38 > vi settings.py # Absolute path to the directory that holds media. # Example: "/home/media/media.lawrence.com/" MEDIA_ROOT = 'media-root/' # URL that handles the media served from MEDIA_ROOT. # Example: " MEDIA_URL = '/media-root/'... INSTALLED_APPS=( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'esempio.news', ) > vi urls.py # Uncomment this for admin: (r'^admin/', include('django.contrib.admin.urls')), #contenuto statico (r'^media-root/(?p<path>.*)$', 'django.views.static.serve', {'document_root': '/esempio/media-root', 'show_indexes': True}), (r'/?$', 'news.views.site_page'), >./manage.py syncdb

39 Creazione di una view > vi views.py import models as news_models from django.template import Context, loader from django.http import HttpResponse def site_page(request): errors = [] try: cat_id = request.get['cat_id'] news = [i for i in news_models.news.objects.filter(argomento=cat_id)] cat_nome = news_models.argomento.get(cat_id).nome except: news = [i for i in news_models.news.objects.all()] cat_nome = "Tutti" categorie = [] for i in news_models.argomento.objects.all().order_by('nome'): categorie+= [i] t = loader.get_template("page.html") c = Context({ 'categorie': categorie, 'news': news, 'cat_nome': cat_nome, }) return HttpResponse(t.render(c))

40 Creazione di un template > mkdir templates > vi templates/page.html <html> <h3>on site news</h3> <h1>{{ cat_nome }}</h1> {% for categoria in categorie %} <a href="?cat_id={{ categoria.id }}">{{ categoria.nome }}</a><nbsp/> {% endfor %} {% for notizia in news%} <h2>{{ notizia.titolo }}</h2> {% if notizia.immagine %} <img src=" notizia.immagine }}"/> {% endif %} {{ notizia.testo }}<p/> {% endfor %} </html>

41 Bibliografia

Django: Python per il web

Django: Python per il web Django: Python per il web Sporchiamoci le mani! Di seguito è riportata la demo che è stata fatta durante la presentazione Django: Python per il web nel Linux Day 2008 di Perugia. L'esempio riportato e

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

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

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

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 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 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet Java Server Pages (JSP) Introduzione alle JSP Linguaggio di scripting lato server HTML-embedded Una pagina JSP contiene sia HTML sia codice Il client effettua la richiesta per la pagina JSP La parte HTML

Dettagli

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

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

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

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

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

Regione Toscana. GeoSisma Documentazione tecnica Marzo 2011

Regione Toscana. GeoSisma Documentazione tecnica Marzo 2011 Faunalia piazza Garibaldi 5 56025 Pontedera (PI) info@faunalia.it + 0587-213742 p. IVA: 01772020507 Regione Toscana GeoSisma Documentazione tecnica Marzo 2011 Indice GeoSisma...1 Documentazione schematica

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

Dettagli

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

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page» Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti

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

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

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

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

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

Protocolli e architetture per WIS

Protocolli 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

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

Introduzione a PHP Gestione dei Dati e della Conoscenza

Introduzione a PHP Gestione dei Dati e della Conoscenza Introduzione a PHP Gestione dei Dati e della Conoscenza Diego De Cao, Roberto Basili {decao,basili}@info.uniroma2.it a.a. 2008/2009 PHP Overview PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor")

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso Creare, compilare, e eseguire programmi Java Tipi di dato primitivi Flusso di controllo Java Metodi Arrays Introduzione

Dettagli

INFN Security Workshop Firenze 19-20 Settembre 2000. IMHO e IMP: una interfaccia Web sicura per la posta elettronica. Raffaele.Cicchese@pr.infn.

INFN Security Workshop Firenze 19-20 Settembre 2000. IMHO e IMP: una interfaccia Web sicura per la posta elettronica. Raffaele.Cicchese@pr.infn. INFN Security Workshop Firenze 19-20 Settembre 2000 IMHO e IMP: una interfaccia Web sicura per la posta elettronica Raffaele.Cicchese@pr.infn.it Cosa significano i due acronimi IMHO e IMP? IMHO = IMAP

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.1 PHP e il web 1 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo alcuni strumenti di programmazione

Dettagli

Componenti Web: client-side e server-side

Componenti 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

Dettagli

Installazione Alfresco Avanzata

Installazione Alfresco Avanzata QBR Novembre 2011 Installazione Alfresco Avanzata www.qbreng.it I Passi da compiere Installare Java SE Development Kit (JDK) 6.0 (http://it.sun.com/) Installare Database - RDBMS Open Source MySQL (http://dev.mysql.com/downloads)

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

Proposta UNIF Progetto: Portale delle fonti di energia rinnovabile. Obiettivi

Proposta UNIF Progetto: Portale delle fonti di energia rinnovabile. Obiettivi Proposta UNIF Progetto: Portale delle fonti di energia rinnovabile Pag.1 Obiettivi Il progetto, Portale delle fonti di energia rinnovabile, ha l obiettivo di facilitare lo scambio di informazioni e notizie

Dettagli

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

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Strumenti e linguaggi per lo sviluppo WEB su Linux. Scano Alessandro alescano@fastimap.com

Strumenti e linguaggi per lo sviluppo WEB su Linux. Scano Alessandro alescano@fastimap.com Strumenti e linguaggi per lo sviluppo WEB su Linux Scano Alessandro alescano@fastimap.com Non solo su linux è possibile fare sviluppo web, ma quest'ultimo è una piattaforma privilegiata per tale compito

Dettagli

Office e Applicativi sw

Office e Applicativi sw Associazione Nazionale Carabinieri Sezione Brugherio (MB) Segreteria da campo Office e Applicativi sw realizzato secondo gli Standard Regionali in materia di Formazione per la Protezione Civile come conforme

Dettagli

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

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli Sommario Introduzione Architettura Client-Server Architettura a Due Livelli Architettura a Tre Livelli Server Web Browser Web Introduzione La storia inizia nel 1989 Tim Berners-Lee al CERN, progetto WWW

Dettagli

Port Community System del Porto di Ravenna CONFIGURAZIONE

Port Community System del Porto di Ravenna CONFIGURAZIONE Port Community System del Porto di Ravenna CONFIGURAZIONE SOMMARIO Indicazioni generali... 3 Dipendenze software... 4 Lato server... 4 Lato client... 4 Organizzazione del sistema... 5 Struttura delle directory...

Dettagli

Le command line di Java

Le command line di Java Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,

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

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

PROGRAMMA 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

Dettagli

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito LEZIONE 3 Il pannello di amministrazione di Drupal, configurazione del sito Figura 12 pannello di controllo di Drupal il back-end Come già descritto nella lezione precedente il pannello di amministrazione

Dettagli

Server-side Programming: Java servlets Parte II

Server-side Programming: Java servlets Parte II Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche a.a. 2009-2010 Server-side Programming:

Dettagli

C o r s o L i b e r o d i. 2005 Emiliano Gabrielli <AlberT@SuperAlberT.it> GrUSP.it

C o r s o L i b e r o d i. 2005 Emiliano Gabrielli <AlberT@SuperAlberT.it> GrUSP.it C o r s o L i b e r o d i 2005 Emiliano Gabrielli GrUSP.it Licenza Corso Libero di PHP Copyright (c) 2005 Emiliano Gabrielli Quest'opera è stata rilasciata sotto la licenza Creative

Dettagli

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML Reti Linguaggio HTML 1 HTML = Hypertext Markup Language E il linguaggio usato per descrivere documenti ipertestuali Ipertesto = Testo + elementi di collegamento ad altri testi (link) Linguaggio di markup:

Dettagli

Guida all Installazione del ProxyFatturaPA

Guida all Installazione del ProxyFatturaPA i Guida all Installazione del ii Copyright 2005-2014 Link.it srl iii Indice 1 Introduzione 1 2 Fase Preliminare 1 3 Esecuzione dell Installer 1 4 Fase di Dispiegamento 5 4.1 JBoss 5.x e 6.x....................................................

Dettagli

Programmazione Java Avanzata Spring - JDBC

Programmazione 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

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

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

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l. Progetto SITI Manuale Utente SITI-Reports ABACO S.r.l. ABACO S.r.l. C.so Umberto, 43 46100 Mantova (Italy) Tel +39 376 222181 Fax +39 376 222182 www.abacogroup.eu e-mail : info@abacogroup.eu 02/03/2010

Dettagli

Architetture Web: un ripasso

Architetture Web: un ripasso Architetture Web: un ripasso Pubblicazione dinamica di contenuti. Come si fa? CGI Java Servlet Server-side scripting e librerie di tag JSP Tag eseguiti lato server Revisione critica di HTTP HTTP non prevede

Dettagli

A. Lorenzi Pagine ASP

A. Lorenzi Pagine ASP Pagine ASP Web server software per la gestione di un computer host Internet oppure di un server di rete, che mette a disposizione dati o applicativi per gli utenti della rete Web server IIS (Internet Information

Dettagli

Java Virtual Machine

Java Virtual Machine Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina

Dettagli

Indice. Introduzione. PARTE PRIMA PHP: i fondamenti 1

Indice. Introduzione. PARTE PRIMA PHP: i fondamenti 1 Indice Introduzione XV PARTE PRIMA PHP: i fondamenti 1 Capitolo 1 Perché PHP e MySQL? 3 1.1 Cos è PHP? 3 1.2 Cos è MySQL? 4 1.3 La storia di PHP 5 1.4 La storia di MySQL 6 1.5 Le ragioni per amare PHP

Dettagli

JavaServer Pages: Introduzione

JavaServer Pages: Introduzione JavaServer Pages: Introduzione Gianluca Moro gianluca.moro@unibo.it Dipartimento di Elettronica, Informatica e Sistemistica Università di Bologna Sistemi reali in JSP!! ofoto.com: stampa e gestisce foto

Dettagli

Scheda 15 Accedere ai DataBase con JDBC

Scheda 15 Accedere ai DataBase con JDBC Scheda 15 Accedere ai DataBase con JDBC G IOVANNI PULITI Panoramica: che cosa è JDBC La API JDBC, introdotta per la prima volta con il JDK 1.0, è una API che permette di accedere a database relazionali

Dettagli

Applicazioni Web: meccanismi per il passaggio di informazioni tramite HTTP Corso di Applicazioni Telematiche

Applicazioni Web: meccanismi per il passaggio di informazioni tramite HTTP Corso di Applicazioni Telematiche Applicazioni Web: meccanismi per il passaggio di informazioni tramite HTTP Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.10 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico

Dettagli

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

appunti delle lezioni Architetture client/server: applicazioni client

appunti delle lezioni Architetture client/server: applicazioni client Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente

Dettagli

XML e PHP. Gestire XML con PHP. Appendice

XML e PHP. Gestire XML con PHP. Appendice Appendice XML e PHP Tra tutti i linguaggi di programmazione esistenti PHP è tra quelli che meglio si adattano all elaborazione di documenti XML. PHP è un linguaggio di programmazione che consente di arricchire

Dettagli

Server Web. Apache Tomcat. Modalità di funzionamento. Autore: Roberto Fabbrica rfabbrica@libero.it. Diapo 1. Diapo 2. Diapo 3

Server Web. Apache Tomcat. Modalità di funzionamento. Autore: Roberto Fabbrica rfabbrica@libero.it. Diapo 1. Diapo 2. Diapo 3 1 Server Web In questo modulo verrà analizzato Tomcat, l application server di Apache che supporta JSP. Viste le caratteristiche di stabilità, aderenza alle specifiche JSP, configurabilità e supporto,

Dettagli

Simple & Efficient. www.quick-software-line.com

Simple & Efficient. www.quick-software-line.com Cosa è XML? extensible Markup Language Linguaggio è una definizione limitativa XML serve a descrivere con precisione qualsiasi informazione XML è estensibile. Ovvero non ha tag predefiniti come HTML XML

Dettagli

Mappare il DB senza XML. Introduzione alle annotation di Hibernate3

Mappare il DB senza XML. Introduzione alle annotation di Hibernate3 Introduzione alle annotation di Hibernate3 a cura di Lucio Benfante Hibernate Hibernate è un framework che realizza un object/relational mapping (ORM) fra oggetti Java e strutture di un database relazionale

Dettagli

Content Management Systems

Content Management Systems Content Management Systems Gabriele D Angelo http://www.cs.unibo.it/~gdangelo Università degli Studi di Bologna Dipartimento di Scienze dell Informazione Aprile, 2005 Scaletta della lezione

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Tipi fondamentali di documenti web

Tipi fondamentali di documenti web Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non

Dettagli

Programmazione ad Oggetti. Java Parte I

Programmazione ad Oggetti. Java Parte I Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Web Autore: Davide Revisione: 1.2 Data: 23/5/2013 Titolo: Innopedia File: Documentazione_tecnica Sito: http://inno-school.netsons.org/ Indice: 1. Presentazione

Dettagli

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione a XAMPP Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione applicazione web richiede diversi componenti

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

Strutture di accesso ai dati

Strutture 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

Dettagli

Compilatore risorse display grafico LCD serie IEC-line

Compilatore risorse display grafico LCD serie IEC-line Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente

Dettagli

Gestione di un magazzino: sviluppo di un applicazione web-database

Gestione di un magazzino: sviluppo di un applicazione web-database Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Diploma Universitario in Ingegneria Informatica Gestione di un magazzino: sviluppo di un applicazione web-database

Dettagli

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

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

Dettagli

Indice. Introduzione. Capitolo 1

Indice. Introduzione. Capitolo 1 Indice Introduzione XI Capitolo 1 Pagine dei fornitori: applicazione dei fogli di stile CSS in XML 1 1.1 Introduzione a HTML e XHTML 1 1.2 Controllo della presentazione: fogli di stile CSS 8 1.3 Approfondimento

Dettagli

Sito web parrocchiale: STRUMENTI E PROGRAMMI

Sito web parrocchiale: STRUMENTI E PROGRAMMI Sito web parrocchiale: STRUMENTI E PROGRAMMI tratteremo di... DIOCESI DI BRESCIA Linguaggi HTML,CSS Siti STATICI Siti DINAMICI e codice PHP CMS JOOMLA! Linguaggio HTML HTML: è il linguaggio con cui potete

Dettagli

Il sistema informatico di trasmissione e analisi dei dati

Il sistema informatico di trasmissione e analisi dei dati PIANO TRIENNALE PER IL CONTROLLO E LA VALUTAZIONE DI EVENTUALI EFFETTI DERIVANTI DALL UTILIZZAZIONE DEI PRODOTTI FITOSANITARI SUI COMPARTI AMBIENTALI VULNERABILI Il sistema informatico di trasmissione

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML

MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML Thomas Imolesi imolesi@libero.it fti@bologna.enea.it XML un linguaggio

Dettagli

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

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento

Dettagli

CONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO...

CONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO... CONTENUTI 1. INTRODUZIONE...3 DEFINIZIONE...3 ELEMENTI DEL SERVIZIO...3 TECNOLOGIA E OPERAZIONE...3 WORKFLOW E GRAFICO DI PROCESSI...4 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 STRUTTURA...5 OGGETTI...5

Dettagli

Costruzione di siti web. Il Content Management System Joomla

Costruzione di siti web. Il Content Management System Joomla Costruzione di siti web Il Content Management System Joomla Definizione di un CMS Un Content Management System (CMS) è letteralmente un sistema di gestione dei contenuti E' uno strumento software utilizzato

Dettagli

VIVAIO LAUDENSE RELAZIONE

VIVAIO LAUDENSE RELAZIONE VIVAIO LAUDENSE RELAZIONE Consegna Un vivaio di Lodi vuole realizzare un sito Web per gestire le proprie attività di vendita di piante e le attività esterne. Si vogliono memorizzare, oltre alle informazioni

Dettagli

Lorenzo Sarti sarti@dii.unisi.it Materiale didattico http://www.dii.unisi.it/~ sarti

Lorenzo Sarti sarti@dii.unisi.it Materiale didattico http://www.dii.unisi.it/~ sarti Lorenzo Sarti sarti@dii.unisi.it Materiale didattico http://www.dii.unisi.it/~ sarti Obiettivi esercitazioni Utilizzare nella pratica un DBMS Apprendere il linguaggio SQL Apprendere come si accede ad un

Dettagli

Introduzione ai tipi di dato astratti: applicazione alle liste

Introduzione ai tipi di dato astratti: applicazione alle liste Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione

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

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

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

AVIPA 1. Presentazione generale dell'ambiente software

AVIPA 1. Presentazione generale dell'ambiente software AVIPA 1. Presentazione generale dell'ambiente software Viterbo, 10 Dicembre 2008 Presentazione a cura di Slide n.1 AVIPA: l'ambiente software Queste slides rappresentano le prime indicazioni sul lavoro

Dettagli

Soluzioni per l'integrazione e l'accesso alle informazioni. Visus RAD. Andrea Rocchini

Soluzioni per l'integrazione e l'accesso alle informazioni. Visus RAD. Andrea Rocchini Soluzioni per l'integrazione e l'accesso alle informazioni Visus RAD Andrea Rocchini Obbiettivo Raccogliere, elaborare e distribuire informazioni in modo diretto, puntuale e capillare E' lo scopo ultimo

Dettagli

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010) Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

Corso: Informatica+ Andrea Cremonini. Lezione del 09/02/2015

Corso: Informatica+ Andrea Cremonini. Lezione del 09/02/2015 Corso: Informatica+ Andrea Cremonini Lezione del 09/02/2015 1 Office Automation 1/2 Con la definizione di Office Automation ci riferiamo a computer e software usati per creare digitalmente, raccogliere,

Dettagli

Content Management Systems

Content Management Systems Content Management Systems L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Definizione Un Content Management System (CMS) è letteralmente un sistema per la gestione dei contenuti Definisce

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

CONTENT MANAGEMENT SYSTEM

CONTENT MANAGEMENT SYSTEM CONTENT MANAGEMENT SYSTEM P-2 PARLARE IN MULTICANALE Creare un portale complesso e ricco di informazioni continuamente aggiornate, disponibile su più canali (web, mobile, iphone, ipad) richiede competenze

Dettagli