Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Dezvoltarea aplicațiilor Web
☸concepte primare și viziune
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
“A defini înseamnă a ucide,a sugera înseamnă a crea.”
Stéphane Mallarmé
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
Web, WWW, „pânza de păianjen mondială”
serviciu Internet
WWW Internet
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
Idee (Sir Tim Berners-Lee la CERN – 1989)
integrarea unor sisteme informaționaledisparate într-un mod unitar,
fără diferențe între sursele de date
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
Idee (Sir Tim Berners-Lee la CERN – 1989)
integrarea unor sisteme informaționaledisparate într-un mod unitar,
fără diferențe între sursele de date
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
Idee (Sir Tim Berners-Lee la CERN – 1989)
integrarea unor sisteme informaționaledisparate într-un mod unitar,
fără diferențe între sursele de date
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
Idee (Sir Tim Berners-Lee la CERN – 1989)
integrarea unor sisteme informaționaledisparate într-un mod unitar,
fără diferențe între sursele de date
anything can link to anything
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
“a common information space in whichwe communicate by sharing information”
Sir Tim Berners-Lee (2013)
25 de ani de Webhttp://www.slideshare.net/busaco/25-de-ani-de-web
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
Bazat pe modelul client/server
serverWeb
client Web
(browser)
cerere
răspuns
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
Scopuri principale:
independența de dispozitivindependența de software
scalabilitateaubicuitatea
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
Scopuri principale:
independența de dispozitivindependența de software
scalabilitateaubicuitatea
caracter deschisopen standards
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
world wide web
Functioneaza conform reglementarilorConsortiului Web
MIT, ERCIM, Keio University etc.Apple, BBC, HP, IBM, Intel, OpenCar, Microsoft, Twitter,…
www.w3.org
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
arhitectura Web-ului
Resursele sunt identificate prin adresa lor
identificator uniform de resurseURI – Uniform Resource Identifier
http://slideshare.net/busaco/presentations
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
arhitectura Web-ului
Accesul la conținutul – reprezentarea –resurselor Web
se realizează printr-un protocol
HTTP – HyperText Transfer Protocol
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
arhitectura Web-ului
codificarea datelor
Unicode
nume de domenii
DNS
protocoaleleInternetTCP/IP
adrese WebURI = URL + URN
protocoale WebHTTP, HTTPS, SPDY
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
resursele – documentele – includ <marcaje />
pagini Web
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Relațiile dintre o resursă Web, adresa ei (URI) șireprezentarea structurată a resursei
informații meteo
despre Iași
http://world.info/europe/romania/iasi/weather?today
<weather>
<point lat=… long=…>
<name lang= "ro">
Iași, România
</name>
<type>city</type>
…
</point>
<temperature when=…>
<value>…</value>
</temperature>
</weather>
reprezentare
adresabilitate via URI
resursă Web
identifică
reprezintă
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Relațiile dintre o resursă Web, adresa ei (URI) șireprezentarea structurată a resursei
informații meteo
despre Iași
http://world.info/europe/romania/iasi/weather?today
<weather>
<point lat=… long=…>
<name lang= "ro">
Iași, România
</name>
<type>city</type>
…
</point>
<temperature when=…>
<value>…</value>
</temperature>
</weather>
reprezentare
adresabilitate via URI
resursă Web
identifică
reprezintă
reprezentarea – într-un format deschis (e.g., HTML, XML, JSON, RDF,…) – include date propriu-zise + meta-date
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Sit Web
sistem pe care rulează un server Webgăzduind o serie de pagini (resurse) înrudite
ale unei organizații, companii sau persoane
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Aplicație Web
colecție interconectată de pagini Webcu conținut generat dinamic, menită a oferi
utilizatorilor o funcționalitate specifică
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Aplicație Web
interacțiunea dintre aplicație și utilizatoriare loc via o interfață Web
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Aplicație Web
interacțiunea dintre aplicație și utilizatoriare loc via o interfață Web
uzual, sit Web = aplicație Web
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Aplicație Web
exemple:Amazon, Codepen, Coursera, Dropbox, Expedia, Flickr,
InfoQ, info.uaic.ro, Koding, PHPMyAdmin, Reddit, Quora, SlideShare, Snapchat, Vimeo, webmin, WordPress
…și multe, multe, multe altele
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Aplicație Web = Interfață + Conținut (Date) + Program
mitul 1: cea mai importantă este interfațamitul 2: cel mai important este programulmitul 3: cele mai importante sunt datele
standarde deschise: HTML, CSS, Ajax, SVG, WebGL,…
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Aplicație Web = Interfață + Conținut (Date) + Program
mitul 1: cea mai importantă este interfațamitul 2: cel mai important este programulmitul 3: cele mai importante sunt datele
server: C#, Java, JavaScript, PHP, Ruby,…; client: JavaScript
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Aplicație Web = Interfață + Conținut (Date) + Program
mitul 1: cea mai importantă este interfațamitul 2: cel mai important este programulmitul 3: cele mai importante sunt datele
relaționale (SQL), grafuri (NoSQL), JSON, XML, RDF
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Aplicație Web = Interfață + Conținut (Date) + Program
mitul 1: cea mai importantă este interfațamitul 2: cel mai important este programulmitul 3: cele mai importante sunt datele
fapt: sunt importante toate!
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul prezent
WWW platforma în care utilizatorulîși controlează propriile date
așa-numitul Web 2.0, conform Tim O’Reilly, 2005
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Participareread/write Web
colaborare, comunități,conectivitate inter-personală și între aplicații
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Partajare de artefacte informaționale
documente, fotografii, multimedia, cod-sursă etc.
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Inteligența colectivă
editare și management colaborativ al conținutului
aplicații de tip wiki
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Servicii și nu pachete softwareaplicațiile masive („mamut”) sunt substituite
de cele constituite din servicii specifice,disponibile pe Web, ușor de înlocuit
SaaS – Software as a Service
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Software rulat oriunde
ubicuitatea aplicațiilor Web
bookmark-uri salvate local (pentru fiecare browser)versus
bookmark-uri disponibile pe Web, ușor de accesat și de partajat cu alții
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Mediatizare (syndication) Web
date privitoare la un sit Web sunt expuse libervia un flux (feed)
în format RSS (Really Simple Syndication) sau Atom
suplimentar, podcast-uri
XML
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Transformare/refolosire a datelor
datele sunt – sau ar trebui să fie – disponibileîn formate deschise, universale, facil de procesat
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Transformare/refolosire a datelor
datele sunt – sau ar trebui să fie – disponibileîn formate deschise, universale, facil de procesat
vezi succesul JSON (JavaScript Object Notation)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Încredere radicală
autentificare și/sau autorizare descentralizată
OpenIDOAuth
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Interacțiune bogată cu utilizatorulRIA – Rich Internet Applications
aplicarea modalităților de interacțiune tradițională(la nivel de desktop) în contextul aplicațiilor Web
(re)vezi materia „Interacțiune om-calculator”http://profs.info.uaic.ro/~busaco/teach/courses/hci/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Valori de bază
deschidere, transparență, respect
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Valori de bază
deschidere, transparență, respect
inițiativa Creative Commonsreasonable, flexible copyright
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
http://creativecommons.org/about/licenses/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Valori de bază
partajarea pe Web a datelor deschise (open data)
detalii în prezentarea „Date de 5 stele”:www.slideshare.net/busaco/sabin-buraga-date-de-5-stele
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Web-ul social: Caracteristici
Valori de bază
partajarea pe Web a datelor deschise (open data)
exemplificări:Data Hub – thedatahub.org
Open Data Commons – opendatacommons.org
Wikimedia Commons – commons.wikimedia.org
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
remarci
Constituirea unor „pânze” (web-uri) – grupări, rețele – de date/informații/cunoștințe
disponibile liber, evoluând conform intereselor unei comunităţi
(e.g., utilizatori, organizație, industrie,…)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
o manieră de a atașa meta-date
date privitoare la date„mai mult decât datele”
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
o manieră de a atașa meta-date
vocabulare de termeni descriind „ceva”(proprietăți, domenii, persoane, produse, lumi,...)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
un mod de specificare de relații între resurse
structuri de organizare a datelorîn cadrul unui sau mai multor web-uri
(i.e. grafuri de cunoștințe – knowledge graphs)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
modelarea & procesarea cunoștințelor
despre „lucruri” (knowledge about things)
Mike Bergman, The Rationale for Semantic Technologies (2012)http://www.mkbergman.com/1015/the-rationale-for-semantic-technologies/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
modelarea & procesarea cunoștințelor
realizate sistematic, formalizat
ontologiidescrise riguros
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
modelarea & procesarea cunoștințelor
create ad-hoc, manual, de către utilizatorii obișnuiți
folksonomii
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
modelarea & procesarea cunoștințelor
create ad-hoc, manual, de către utilizatorii obișnuiți
folksonomii
uzual, tagging
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
Modelarea datelor trebuie să facă implicitul explicit
„java” limbajul, insula ori sortimentul de cafea?
java
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
„Java este un limbaj de programare.”„XWiki este o aplicație Web scrisă în limbajul Java.”
„Programarea Java poate fi mai ușoară decât cea în C++.”
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
„Java este un limbaj de programare.”„XWiki este o aplicație Web scrisă în limbajul Java.”
„Programarea Java poate fi mai ușoară decât cea în C++.”
ușor de înțeles de (unii) oameni
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
necesități
„Java este un limbaj de programare.”„XWiki este o aplicație Web scrisă în limbajul Java.”
„Programarea Java poate fi mai ușoară decât cea în C++.”
…dar pot fi oare înțelese de către calculatoare?
ușor de înțeles de (unii) oameni
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
rdf
RDF (Resource Description Framework)
folosit la asocierea de meta-date resurselor Webși la specificarea relațiilor dintre resurse
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Titlu: Remember That NightArtist: David GilmourAnul apariției: 2007Format: Blu-rayAudio: Dolby True-HDVideo: VC-1 (1080i)Tip: concertSubtitrare: N/ADetalii: www.davidgilmour.com
engleză
http://www.blu-ray.com/movies/David-Gilmour-Remember-That-Night-Blu-ray/493/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Titlu: Remember That NightArtist: David GilmourAnul apariției: 2007Format: Blu-rayAudio: Dolby True-HDVideo: VC-1 (1080i)Tip: concertSubtitrare: N/ADetalii: www.davidgilmour.com
subiect
http://www.blu-ray.com/movies/David-Gilmour-Remember-That-Night-Blu-ray/493/
predicat
obiect
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Alina
Bogdan
relațiaknows
deține
proprie-tatea
areNume
concert
photo
www.flickr.com/bogdan areTag
clasa persoanelor
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
rdf
Interogarea datelor RDFse poate realiza via limbajul SPARQL
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
rdf
Interogarea datelor RDFse poate realiza via limbajul SPARQL
serviciile SPARQL pot fi descrise și invocatevia tehnologiile serviciilor Web clasice – e.g., REST
exemple:http://dbpedia.org/sparql/
http://graph.facebook.com/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
rdf: utilizări
vocabulare de meta-date privind resursele
set standardizat de meta-date asociate documentelorDCMI (Dublin Core Metadata Initiative)
documente multimedia partajabileAdobe XMP (Extensible Metadata Platform)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
rdf: utilizări
relații între resurse
rețele socialeFOAF (Friend Of A Friend)
proiecte softwareDOAP (Description Of A Project)
comunități onlineSIOC (Semantically Interconnected Online Communities)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
rdf: utilizări
modelarea cunoștințelorîn termeni „înțeleși” de software
RDF Schema
SKOS (Simple Knowledge Organizational System)
OWL (Web Ontology Language)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Cum se asigură interoperabilitatea,consistența și refolosirea web-urilor?
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
linked data
Inițiativă privind publicarea și reutilizareadatelor structurate disponibile liber pe Web
interconectare a resurselor descrise la nivel de Web
http://linkeddata.org/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
linked data
Inițiativă privind publicarea și reutilizareadatelor structurate disponibile liber pe Web
inclusiv folosind formatul de date JSON – JSON-LD
http://json-ld.org/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
augmentarea căutării resurselor Web pe bazamicroformatelor, schemelor de microdate HTML5 și RDFa
studiu de caz: Google Knowledge Graphhttp://www.google.com/insidesearch/features/search/knowledge.html
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
definirea unui graf social privind persoanele & relațiile acestora cu diverse resurse de interes (fotografii, produse, locații geografice,…)Facebook Open Graph – https://developers.facebook.com/docs/graph-api
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
interogări asupra DBpedia(varianta procesabilă de către mașină a enciclopediei Wikipedia)
http://dbpedia.org/isparql/
Cine este Linus Torvalds?
PREFIX rdf:
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT *
WHERE {
<http://dbpedia.org/resource/Linus_Torvalds>
rdf:type ?val
}
LIMIT 20
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
interogări asupra DBpedia(varianta procesabilă de către mașină a enciclopediei Wikipedia)
http://dbpedia.org/isparql/
Cine este Linus Torvalds?
diverse URI-uri desemnând concepte(definite în cadrul unor web-uri):
Person, LivingPeople, LinuxKernelHackers,…
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
modelarea cunoștințelor
cu aplicabilitate în mass-mediaexemplu: BBC
www.w3.org/2001/sw/sweo/public/
UseCases/BBC/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
recomandări personalizate via baze publice de cunoștințeexemplificare: seevl.fm – http://semanticweb.com/tag/seevl
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
“concluzii”
constituirea unui Web of Data
„Web 3.0”? „semantic Web”?
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
“concluzii”
constituirea unui Web of Data
acces pe baza protocolului HTTP
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
“concluzii”
constituirea unui Web of Data
descriere de resurse și a relațiilor dintre ele via RDF
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
“concluzii”
constituirea unui Web of Data
datele pot fi „mixate” pe baza vocabularelor multiple
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
“concluzii”
constituirea unui Web of Data
datele pot fi „mixate” pe baza vocabularelor multiple
numeroase vocabulare sunt deja standardizate
inclusiv în vederea regăsirii de resurse Web via motoare
de căutare – e.g., microdate HTML5: schema.org
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
“concluzii”
constituirea unui Web of Data
structurarea avansată via modele conceptuale:
taxonomii, lexicoane, ontologii – folosind OWL et al.
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
“concluzii”
constituirea unui Web of Data
structurarea avansată via modele conceptuale:
taxonomii, lexicoane, ontologii – folosind OWL et al.
managementul cunoștințelor (knowledge management)
+
inginerie ontologică (ontology engineering)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Punct de vedere
Web attitude (Tim Berners-Lee)
Anyone can say anything about anything
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Punct de vedere
Web attitude (Tim Berners-Lee)
No one knows everything about anything
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
Punct de vedere
Web attitude (Tim Berners-Lee)
My system is most valuable
because of its interconnection to its peers
Dr.
Sab
in B
ura
ga
www.purl.org/net/busa
co
rezumat
☸de la Web-ul clasic, la cel social
și la viitorul datelor procesabile de către computer