SlideShare a Scribd company logo
Dr.SabinBuragawww.purl.org/net/busaco
Dezvoltarea aplicațiilor Web
⟛
servicii Web, API-uri & mashup-uri
aspecte arhitecturale
Dr.SabinBuragawww.purl.org/net/busaco
“Fiecare vis începe cu un visător.”
Harriet Tubman
Dr.SabinBuragawww.purl.org/net/busaco
Care sunt cele mai importante aspecte
privind ingineria Web?
Dr.SabinBuragawww.purl.org/net/busaco
Aplicații Web  sisteme software complexe,
în evoluție permanentă
Dr.SabinBuragawww.purl.org/net/busaco
Realitate
mijloace multiple de interacțiune Web cu utilizatorul
mobil laptop PC tabletă (smart) TV ecran urban
Dr.SabinBuragawww.purl.org/net/busaco
Realitate
suportul privind dezvoltarea de aplicații
(e.g., API-uri, SDK-uri, biblioteci, framework-uri,...)
oferit de platforma hardware/software
la nivel de server(e) și/sau de client(i)
Dr.SabinBuragawww.purl.org/net/busaco
Realitate
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.SabinBuragawww.purl.org/net/busaco
Realitate
neadaptare la cerințele de tip business
development vs. marketing vs. management
Dr.SabinBuragawww.purl.org/net/busaco
Realitate
privind proiectele Web de anvergură
întârzieri în lansare
neîncadrare în buget
lipsa funcționalității
calitatea precară a aplicației
Dr.SabinBuragawww.purl.org/net/busaco
Crumlish & Malone, 2009
Dr.SabinBuragawww.purl.org/net/busaco
Asigurarea calității aplicațiilor Web
corectitudine & robustețe (reliability)
extindere + reutilizare (modularitate)
compatibilitate
eficiență (asigurarea performanței)
portabilitate
Dr.SabinBuragawww.purl.org/net/busaco
Asigurarea calității aplicațiilor Web
facilitarea interacțiunii cu utilizatorul (usability)
funcționalitate
relevanța momentului lansării (timeliness)
mentenabilitate
securitate
Dr.SabinBuragawww.purl.org/net/busaco
Asigurarea calității aplicațiilor Web
alte aspecte de interes:
integritate
reparabilitate
verificabilitate – inclusiv monitorizare (logging)
economie
Dr.SabinBuragawww.purl.org/net/busaco
Necesități
scopuri + cerințe clar specificate
dezvoltarea sistematică, în faze, a aplicațiilor Web
planificarea judicioasă a etapelor de dezvoltare
controlul permanent al întregului proces de dezvoltare
Dr.SabinBuragawww.purl.org/net/busaco
Necesități
scopuri + cerințe clar specificate
dezvoltarea sistematică, în faze, a aplicațiilor Web
planificarea judicioasă a etapelor de dezvoltare
controlul permanent al întregului proces de dezvoltare
inginerie Web
Dr.SabinBuragawww.purl.org/net/busaco
În ce mod dezvoltăm o aplicație Web?
Dr.SabinBuragawww.purl.org/net/busaco
modelare
Uzual, se recurge la o metodologie
Dr.SabinBuragawww.purl.org/net/busaco
modelare
Uzual, se recurge la o metodologie
se preferă abordările conduse de modele
(MDA – model-driven architecture)
www.omg.org/mda/
Dr.SabinBuragawww.purl.org/net/busaco
modelare
Metodologii orientate spre modele referitoare la:
date – RMM (Relationship Management Methodology),
Hera, WebML
interacțiune – HDM (Hypertext Design Model),
WSDM (Web Site Design Method), UsiXML
obiecte – OOHDM (Object-Oriented HDM),
UWE (UML-based Web Engineering),
OOWS (Object-Oriented Web Solutions)
software – WAE (Web Application Extension)
Dr.SabinBuragawww.purl.org/net/busaco
Robert Baxley
Dr.SabinBuragawww.purl.org/net/busaco
Methodologies
Jesse Garrett, The Elements of User Experience (2nd Edition), New Riders, 2011
Dr.SabinBuragawww.purl.org/net/busaco
dezvoltarea aplicațiilor Web
Cerințe (requirements)
Analiză & proiectare (software design)
Implementare (build)
Testare (testing)
Exploatare (deployment)
Mentenanță (maintenance)
Evoluție (evolution)
Dr.SabinBuragawww.purl.org/net/busaco
dezvoltarea aplicațiilor Web
programare (server + client)
creare/adaptare
de conținut
mentenanță
testare
documen-
tare
arhitectura info
+ navigarecerințe
public beta lansare
http://sixrevisions.com/web-development/agile/
Dr.SabinBuragawww.purl.org/net/busaco
start with needs
do less
design with data
do the hard work to make it simple
iterate. then iterate again
build for inclusion
understand context
build digital services, not Websites
be consistent, not uniform
make things open; it makes things better
dezvoltarea aplicațiilor Web: principii
exemplu pentru gov.uk – Paul Downey & David Heath (2013)
Dr.SabinBuragawww.purl.org/net/busaco
Stabilirea standardelor de calitate
cerințe
context
con-
tentusers
Dr.SabinBuragawww.purl.org/net/busaco
Obținere / licitare / negociere
a conținutului (datelor) și/sau codului-sursă
copyright
versus
cod deschis (Open Source Licenses)
www.opensource.org/licenses/category
+
date deschise
Creative Commons – www.creativecommons.org/licenses/
cerințe
Dr.SabinBuragawww.purl.org/net/busaco
Documentare privind domeniul aplicației Web
cu atragerea experților în domeniul problemei
cerințe
Dr.SabinBuragawww.purl.org/net/busaco
cerințe
Aspecte specifice aplicațiilor Web
Lipsa unei structuri reale (tangibile)
Multi-disciplinaritate
Necunoașterea publicului-țintă real
Volatilitatea cerințelor & constrângerilor
Mediul de operare impredictibil
Impactul sistemelor tradiționale (legacy)
Aspecte calitative diferite
Inexperiența vizitatorilor
Termenul de lansare
Dr.SabinBuragawww.purl.org/net/busaco
cerințe: exemple
Viziune (big idea)
Basecamp: “project management is communication”
Flickr: “online photo management & sharing application”
Ta-da List: “competing with a post-it note”
Dr.SabinBuragawww.purl.org/net/busaco
cerințe: exemple
Punctele de plecare în dezvoltarea Flickr
presupuneri inițiale (assumptions):
oamenilor le place să-și împărtășească amintirile
folosirea succesului blogging-ului
partajarea nu doar a însemnărilor,
ci și a fotografiilor (personale)
suport pentru realizarea de comentarii + tagging
Dr.SabinBuragawww.purl.org/net/busaco
noi tipuri de cerințe
Privitoare la conținut
audiență – e.g., internaționalizare
context de navigare
preferințe ale utilizatorului
disponibilitate permanentă (7 zile, 24 de ore/zi)
recurgerea la surse eterogene de date
căutare, filtrare, recomandare
etc.
Dr.SabinBuragawww.purl.org/net/busaco
noi tipuri de cerințe
Interacțiunea cu utilizatorul în contextul Web
inclusiv vizând Web-ul social
content mash-up
“it’s yours to take, re-arrange and re-use”
Dr.SabinBuragawww.purl.org/net/busaco
noi tipuri de cerințe
Calitative
funcționalitate
fiabilitate
utilizabilitate
eficiență (performanță)
mentenabilitate
independența de platformă
Dr.SabinBuragawww.purl.org/net/busaco
noi tipuri de cerințe
Privitoare la mediul de execuție
(in)dependența de navigatorul Web
wired vs. wireless
on-line vs. off-line
suport pentru diverse standarde HTML5
responsive Web design
Dr.SabinBuragawww.purl.org/net/busaco
noi tipuri de cerințe
Referitoare la evoluție
utilizatorul final exploatează aplicația Web
fără a trebui s-o (re)instaleze pe calculator
Dr.SabinBuragawww.purl.org/net/busaco
noi tipuri de cerințe: aspecte de interes
inițial:
oferirea funcționalităților esențiale (less is more)
versiuni ulterioare:
extinderea aplicației Web – pe baza unui API public –
ce încurajează dezvoltarea de soluții date de utilizatori
Dr.SabinBuragawww.purl.org/net/busaco
arhitecturi
Calitatea aplicatiilor Web este influențată
de arhitectura pe care se bazează
Dr.SabinBuragawww.purl.org/net/busaco
arhitecturi web: componente tipice
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.SabinBuragawww.purl.org/net/busaco
arhitecturi
Uzual, se adoptă arhitecturi stratificate
(N-tier Web applications)
Dr.SabinBuragawww.purl.org/net/busaco
Câteva exemplificări
privind arhitectura unor aplicații Web?
Dr.SabinBuragawww.purl.org/net/busaco
studiu de caz: Flickr
Dr.SabinBuragawww.purl.org/net/busaco
arhitecturi: exemplu – flickr
Scop: partajare on-line a conținutului grafic (fotografii)
aplicație reprezentativă a Web-ului social
agregare de comunități – imaginea ca obiect social
suport pentru adnotări via termeni de conținut (tagging)
+ comentarii
Dr.SabinBuragawww.purl.org/net/busaco
arhitecturi: exemplu – flickr
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 în format InnoDB)
ImageMagick (prelucrare de imagini)
Ajax (interacțiune asincronă)
Linux (platformă de rulare)
alte detalii la http://highscalability.com/flickr-architecture
Dr.SabinBuragawww.purl.org/net/busaco
arhitectura inițială – conform (Cal Henderson, 2007)
Dr.SabinBuragawww.purl.org/net/busaco
studiu de caz: flickr
interfețe de programare (API-uri)
oferite de Flickr
www.flickr.com/services/api/
Dr.SabinBuragawww.purl.org/net/busaco
studiu de caz: Lanyrd
Dr.SabinBuragawww.purl.org/net/busaco
arhitecturi: exemplu – lanyrd
Scop: descoperire & management online de evenimente
(e.g., conferințe cu caracter tehnologic)
agregare de comunități – evenimentul ca obiect social
suport pentru vorbitori & audiență, slide-uri,…
+ calendare & locații geografice
concepte importante: conferences, user profiles,
emails, dashboard, coverage, topics, guides
Dr.SabinBuragawww.purl.org/net/busaco
Creat aproape complet în Python (folosind Django)
și întreținut de 6 persoane
2.5 backend developers
1.75 frontend developers
0.5 mobile developers
1.5 designers
0.75 system administrators
0.75 business operations
Andrew Godwin, Inside Lanyrd’s Architecture, QCon London, 2013
http://www.infoq.com/presentations/lanyrd-architecture
arhitecturi: exemplu – lanyrd
Dr.SabinBuragawww.purl.org/net/busaco
arhitecturi: exemplu – lanyrd
Dr.SabinBuragawww.purl.org/net/busaco
studiu de caz: Wikipedia
Dr.SabinBuragawww.purl.org/net/busaco
arhitecturi: exemplu – wikipedia
Scop: oferirea de conținut deschis
via o suită de aplicații Web colaborative: wiki-uri
Wikipedia Foundation
menține și Wiktionary, Wikinews, Wikibooks, Wikiquote,
Wikisource, Wikiversity, Wikispecies,
Wikimedia Commons, Wikidata, Wikivoyage
http://en.wikipedia.org/wiki/Wikimedia_Foundation
Dr.SabinBuragawww.purl.org/net/busaco
arhitecturi: exemplu – wikipedia
MediaWiki (sistemul wiki utilizat pentru toate serviciile)
PHP (platforma pe care rulează MediaWiki)
MySQL (soluția principală de stocare)
Apache Lucene (indexare textuală, facilitând căutarea)
ImageMagick, DjVu, TeX, rsvg, ploticus etc.
(pentru procesare de conținuturi grafice în MediaWiki)
Linux (platforma de rulare)
detalii despre API: www.mediawiki.org/wiki/API:Main_page
Dr.SabinBuragawww.purl.org/net/busaco
studiu de caz: wikimedia
Wikipedia – arhitectura generală (Domas Mituzas, 2008)
http://tinyurl.com/m9nlwvq
Dr.SabinBuragawww.purl.org/net/busaco
Prin ce mijloace poate fi implementată
o aplicație Web?
Dr.SabinBuragawww.purl.org/net/busaco
implementare
De la aplicații la API-uri & servere de aplicații
Brian Mulloy, Web API Design, Apigee, 2012
http://offers.apigee.com/web-api-design-ebook/
Dr.SabinBuragawww.purl.org/net/busaco
code repositories
instrumente de
dezvoltare (IDE)
runtime environment
dezvoltare
rulare
Development as a Service
A.Iqbal,M.Haunsenblas,S.Decker(2012)
Dr.SabinBuragawww.purl.org/net/busaco
code repositories
instrumente de
dezvoltare (IDE)
runtime environment
dezvoltare
rulare
Web: CodeRun, Cloud9, Koding, Ideone
desktop: Eclipse, <oXygen/>, Visual Studio
Google App Engine, Heroku,
Jelastic, Windows Azure
BitBucket, GitHub,
SourceForge, Unfuddle
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Server de aplicații Web
scop: eficientizarea proceselor de dezvoltare
a aplicațiilor Web de anvergură
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Server de aplicații Web
se bazează pe interfețe de programare (API-uri)
și/sau pe componente reutilizabile
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Server de aplicații Web
se integrează în unul/mai multe servere Web
de asemenea, poate oferi propriul server Web
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Server de aplicații Web
poate încuraja sau impune o viziune arhitecturală
privind dezvoltarea de aplicații Web
principiu: separation of concerns
Dr.SabinBuragawww.purl.org/net/busaco
implementare
View
la nivel client(i) Web
Model
stocare persistentă
Controller
aplicație Web (la nivel de server)

HTML, CSS, SVG, WebGL etc.

(No)SQL, XML (XQuery), RDF (SPARQL),…

servere de aplicații, framework-uri
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Server de aplicații Web
încurajarea folosirii de machete de vizualizare (templates)
pe baza unui procesor specific – Web template system
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Server de aplicații Web
încurajarea folosirii de machete de vizualizare (templates)
pe baza unui procesor specific – Web template system
utilizând specificații de prezentare a conținutului
(Web template), datele persistente
(e.g., preluate dintr-o bază de date) sunt folosite
de un procesor (template engine)
pentru a genera documente HTML ori alte formate
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Server de aplicații Web
încurajarea folosirii de machete de vizualizare (templates)
pe baza unui procesor specific – Web template system
la nivel de server
Haml (Ruby), Mustache (C++, JS, PHP, Python, Scala,…),
Smarty (PHP), Velocity (Java), XSLT (XML) etc.
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Server de aplicații Web
încurajarea folosirii de machete de vizualizare (templates)
pe baza unui procesor specific – Web template system
la nivel de client
disponibile pentru JavaScript:
Closure Templates, EJS, Mustache, Yeast,…
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Server de aplicații Web
poate include instrumente de generare de cod
(scaffold generators)
+
depanatoare (debuggers),
analizoare (profilers)
și/sau optimizatoare de cod
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Framework (cadru de lucru)
facilitează dezvoltarea de aplicații Web complexe,
simplificând unele operații uzuale
(e.g., acces la baze de date, caching, generare de cod,
management de sesiuni, control al accesului,…)
și/sau încurajând reutilizarea codului-sursă
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Framework (cadru de lucru)
clasificare:
de uz general
management de conținut
(CMS – Content Management System)
la nivel de intranet – e.g., portal organizațional
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Exemple de framework-uri care facilitează
dezvoltarea de aplicații Web la nivel de server
ASP.NET: ASP.NET MVC, Vici MVC
Java: Play, Spring, Struts, Tapestry, WebObjects, Wicket
JavaScript (node.js): Express, Geddy, Locomotive, Tower
Perl: Catalyst, CGI::Application, Jifty, WebGUI
PHP: CakePHP, CodeIgniter, Symfony, Yii, Zend Framework
Python: Django, Grok, web2py, Zope
Ruby: Camping, Nitro, Rails, Sinatra
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Web component
parte a unei aplicații Web
ce încapsulează o suită de funcții înrudite
e.g., calendar, cititor de fluxuri de știri,
buton de partajare a URL-ului în altă aplicație
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Web component
dezvoltare bazată pe o bibliotecă/framework
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Web component
dezvoltare bazată pe o bibliotecă/framework
soluții „tradiționale”:
Dojo Toolkit
jQuery UI
YUI
…
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Web component
dezvoltare bazată pe o bibliotecă/framework
cadrul general:
Web Components (în lucru la W3C, 2014)
cu implementări ca Polymer și X-Tag
http://webcomponents.org/
http://customelements.io/
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Widget
aplicație – de sine-stătătoare sau
inclusă într-un container (e.g., o pagină Web) –
ce oferă o funcționalitate specifică
rulează la nivel de client (platformă oferită de
sistemul de operare și/sau navigator Web)
Dr.SabinBuragawww.purl.org/net/busaco
implementare
Widget
uzual, implementare pe baza standardelor: HTML, CSS, JS
eventual, se poate recurge la un API
W3C Recommendation (2013)
www.w3.org/TR/widgets-apis/
Dr.SabinBuragawww.purl.org/net/busaco
Add-on
denumire generică a aplicațiilor asociate unui browser
(extensii, teme vizuale, dicționare,
maniere de căutare pe Web, plug-in-uri etc.)
exemplificare: addons.mozilla.org
implementare
Dr.SabinBuragawww.purl.org/net/busaco
(Web) App
o aplicație (Web) instalabilă
care folosește API-urile oferite de o platformă:
browser, server de aplicații, sistem de operare,…
implementare
Dr.SabinBuragawww.purl.org/net/busaco
(Web) App
a distributed computer software application designed for
optimal use on specific screen sizes and with particular
interface technologies
Robert Shilston, 2013
implementare
Dr.SabinBuragawww.purl.org/net/busaco
(Web) App
uzual, se poate obține via un app store
(centralizat sau descentralizat)
exemple notabile:
Chrome Apps
aplicații Windows 8 dezvoltate în JavaScript
aplicații Web mobile pentru Firefox OS, Kindle Fire,...
implementare
Dr.SabinBuragawww.purl.org/net/busaco
web browser
app store
single
page
app
platform
(OS + device)
native
app
HTTP
WebSockets
adaptare după Adrian Colyer (2012)
aplicații
Web
&
servicii
(API-uri)
Dr.SabinBuragawww.purl.org/net/busaco
implementare
API (Application Programming Interface)
“any well-defined interface that defines
the service that one component, module, or application
provides to other software elements”
detalii în Giovanni Asproni,
“Writing usable APIs in practice”, SyncConf 2013
Dr.SabinBuragawww.purl.org/net/busaco
API „de succes” – adaptare după (Bloch, 2005)
ușor de învățat
facil de folosit, chiar și în lipsa documentației
previne utilizarea eronată
stabil și sigur
ușor de menținut
suficient de expresiv
facil de extins
implementare
vezi și S. Clarke, “Measuring API Usability”: http://drdobbs.com/windows/184405654
Dr.SabinBuragawww.purl.org/net/busaco
implementare
strategia API first adoptată de Twitter (van der Schee, 2013)
www.leaseweblabs.com/2013/10/api-first-architecture-fat-vs-thin-server-debate/
Dr.SabinBuragawww.purl.org/net/busaco
implementare
diverse abordări vizând arhitectura aplicațiilor Web
www.leaseweblabs.com/2013/10/api-first-architecture-fat-vs-thin-server-debate/
Dr.SabinBuragawww.purl.org/net/busaco
API public
(disponibil pe baza unei licențe de utilizare)
versus
API privat
(pentru uz intern)
implementare
Dr.SabinBuragawww.purl.org/net/busaco
implementare
API (Application Programming Interface)
descriere (abstractă)
RAML (RESTful API Modeling Language) – http://raml.org/
Swagger – http://swagger.io/
comparații în prezentarea L. Heritage, “API Description Languages”
(APIcon UK, 2014) – http://tinyurl.com/pkhheq3
Dr.SabinBuragawww.purl.org/net/busaco
testarea unui API public via Apigee Console
https://apigee.com/console/
Dr.SabinBuragawww.purl.org/net/busaco
SoundCloud API
tipuri de resurse:
tracks, users, utilizator curent (me),
playlists, groups, comments
http://developers.soundcloud.com/
Dr.SabinBuragawww.purl.org/net/busaco
Modele tradiționale de afaceri vizând API-urile
implementare
John Musser, “API business models”, API Strategy Conference, 2013
Dr.SabinBuragawww.purl.org/net/busaco
Modele actuale de afaceri privind API-urile
John Musser, “API business models”, API Strategy Conference, 2013
Dr.SabinBuragawww.purl.org/net/busaco
John Musser, “API business models”, API Strategy Conference, 2013
Modele actuale de afaceri privind API-urile
CPA – cost per action
CPC – cost per click
Dr.SabinBuragawww.purl.org/net/busaco
Modele actuale de afaceri privind API-urile
John Musser, “API business models”, API Strategy Conference, 2013
Dr.SabinBuragawww.purl.org/net/busaco
implementare
SDK (Software Development Kit)
încapsulează funcționalitățile API-ului într-o bibliotecă
(implementată într-un anumit limbaj de programare,
pentru o platformă software/hardware specifică)
API façade pattern
Dr.SabinBuragawww.purl.org/net/busaco
privire pragmatica
exemplu: acces la API-uri în Python – www.pythonapi.com
Dr.SabinBuragawww.purl.org/net/busaco
Cum se pot combina date oferite
de mai multe servicii Web și/sau API-uri?
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Combinarea – la nivel de client și/sau server –
a datelor ce provin din surse (situri) multiple,
oferindu-se o funcționalitate/experiență nouă
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Exemplificare:
dorim să oferim o aplicație ce pune la dispoziție
informații din domeniul muzical
(știri, liste de melodii, clip-uri,…)
recurgând la diverse servicii Web publice
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
http://www.last.fm/api/rest
http://developer.vimeo.com
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
acces la serviciile REST
despre formații & albume
via o cheie de autentificare
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
răspunsul privitor la producții video
oferit de un serviciu Web
poate adopta formate multiple
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
+ ViLa
aplicație Web hibridă
http://www.last.fm/api/rest
http://developer.vimeo.com
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Se bazează pe fluxuri RSS/Atom,
servicii Web, API-uri publice,…
„curentul” SaaS (Software As A Service)
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Caracteristici:
combinare
vizualizare
agregare
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Combinare
utilizarea de surse de date multiple
poate avea caracter multidimensional
de exemplu,
subiect de interes + locație geografică + moment de timp
Yahoo! music search + Google maps + Eventful
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Combinare
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Vizualizare
pot fi adoptate diverse tehnici de vizualizare
(prezentare) a datelor:
chart-uri, cartografică, tag cloud-uri, tridimensională,…
de (re)văzut “An Introduction to Data Vizualization”
http://www.slideshare.net/busaco/hci08-data-visualization
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
proiectul DataEx (Andrei Cojocaru, 2013) – vizualizarea bazelor
de cunoștințe de mari dimensiuni (în acest caz: Freebase)
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Agregare
gruparea datelor provenite din mai multe surse și
analizarea lor: statistici, clasificări, predicții,…
e.g., folosind data mining se pot releva
aspecte „ascunse” ale datelor procesate
Dr.SabinBuragawww.purl.org/net/busaco
Zemanta – recomandare „inteligentă” de resurse
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Surse de date
(data feeds)
Atom, RSS, geoRSS,
microdate HTML5, RDFa,…
Interfețe de programare
(API-uri)
specifice serviciilor publice
și de procesare JSON/XML/RDF
Biblioteci/framework-uri
pentru dezvoltare
framework-uri Web generice
sau oferite de organizații
Instrumente interactive
(Web tools)
eventual, disponibile în cloud
e.g., Yahoo! Pipes
Platforme
(Platform As A Service)
Heroku, Google App Engine,
Nodejitsu, Windows Azure,…
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
Your Life on Earth (BBC, 2014)
www.bbc.com/earth/story/20141016-your-life-on-earth
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups
lista mash-up-urilor existente
www.programmableweb.com/mashups/directory
Dr.SabinBuragawww.purl.org/net/busaco
mash-ups: aspecte de interes
performanță: scalabilitatea și latența
limite ale API-urilor + existența versiunilor multiple
drepturi de autor asupra datelor & licențiere
securitate: abuz, confidențialitate, încredere etc.
monetizare
lipsa unei interoperabilități reale între platforme
Dr.SabinBuragawww.purl.org/net/busaco
„concluzii”
Actualmente, aplicațiile Web
sunt exploatate și integrate continuu
(continuous integration & deployment)
fenomenul perpetual beta
a se vizita The Museum of Modern Betas:
http://momb.socio-kybernetics.net/
Dr.SabinBuragawww.purl.org/net/busaco
„concluzii”
Un număr tot mai mare de aplicații (servicii)
populare disponibile on-line se bazează
pe conținut generat de utilizatori
de consultat statisticile oferite de Alexa:
http://www.alexa.com/topsites
Dr.SabinBuragawww.purl.org/net/busaco
rezumat
⟛arhitectura și ingineria
aplicațiilor Web orientate spre servicii
Dr.SabinBuragawww.purl.org/net/busaco
episodul viitor:
aspecte privind modelarea cunoștințelor
model de acces
la date
Servicii Web
model de calcul
Ofertant
de servicii de
telefonie mobilă
mash-up-uri la nivel
de dispozitiv mobil
model de implementare
model de interacțiune
YQL
model de comunicare

More Related Content

What's hot

Cu codul în "nori"
Cu codul în "nori"Cu codul în "nori"
Cu codul în "nori"
Sabin Buraga
 
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga
 
Servicii Web prin REST
Servicii Web prin RESTServicii Web prin REST
Servicii Web prin REST
Sabin Buraga
 
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...
Sabin Buraga
 
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
Sabin Buraga
 
WADe 2017-2018 (3/12) Web Application Development: Architectural Aspects
WADe 2017-2018 (3/12) Web Application Development: Architectural AspectsWADe 2017-2018 (3/12) Web Application Development: Architectural Aspects
WADe 2017-2018 (3/12) Web Application Development: Architectural Aspects
Sabin Buraga
 
Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)
Sabin Buraga
 
Design (Web) responsiv
Design (Web) responsivDesign (Web) responsiv
Design (Web) responsiv
Sabin Buraga
 
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...
Sabin Buraga
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
Sabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Sabin Buraga
 
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
Sabin Buraga
 
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansambluCLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
Sabin Buraga
 
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...
Sabin Buraga
 
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
Sabin Buraga
 
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
Sabin Buraga
 
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
Sabin Buraga
 
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de clientCLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
Sabin Buraga
 
Sabin Buraga: Participând la Web
Sabin Buraga: Participând la WebSabin Buraga: Participând la Web
Sabin Buraga: Participând la Web
Sabin Buraga
 

What's hot (19)

Cu codul în "nori"
Cu codul în "nori"Cu codul în "nori"
Cu codul în "nori"
 
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)
 
Servicii Web prin REST
Servicii Web prin RESTServicii Web prin REST
Servicii Web prin REST
 
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...
 
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 2017-2018 (3/12) Web Application Development: Architectural Aspects
WADe 2017-2018 (3/12) Web Application Development: Architectural AspectsWADe 2017-2018 (3/12) Web Application Development: Architectural Aspects
WADe 2017-2018 (3/12) Web Application Development: Architectural Aspects
 
Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)
 
Design (Web) responsiv
Design (Web) responsivDesign (Web) responsiv
Design (Web) responsiv
 
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...
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
 
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
 
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansambluCLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
 
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...
 
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
 
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
 
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
 
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de clientCLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
 
Sabin Buraga: Participând la Web
Sabin Buraga: Participând la WebSabin Buraga: Participând la Web
Sabin Buraga: Participând la Web
 

Viewers also liked

Workshop Teknis Javascript SMK Telkom Sandhy Putra Malang
Workshop Teknis Javascript SMK Telkom Sandhy Putra MalangWorkshop Teknis Javascript SMK Telkom Sandhy Putra Malang
Workshop Teknis Javascript SMK Telkom Sandhy Putra Malang
Edi Santoso
 
Introduction to OOP with PHP
Introduction to OOP with PHPIntroduction to OOP with PHP
Introduction to OOP with PHPMichael Peacock
 
Beginning OOP in PHP
Beginning OOP in PHPBeginning OOP in PHP
Beginning OOP in PHP
David Stockton
 
Pengenalan AngularJS
Pengenalan AngularJSPengenalan AngularJS
Pengenalan AngularJS
Edi Santoso
 
jQuery Ajax
jQuery AjaxjQuery Ajax
jQuery Ajax
Anand Kumar Rajana
 
jQuery Mobile Jump Start
jQuery Mobile Jump StartjQuery Mobile Jump Start
jQuery Mobile Jump Start
Troy Miles
 
Building jQuery Mobile Web Apps
Building jQuery Mobile Web AppsBuilding jQuery Mobile Web Apps
Building jQuery Mobile Web Apps
Operation Mobile
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
Arulmurugan Rajaraman
 
Introduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllIntroduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for All
Marc Grabanski
 

Viewers also liked (10)

Workshop Teknis Javascript SMK Telkom Sandhy Putra Malang
Workshop Teknis Javascript SMK Telkom Sandhy Putra MalangWorkshop Teknis Javascript SMK Telkom Sandhy Putra Malang
Workshop Teknis Javascript SMK Telkom Sandhy Putra Malang
 
Jquery ajax
Jquery ajaxJquery ajax
Jquery ajax
 
Introduction to OOP with PHP
Introduction to OOP with PHPIntroduction to OOP with PHP
Introduction to OOP with PHP
 
Beginning OOP in PHP
Beginning OOP in PHPBeginning OOP in PHP
Beginning OOP in PHP
 
Pengenalan AngularJS
Pengenalan AngularJSPengenalan AngularJS
Pengenalan AngularJS
 
jQuery Ajax
jQuery AjaxjQuery Ajax
jQuery Ajax
 
jQuery Mobile Jump Start
jQuery Mobile Jump StartjQuery Mobile Jump Start
jQuery Mobile Jump Start
 
Building jQuery Mobile Web Apps
Building jQuery Mobile Web AppsBuilding jQuery Mobile Web Apps
Building jQuery Mobile Web Apps
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Introduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllIntroduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for All
 

Similar to WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii

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
Sabin Buraga
 
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
Sabin Buraga
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
Sabin Buraga
 
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
Sabin Buraga
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator Web
Sabin Buraga
 
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...
Sabin Buraga
 
Ss1
Ss1Ss1
CLIW 2014—2015 (3/12): Design Web. Interacţiune, utilizabilitate & metodologi...
CLIW 2014—2015 (3/12): Design Web. Interacţiune, utilizabilitate & metodologi...CLIW 2014—2015 (3/12): Design Web. Interacţiune, utilizabilitate & metodologi...
CLIW 2014—2015 (3/12): Design Web. Interacţiune, utilizabilitate & metodologi...
Sabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
Sabin Buraga
 
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
Sabin Buraga
 
CLIW 2014—2015 (2/12): Arhitectura navigatorului Web
CLIW 2014—2015 (2/12): Arhitectura navigatorului WebCLIW 2014—2015 (2/12): Arhitectura navigatorului Web
CLIW 2014—2015 (2/12): Arhitectura navigatorului Web
Sabin Buraga
 
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...
Sabin Buraga
 
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...
Sabin Buraga
 
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
Sabin Buraga
 
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...
Sabin Buraga
 
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
Sabin Buraga
 
CLIW 2014—2015 (12/12): Performanța Web la nivel de client
CLIW 2014—2015 (12/12): Performanța Web la nivel de clientCLIW 2014—2015 (12/12): Performanța Web la nivel de client
CLIW 2014—2015 (12/12): Performanța Web la nivel de client
Sabin Buraga
 
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
 
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScriptCLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
Sabin Buraga
 
CLIW 2017-2018 (11/12) Programare Web. API-uri JavaScript în contextul HTML5 ...
CLIW 2017-2018 (11/12) Programare Web. API-uri JavaScript în contextul HTML5 ...CLIW 2017-2018 (11/12) Programare Web. API-uri JavaScript în contextul HTML5 ...
CLIW 2017-2018 (11/12) Programare Web. API-uri JavaScript în contextul HTML5 ...
Sabin Buraga
 

Similar to WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii (20)

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 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
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
 
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
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator Web
 
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...
 
Ss1
Ss1Ss1
Ss1
 
CLIW 2014—2015 (3/12): Design Web. Interacţiune, utilizabilitate & metodologi...
CLIW 2014—2015 (3/12): Design Web. Interacţiune, utilizabilitate & metodologi...CLIW 2014—2015 (3/12): Design Web. Interacţiune, utilizabilitate & metodologi...
CLIW 2014—2015 (3/12): Design Web. Interacţiune, utilizabilitate & metodologi...
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
 
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
CLIW 2015-2016 (3/13) Design Web. Interacțiune, utilizabilitate, metodologii ...
 
CLIW 2014—2015 (2/12): Arhitectura navigatorului Web
CLIW 2014—2015 (2/12): Arhitectura navigatorului WebCLIW 2014—2015 (2/12): Arhitectura navigatorului Web
CLIW 2014—2015 (2/12): Arhitectura navigatorului Web
 
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...
 
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...
 
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
 
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...
 
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
 
CLIW 2014—2015 (12/12): Performanța Web la nivel de client
CLIW 2014—2015 (12/12): Performanța Web la nivel de clientCLIW 2014—2015 (12/12): Performanța Web la nivel de client
CLIW 2014—2015 (12/12): Performanța Web la nivel de client
 
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 &...
 
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScriptCLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
 
CLIW 2017-2018 (11/12) Programare Web. API-uri JavaScript în contextul HTML5 ...
CLIW 2017-2018 (11/12) Programare Web. API-uri JavaScript în contextul HTML5 ...CLIW 2017-2018 (11/12) Programare Web. API-uri JavaScript în contextul HTML5 ...
CLIW 2017-2018 (11/12) Programare Web. API-uri JavaScript în contextul HTML5 ...
 

More from Sabin Buraga

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
 
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
Sabin Buraga
 
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. ...
Sabin Buraga
 
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
Sabin Buraga
 
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...
Sabin Buraga
 
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
Sabin Buraga
 
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...
Sabin Buraga
 
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
Sabin Buraga
 
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
Sabin Buraga
 
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.
Sabin Buraga
 
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
Sabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
Sabin Buraga
 
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
Sabin Buraga
 
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
Sabin Buraga
 
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)
Sabin Buraga
 
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)
Sabin Buraga
 
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...
Sabin Buraga
 
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
Sabin Buraga
 
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
Sabin Buraga
 
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
Sabin Buraga
 

More from Sabin Buraga (20)

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
 
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
 
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
 
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 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...
 
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 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)
 
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
 

WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii