Anno: 2009/10 Prof. Roberto Beraldi Autore: Giorgio Federici.

Slides:



Advertisements
Presentazioni simili
CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
Advertisements

Corso di Fondamenti di Informatica
Introduzione ad XML Mario Arrigoni Neri.
HtML Premessa introduttiva al laboratorio Sergio Capone.
HYPER TEXT MARK-UP LANGUAGE
HTML Hyper Text Mark-Up Language. HTML Hyper Text Mark-Up Language Linguaggio di marcatura per ipertesti E un linguaggio di formattazione usato per descrivere.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
HTML Hyper Text Mark-Up Language. HTML Hyper Text Mark-Up Language Linguaggio di marcatura per ipertesti E un linguaggio di formattazione usato per descrivere.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Mantenimento dello stato Laboratorio Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Connessione con MySQL.
Esercitazione 2 Array, funzioni, form
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Esercitazione 5 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Esercitazione 6 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Internet Explorer Il browser.
Guida alle iscrizioni online. Dopo aver avviato un browser Microsoft Internet Explorer, Mozilla Aprire la Homepage del ministero allindirizzo
Daniel Stoilov Tesi di Laurea
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze dellInformazione Applicazione.
Architettura Java/J2EE
Sistema Bibliotecario di Ateneo | Università di Padova Biblioteca e le sue risorse: servizi e strategie di ricerca Catalogo del sistema bibliotecario padovano.
Corso di PHP.
Obiettivi dellinterfaccia Web Una buona interfaccia web deve assolvere a diverse funzioni: far percepire i contenuti permettere di individuare.
Accesso a DynaMed su iPhone, iPod touch e iPad Tutorial
ALBERGHI SU FACEBOOK imparare a interagire con una Rete sempre più socializzata
ANDISU Forum • introduzione alla piattaforma di condivisione andisu • istruzioni per la registrazione • istruzioni per l’uso.
Primo accesso Dimenticato la password? Navigare in piattaforma Come accedere a un corso.
Costruire pagine per il WEB
Riservato Cisco 1 © 2010 Cisco e/o i relativi affiliati. Tutti i diritti sono riservati.
Support.ebsco.com Esercitazione sulla ricerca di base per librerie accademiche.
Gestimp IV Il pacchetto software GESTIMP© di Isea S.r.l., di seguito indicato con GESTIMP©, permette di gestire la supervisione e la telegestione di impianti.
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria “Enzo Ferrari” – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Primo accesso Dimenticato la password? Navigare in piattaforma Come accedere a un corso.
Sistemi Informativi sul Web
Creare pagine web Xhtlm. Struttura di una pagina.
A. Ferrari.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
INTRODUZIONE A JAVASCRIPT
TROVA FILM Progetto di Tecnologie Web anno accademico 2013/2014 DEL VECCHIO GIANLUCA IOVINO PASQUALE
Google Auth Mechanism Emanuel Di Nardo m.
Web 2 e RSS. Web 2.0 Può essere inteso come “un centro gravitazionale” Può essere visualizzato come un insieme di principi e di procedure che collegano.
Dal sito del Polo Qualità di Napoli
1 Sistemi Informativi e Servizi in Rete Università degli Studi di Brescia Facoltà di Ingegneria Parsing di documenti XML Esercizi.
Presentazione progetti per il bando “Interventi per il miglioramento dell’efficienza energetica degli impianti di illuminazione pubblica” Manuale di supporto.
PRIMI PASSI PER L’UTILIZZO DELLO STRUMENTO Meetup Movimento 5 Stelle Feltre Passo 1: Vai all’indirizzo (consiglio: inserisci questo.
Fabrizio Felici LAMP workshop GROsseto Linux Users Group.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
DIGITAL RECIPE Progetto Realizzato da: Vitiello Pier Angelo Il progetto si trova all’indirizzo :
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
PoctEvo Point of Care Testing Evolution Gestione diagnostica Web.
InternetInternet Sede: Salvo D’acquisto 2010/2011 Docente: Vito Monno.
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.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Servizi Internet Claudia Raibulet
E Windows SharePoint Services 2.0 Ivan Renesto Document Library how to use Windows SharePoint Services.
Aditech Life Acquisizione Parametri Monitoraggio Live da remoto
Make Your Identity Card Realizzazione di una carta d’identità su computer Francesco Fasulo Istituto Tecnico Industriale Don Orione Fano Esame di Stato.
Un sito con Wordpress Includere Digital-mente – Corso livello 4 docente: prof.ssa MANUELA MARSILI.
Phishing Il phishing è un tipo di truffa effettuata su Internet attraverso la quale un malintenzionato cerca di ingannare la vittima convincendola a fornire.
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
+ Connettersi al web Nicolò Sordoni. + Verificare se lo smartphone è connesso Per poter accedere alla rete, è consigliato innanzitutto verificare se il.
Un sito con Wordpress Includere Digital-mente – Corso livello 4 docente: prof.ssa MANUELA MARSILI.
Progetto WELL-FIR Manuale Utente del Web GIS Versione 0.1.
PHP HyperText Prepocessor.  Linguaggio di scripting lato server sviluppato per generare pagine web.  Permette ad un sito web di diventare dinamico 
28/06/2016Francesco Serafini INDICO Parte 2. 28/06/2016Francesco Serafini CREAZIONE EVENTI Gli eventi possono essere creati in qualsiasi categoria, che.
Cassetto Professionisti Cassetto Previdenziale per Liberi Professionisti iscritti alla Gestione Separata 1.
Transcript della presentazione:

Anno: 2009/10 Prof. Roberto Beraldi Autore: Giorgio Federici

INTRODUZIONE TECNOLOGIE UTILIZZATE FACEBOOK JOYENT FBML SDK-PHP GRAPH API YOUTUBE EBAY TMDb ENTRIAMO NELL’APPLICAZIONE LOGIN PERMESSI CONNESSIONI SCHEDE MUSIC FILM BOOKS eBayLibro.php libro.php

In questo progetto si è voluta realizzare un’applicazione mash-up che sfruttasse le API messe a disposizione da servizi già esistenti. In particolare, le API del social network Facebook sono state utilizzate per accedere alle informazioni del profilo di un utente registrato, le API di YouTube per la ricerca e la visualizzazione di contenuti video, le API di eBay per mostrare oggetti in vendita e infine le API di TMDb per collegarsi ad un movie DB. Nel seguito verranno presentate singolarmente le tecnologie di cui si è fatto uso, mostrandole sia singolarmente che nel loro complesso.

L’application server che verrà utilizzato è messo a disposizione da JOYENT.com nel suo Free Developer Program. Le risorse disponibili sono:  One Joyent “shared” developer account with a single SSH/SFTP login  One MySQL and PostgreSQL login with up to 5 databases (in total) allowed, access to phpMyAdmin and phpPgAdmin tools  5 GB of total disk space  100 GB of monthly bandwidth  200 MB of total memory available, with a 100 MB per-process limit  10 ports to run processes on  Ability to create Cron jobs and define Bootup Actions (SMF services)  Many command line utilities, editors, version control tools, etc.

Per la visualizzazione dell’applicazione sullo schermo si è sfruttato il linguaggio di markup di Facebook, FBML, simile all’HTML. Si tratta dell’estensione proprietaria, orientata alla piattaforma Facebook, di HTML. I tag e gli elementi di base del linguaggio si riconoscono per la sigla iniziale “fb:” che precede il nome. E’ possibile dividere gli elementi di FBML in gruppi, in base alla tipologia e a quello che riescono a fare.  Tools Tools  User/Groups User/Groups  Notifications and Requests Notifications and Requests  Platform Internationalization Platform Internationalization  Deprecated Deprecated  Status Messages Status Messages  Page Navigation Page Navigation  WallVisibility on Profile WallVisibility on Profile  Profile-specific Profile-specific  Misc Misc  Editor Display Editor Display  Embedded Media Embedded Media  Dialog Dialog  Additional Permissions Additional Permissions  Social Plugins Social Plugins  Message Attachments Message Attachments  Forms Forms

L’applicazione sarà sviluppata utilizzando il linguaggio di programmazione PHP. Facebook mette a disposizione un PHP SDK: Dalla documentazione di Facebook: “This SDK provides Facebook Platform support to your PHP-based web apps. This library helps you add Facebook Login and Graph API support to your Website.”

Il 21 Aprile 2010, in occasione dell'evento F8 Live, Facebook ha presentato una serie di novità riguardanti il modo di sviluppare applicazioni per il social network. Con i nuovi SDK sono state presentate anche le nuove API, chiamate Graph API. L'idea dietro queste nuove API, infatti, è quella di considerare elementi quali utenti, pagine fan, gruppi, foto e video come nodi di un grafo (oggetti nella rivisitazione fatta da Facebook). Tutti questi nodi sono poi collegati tra loro tramite archi (o connessioni nel gergo Facebook). Le risposte API sono solo in formato JSON ed inoltre sarà possibile richiamarle tramite URL.

Una delle più importanti caratteristiche di YouTube sono le sue YouTube Data Api. Queste REST-based API permettono agli sviluppatori di accedere e visualizzare i dati video di YouTube, ed integrarli all’interno della propria applicazione. Come tutti i servizi REST-based si inizia con una richiesta HTTP per la risorsa voluta. Questa richiesta HTTP contiene una query con uno o più parametri di input. Il server risponde alla query con un Atom o RSS.

Direttamente da eBay: “L'API di eBay consente agli sviluppatori di accedere ai dati e alle funzionalità di eBay, incluse le informazioni sulle categorie e le inserzioni in corso, e di presentare tali informazioni in un formato personalizzato.” Nell’applicazione si utilizza il ramo di API chiamato Finding API. Queste forniscono l’accesso a funzionalità di ricerca sulla piattaforma eBay. Con le Finding API abbiamo la possibilità di cercare e navigare per gli oggetti in vendita su eBay. Verrà costruita una chiamata HTTP GET con una risposta in formato XML, che all’interno del codice PHP sarà presa per mostrare i risultati in una pagina web.

Le API TMDb sono una potente risorsa per tutti gli sviluppatori che vogliono integrare dati sui film e il loro cast, oltre ai poster e screens. Tutti i metodi delle API sono disponibili in XML, YAML e JSON Per utilizzare queste API bisogna:  Registrare un account  Generare la API Key da utilizzare poi per richiamare i metodi che vogliamo

Nel file config.php definiamo le costanti con i parametri, forniti da Facebook, utili a realizzare, poi, il login: Nel file applogin.php, prima includiamo la libreria php e poi realizziamo il login vero e proprio:

Leggiamo direttamente la documentazione di Facebook per conoscere quali permessi dobbiamo inserire nei parametri al momento del login. L’utente dovrà accettare che l’applicazione possa utilizzare questo tipo di informazioni. Eccoli nel codice:

Costruiamo tre array che contengono le connessioni alla musica, ai film e ai libri contenuti all’interno del profilo dell’utente che sta usando l’applicazione: Quello che noi catturiamo può essere visualizzato tramite il browser:

Per la navigazione delle pagine utilizziamo il sistema di schede che Facebook mette a disposizione tramite il linguaggio FBML: Nel codice questo è realizzato così:

La pagine dell’applicazione che riguarda la musica è realizzata in due parti, la prima utilizza FBML e le Graph API, mentre nella seconda viene realizzata la ricerca e la visualizzazione dei contenuti di YouTube. Mostriamo l’elenco dei musicisti che sono inseriti nel profilo dell’utente, tramite l’immagine e il nome associati alla relativa pagina Facebook. Il tag FBML consente di creare, passando l’identificatore del musicista, un link alla pagina Facebook dedicata ad esso.

Con una semplice form chiediamo all’utente di scegliere quale musicista (tra i suoi preferiti) utilizzare come parola chiave per la ricerca su YouTube, insieme al numero di risultati che devono essere visualizzati. Quando l’utente sottomette la form, i parametri decisi dall’utente sono inseriti all’interno di una feed URL e il risultato XML è processato e visualizzato.

La prima parte della pagina che riguarda i film, è analoga a quella per la musica, con l’unica differenza che i preferiti presi sono i movies presenti nel profilo dell’utente. Per prima cosa, tramite il nome del film, recuperiamo l’ID che lo identifica all’interno di TMDb. Si utilizza la chiamata Movie.search: Conoscendo l’ID, possiamo utilizzare la chiamata Movie.getInfo, per recuperare le informazioni che ci interessano del film:

Anche nella pagina relativa ai libri, diamo prima un elenco, con immagini, delle preferenze che l’utente ha inserito nel proprio profilo. La tecnica utilizzata è quella mostrata precedentemente. La parte di applicazione che riguarda eBay è realizzata tramite due classi: libro.php ebayLibro.php

Definiamo le variabili per la richiesta API: Dobbiamo costruire il filtro che utilizziamo per le nostre ricerche e tramite questo andare a creare un URL.

Costruiamo la chiamata HTTP GET findItemsByKeywords: Catturiamo il documento di ritorno dalla API di eBay: Infine, se la richiesta ha avuto successo, prendiamo dalla risposta alcuni campi per visualizzare il risultato:

E’ stata presentata l’applicazione realizzata per il corso di Piattaforme Software Distribuite Per utilizzarla sarà sufficiente iscriversi su Facebook e collegarsi a: Quelle mostrate sono solo alcune delle molte possibilità che si possono avere integrando le API dei servizi di cui si è parlato (Facebook, Youtube, eBay, TMDb). Le difficoltà incontrate riguardano spesso la documentazione, non sempre chiara e precisa nelle diverse versioni di API rilasciate. Inoltre, è fondamentale verificare, periodicamente, gli aggiornamenti degli sviluppatori, per non trovarsi con l’applicazione non funzionante.