SlideShare a Scribd company logo
1 of 123
Download to read offline
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Dr. Sabin Buraga 
Facultatea de Informatică, Universitatea „A. I. Cuza” – Iași, România 
www.purl.org/net/busaco  @busaco4web
 
Ce este Web-ul? 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/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
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
World Wide Web 
scopuri principale: 
independența de dispozitiv 
independența de software 
scalabilitatea 
ubicuitatea
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
World Wide Web 
bazat pe standarde deschise stipulate de Consorțiul Web 
www.w3.org
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
World Wide Web 
un serviciu Internet 
alături de poștă electronică, transfer de fișiere etc. 
WWW  Internet
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
client 
(realizează cereri)
server 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
(oferă răspunsuri) 
client 
(realizează cereri)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
client 
(realizează cereri) 
protocol 
(reguli de transfer de date) 
server 
(oferă răspunsuri)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
cerere 
client Web server Web 
răspuns 
Web-ul e bazat pe modelul client/server al Internet-ului
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
web 
primul client Web
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
web primul server Web
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
clientul Web (browser, player multimedia, 
aplicație desktop/mobilă, robot al unui motor de căutare,…) 
procesează conținuturi – adică date – primite de la server
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
pentru a reprezenta aceste conținuturi, 
se adoptă diverse formate de date 
cel mai popular: HTML (HyperText Markup Language)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
conținut ≅ <marcajeHTML versiune=5/> + 
{ foi de stiluri: CSS3 } la modă
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
aceste conținuturi sunt stocate 
în documente (pagini) Web 
mai general, resurse Web
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
identificator unic 
resursele vor fi identificate printr-o adresă Web 
URL (Uniform Resource Locator) 
http://profs.info.uaic.ro/~busaco/teach/
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
paginile Web – la rândul lor – includ referințe 
către alte resurse de interes via adrese (URL-uri) 
hipertext (hipermedia)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Web-ul reprezintă un graf hipermedia 
explorat pe baza interacțiunii cu utilizatorul via URL-uri
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
la nivel de server Web, resursele (conținuturile) 
solicitate de client – via un URL – sunt 
fie stocate static (i.e. create manual), fie generate dinamic 
– pe baza unor programe implementând diverși algoritmi
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
transferul datelor între client și server e stabilit 
de un protocol de comunicație 
pentru Web: HTTP (HyperText Transfer Protocol)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
codificarea 
datelor Unicode 
nume de domenii 
DNS 
protocoalele 
Internet 
TCP/IP 
adrese Web 
URI = URL + URN 
protocoale Web 
HTTP, HTTPS, SPDY
Internet 
(Web) 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Client 
interfață cu 
utilizatorul
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Internet 
(Web) 
Client 
interfață cu 
utilizatorul 
Server 
sit/aplicație Web
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Internet 
(Web) 
Client 
interfață cu 
utilizatorul 
Server 
sit/aplicație Web 
sit Web 
sistem găzduind o serie de pagini (resurse) Web înrudite 
ale unei organizații, companii sau persoane
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Internet 
(Web) 
Client 
interfață cu 
utilizatorul 
Server 
sit/aplicație Web 
aplicație Web 
colecție interconectată de pagini Web 
cu conținut generat dinamic, oferind o funcționalitate specifică
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Internet 
(Web) 
Client 
interfață cu 
utilizatorul 
Server 
sit/aplicație Web 
interacțiune Web 
„dialogul” dintre utilizator(i) și aplicație are loc via o interfață Web
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Internet 
(Web) 
Client 
interfață cu 
utilizatorul 
Server 
sit/aplicație Web 
interacțiune Web 
uzual, sit Web = aplicație Web
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
exemple de aplicații Web: 
Amazon, Coursera, Facebook, Dropbox, Flickr, GitHub, info.uaic.ro, 
Instagram, Medium, PHPMyAdmin, Reddit, Quora, SlideShare, 
TED.com, Tumblr, Twitter, Vimeo, webmin, Wikipedia, WordPress 
…și multe, multe, multe altele
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Internet 
(Web) 
Client 
interfață cu 
utilizatorul 
Server 
sit/aplicație Web 
Date 
stocate 
persistent
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Internet 
(Web) 
Client 
interfață cu 
utilizatorul 
Server 
sit/aplicație Web 
Date 
stocate 
persistent 
accesul la date poate fi realizat via servicii Web 
software oferind o funcționalitate specifică 
în urma căreia se obțin date de interes
 
Care sunt tipurile de aplicații Web? 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Centrate pe documente 
Interactive 
Tranzacționale 
Colaborative 
Orientate spre portaluri 
De tip ubicuu 
Web social 
Web semantic 
evoluția în timp 
a complexității
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Centrate pe documente 
conținut/pagini static(e): 
situri de companii, personale
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Interactive 
expoziții virtuale 
situri de știri 
sisteme de facilitare a călătoriilor 
chioșcuri informative 
…
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Tranzacționale 
comerț electronic 
soluții B2B (business-to-business) 
fluxuri de activități
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Colaborative 
tele-conferințe Web 
aplicații Web de tip wiki 
servicii e-learning 
aplicații Web peer-to-peer
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Orientate spre portaluri 
localizare unitară a informațiilor 
tehnice, de afaceri, guvernamentale,… 
specie: Web-ul cetățenesc
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
De tip ubicuu 
servicii mobile bazate pe locația utilizatorului, 
disponibile pe mai multe plaforme: 
desktop, dispozitive mobile, tabletă, ceas,… 
Web-ul mobil
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
proiecte dezvoltate de studenții Facultății de Informatică 
http://profs.info.uaic.ro/~stefan.negru/studentprojects/
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Web social 
mediatizare 
filtrare colaborativă pe baza tagging-ului 
spații de lucru virtuale 
divertisment social 
social (game) computing
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
cele mai populare tag-uri folosite 
de utilizatorii aplicației Instagram 
(octombrie 2014) 
#iphonesia #photooftheday #jj 
#iphoneography #instagood 
#instagram #instagramhub 
#iphoneonly #igers #instamood 
#sky #gang_family 
#bestoftheday #webstagram #ig 
#iphone #all_shots
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Web semantic (Web-ul datelor interconectate) 
modelarea cunoștințelor 
pentru a fi „înțelese” de calculatoare 
dateinformațiicunoștințe
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
open participation 
open data 
open software 
open app development 
open web 
open cloud 
open (computing) hardware 
 
 
 
 
 

 
Care e arhitectura generică 
a unei aplicații Web? 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
uzual, o aplicație Web implică trei strate (3-tier) 
Internet 
(Web) 
client server de aplicații stocare 
(interface) (application) (persistence)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Fruit / Presentation 
Cream / Markup 
Custard / Page Logic 
Jelly / Business Logic 
Sponge / Database 
C. Henderson, “Scalable Web Architectures”, 2007
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Fruit / Presentation 
Cream / Markup 
Custard / Page Logic 
Jelly / Business Logic 
Sponge / Database 
C. Henderson, “Scalable Web Architectures”, 2007
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Aplicație Web = Interfață + Program + Conținut (Date) 
Internet 
(Web)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
mitul 1: cea mai importantă este interfața
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Aplicație Web = Interfață + Program + Conținut (Date) 
Internet 
(Web) 
standarde deschise: HTML, CSS, Ajax, SVG, WebGL,…
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Aplicație Web = Interfață + Program + Conținut (Date) 
Internet 
(Web)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
mitul 2: cel mai important este programul
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Aplicație Web = Interfață + Program + Conținut (Date) 
Internet 
(Web) 
server: C#, Go, Java, JavaScript, PHP, Ruby, Scala și multe altele 
client: JavaScript 
servere de aplicații Web, framework-uri, biblioteci, componente,…
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Aplicație Web = Interfață + Program + Conținut (Date) 
Internet 
(Web)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
mitul 3: cele mai importante sunt datele
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Aplicație Web = Interfață + Program + Conținut (Date) 
Internet 
(Web) 
utilizarea diverselor modele: 
relațional – interogare via SQL 
bazat pe grafuri (NoSQL) 
cheie-valoare – formatul JSON 
arborescent – XML
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Aplicație Web = Interfață + Program + Conținut (Date) 
Internet 
(Web) 
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!
 
Câteva exemplificări de aplicații Web? 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
client(i) 
firewall 
proxy 
middleware 
server(e) Web 
server(e) de aplicații 
framework-uri, biblioteci, alte componente 
server(e) de stocare persistentă – e.g., baze de date 
server(e) de conținut multimedia 
server(e) de management al conținutului (CMS) 
aplicații/sisteme tradiționale
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
studiu de caz: Flickr
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Flickr 
scop: partajare a conținutului grafic (fotografii) 
aplicație reprezentativă a Web-ului social 
agregare de comunități – imaginea ca obiect social 
adnotări via termeni de conținut (tagging) + comentarii
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
PHP (procesare – application logic, acces la API, 
prezentare de conținut via Smarty, modul de e-mail) 
Perl (validarea datelor) 
Java (managementul nodurilor de stocare) 
MySQL (stocare de date) 
ImageMagick (bibliotecă C de prelucrare de imagini) 
Ajax (interacțiune asincronă) 
Linux (platformă de rulare) 
alte detalii la http://highscalability.com/flickr-architecture
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
arhitectura inițială – conform (Cal Henderson, 2007)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
interfețe de programare (API-uri) 
oferite de Flickr 
facilitează accesul la serviciile Web 
în cadrul aplicațiilor 
eventual, rulând pe alte platforme 
www.flickr.com/services/api/
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
studiu de caz: Lanyrd
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Lanyrd 
scop: descoperire & management de evenimente 
(de exemplu, conferințe cu caracter tehnologic) 
agregare de comunități – evenimentul ca obiect social 
suport pentru vorbitori & audiență, slide-uri,… 
+ calendare și locații geografice
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Creat aproape complet în Python (folosind Django) 
și întreținut de 6 persoane 
2½ backend developers 
1¾ frontend developers 
½ mobile developers 
1½ designers 
¾ system administrators 
¾ business operations 
http://www.infoq.com/presentations/lanyrd-architecture
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
Aspecte importante vizând 
dezvoltarea de aplicații Web?
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
aplicații Web  sisteme software complexe, 
în evoluție permanentă
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
mijloace multiple de interacțiune Web cu utilizatorul 
mobil laptop PC tabletă (smart) TV ecran urban
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
creșterea masei de utilizatori, 
având așteptări tot mai mari din partea software-ului 
de la conținut (hiper)textual 
la aplicații Web sociale + interacțiune naturală
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
suportul variat privind dezvoltarea de aplicații 
(limbaje, API-uri, SDK-uri, biblioteci, framework-uri,...) 
oferit de platforma hardware/software 
la nivel de server(e) și/sau de client(i)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
neadaptarea la cerințele economice (de tip business) 
development vs. marketing vs. management
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
scopuri 
interacțiune 
facilități 
indexare 
psihologie 
controale 
tehnologii 
structurare 
comportament 
limbi naturale 
algoritmi 
meta-date 
     
adaptare după Crumlish & Malone, 2009 
instrumente 
metodologii 
stimuli 
utilizatori interfață software conținut creatori
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Etape în dezvoltarea unei aplicații Web 
Cerințe – requirements 
Analiză și proiectare – software design 
Implementare – build 
Testare – testing 
Exploatare – deployment 
Mentenanță – maintenance 
Evoluție – evolution
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Jesse Garrett, The Elements of User Experience (2nd Edition), New Riders, 2011
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
programare (server + client) 
creare/adaptare 
de conținut 
testare 
documen-tare 
arhitectura info 
cerințe + navigare 
public beta lansare 
mentenanță 
http://sixrevisions.com/web-development/agile/
 
Vreau să dezvolt un proiect Web… 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
runtime environment 
dezvoltare 
code repositories 
instrumente de 
dezvoltare (IDE) 
rulare 
A. Iqbal, M. Haunsenblas, S. Decker (2012) 
procesul actual de dezvoltare și exploatare 
a aplicațiilor Web
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Google App Engine, Heroku, 
Jelastic, Windows Azure 
runtime environment 
dezvoltare 
code repositories 
instrumente de 
dezvoltare (IDE) 
rulare 
A. Iqbal, M. Haunsenblas, S. Decker (2012) 
Web: Cloud9, Koding, eXo Cloud, Ideone 
desktop: Eclipse, Visual Studio 
BitBucket 
GitHub, Unfuddle
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Parametrii unui proiect Web 
obiectiv principal 
durată 
cost 
abordare 
tehnologii 
procese 
rezultat 
resurse umane 
profilul echipei
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
✓ 
obiectiv principal 
crearea unui produs software utilizabil 
în cât mai scurt timp posibil
⌚ 
durată 
aproximativ 2—6 luni 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
♨ 
cost 
de ordinul miilor de Euro 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
✒ 
abordare 
prototipizare – wireframe, mockup,… 
metode agile 
asamblare de componente reutilizabile
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
♻ 
tehnologii 
componente (servicii Web, API-uri publice, 
framework-uri, biblioteci, plugin-uri, extensii etc.) 
proiectare/programare „vizuală” 
multimedia 
…și altele
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
procese 
uzual, dezvoltarea aplicațiilor Web se realizează iterativ 
„nu te aștepta să-ți iasă din prima…” 
understand 
study 
evaluate 
build design
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
⎚ 
rezultat 
reutilizabilitate mare a codului, 
recurgerea la componente/limbaje/platforme standard 
aplicații implementate uzual conform standardelor 
designul vizual este, de cele mai multe ori, unicat
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
♚♞♟ 
resurse umane 
uzual, 3—9 persoane 
“For the first version of your app, start with only 3 people.” 
Getting Real – https://gettingreal.37signals.com/
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
profilul echipei 
specialiști în interacțiune – uzual: designeri Web 
+ 
dezvoltatori (programatori) Web – la nivel client/server 
+ 
arhitecți de baze de date 
+ 
specialiști în marketing și/sau relații cu publicul
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
 
Care-i echipa de dezvoltare 
a unei aplicații Web de anvergură?
management 
site editor 
project manager 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
dezvoltare (arhitectură) 
system architect 
data (content) architect 
component architect 
security architect
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
interacțiune cu utilizatorul 
creative lead 
Web interface designer(s) 
graphic artist(s) 
HCI engineer
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
programare 
server-side programmers 
client-side programmers 
data/component integration programmers
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
testare 
testing lead 
client-side tester(s) 
server-side tester(s) 
component tester(s) 
integration tester(s)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
operații tehnice 
Webmaster 
hardware & network technicians 
network administrator(s) 
database administrator(s) 
backup operator 
uptime monitor 
security monitor(s)
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
marketing 
content producer(s) 
copywriter(s) 
content editor(s) 
branding & advertising expert(s) 
direct e-marketer 
public relations personnel
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
echipa proiectului Web 
management 
Web Project 
Manager 
funcționalitate 
Software 
Engineer(s) 
Multimedia 
Designer(s) 
conținut (date) 
Domain 
Expert 
Business 
Expert
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Web Designer 
aplicații grafice raster/vectoriale, HTML (de dorit, HTML5), CSS, 
cunoștințe despre compatibilitate cu/între diverse navigatoare Web, 
experiență în design vizual + design responsiv, 
cunoștințe privind interacțiunea Web – inclusiv la nivel mobil, 
JavaScript (+biblioteci, precum jQuery), 
familiar cu paradigme de interacțiune naturală 
(tactilă, bazată pe gesturi, realitate virtuală/îmbogățită),…
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Web Developer 
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), 
familiaritate cu sisteme CMS/wiki, cunoștințe vizând servicii Web, 
familiar cu alte paradigme de programare (e.g., funcțională, 
distribuită), securitate & performanță Web,…
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Web Technician 
asistent (ajutor) al webmaster-ului, 
designerului sau dezvoltatorului Web 
poate efectua operații tehnice: 
instalare, configurare, monitorizare,…
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Web Maintainer 
actualizează conținutul 
uzual, via o interfață WYSIWYG 
(de exemplu, recurgând la un sistem 
de management al conținutului – CMS)
☺ 
Bun… Și eu ce fac? 
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
fii curios & iscoditor 
 
învață 
(citește + experimentează + cere ajutor + reutilizează) 
 
creează și arată 
(design, cod-sursă, prototipuri, exemple demonstrative,…) 
 
acumulează 
experiență, „aură”, statut social etc.reputație 
 
concurează 
(…atât de multe oportunități) 
 
ajută/instruiește pe ceilalți
Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco 
Mult succes! 
imagini de epocă furnizate de vintag.es

More Related Content

What's hot

What's hot (20)

Sabin Buraga – Dezvoltator Web (...în 2017)
Sabin Buraga – Dezvoltator Web (...în 2017)Sabin Buraga – Dezvoltator Web (...în 2017)
Sabin Buraga – Dezvoltator Web (...în 2017)
 
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
 
Sabin Buraga: Participând la Web
Sabin Buraga: Participând la WebSabin Buraga: Participând la Web
Sabin Buraga: Participând la Web
 
Web 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
Web 2016 (06/13) Modelarea datelor. Familia XML + spații de numeWeb 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
Web 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
 
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
 
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: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)
 
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebWeb 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
 
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
 
CLIW 2015-2016 (2/13) Arhitectura navigatorului Web
CLIW 2015-2016 (2/13) Arhitectura navigatorului WebCLIW 2015-2016 (2/13) Arhitectura navigatorului Web
CLIW 2015-2016 (2/13) Arhitectura navigatorului Web
 
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneWADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
 
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
 
CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5
CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5
CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5
 
WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii
WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre serviciiWADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii
WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii
 
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de cazCLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
 
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...
 
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...
 
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
 

Similar to Ce înseamnă a fi dezvoltator Web (varianta 2014)

Similar to Ce înseamnă a fi dezvoltator Web (varianta 2014) (20)

Servicii Web prin REST
Servicii Web prin RESTServicii Web prin REST
Servicii Web prin REST
 
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
 
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...
 
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 la nivel de client (cursul #1): Interacţiune Web...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #1): Interacţiune Web...
 
Sabin Buraga: Date de 5 stele
Sabin Buraga: Date de 5 steleSabin Buraga: Date de 5 stele
Sabin Buraga: Date de 5 stele
 
Incursiune prin... interactiunea om-calculator
Incursiune prin... interactiunea om-calculatorIncursiune prin... interactiunea om-calculator
Incursiune prin... interactiunea om-calculator
 
WADe 2017-2018 (2/12) Service-based Web Application Development. REST
WADe 2017-2018 (2/12) Service-based Web Application Development. RESTWADe 2017-2018 (2/12) Service-based Web Application Development. REST
WADe 2017-2018 (2/12) Service-based Web Application Development. REST
 
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #3): Design Web. Inte...
 
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
 
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
 
Ss1
Ss1Ss1
Ss1
 
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...
 
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul RESTWADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
 
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
 
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
 
Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...
Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...
Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...
 
WADe 2017-2018 (1/12) Web Application Development: Concepts & Vision
WADe 2017-2018 (1/12) Web Application Development: Concepts & VisionWADe 2017-2018 (1/12) Web Application Development: Concepts & Vision
WADe 2017-2018 (1/12) Web Application Development: Concepts & Vision
 
CLIW 2017-2018 (1/12) Interacţiune Web: de la concepte & utilizabilitate la d...
CLIW 2017-2018 (1/12) Interacţiune Web: de la concepte & utilizabilitate la d...CLIW 2017-2018 (1/12) Interacţiune Web: de la concepte & utilizabilitate la d...
CLIW 2017-2018 (1/12) Interacţiune Web: de la concepte & utilizabilitate la d...
 

More from Sabin Buraga

More from Sabin Buraga (19)

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 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 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)
 
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
 
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSTAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
 
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
 
HCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and GuidelinesHCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and Guidelines
 
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual DesignHCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
 
HCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to FlowHCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
 
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) Interactions
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) InteractionsHCI 2018 (6/10) Design Patterns for Social (Web/mobile) Interactions
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) Interactions
 

Ce înseamnă a fi dezvoltator Web (varianta 2014)

  • 1. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Dr. Sabin Buraga Facultatea de Informatică, Universitatea „A. I. Cuza” – Iași, România www.purl.org/net/busaco  @busaco4web
  • 2.  Ce este Web-ul? Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 3. Dr. Sabin-Corneliu Buraga – www.purl.org/net/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
  • 4. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  World Wide Web scopuri principale: independența de dispozitiv independența de software scalabilitatea ubicuitatea
  • 5. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  World Wide Web bazat pe standarde deschise stipulate de Consorțiul Web www.w3.org
  • 6. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  World Wide Web un serviciu Internet alături de poștă electronică, transfer de fișiere etc. WWW  Internet
  • 7. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco client (realizează cereri)
  • 8. server Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco (oferă răspunsuri) client (realizează cereri)
  • 9. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco client (realizează cereri) protocol (reguli de transfer de date) server (oferă răspunsuri)
  • 10. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco cerere client Web server Web răspuns Web-ul e bazat pe modelul client/server al Internet-ului
  • 11. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco web primul client Web
  • 12. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco web primul server Web
  • 13. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  clientul Web (browser, player multimedia, aplicație desktop/mobilă, robot al unui motor de căutare,…) procesează conținuturi – adică date – primite de la server
  • 14. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  pentru a reprezenta aceste conținuturi, se adoptă diverse formate de date cel mai popular: HTML (HyperText Markup Language)
  • 15. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco conținut ≅ <marcajeHTML versiune=5/> + { foi de stiluri: CSS3 } la modă
  • 16. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  aceste conținuturi sunt stocate în documente (pagini) Web mai general, resurse Web
  • 17. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco identificator unic resursele vor fi identificate printr-o adresă Web URL (Uniform Resource Locator) http://profs.info.uaic.ro/~busaco/teach/
  • 18. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco paginile Web – la rândul lor – includ referințe către alte resurse de interes via adrese (URL-uri) hipertext (hipermedia)
  • 19. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Web-ul reprezintă un graf hipermedia explorat pe baza interacțiunii cu utilizatorul via URL-uri
  • 20. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco la nivel de server Web, resursele (conținuturile) solicitate de client – via un URL – sunt fie stocate static (i.e. create manual), fie generate dinamic – pe baza unor programe implementând diverși algoritmi
  • 21. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco transferul datelor între client și server e stabilit de un protocol de comunicație pentru Web: HTTP (HyperText Transfer Protocol)
  • 22. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco codificarea datelor Unicode nume de domenii DNS protocoalele Internet TCP/IP adrese Web URI = URL + URN protocoale Web HTTP, HTTPS, SPDY
  • 23. Internet (Web) Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Client interfață cu utilizatorul
  • 24. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Internet (Web) Client interfață cu utilizatorul Server sit/aplicație Web
  • 25. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Internet (Web) Client interfață cu utilizatorul Server sit/aplicație Web sit Web sistem găzduind o serie de pagini (resurse) Web înrudite ale unei organizații, companii sau persoane
  • 26. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Internet (Web) Client interfață cu utilizatorul Server sit/aplicație Web aplicație Web colecție interconectată de pagini Web cu conținut generat dinamic, oferind o funcționalitate specifică
  • 27. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Internet (Web) Client interfață cu utilizatorul Server sit/aplicație Web interacțiune Web „dialogul” dintre utilizator(i) și aplicație are loc via o interfață Web
  • 28. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Internet (Web) Client interfață cu utilizatorul Server sit/aplicație Web interacțiune Web uzual, sit Web = aplicație Web
  • 29. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco exemple de aplicații Web: Amazon, Coursera, Facebook, Dropbox, Flickr, GitHub, info.uaic.ro, Instagram, Medium, PHPMyAdmin, Reddit, Quora, SlideShare, TED.com, Tumblr, Twitter, Vimeo, webmin, Wikipedia, WordPress …și multe, multe, multe altele
  • 30. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Internet (Web) Client interfață cu utilizatorul Server sit/aplicație Web Date stocate persistent
  • 31. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Internet (Web) Client interfață cu utilizatorul Server sit/aplicație Web Date stocate persistent accesul la date poate fi realizat via servicii Web software oferind o funcționalitate specifică în urma căreia se obțin date de interes
  • 32.  Care sunt tipurile de aplicații Web? Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 33. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Centrate pe documente Interactive Tranzacționale Colaborative Orientate spre portaluri De tip ubicuu Web social Web semantic evoluția în timp a complexității
  • 34. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Centrate pe documente conținut/pagini static(e): situri de companii, personale
  • 35. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 36. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Interactive expoziții virtuale situri de știri sisteme de facilitare a călătoriilor chioșcuri informative …
  • 37. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 38. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Tranzacționale comerț electronic soluții B2B (business-to-business) fluxuri de activități
  • 39. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 40. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Colaborative tele-conferințe Web aplicații Web de tip wiki servicii e-learning aplicații Web peer-to-peer
  • 41. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 42. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Orientate spre portaluri localizare unitară a informațiilor tehnice, de afaceri, guvernamentale,… specie: Web-ul cetățenesc
  • 43. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 44. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco De tip ubicuu servicii mobile bazate pe locația utilizatorului, disponibile pe mai multe plaforme: desktop, dispozitive mobile, tabletă, ceas,… Web-ul mobil
  • 45. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco proiecte dezvoltate de studenții Facultății de Informatică http://profs.info.uaic.ro/~stefan.negru/studentprojects/
  • 46. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Web social mediatizare filtrare colaborativă pe baza tagging-ului spații de lucru virtuale divertisment social social (game) computing
  • 47. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco cele mai populare tag-uri folosite de utilizatorii aplicației Instagram (octombrie 2014) #iphonesia #photooftheday #jj #iphoneography #instagood #instagram #instagramhub #iphoneonly #igers #instamood #sky #gang_family #bestoftheday #webstagram #ig #iphone #all_shots
  • 48. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Web semantic (Web-ul datelor interconectate) modelarea cunoștințelor pentru a fi „înțelese” de calculatoare dateinformațiicunoștințe
  • 49. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 50. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco open participation open data open software open app development open web open cloud open (computing) hardware      
  • 51.  Care e arhitectura generică a unei aplicații Web? Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 52. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco uzual, o aplicație Web implică trei strate (3-tier) Internet (Web) client server de aplicații stocare (interface) (application) (persistence)
  • 53. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Fruit / Presentation Cream / Markup Custard / Page Logic Jelly / Business Logic Sponge / Database C. Henderson, “Scalable Web Architectures”, 2007
  • 54. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Fruit / Presentation Cream / Markup Custard / Page Logic Jelly / Business Logic Sponge / Database C. Henderson, “Scalable Web Architectures”, 2007
  • 55. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Aplicație Web = Interfață + Program + Conținut (Date) Internet (Web)
  • 56. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco mitul 1: cea mai importantă este interfața
  • 57. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Aplicație Web = Interfață + Program + Conținut (Date) Internet (Web) standarde deschise: HTML, CSS, Ajax, SVG, WebGL,…
  • 58. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 59. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Aplicație Web = Interfață + Program + Conținut (Date) Internet (Web)
  • 60. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco mitul 2: cel mai important este programul
  • 61. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Aplicație Web = Interfață + Program + Conținut (Date) Internet (Web) server: C#, Go, Java, JavaScript, PHP, Ruby, Scala și multe altele client: JavaScript servere de aplicații Web, framework-uri, biblioteci, componente,…
  • 62. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 63. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Aplicație Web = Interfață + Program + Conținut (Date) Internet (Web)
  • 64. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco mitul 3: cele mai importante sunt datele
  • 65. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Aplicație Web = Interfață + Program + Conținut (Date) Internet (Web) utilizarea diverselor modele: relațional – interogare via SQL bazat pe grafuri (NoSQL) cheie-valoare – formatul JSON arborescent – XML
  • 66. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 67. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Aplicație Web = Interfață + Program + Conținut (Date) Internet (Web) 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!
  • 68.  Câteva exemplificări de aplicații Web? Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 69. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco client(i) firewall proxy middleware server(e) Web server(e) de aplicații framework-uri, biblioteci, alte componente server(e) de stocare persistentă – e.g., baze de date server(e) de conținut multimedia server(e) de management al conținutului (CMS) aplicații/sisteme tradiționale
  • 70. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco studiu de caz: Flickr
  • 71. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Flickr scop: partajare a conținutului grafic (fotografii) aplicație reprezentativă a Web-ului social agregare de comunități – imaginea ca obiect social adnotări via termeni de conținut (tagging) + comentarii
  • 72. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco PHP (procesare – application logic, acces la API, prezentare de conținut via Smarty, modul de e-mail) Perl (validarea datelor) Java (managementul nodurilor de stocare) MySQL (stocare de date) ImageMagick (bibliotecă C de prelucrare de imagini) Ajax (interacțiune asincronă) Linux (platformă de rulare) alte detalii la http://highscalability.com/flickr-architecture
  • 73. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco arhitectura inițială – conform (Cal Henderson, 2007)
  • 74. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco interfețe de programare (API-uri) oferite de Flickr facilitează accesul la serviciile Web în cadrul aplicațiilor eventual, rulând pe alte platforme www.flickr.com/services/api/
  • 75. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco studiu de caz: Lanyrd
  • 76. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Lanyrd scop: descoperire & management de evenimente (de exemplu, conferințe cu caracter tehnologic) agregare de comunități – evenimentul ca obiect social suport pentru vorbitori & audiență, slide-uri,… + calendare și locații geografice
  • 77. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Creat aproape complet în Python (folosind Django) și întreținut de 6 persoane 2½ backend developers 1¾ frontend developers ½ mobile developers 1½ designers ¾ system administrators ¾ business operations http://www.infoq.com/presentations/lanyrd-architecture
  • 78. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 79. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  Aspecte importante vizând dezvoltarea de aplicații Web?
  • 80. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  aplicații Web  sisteme software complexe, în evoluție permanentă
  • 81. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco mijloace multiple de interacțiune Web cu utilizatorul mobil laptop PC tabletă (smart) TV ecran urban
  • 82. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco creșterea masei de utilizatori, având așteptări tot mai mari din partea software-ului de la conținut (hiper)textual la aplicații Web sociale + interacțiune naturală
  • 83. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco suportul variat privind dezvoltarea de aplicații (limbaje, API-uri, SDK-uri, biblioteci, framework-uri,...) oferit de platforma hardware/software la nivel de server(e) și/sau de client(i)
  • 84. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco neadaptarea la cerințele economice (de tip business) development vs. marketing vs. management
  • 85. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco scopuri interacțiune facilități indexare psihologie controale tehnologii structurare comportament limbi naturale algoritmi meta-date      adaptare după Crumlish & Malone, 2009 instrumente metodologii stimuli utilizatori interfață software conținut creatori
  • 86. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Etape în dezvoltarea unei aplicații Web Cerințe – requirements Analiză și proiectare – software design Implementare – build Testare – testing Exploatare – deployment Mentenanță – maintenance Evoluție – evolution
  • 87. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Jesse Garrett, The Elements of User Experience (2nd Edition), New Riders, 2011
  • 88. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco programare (server + client) creare/adaptare de conținut testare documen-tare arhitectura info cerințe + navigare public beta lansare mentenanță http://sixrevisions.com/web-development/agile/
  • 89.  Vreau să dezvolt un proiect Web… Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 90. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco runtime environment dezvoltare code repositories instrumente de dezvoltare (IDE) rulare A. Iqbal, M. Haunsenblas, S. Decker (2012) procesul actual de dezvoltare și exploatare a aplicațiilor Web
  • 91. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Google App Engine, Heroku, Jelastic, Windows Azure runtime environment dezvoltare code repositories instrumente de dezvoltare (IDE) rulare A. Iqbal, M. Haunsenblas, S. Decker (2012) Web: Cloud9, Koding, eXo Cloud, Ideone desktop: Eclipse, Visual Studio BitBucket GitHub, Unfuddle
  • 92. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Parametrii unui proiect Web obiectiv principal durată cost abordare tehnologii procese rezultat resurse umane profilul echipei
  • 93. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco ✓ obiectiv principal crearea unui produs software utilizabil în cât mai scurt timp posibil
  • 94. ⌚ durată aproximativ 2—6 luni Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 95. ♨ cost de ordinul miilor de Euro Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 96. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco ✒ abordare prototipizare – wireframe, mockup,… metode agile asamblare de componente reutilizabile
  • 97. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco ♻ tehnologii componente (servicii Web, API-uri publice, framework-uri, biblioteci, plugin-uri, extensii etc.) proiectare/programare „vizuală” multimedia …și altele
  • 98. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco procese uzual, dezvoltarea aplicațiilor Web se realizează iterativ „nu te aștepta să-ți iasă din prima…” understand study evaluate build design
  • 99. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco ⎚ rezultat reutilizabilitate mare a codului, recurgerea la componente/limbaje/platforme standard aplicații implementate uzual conform standardelor designul vizual este, de cele mai multe ori, unicat
  • 100. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco ♚♞♟ resurse umane uzual, 3—9 persoane “For the first version of your app, start with only 3 people.” Getting Real – https://gettingreal.37signals.com/
  • 101. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  profilul echipei specialiști în interacțiune – uzual: designeri Web + dezvoltatori (programatori) Web – la nivel client/server + arhitecți de baze de date + specialiști în marketing și/sau relații cu publicul
  • 102. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco  Care-i echipa de dezvoltare a unei aplicații Web de anvergură?
  • 103. management site editor project manager Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 104. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco dezvoltare (arhitectură) system architect data (content) architect component architect security architect
  • 105. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 106. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco interacțiune cu utilizatorul creative lead Web interface designer(s) graphic artist(s) HCI engineer
  • 107. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 108. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco programare server-side programmers client-side programmers data/component integration programmers
  • 109. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 110. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco testare testing lead client-side tester(s) server-side tester(s) component tester(s) integration tester(s)
  • 111. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 112. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco operații tehnice Webmaster hardware & network technicians network administrator(s) database administrator(s) backup operator uptime monitor security monitor(s)
  • 113. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco marketing content producer(s) copywriter(s) content editor(s) branding & advertising expert(s) direct e-marketer public relations personnel
  • 114. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco echipa proiectului Web management Web Project Manager funcționalitate Software Engineer(s) Multimedia Designer(s) conținut (date) Domain Expert Business Expert
  • 115. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 116. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Web Designer aplicații grafice raster/vectoriale, HTML (de dorit, HTML5), CSS, cunoștințe despre compatibilitate cu/între diverse navigatoare Web, experiență în design vizual + design responsiv, cunoștințe privind interacțiunea Web – inclusiv la nivel mobil, JavaScript (+biblioteci, precum jQuery), familiar cu paradigme de interacțiune naturală (tactilă, bazată pe gesturi, realitate virtuală/îmbogățită),…
  • 117. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Web Developer 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), familiaritate cu sisteme CMS/wiki, cunoștințe vizând servicii Web, familiar cu alte paradigme de programare (e.g., funcțională, distribuită), securitate & performanță Web,…
  • 118. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 119. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Web Technician asistent (ajutor) al webmaster-ului, designerului sau dezvoltatorului Web poate efectua operații tehnice: instalare, configurare, monitorizare,…
  • 120. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Web Maintainer actualizează conținutul uzual, via o interfață WYSIWYG (de exemplu, recurgând la un sistem de management al conținutului – CMS)
  • 121. ☺ Bun… Și eu ce fac? Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco
  • 122. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco fii curios & iscoditor  învață (citește + experimentează + cere ajutor + reutilizează)  creează și arată (design, cod-sursă, prototipuri, exemple demonstrative,…)  acumulează experiență, „aură”, statut social etc.reputație  concurează (…atât de multe oportunități)  ajută/instruiește pe ceilalți
  • 123. Dr. Sabin-Corneliu Buraga – www.purl.org/net/busaco Mult succes! imagini de epocă furnizate de vintag.es