1 Linguaggi ed Applicazioni Multimediali A.A. 2002/2003 Diego Alicata SERVIZI MULTIMEDIALI AVANZATI CON.

Slides:



Advertisements
Presentazioni simili
Perché.NET di Marco Maraglino don't worry...B-bright !
Advertisements

Alcuni dati sulla diffusione dei cellulari di nuova generazione secondo i dati emersi al 3Gsm World Congress 2006 di Lisbona. di Giulio Boresa In tre.
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
(Appunti da Scott Mitchell, James Atkinsons - Active Server Pages 3.0 – ed. Apogeo) Le pagine ASP.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
IL LINGUAGGIO HTML Il linguaggio html. Il linguaggio html. Utilizzo dei tag. Utilizzo dei tag. Script Browser I link I link Caricamento dei dati sul server.
Java Enterprise Edition (JEE)
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Università degli Studi di Modena e Reggio Emilia
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
Le reti informatiche!! Le reti di telecomunicazioni hanno permesso una maggior diffusione delle informazioni che possono essere trasmesse e ricevute.
RETI INFORMATICHE.
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
Introduzione al linguaggio Java
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
IL FORMATO DEI FILE E IL FILETYPE (ESTENSIONE) Formato dei file 10 marzo 2012 Informatica prof. Giovanni Raho anno
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Corso di Informatica A.A
Google Docs Versione italiana (Google Documenti)
ADSL VOIP Voice Over IP.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze dellInformazione Applicazione.
ASP Lezione 1 Concetti di base. Introduzione ad ASP ASP (che è la sigla di Active Server Pages) è un ambiente di programmazione per le pagine web. La.
Lezione 2 Programmare in ASP
Elaborazione di Franco Grivet Chin
Corso di PHP.
Creiamo una cartella nel nostro hard disk dove andremo ad inserire le risorse che costituiranno i contenuti del sito. Apriamo il programma Dopo aver cliccato.
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
Modulo 1: 1.3 Le Reti.
NotCron tutti gli interventi di manutenzione programmata dello stabilimento for
Come funziona il PHP.
Costruire pagine per il WEB
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
HTML Lezione 5 Immagini. URL Un Uniform Resource Locator o URL (Localizzatore di risorsa uniforme) è una sequenza di caratteri che identifica univocamente.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Sistemi Informativi sul Web
Creare pagine web Xhtlm. Struttura di una pagina.
Common Gateway Interface. Dynamic HTML le risposte inviate al client sono (parzialmente o totalmente) create on-the-fly (al volo) dopo aver ricevuto il.
Immagini digitali immagine digitale, si intende un elemento grafico elaborato tramite computer, che si può visualizzare sul monitor e stampare su carta.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Threads.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
JavaScript Programmare il client. Cenni storici Alice Pavarani2  Nasce nel 1995 (Netscape): da LiveScript a JavaScript  La risposta di Microsoft: Jscript.
ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.
INTRODUZIONE A JAVASCRIPT
Codifica di Immagini Fabio Cantaro.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
MODULO 01 Unità didattica 04
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
1 COSA SERVE PER COLLEGARSI? - UNA SCHEDA DI RETE La scheda di rete è il componente che collega il nostro computer con la rete locale (LAN). Il collegamento.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
Università degli Studi di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Scienze dell’Informazione Università degli Studi.
Eprogram informatica V anno.
I Sistemi Operativi. Che cosa sono? Il sistema operativo è un software di base che fa funzionare il computer. I Sistemi operativi più importanti sono:
Istituto Comprensivo Statale
Tipi di immagini. Vi sono 3 tipi di formati di immagini molto conosciuti Bitmap (bmp)  Bitmap (bmp)  Gif  Jpg.
LINGUAGGI DI PROGRAMMAZIONE E' un linguaggio formale dotato di una sintassi ben definita che viene utilizzato per scrivere programmi che realizzano algoritmi.
Eprogram informatica V anno. Programmare in rete.
+ Connettersi al web Nicolò Sordoni. + Verificare se lo smartphone è connesso Per poter accedere alla rete, è consigliato innanzitutto verificare se il.
Transcript della presentazione:

1 Linguaggi ed Applicazioni Multimediali A.A. 2002/2003 Diego Alicata SERVIZI MULTIMEDIALI AVANZATI CON

2 Levoluzione tecnologica alla quale assistiamo ormai da anni, ha permesso, e permette sempre più, la diffusione di informazioni multimediali sia su personal computer che su altri devices (es: PDA, cellulari di ultima generazione, ecc…) Per capire quanto il modo di interagire con la rete sia cambiato, basti ricordare quanto la prima Internet pubblica fosse caratterizzata nelle pagine web, dalla grande abbondanza di testi e dalla quasi totale assenza di immagini, audio e video. Levoluzione tecnologica, la riduzione dei costi di connessione, laumento di utenza a banda larga, la diffusione di dispositivi per linput/output di dati multimediali sta cambiando il modo stesso di interagire col web sempre più caratterizzato da una vera e propria esperienza multimediale.

3 Fino a ieri il multimedia era relegato alloffline, oggi e sempre più in futuro, il multimedia sarà online. Offrire dati multimediali online significa potere gestire dinamicamente i contenuti e potere offrire allutente ciò che desidera in tempo reale. NASCE IL BISOGNO DI NUOVI SERVIZI MULTIMEDIALI DINAMICI

4 Per modificare il contenuto di pagine web basate su HTML in modo classico è necessario: -Scaricare il file HTML da modificare -Modificarlo -Fare lupload del file modificato sul server Tutto questo comporta quindi la necessità di un intervento umano per laggiornamento dei contenuti ed ovviamente laggiornamento richiederà del tempo. E per questo motivo che sono nati linguaggi di programmazione orientati al web che creano in tempo reale la pagina HTML corrispondente generandola dinamicamente. Tra questi linguaggi ricordiamo PHP (per server Linux) ed ASP (Active Server Pages, per server Windows).

5 Se quindi con le normali pagine HTML avviene che: BROWSER RICHIEDE index.html SERVER Trasmette il file index.html Con ASP e PHP avviene che: BROWSER RICHIEDE index.asp SERVER Trasmette il codice HTML -Il server legge index.asp -Lo interpreta -Genera un codice HTML Nasce quindi la possibilità concreta di realizzare servizi multimediali on-demand per il web

6 Per fornire un servizio via web in Tempo Reale, o comunque cercando di avvicinarsi a questo traguardo, uno dei problemi principali da superare è quello di diminuire il tempo di risposta del server. Interpretare codice ASP o PHP richiede grande occupazione di risorse e soprattutto molto tempo di CPU. Inoltre maggiori sono le richieste nellunità di tempo tanto più tali risorse possono saturarsi ed il server rallentarsi o addirittura bloccarsi. Con Microsoft.NET la richiesta di risorse ed il tempo di CPU è di molto ridotto, questo perché.NET produce codice compilato che quindi sarà direttamente eseguito (non interpretato). Microsoft.Net è una piattaforma di sviluppo dotata di un FRAMEWORK che: -Si occupa della compilazione dei codici -Si occupa dello scheduling delle richieste alle risorse -Gestisce le transazioni e gli eventuali overload

7 Per quanto riguarda la programmazione web.Net mette a disposizione dei programmatori ASP.Net: levoluzione.Net di ASP. I campi di applicazione di ASP.Net sono i più disparati ed in particolare, limitandoci ad i casi che affronteremo, vedremo come: 1. Manipolare delle immagini dinamicamente (ridimensionare, comprimere, e salvare in diversi formati). 2. Utilizzare un GATEWAY per spedire SMS via web 3. Implementare il GATEWAY per offrire servizi PUSH via WAP e WML

8 PARTE 1: Manipolare le immagini dinamicamente

9 CENNI INIZIALI: Familiarizziamo prima con il codice ASP.NET (1).Net ed ASP.Net supportano la sintassi di 21 linguaggi tra i quali i più importanti Visual Basic e C# (una sorta di C). In realtà prendendo due qualsiasi linguaggi in.Net ci accorgiamo che la sintassi è davvero molto simile. Noi comunque ci riferiremo alla sintassi del linguaggio di default ossia Visual Basic.

10 CENNI INIZIALI: Familiarizziamo prima con il codice ASP.NET (2).Net mette a disposizione una sorta di librerie chiamate NAMESPACES. Come nel C, se utilizziamo funzioni di tali librerie dovremo prima dichiararle. Il codice ASP.Net è racchiuso tra, tutto ciò che è fuori viene trattato come normale codice HTML.

11 CENNI INIZIALI: Familiarizziamo prima con il codice ASP.NET (3) PER LA LETTURA DI UN FILE PER ESEMPIO AVREMO: <% dim s as Stream = File.Open("E:\daleggere.txt", FileMode.Open, FileAccess.Read) dim r as New BinaryReader(s) Dim output as String Do While r.PeekChar() output &= r.ReadChar() Loop r.Close() s.Close() %>

12 MANIPOLARE IMMAGINI: Leggere un immagine Il namespace che.Net mette a disposizione per la gestione delle immagini è system.drawing. VEDIAMO ORA COME LEGGERE UN IMMAGINE: <% Dim image As New system.drawing.bitmap(immagine.gif) %> Limmagine è ora caricata in memoria ed attribuita alloggetto image. Limmagine, in questo caso gif, quindi a scala di colori, è stata convertita in RGB True Color a 24 bit.

13 MANIPOLARE IMMAGINI: Ridimensionare un immagine Come fare a ridimensionare limmagine che abbiamo caricato? Se per esempio vogliamo renderla del 50% più piccola ECCO COME FAREMO: … Dim larghezza, altezza as Integer larghezza = Int(image.width/2) altezza = Int(image.height/2) Dim nuova As New Bitmap(larghezza, altezza) Dim g As Graphics = Graphics.FromImage(nuova) g.CompositingQuality = Drawing2D.CompositingQuality.HighQuality g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic Dim rect As New Rectangle(0, 0, larghezza, altezza) g.DrawImage(image, rect, 0, 0, altezza, larghezza, GraphicsUnit.Pixel) …

14 MANIPOLARE IMMAGINI: Restituire limmagine compressa Vogliamo ora restituire al browser limmagine così creata come jpeg con qualità 90 (in qualità da 0 a 100) ECCO COME FAREMO: … Dim myEncoderParameters As New EncoderParameters(1) Dim myEncoderParameter As New System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 90) myEncoderParameters.Param(0) = myEncoderParameter Dim objImageCodecInfo() As ImageCodecInfo objImageCodecInfo = ImageCodecInfo.GetImageEncoders response.contenttype="image/jpeg" nuova.Save(Response.OutputStream, objImageCodecInfo(1), myEncoderParameters) nuova.dispose() image.dispose() %>

15 ECCO IL RISULTATO: image.gif ASP.NET restituisce al browser

16 MANIPOLARE IMMAGINI: Applicazioni Le applicazioni di quello che abbiamo visto possono essere tantissime, immaginiamo di volere inviare ad un cellulare una immagine presa da un giornale web, o pensiamo ad unapplicazione che sotto il controllo dellutente effettua il fotoritocco di un immagine.

17 PARTE 2: Utilizzare un GATEWAY per spedire SMS

18 Spedire SMS: COSA SONO I GATEWAY (1) Supponiamo di volere creare una applicazione che via web dovrà spedire degli sms, magari per inviare le ultime notizie, oppure per spedire informazioni sui cinema o, se creiamo una applicazione per luniversità, unapplicazione che spedisca sms indicando le date degli appelli di esame. Per fare ciò è prima di tutto necessario un GATEWAY Internet -> Cellulari, ossia un particolare hardware che faccia da tramite e che codifichi i dati provenienti da internet in normali SMS per la telefonia mobile. Si tratterà quindi di un hardware che dovrà gestire le informazioni su vari protocolli. Questi GATEWAY esistono e sono a disposizione dei programmatori (sotto pagamento di un canone).

19 Spedire SMS: COSA SONO I GATEWAY (2) Ecco quindi cosa avverà: RICHIEDE sms.asp Inviando i dati per la spedizione dellsms BROWSERSERVER Invia una richiesta al Gateway Inviando i dati per la spedizione dellsms GATEWAY Invia lSMS Informa il server, e lapplicazione ASP, che lsms è stato inviatoLapplicazione ASP restituisce al browser una pagina HTML specificando che lsms è stato inviato

20 Spedire SMS: limplementazione (1) Vediamo ora il codice per spedire un sms con testo Ciao ad un cellulare. ECCO COME FAREMO: <% Dim st As Stream Dim sr As StreamReader Dim risposta As String Dim stringa As String Stringa = ACCOUNT=xxxx&PASSWORD=xxxx&COUNTRYCODE=+39&GSMCODE=347&PHONENUMBER= &TEXTM ESSAGE=Ciao … Dove ad xxxx sostituiremo il nome account e la password per il gateway

21 Spedire SMS: limplementazione (2) Continuando: … Dim req As WebRequest = WebRequest.Create(" & stringa) Dim resp As WebResponse = req.GetResponse st = resp.GetResponseStream sr = New StreamReader(st) Risposta = sr.ReadToEnd() If Risposta = 01 then Response.Write(SMS inviato correttamente) Else Response.Write(Impossibile spedire lSMS) End if sr.Close() st.Close() %>

22 PARTE 3: Servizi PUSH via WAP

23 Servizi PUSH via WAP: Introduzione Ci occuperemo ora di sfruttare le potenzialità di ASP.net e della creazione dinamica di contenuti per creare dei servizi PUSH accessibili via cellulari WAP. Nel caso particolare la nostra applicazione dovrà rendere possibile che: -lutente si colleghi al sito wap dinamico e possa scegliere una materia di esame di Informatica Applicata -lapplicazione spedirà un SMS indicando le date degli appelli per la materia scelta.

24 Servizi PUSH via WAP: WML Se il linguaggio di markup di pagine web è lHTML, lo standard per le pagine WAP è il WML. Il WML è un particolare XML, ossia un XML definito da un particolare DTD che definisce la sintassi di WML. Per questo nel prologo di un file WML dovremo avere sempre: Dopo il prologo avremo il tag che dichiara linizio di codice WML, avremo il tag alla fine di tutto il codice.

25 Servizi PUSH via WAP: Il codice (1) Semplificando, le pagine visualizzate verranno chiamate CARDS, avremo quindi tra e i tag e La sintassi è molto semplice, quindi vediamo come dovrà essere il file wml che intendiamo creare: … (prologo) Per ricevere informazioni sugli appelli di Informatica Applicata compila i seguenti campi. Materia di Appello: Ling. Appl. Mult. Basi Dati Economia d'Impresa Numero Cellulare : Clicca qui per Inviare i Dati

26 Servizi PUSH via WAP: Il codice (2) Il file spedisci_wap.aspx riceverà quindi il valore della materia sotto la variabile MateriaI e il numero di cellulare sotto la variabile Cellulare. Vediamo quindi il codice di spedisci_wap.aspx <% Dim st As Stream Dim sr As StreamReader Dim risposta, stringa, Numero, MateriaN, Materia(3), GSMCode, PhoneNumber, Sender, TextMessage As String Materia(1)="Linguaggi e Applicazioni Multimediali: 1 appello 13/06 ore appello 23/06 ore post appello 30/06 ore 9.30" Materia(2)="Basi Dati e Sistemi Informativi: 1 appello 09/06 ore (PRESSO S.T.I.) - 2 appello 16/06 ore (PRESSO S.T.I.) - post appello 09/07 ore 10.30" Materia(3)="Economia e Gestione dell'Impresa: 1 appello 03/06 ore (PRESSO S.T.I.) - 2 appello 25/06 ore (PRESSO S.T.I.) - post appello 10/07 ore (PRESSO S.T.I.)" Numero=Request("Cellulare") MateriaN=Request("MateriaI") …

27 Servizi PUSH via WAP: Il codice (3) Continuando: … GsmCode = left(Numero,3) PhoneNumber = right(Numero,len(Numero)-3) Sender = "PROVA" TextMessage = Materia(int(MateriaN)) Stringa = "Account=xxxx&Password=xxxx&CountryCode=+39&GsmCode=" & GsmCode & "&PhoneNumber=" & PhoneNumber & "&Sender=" & Sender & "&TextMessage=" & TextMessage Dim req As WebRequest = WebRequest.Create(" & stringa) Dim resp As WebResponse = req.GetResponse st = resp.GetResponseStream sr = New StreamReader(st) Risposta = sr.ReadToEnd() …

28 Servizi PUSH via WAP: Il codice (4) Continuando: If Risposta = 01 then MessaggioOUT=SMS contenente le informazioni sulla materia specificata inviato. Else MessaggioOUT=Impossibile spedire lSMS End if sr.Close() st.Close() %>

29 Servizi PUSH via WAP: Il codice (5) Vedremo ora il servizio allopera. Ricordiamoci che questo è solo un piccolo esempio di servizio PUSH che è possibile realizzare. E per esempio possibile anche realizzare servizi che accedono a determinate informazioni contenute in database od in siti internet e le restituiscono a chi le chiede (es: notizie aggiornate dal mondo, carriera lavorativa, ferie prese, ferie spettanti, ecc.)

30 Servizi PUSH via WAP: Il servizio allopera (1) Vediamo ora come funzionerà il servizio PUSH da noi creato. Per prima cosa ci connetteremo via WAP alla pagina iniziale:

31 Servizi PUSH via WAP: Il servizio allopera (2) Apparirà così la pagina iniziale dalla quale sceglieremo la materia di cui ci interessa conoscere gli appelli (supponiamo Linguaggi e Applicazioni Multimediali):

32 Servizi PUSH via WAP: Il servizio allopera (3) Sceglieremo poi il numero di cellulare al quale spedire lSMS, magari possiamo spedirlo ad un amico a cui interessava quellesame: Clicchiamo poi su Clicca qui per Inviare i dati

33 Servizi PUSH via WAP: Il servizio allopera (4) A questo punto il servizio ci informerà che lsms è stato spedito correttamente: Potremo così leggere lSMS ricevuto e, se lo vorremo, mantenerlo memorizzato come promemoria:

34 CONCLUSIONI

35 CONCLUSIONI: Abbiamo visto come è possibile struttare ASP.net ed i gateway per creare dei servizi molto potenti. Allo stesso modo, con codice molto simile, sarà presto possibile creare anche applicazioni avanzate per UMTS. Già oggi è possibile creare dinamicamente codice SMIL che può essere direttamente interpretato per esempio da alcuni PDA per creare applicazioni quali: karaoke, animazioni, guide interattive e tanto altro…