A lecture delivered for "Web Application Development" discipline (MSc studies at Faculty of Computer Science, 'Alexandru Ioan Cuza' University of Iasi, Romania): https://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
5. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
world wide web
Spațiu informațional comun în care comunicăm
prin interconectarea și partajarea unor elemente
de interes denumite resurse
inventat de Sir Tim Berners-Lee în decembrie 1989
detalii istorice în Sabin Buraga, 25 de ani de Web (2014)
www.slideshare.net/busaco/25-de-ani-de-web
17. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Relațiile dintre o resursă Web, adresa ei (URI) și
reprezentarea structurată a resursei
informații
meteo
despre Iași
<section id="meteo">
<div class="weather">
<p lang="ro">Iași</p>
<span>city</span>
<p lang="en">Temp.
<span id="today">
is <strong>…</strong>
°C</span>
</p>
</div>
</section>
reprezentare
adresabilitate via URI
resursă Web
identifică
reprezintă
formatul HTML5
(utilizatori umani, uzual)
http://world.info/europe/romania/iasi/weather?today
18. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Relațiile dintre o resursă Web, adresa ei (URI) și
reprezentarea structurată a resursei
informații
meteo
despre Iași
<weather>
<point lat="..." long="…">
<name lang="ro">
Iași
</name>
<type>city</type>
…
</point>
<temperature when="…">
<value>…</value>
</temperature>
</weather>
reprezentare
adresabilitate via URI
resursă Web
identifică
reprezintă
formatul XML
(procesat de software)
http://world.info/europe/romania/iasi/weather?today
19. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Relațiile dintre o resursă Web, adresa ei (URI) și
reprezentarea structurată a resursei
informații
meteo
despre Iași
{
"point" : {
"geo" : { "lat" : "…",
"long" : "…" },
"name" : "Iași",
"type" : "city"
},
"temperature" : {
"when" : "…",
"value" : "…"
}
}
reprezentare
adresabilitate via URI
resursă Web
identifică
reprezintă
formatul JSON
(procesat de software)
http://world.info/europe/romania/iasi/weather?today
20. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Relațiile dintre o resursă Web, adresa ei (URI) și
reprezentarea structurată a resursei
informații
meteo
despre Iași
adresabilitate via URI
resursă Web
identifică
reprezintă
http://world.info/europe/romania/iasi/weather?today
{
"point" : {
"geo" : {
"lat" :…, "long" :…
}
}
reprezentarea – într-un format deschis (e.g., HTML, XML,
JSON, RDF,…) – include date propriu-zise + meta-date
<section id="meteo">
<div class="weather">
<p lang="ro">Iași</p>
<span>(city)</span>
<p lang="en">Temp.
<span class="today">
is <strong>…</strong>
°C</span>
</p>
</div>
</section>
reprezentare
{
…
"temperature" : {
"when" : "…",
"value" : "…"
}
…
}
reprezentare
28. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
client Web server Web
conținut
static
conținut
dinamic
conținut
static
conținut
dinamic
date
locale
JavaScript server de aplic., framework
HTTP
transfer
asincron
via o interfață Web, utilizatorul interacționează cu clientul
(front-end) și inițiază acțiuni – e.g., cereri HTTP (a)sincrone
– ce vor fi executate pe diverse componente implementate
la nivel de server (back-end), pentru a obține date
☁date externe
(serviciu Web)
front-end back-end
30. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Aplicație Web = Interfață + Conținut (Date) + Program
mitul 1: cea mai importantă este interfața
mitul 2: cel mai important este programul
mitul 3: cele mai importante sunt datele
standarde deschise: HTML, CSS, Ajax, SVG, WebGL,…
31. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Aplicație Web = Interfață + Conținut (Date) + Program
mitul 1: cea mai importantă este interfața
mitul 2: cel mai important este programul
mitul 3: cele mai importante sunt datele
server: C#, Java, JavaScript, PHP, Ruby,…; client: JavaScript
32. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Aplicație Web = Interfață + Conținut (Date) + Program
mitul 1: cea mai importantă este interfața
mitul 2: cel mai important este programul
mitul 3: cele mai importante sunt datele
relaționale (SQL), grafuri (NoSQL), JSON, XML, RDF
33. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Aplicație Web = Interfață + Conținut (Date) + Program
mitul 1: cea mai importantă este interfața
mitul 2: cel mai important este programul
mitul 3: cele mai importante sunt datele
fapt: sunt importante toate!
67. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
necesități
„Java este un limbaj de programare.”
„Apache Jena este un framework scris în limbajul Java.”
„Programarea Java poate fi mai ușoară decât cea în C++.”
ușor de înțeles
de (unii) oameni
…dar pot fi oare înțelese de către calculatoare?
73. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
rdf
Interogarea datelor RDF
se poate realiza via limbajul SPARQL
serviciile SPARQL pot fi descrise și invocate
via tehnologiile serviciilor Web clasice – e.g., REST
exemple:
DBpedia – dbpedia.org/isparql/
EU Open Data Portal – data.europa.eu/euodp/en/linked-data
Global Change – data.globalchange.gov/sparql
74. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
rdf: utilizări
vocabulare de meta-date privind resursele
set standardizat de meta-date asociate documentelor
DCMI (Dublin Core Metadata Initiative)
descrierea cataloagelor de date
DCAT (Data Catalog Vocabulary)
interconectarea vocabularelor
LOV (Linked Open Vocabularies)
descrierea fluxurilor de date interconectate
VoIS (Vocabulary of Interlinked Datastreams)
78. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
foaf:Person a owl:Class .
db:MusicalArtist rdfs:subClassOf foaf:Person .
plays a owl:ObjectProperty ;
rdfs:domain db:MusicalArtist ;
rdfs:range mo:Song .
RogerWaters plays PictureThat , ThreeWishes .
DavidGilmour plays Beauty , HighHopes , Today .
modelare conceptuală – via diverse specificații –
despre resursele muzicale:
clasa muzicienilor provine din cea a persoanelor
relația plays între clasa muzicienilor și clasa cântecelor
+
fapte privitoare la acestea
e.g., Roger Waters interpretează piesa „Picture That”
79. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
foaf:Person a owl:Class .
db:MusicalArtist rdfs:subClassOf foaf:Person .
plays a owl:ObjectProperty ;
rdfs:domain db:MusicalArtist ;
rdfs:range mo:Song .
RogerWaters plays PictureThat , ThreeWishes .
DavidGilmour plays Beauty , HighHopes , Today .
se oferă premisele efectuării de raționamente automate
(deducții logice exprimate formal), pe baza unui reasoner
trebuie să aparțină
clasei muzicienilor
trebuie să aparțină
clasei cântecelor
trebuie să aparțină
clasei persoanelor
a se studia și prezentarea S. Buraga, „Semantic Social Web” (2009)
www.slideshare.net/busaco/semantic-social-web
91. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
interogări asupra DBpedia
(varianta procesabilă de către mașină a enciclopediei Wikipedia)
PersonWithOccupation
ComputerPioneers
FinnishComputerProgrammers
FreeSoftwareProgrammers
LinuxKernelHackers
LivingPeople
PeopleInInformationTechnology
Golfer
diverse URL-uri
desemnând concepte
(things, not strings)
Cine este Linus Torvalds?
93. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
exemplu: midi2rdf (MIDI ↔ RDF)
A. Meroño-Peñuela, R. Hoekstra, “The Song Remains the Same:
Lossless Conversion and Streaming of MIDI to RDF and Back”,
ESWC 2016 – www.albertmeronyo.org/publications/
de la model conceptual la fluxuri de activități
acces la date RDF procesabile de către software
97. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
realizări autohtone recente: FII, UAIC
Andrei Panu, Automation Technology for Software Maintenance
and System Administration, PhD Thesis, 2017
profs.info.uaic.ro/~andrei.panu/phd_thesis/
Ștefan Negru, Knowledge Engineering in the Context of Human-
Computer Interaction, PhD Thesis, 2013 – blankdots.com/open/
Elena Creangă, A Conceptual Model of User Based Motion Tracking,
MSc Thesis, 2017
Daniel Amariei, Database Management Systems Ontology,
MSc Thesis, 2017 – github.com/danielamariei/databases-ontology/