SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Sabin-Corneliu Buraga
                                                                             www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web




                                               Reîntoarcere în viitor: AJAX

                                                  Sabin-Corneliu Buraga
                                                    Facultatea de Informatică,
                                                 Universitatea “A. I. Cuza” din Iaşi
                                               http://www.infoiasi.ro/~busaco/


1
Sabin-Corneliu Buraga
                                                                               www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web




                                               “Un om nu atinge cunoaşterea
                                               decât cu ajutorul celor care o posedă.”



                                                                          P.D. Uspensky



2
Sabin-Corneliu Buraga
                                                                             www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                               cuprins

                                               • Preliminarii:
                                                 de la Web 1.0 la Data Web (Web 2.0)
                                               • “Tehnologia” AJAX (Asynchronous
                                                 JavaScript And XML)
                                               • Utilizări şi exemple demonstrative
                                               • Concluzii:
                                                 de la Data Web la Semantic Web

3
Sabin-Corneliu Buraga
                                                                                      www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                  preliminarii

                                               • De la Web 1.0 la Data Web (Web 2.0)
                                                 – Web 1.0 (n. 1990 – m. 2002?)
                                                 – Spaţiul WWW văzut ca o platformă, în care
                                                   utilizatorul îşi controlează propriile date
                                                 – Servicii (nu pachete software), participare,
                                                   scalabilitate, transformări ale datelor,
                                                   software rulat oriunde, inteligenţă colectivă
                                                    • Vezi “Design Patterns and Business Models for
                                                      the Next generation of Software”
                                                      (Tim O’Reilly) – www.oreilly.com
4
Sabin-Corneliu Buraga
                                                                               www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                           preliminarii

                                               • De la Web 1.0 la Data Web (Web 2.0)
                                                 –Marcaje (adnotări) definite de utilizator
                                                   • Vezi “Folksonomies – Cooperative
                                                     Classification and Communication through
                                                     Shared Metadata” (Adam Mathes)
                                                   • Adnotarea (tagging) continutului
                                                     del.icio.us, flickr.com
                                                   • Folksonomy = folk + taxonomy

5
Sabin-Corneliu Buraga
                                                                                 www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                             preliminarii

                                               • De la Web 1.0 la Data Web (Web 2.0)
                                                 –Participare, nu doar publicare a datelor
                                                   • Fenomenul blogging
                                                   • Tehnologia RSS/Atom pentru mediatizarea
                                                     (syndication) conţinutului siturilor Web
                                                   • Relaţii între blog-uri via permalinks
                                                   • Blogosfera = social network
                                                     în stilul peer-to-peer
                                                     vezi Friendster, LinkedIn, Orkut,...
                                                   • Utilizatorii adaugă valoare resurselor Web
6
Sabin-Corneliu Buraga
                                                                                  www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                              preliminarii

                                               • De la Web 1.0 la Data Web (Web 2.0)
                                                 –Descentralizare radicală
                                                   • Fenomenul BitTorent
                                                   • Un serviciu devine automat mai bun
                                                     cu cît mai mulţi oameni îl utilizează
                                                 –Încredere radicală
                                                   • Fenomenul wiki – vezi Wikipedia.org
                                                   • “With enough eyeballs, all bugs are shallow”
                                                     (Eric Raymond)
7
Sabin-Corneliu Buraga
                                                                                    www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                preliminarii

                                               • De la Web 1.0 la Data Web (Web 2.0)
                                                 –Interacţiune bogată cu utilizatorul
                                                   • Interactivitate Web similară interactivităţii
                                                     convenţionale cu utilizatorul
                                                   • Avantajele Web-ului (ubicuitate,
                                                     date distribuite via hipertext, posibilităţi de
                                                     căutare etc.) + interacţiune sofisticată +
                                                     utilizabilitate
                                                   • Pioneri: Gmail, Google Maps, Writely

8
Sabin-Corneliu Buraga
                                                                                   www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                        AJAX
                                               • Cine/ce este AJAX?
                                                 – Erou mitologic implicat în războiul troian
                                                   (Encarta Reference Library)
                                                 – Asynchronous JavaScript And XML
                                                   (Jeese James Garrett)




9
Sabin-Corneliu Buraga
                                                                                 www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                      AJAX

                                               • AJAX nu este o tehnologie, ci reprezintă
                                                 o suită de tehnologii deschise, incorporând:
                                                 – Limbaje standardizate de prezentare a datelor
                                                   (XHTML, CSS)
                                                 – Redare & interactiune via standardul DOM
                                                   (Document Object Model)
                                                 – Interschimb & manipulare de date
                                                   prin XML si/sau XSLT
                                                 – Transfer asincron de date via XMLHttpRequest
                                                 – Procesare prin ECMAScript (JavaScript)

10
Sabin-Corneliu Buraga
                                                                                   www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                        AJAX

                                               • Componenta de bază este obiectul
                                                 XMLHttpRequest
                                                 – Permite realizarea de cereri HTTP (e.g., GET şi
                                                   POST) dintr-un program rulând la nivel de
                                                   client (browser) spre o aplicaţie de pe server,
                                                   într-un mod asincron
                                                 – Nu necesită reîncărcarea paginilor Web
                                                 – Uzual, datele vehiculate între programele client
                                                   şi server sunt marcate în XML (Extensible
                                                   Markup Language)
11
Sabin-Corneliu Buraga
                                                                                           www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                                   AJAX

                                                   DOM
                                                                open (“GET”)
                                                 Client                         Server
                                               (browser)                         Web
                                                                open (“POST”)
                                                                send (...)
                                               XMLHttpRequest                   Server aplicatii




                                               Fereastra navigatorului          Documentul XML
12
Sabin-Corneliu Buraga
                                                                                       www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                            AJAX

                                               • Aspecte importante:
                                                 – Evitarea încărcării întregii pagini
                                                    • Pro: cu XMLHttpRequest şi DOM se pot modifica
                                                      doar fragmente de document
                                                    • Contra: bookmarking-ul poate fi compromis
                                                 – Distincţia dintre aplicaţie Web şi sit Web
                                                    • Trebuie să primeze aşteptările (expectations)
                                                      utilizatorului – vezi Human Interface Guidelines
                                                 – Oferirea de alternative la AJAX,
                                                   când suportul pentru el nu există implementat
                                                 – Eliminarea paginilor de confirmare
13
Sabin-Corneliu Buraga
                                                                                  www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                       AJAX

                                               • Principii de proiectare:
                                                 – Minimizarea traficului dintre browser si server
                                                 – Stabilirea unui mod de interacţiune clar
                                                   (interacţiune HTML versus AJAX
                                                   versus aplicaţie convenţională)
                                                 – Evitarea confuziilor, prin adoptarea
                                                   convenţiilor de interacţiune Web/clasică
                                                 – Eliminarea distragerii utilizatorului
                                                   (e.g., folosirea de animaţii gratuite)
                                                 – Adoptarea AJAX pentru creşterea
                                                   utilizabilităţii, nu doar de dragul tehnologiei
14
Sabin-Corneliu Buraga
                                                                                   www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                        AJAX

                                               • Câteva şabloane arhitecturale
                                                (Michael Mahemoff)
                                                 – Tratarea evenimentelor la nivel local
                                                 – Reîmprospătarea periodică a conţinutului
                                                 – Anticiparea download-urilor
                                                   (pre-încărcarea datelor ce vor fi solicitate)
                                                 – Transmiterea explicită a datelor spre server
                                                 – Oferirea de posibilităţi de bookmarking

                                                 – Detalii la AJAXPatterns.org
15
Sabin-Corneliu Buraga
                                                                                    www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                         AJAX

                                               • O serie de şabloane de prezentare a datelor:
                                                 – Folosirea proprietăţilor CSS
                                                 – Adoptarea principiilor de utilizabilitate
                                                 – Indicarea “vârstei” informaţiei afişate
                                                 – Oferirea de indicii privind ce date au fost deja
                                                   transmise serverului şi ce date se află în
                                                   aşteptare (pending) pentru a fi transmise



16
Sabin-Corneliu Buraga
                                                                                       www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                            AJAX

                                               • Şabloane de interacţiune
                                                 – Similare celor disponibile
                                                   in cazul aplicaţiilor clasice:
                                                    • Drag & drop
                                                    • Popup data input
                                                    • Popup information
                                                    • Highlighting
                                                    • Auto-completion
                                                    • ...
17
Sabin-Corneliu Buraga
                                                                                www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                               concluzii

                                               • AJAX este una dintre componentele-cheie
                                                 a aplicaţiilor Web 2.0
                                                 – A9.com, EpiphanyRadio, Flickr,
                                                   Google Maps, Google Suggest, Orkut,...
                                               • Se poate considera că – via AJAX – se pot
                                                 implementa servicii Web asincrone, în stilul
                                                 REST (REpresentational State Transfer)
                                                 – Vezi “Building Web Services the REST Way”
                                                   (Roger Costello)
                                                 – Vezi “REST and the Real World”
                                                   (Paul Prescod)
18
Sabin-Corneliu Buraga
                                                                                 www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                 concluzii

                                               • AJAX poate fi unul dintre elementele de
                                                 construcţie a Web-ului social (Social Web)
                                                 – Hiperlegături între persoane şi organizaţii,
                                                   nu doar între maşini şi documente
                                                 – Legături persistente independente la schimbări
                                                 – Rezolvarea problemelor legate de intimitate
                                                   personală (privacy) şi încredere (trust)
                                                 – Solutia: constituirea identificatorilor XRI
                                                   (Extensible Resource Identifiers)
                                                 – Vezi “The Social Web: Creating an Open Social
                                                   Network with XDI” (Drummond Reed et al.)
19
Sabin-Corneliu Buraga
                                                                                    www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                   concluzii

                                               • AJAX & Web-ul de date (Data Web)
                                                 – Data Web ≡ soluţie simplificatoare pentru
                                                   interschimb de date, bazată pe principiile
                                                   arhitecturale ale Web-ului şi pe conceptele de
                                                   bază ale serviciilor Web şi Web-ului semantic
                                                 – Datele şi ofertanţii de date vor fi identificate
                                                   via XRI, reprezentarea şi “legarea” datelor
                                                   se vor face printr-o schemă XDI (XRI Data
                                                   Interchange), iar interschimbul de date se va
                                                   realiza graţie serviciilor XDI
                                                   (extensii ale serviciilor Web actuale)
                                                 – Vezi şi “The Dataweb” (Drummond Reed)
20
Sabin-Corneliu Buraga
                                                                                   www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                                   concluzii

                                               • Aplicaţii ale Web-ului social şi de date
                                                 – Porţi (portaluri) de acces la contacte personale
                                                 – Filtre de încredere (trust filters)
                                                 – Managementul inteligent al e-mail-ului
                                                 – Calendare de evenimente & semne de carte
                                                   generate automat
                                                 – Auto-registration, auto-login,
                                                   auto-personalization
                                                 – Protecţia furtului identităţii digitale
                                                 – Social search
                                                 – Reţele de reputaţie (reputation networks)
21
Sabin-Corneliu Buraga
                                                                               www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                               concluzii

                                               • Actualele/viitoarele aplicaţii vor trebui
                                                 să integreze servicii oferite de dispozitive
                                                 mobile, calculatoare personale, servere etc.
                                               • Când dispozitivele & programele sunt
                                                 conectate la Internet, aplicaţiile nu mai
                                                 constituie artefacte software, ci devin
                                                 servicii – the perpetual beta
                                               • “Useful software written above the level
                                                 of the single device will command high
                                                 margins for a long time to come”
                                                 (Dave Stutz)
22
Sabin-Corneliu Buraga
                                                                             www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web



                                                                              rezumat

                                               • Preliminarii:
                                                 de la Web 1.0 la Data Web (Web 2.0)
                                               • “Tehnologia” AJAX (Asynchronous
                                                 JavaScript And XML)
                                               • Utilizări şi exemple demonstrative
                                               • Concluzii:
                                                 de la Data Web la Semantic Web

23
Sabin-Corneliu Buraga
                                                                      www.infoiasi.ro/~busaco/
November <Web /> 2005 • www.infoiasi.ro/~web




                                               Reîntoarcere în viitor: AJAX

                                                      Întrebări?




24

Contenu connexe

Similaire à AJAX - back to the future

Computer Networks. P2P
Computer Networks. P2PComputer Networks. P2P
Computer Networks. P2PSabin Buraga
 
Computer Networks. Retrospective & perspective
Computer Networks. Retrospective & perspectiveComputer Networks. Retrospective & perspective
Computer Networks. Retrospective & perspectiveSabin Buraga
 
Computer Networks.Protocols
Computer Networks.ProtocolsComputer Networks.Protocols
Computer Networks.ProtocolsSabin Buraga
 
Dezvoltator Web?! (varianta 2015)
Dezvoltator Web?! (varianta 2015)Dezvoltator Web?! (varianta 2015)
Dezvoltator Web?! (varianta 2015)Sabin Buraga
 
Servicii Web prin REST
Servicii Web prin RESTServicii Web prin REST
Servicii Web prin RESTSabin Buraga
 
Computer Networks. Main concepts
Computer Networks. Main conceptsComputer Networks. Main concepts
Computer Networks. Main conceptsSabin Buraga
 
Open Data in contextul Web 3.0
Open Data in contextul Web 3.0Open Data in contextul Web 3.0
Open Data in contextul Web 3.0Sabin Buraga
 
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...Sabin Buraga
 
Programare Web (Introducere in securitate)
Programare Web (Introducere in securitate)Programare Web (Introducere in securitate)
Programare Web (Introducere in securitate)Sabin Buraga
 
Computer Networks. Introduction to security
Computer Networks. Introduction to securityComputer Networks. Introduction to security
Computer Networks. Introduction to securitySabin Buraga
 
Sabin Buraga – Dezvoltator Web (...în 2017)
Sabin Buraga – Dezvoltator Web (...în 2017)Sabin Buraga – Dezvoltator Web (...în 2017)
Sabin Buraga – Dezvoltator Web (...în 2017)Sabin Buraga
 
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga
 
Interactiune om-calculator -- Prezentarea programului (la nivel de desktop)
Interactiune om-calculator -- Prezentarea programului (la nivel de desktop)Interactiune om-calculator -- Prezentarea programului (la nivel de desktop)
Interactiune om-calculator -- Prezentarea programului (la nivel de desktop)Sabin Buraga
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Sabin Buraga
 
Computer Networks.Wireless
Computer Networks.WirelessComputer Networks.Wireless
Computer Networks.WirelessSabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
 
Sabin Buraga: Date de 5 stele
Sabin Buraga: Date de 5 steleSabin Buraga: Date de 5 stele
Sabin Buraga: Date de 5 steleSabin Buraga
 
Computer Networks. TCP/IP
Computer Networks. TCP/IPComputer Networks. TCP/IP
Computer Networks. TCP/IPSabin Buraga
 
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTSabin Buraga
 

Similaire à AJAX - back to the future (19)

Computer Networks. P2P
Computer Networks. P2PComputer Networks. P2P
Computer Networks. P2P
 
Computer Networks. Retrospective & perspective
Computer Networks. Retrospective & perspectiveComputer Networks. Retrospective & perspective
Computer Networks. Retrospective & perspective
 
Computer Networks.Protocols
Computer Networks.ProtocolsComputer Networks.Protocols
Computer Networks.Protocols
 
Dezvoltator Web?! (varianta 2015)
Dezvoltator Web?! (varianta 2015)Dezvoltator Web?! (varianta 2015)
Dezvoltator Web?! (varianta 2015)
 
Servicii Web prin REST
Servicii Web prin RESTServicii Web prin REST
Servicii Web prin REST
 
Computer Networks. Main concepts
Computer Networks. Main conceptsComputer Networks. Main concepts
Computer Networks. Main concepts
 
Open Data in contextul Web 3.0
Open Data in contextul Web 3.0Open Data in contextul Web 3.0
Open Data in contextul Web 3.0
 
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
 
Programare Web (Introducere in securitate)
Programare Web (Introducere in securitate)Programare Web (Introducere in securitate)
Programare Web (Introducere in securitate)
 
Computer Networks. Introduction to security
Computer Networks. Introduction to securityComputer Networks. Introduction to security
Computer Networks. Introduction to security
 
Sabin Buraga – Dezvoltator Web (...în 2017)
Sabin Buraga – Dezvoltator Web (...în 2017)Sabin Buraga – Dezvoltator Web (...în 2017)
Sabin Buraga – Dezvoltator Web (...în 2017)
 
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)
 
Interactiune om-calculator -- Prezentarea programului (la nivel de desktop)
Interactiune om-calculator -- Prezentarea programului (la nivel de desktop)Interactiune om-calculator -- Prezentarea programului (la nivel de desktop)
Interactiune om-calculator -- Prezentarea programului (la nivel de desktop)
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
 
Computer Networks.Wireless
Computer Networks.WirelessComputer Networks.Wireless
Computer Networks.Wireless
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Sabin Buraga: Date de 5 stele
Sabin Buraga: Date de 5 steleSabin Buraga: Date de 5 stele
Sabin Buraga: Date de 5 stele
 
Computer Networks. TCP/IP
Computer Networks. TCP/IPComputer Networks. TCP/IP
Computer Networks. TCP/IP
 
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
 

Plus de Sabin Buraga

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleSabin Buraga
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeSabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSabin Buraga
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)Sabin Buraga
 

Plus de Sabin Buraga (20)

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
 

AJAX - back to the future

  • 1. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web Reîntoarcere în viitor: AJAX Sabin-Corneliu Buraga Facultatea de Informatică, Universitatea “A. I. Cuza” din Iaşi http://www.infoiasi.ro/~busaco/ 1
  • 2. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web “Un om nu atinge cunoaşterea decât cu ajutorul celor care o posedă.” P.D. Uspensky 2
  • 3. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web cuprins • Preliminarii: de la Web 1.0 la Data Web (Web 2.0) • “Tehnologia” AJAX (Asynchronous JavaScript And XML) • Utilizări şi exemple demonstrative • Concluzii: de la Data Web la Semantic Web 3
  • 4. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web preliminarii • De la Web 1.0 la Data Web (Web 2.0) – Web 1.0 (n. 1990 – m. 2002?) – Spaţiul WWW văzut ca o platformă, în care utilizatorul îşi controlează propriile date – Servicii (nu pachete software), participare, scalabilitate, transformări ale datelor, software rulat oriunde, inteligenţă colectivă • Vezi “Design Patterns and Business Models for the Next generation of Software” (Tim O’Reilly) – www.oreilly.com 4
  • 5. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web preliminarii • De la Web 1.0 la Data Web (Web 2.0) –Marcaje (adnotări) definite de utilizator • Vezi “Folksonomies – Cooperative Classification and Communication through Shared Metadata” (Adam Mathes) • Adnotarea (tagging) continutului del.icio.us, flickr.com • Folksonomy = folk + taxonomy 5
  • 6. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web preliminarii • De la Web 1.0 la Data Web (Web 2.0) –Participare, nu doar publicare a datelor • Fenomenul blogging • Tehnologia RSS/Atom pentru mediatizarea (syndication) conţinutului siturilor Web • Relaţii între blog-uri via permalinks • Blogosfera = social network în stilul peer-to-peer vezi Friendster, LinkedIn, Orkut,... • Utilizatorii adaugă valoare resurselor Web 6
  • 7. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web preliminarii • De la Web 1.0 la Data Web (Web 2.0) –Descentralizare radicală • Fenomenul BitTorent • Un serviciu devine automat mai bun cu cît mai mulţi oameni îl utilizează –Încredere radicală • Fenomenul wiki – vezi Wikipedia.org • “With enough eyeballs, all bugs are shallow” (Eric Raymond) 7
  • 8. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web preliminarii • De la Web 1.0 la Data Web (Web 2.0) –Interacţiune bogată cu utilizatorul • Interactivitate Web similară interactivităţii convenţionale cu utilizatorul • Avantajele Web-ului (ubicuitate, date distribuite via hipertext, posibilităţi de căutare etc.) + interacţiune sofisticată + utilizabilitate • Pioneri: Gmail, Google Maps, Writely 8
  • 9. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web AJAX • Cine/ce este AJAX? – Erou mitologic implicat în războiul troian (Encarta Reference Library) – Asynchronous JavaScript And XML (Jeese James Garrett) 9
  • 10. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web AJAX • AJAX nu este o tehnologie, ci reprezintă o suită de tehnologii deschise, incorporând: – Limbaje standardizate de prezentare a datelor (XHTML, CSS) – Redare & interactiune via standardul DOM (Document Object Model) – Interschimb & manipulare de date prin XML si/sau XSLT – Transfer asincron de date via XMLHttpRequest – Procesare prin ECMAScript (JavaScript) 10
  • 11. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web AJAX • Componenta de bază este obiectul XMLHttpRequest – Permite realizarea de cereri HTTP (e.g., GET şi POST) dintr-un program rulând la nivel de client (browser) spre o aplicaţie de pe server, într-un mod asincron – Nu necesită reîncărcarea paginilor Web – Uzual, datele vehiculate între programele client şi server sunt marcate în XML (Extensible Markup Language) 11
  • 12. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web AJAX DOM open (“GET”) Client Server (browser) Web open (“POST”) send (...) XMLHttpRequest Server aplicatii Fereastra navigatorului Documentul XML 12
  • 13. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web AJAX • Aspecte importante: – Evitarea încărcării întregii pagini • Pro: cu XMLHttpRequest şi DOM se pot modifica doar fragmente de document • Contra: bookmarking-ul poate fi compromis – Distincţia dintre aplicaţie Web şi sit Web • Trebuie să primeze aşteptările (expectations) utilizatorului – vezi Human Interface Guidelines – Oferirea de alternative la AJAX, când suportul pentru el nu există implementat – Eliminarea paginilor de confirmare 13
  • 14. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web AJAX • Principii de proiectare: – Minimizarea traficului dintre browser si server – Stabilirea unui mod de interacţiune clar (interacţiune HTML versus AJAX versus aplicaţie convenţională) – Evitarea confuziilor, prin adoptarea convenţiilor de interacţiune Web/clasică – Eliminarea distragerii utilizatorului (e.g., folosirea de animaţii gratuite) – Adoptarea AJAX pentru creşterea utilizabilităţii, nu doar de dragul tehnologiei 14
  • 15. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web AJAX • Câteva şabloane arhitecturale (Michael Mahemoff) – Tratarea evenimentelor la nivel local – Reîmprospătarea periodică a conţinutului – Anticiparea download-urilor (pre-încărcarea datelor ce vor fi solicitate) – Transmiterea explicită a datelor spre server – Oferirea de posibilităţi de bookmarking – Detalii la AJAXPatterns.org 15
  • 16. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web AJAX • O serie de şabloane de prezentare a datelor: – Folosirea proprietăţilor CSS – Adoptarea principiilor de utilizabilitate – Indicarea “vârstei” informaţiei afişate – Oferirea de indicii privind ce date au fost deja transmise serverului şi ce date se află în aşteptare (pending) pentru a fi transmise 16
  • 17. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web AJAX • Şabloane de interacţiune – Similare celor disponibile in cazul aplicaţiilor clasice: • Drag & drop • Popup data input • Popup information • Highlighting • Auto-completion • ... 17
  • 18. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web concluzii • AJAX este una dintre componentele-cheie a aplicaţiilor Web 2.0 – A9.com, EpiphanyRadio, Flickr, Google Maps, Google Suggest, Orkut,... • Se poate considera că – via AJAX – se pot implementa servicii Web asincrone, în stilul REST (REpresentational State Transfer) – Vezi “Building Web Services the REST Way” (Roger Costello) – Vezi “REST and the Real World” (Paul Prescod) 18
  • 19. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web concluzii • AJAX poate fi unul dintre elementele de construcţie a Web-ului social (Social Web) – Hiperlegături între persoane şi organizaţii, nu doar între maşini şi documente – Legături persistente independente la schimbări – Rezolvarea problemelor legate de intimitate personală (privacy) şi încredere (trust) – Solutia: constituirea identificatorilor XRI (Extensible Resource Identifiers) – Vezi “The Social Web: Creating an Open Social Network with XDI” (Drummond Reed et al.) 19
  • 20. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web concluzii • AJAX & Web-ul de date (Data Web) – Data Web ≡ soluţie simplificatoare pentru interschimb de date, bazată pe principiile arhitecturale ale Web-ului şi pe conceptele de bază ale serviciilor Web şi Web-ului semantic – Datele şi ofertanţii de date vor fi identificate via XRI, reprezentarea şi “legarea” datelor se vor face printr-o schemă XDI (XRI Data Interchange), iar interschimbul de date se va realiza graţie serviciilor XDI (extensii ale serviciilor Web actuale) – Vezi şi “The Dataweb” (Drummond Reed) 20
  • 21. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web concluzii • Aplicaţii ale Web-ului social şi de date – Porţi (portaluri) de acces la contacte personale – Filtre de încredere (trust filters) – Managementul inteligent al e-mail-ului – Calendare de evenimente & semne de carte generate automat – Auto-registration, auto-login, auto-personalization – Protecţia furtului identităţii digitale – Social search – Reţele de reputaţie (reputation networks) 21
  • 22. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web concluzii • Actualele/viitoarele aplicaţii vor trebui să integreze servicii oferite de dispozitive mobile, calculatoare personale, servere etc. • Când dispozitivele & programele sunt conectate la Internet, aplicaţiile nu mai constituie artefacte software, ci devin servicii – the perpetual beta • “Useful software written above the level of the single device will command high margins for a long time to come” (Dave Stutz) 22
  • 23. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web rezumat • Preliminarii: de la Web 1.0 la Data Web (Web 2.0) • “Tehnologia” AJAX (Asynchronous JavaScript And XML) • Utilizări şi exemple demonstrative • Concluzii: de la Data Web la Semantic Web 23
  • 24. Sabin-Corneliu Buraga www.infoiasi.ro/~busaco/ November <Web /> 2005 • www.infoiasi.ro/~web Reîntoarcere în viitor: AJAX Întrebări? 24