A lecture – prepared to be delivered during "Computer Science at the Castle" Summer School (Macea, Arad, Romania, 2016): www.informaticalacastel.ro – regarding the most important aspects on Web development and current perspectives (2016 updated edition).
For other resources of interest, visit http://profs.info.uaic.ro/~busaco/teach/
O prelegere reunind cele mai importante aspecte privind dezvoltarea Web și perspectivele actuale (ediția actualizată pentru 2016).
Pentru alte resurse de interes, a se consulta http://profs.info.uaic.ro/~busaco/teach/
3. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
World Wide Web
“a common information space
in which we communicate by sharing information”
Sir Tim Berners-Lee
a creat Web-ul în decembrie 1989
detalii istorice în Sabin Buraga, 25 de ani de Web (2014)
http://www.slideshare.net/busaco/25-de-ani-de-web
32. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
Internet
(Web)
Aplicație Web = Interfață + Program + Conținut (Date)
standarde deschise
structurarea conținutului: HTML (HyperText Markup Language)
stiluri de prezentare a datelor: CSS (Cascading Style Sheets)
transfer asincron: Ajax (Asynchronous JavaScript And XML)
ilustrații 2D în format vectorial: SVG (Scalable Vector Graphics)
conținut 3D: WebGL
36. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
Internet
(Web)
Aplicație Web = Interfață + Program + Conținut (Date)
recurgerea la modele diverse
relațional – interogare via SQL (Structured Query Language)
bazat pe grafuri – o fațetă a „mișcării” NoSQL
cheie-valoare – e.g., formatul JSON (JavaScript Object Notation)
arborescent – XML (Extensible Markup Language)
52. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
procesare backend Java, Python, Node.js (JavaScript)
procesare frontend React (JavaScript)
sisteme de stocare MySQL, Apache Cassandra, Apache
Hadoop, Apache Hive, Oracle DB
servicii în „nori”
Amazon EC2 (procesare video)
Amazon S3 (stocare)
servicii SQL Amazon RDS
servicii NoSQL Amazon DynamoDB
management de cod GitHub
integrare continuă Jenkins
gestionare servere Apache Mesos
distribuire de conținut
(content distribution network)
Open Connect CDN (FreeBSD,
Nginx), Akamai, Level 3, Limelight
monitorizare Apache Chukwa
highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html
53. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
browser
control
proce-
sare
client „puternic”
și/sau „isteț”
alternativă: arhitecturi fără server (serverless)
aplicația Web depinde semnificativ de componente
externe, disponibile în „nori” – (micro-)servicii
BaaS
Mike Roberts (2016) – http://martinfowler.com/articles/serverless.html
func-
ționa-
litate1
☁
func-
ționa-
litate2
☁
☁
auten-
tificare
☁
BaaS = (Mobile) Backend As A Service FaaS = Functions As A Service
☁
FaaS
căutare
procesare
comenzi
BaaS
comenzi
produse
acces
la API
85. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
Web
Designer
standarde Web la nivel de client: HTML5, CSS3,…
cunoștințe vizând navigatoarele Web
experiență în design vizual + design responsiv
cunoștințe privind interacțiunea Web (mobilă)
familiaritate cu JavaScript (+framework-uri/biblioteci)
paradigme de interacțiune naturală
(tactilă, bazată pe gesturi, realitate virtuală/îmbogățită – VR/AR)
86. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
cel puțin 1 limbaj obiectual – la nivel de server/client
protocoale și standarde Internet + Web
cunoștințe privind baze de date
(inclusiv NoSQL și/sau XML)
cunoștințe vizând servicii Web
familiar cu alte paradigme de programare
(e.g., funcțională, distribuită)
securitate & performanță Web
Web
Developer
92. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
Grafică 2D/3D raster și/sau vectorială + animații
HTML5 <canvas>
SVG (Scalable Vector Graphics)
transformări 3D
via foi de stiluri CSS (Cascading Style Sheets)
WebGL
a se studia și resursele disponibile la
http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
http://profs.info.uaic.ro/~busaco/teach/courses/hci/hci-film.html
95. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
Web ubicuu la nivel fizic – physical Web
far (beacon) = dispozitiv fizic capabil să expună un URL
scanner/browser = entitate ce scanează, recunoaște,
procesează și prezintă un set de URL-uri
proxy = un serviciu Web (în „nori”) opțional cu rol de
protejare a utilizatorului + îmbunătățire a performanței
resurse de interes:
google.github.io/physical-web/
www.slideshare.net/yiibu/presentations
experiment:
https://medium.com/@urish/exploring-the-physical-web-without-buying-beacons-efae51e36c2e
96. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
Web ubicuu la nivel fizic – physical Web
☁beacon
☗ difuzare
URL
client Web
analiză +
optimizare
proxy
aplicație/serviciu Web
procesare resursă
extragere meta-date
①
②
③
④
diverse direcții de interes:
automatizarea spațiilor de locuit (home automation)
industria auto (smart car)
reclame contextuale (smart advertising)
97. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
Web „inteligent” – semantic Web, Web of Data
modelarea resurselor – date, informații, cunoștințe –
disponibile pe Web pentru a fi „înțelese” de calculatoare
standarde Web:
RDF (Resource Description Framework)
SKOS (Simple Knowledge Organizational System)
OWL (Web Ontology Language)
pentru detalii, de studiat:
Sabin Buraga, Why 5-Star Data? (2016)
http://www.slideshare.net/busaco/why-5star-data
Sabin Buraga, Dezvoltarea aplicațiilor Web (curs master FII, UAIC)
http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
98. Dr.Sabin-CorneliuBuraga–http://profs.info.uaic.ro/~busaco/
interogări asupra DBpedia
(varianta procesabilă de către mașină a enciclopediei Wikipedia)
Cine este Linus Torvalds?
PersonWithOccupation
ComputerPioneers
FinnishComputerProgrammers
FreeSoftwareProgrammers
LinuxKernelHackers
LivingPeople
PeopleInInformationTechnology
Golfer
diverse URL-uri
desemnând concepte
(things, not strings)