A presentation from the lectures regarding Web Technologies, a discipline taught by Dr. Sabin Buraga at the Faculty of Computer Science, UAIC, Romania: https://profs.info.uaic.ro/~busaco/teach/courses/web/
9. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
world wide web
“a common information space in which
we communicate by sharing information”
Sir Tim Berners-Lee (2013)
also, study S. Buraga, 25 de ani de Web (2014) [RO]
http://www.slideshare.net/busaco/25-de-ani-de-web
14. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
world wide web
Operates according to the recommendations of
World Wide Web Consortium – W3C
MIT, ERCIM, Keio University etc.
Apple, BBC, CERN, HP, IBM, Intel, OpenCar, Microsoft,
Mozilla Foundation, Samsung, Syncro Soft, Wiley,…
www.w3.org
20. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
Relations between a Web resource, its address (URI)
and a structured representation of the resource
weather
forecasting
about 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>
representation
addressability via URI
Web resource
identifies
represents
HTML5 format
(typically, human users)
http://world.info/europe/romania/iasi/weather?today
21. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
Relations between a Web resource, its address (URI)
and a structured representation of the resource
weather
forecasting
about Iași
addressability via URI
Web resource
identifies
represents
XML format
(software processable)
http://world.info/europe/romania/iasi/weather?today
<weather>
<point lat="..." long="…">
<name lang="ro">
Iași
</name>
<type>city</type>
…
</point>
<temperature when="…">
<value>…</value>
</temperature>
</weather>
representation
22. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
Relations between a Web resource, its address (URI)
and a structured representation of the resource
weather
forecasting
about Iași
addressability via URI
Web resource
identifies
represents
JSON format
(software processable)
http://world.info/europe/romania/iasi/weather?today
{
"point" : {
"geo" : { "lat" : "…",
"long" : "…" },
"name" : "Iași",
"type" : "city"
},
"temperature" : {
"when" : "…",
"value" : "…"
}
}
representation
23. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
Relations between a Web resource, its address (URI)
and a structured representation of the resource
weather
forecasting
about Iași
addressability via URI
Web resource
identifies
represents
http://world.info/europe/romania/iasi/weather?today
<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>
representation
{
…
"temperature" : {
"when" : "…",
"value" : "…"
}
…
}
representation
representation – denoted by an open format (e.g., HTML,
XML, JSON, RDF,…) – includes data itself + meta-data
29. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
A form of an electronic document
open formats for content representation:
DocBook
HTML (HyperText Markup Language)
ODF (Open Document Format)
PDF (Portable Document Format)
…
hypertext: definition
31. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
“Consider a future device for individual use, which is a sort of
mechanized private file and library. […] It affords an immediate step,
however, to associative indexing, the basic idea of which is a
provision whereby any item may be caused at will to select
immediately and automatically another. […]
The process of tying two items together is the important thing.”
49. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
URI = URL + URN
Uniform Resource Locator
identifies resources by using a location
on a computer network + a retrieval convention:
network address, symbolic Internet domain
RFC 2717, 2718
53. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
URI = URL + URN
urn:mimetypes
urn:ISBN:973-681-988-4
urn:ietf:rfc:7700
urn:mozilla:install-manifest
MIME
data types
book uniquely
identified by
ISBN
specification
(standard)
software
component
66. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
URI
URIs must be considered opaque
don’t “guess” the content type
by inspecting the URI indicating a resource
resource type is not given by the extension – e.g., .html –,
but the MIME type indicated by the server
advanced
67. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
URI
URIs must be considered opaque
don’t “guess” the content type
by inspecting the URI indicating a resource
the resource state/content can change in time,
but not its URI
“Cool URIs don’t change” – www.w3.org/Provider/Style/URI.html
advanced
95. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
Web client Web server
static
content
dynamic
content
static
content
dynamic
content
local
data
JavaScript app servers, frameworks
HTTP
async
via a Web interface, the user interacts with the front-end
and launch actions – e.g., (a)synchronous HTTP requests –
to be performed by various components implemented by
the back-end, in order to obtain desired data
☁remote data
(Web service)
front-end back-end
97. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
Web app. = Interface + Content (Data) + Program
myth 1: the most important thing is the interface
myth 2: the most important thing is the program
myth 3: the most important thing is the data
open standards: HTML, CSS, Ajax, SVG, WebGL,…
98. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
Web app. = Interface + Content (Data) + Program
myth 1: the most important thing is the interface
myth 2: the most important thing is the program
myth 3: the most important thing is the data
server: C#, Java, JavaScript, PHP, Ruby,…; client: JavaScript
99. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
Web app. = Interface + Content (Data) + Program
myth 1: the most important thing is the interface
myth 2: the most important thing is the program
myth 3: the most important thing is the data
relational model (SQL), graph (NoSQL), JSON, XML, RDF
100. Dr.SabinBuragaprofs.info.uaic.ro/~busaco/
Web app. = Interface + Content (Data) + Program
myth 1: the most important thing is the interface
myth 2: the most important thing is the program
myth 3: the most important thing is the data
fact: all of them are important!