A lecture delivered for "Web Application Development" discipline (MSc studies at Faculty of Computer Science, 'Alexandru Ioan Cuza' University of Iasi, Romania): https://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Sabin Buraga
A presentation (available in Romanian language) about RESTful Web service development, including several considerations regarding mash-ups & APIs.
For other details, visit http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...Sabin Buraga
Tehnologii Web (prezentările aferente disciplinei predate de Sabin Buraga la Facultatea de Informatică, Universitatea A.I. Cuza din Iași) – detalii la http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
O prezentare reunind cele mai importante aspecte privind dezvoltarea Web și perspectivele actuale (ediția 2015). Pentru alte resurse de interes, a se consulta http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
A presentation regarding the most important aspects on Web development and current perspectives (2015). For other resources of interest, visit http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Ce înseamnă a fi dezvoltator Web (varianta 2014)Sabin Buraga
Considerații privind diverse posibilități de carieră în domeniul tehnologiilor Web, de dorit după absolvirea studiilor oferite de Facultatea de Informatică, UAIC Iași.
Pentru alte detalii, a se vizita http://www.info.uaic.ro/~busaco/teach/
WADe 2017-2018 (2/12) Service-based Web Application Development. RESTSabin Buraga
A lecture delivered for "Web Application Development" discipline (MSc studies at Faculty of Computer Science, 'Alexandru Ioan Cuza' University of Iasi, Romania): https://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Sabin Buraga
A presentation (available in Romanian language) about RESTful Web service development, including several considerations regarding mash-ups & APIs.
For other details, visit http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...Sabin Buraga
Tehnologii Web (prezentările aferente disciplinei predate de Sabin Buraga la Facultatea de Informatică, Universitatea A.I. Cuza din Iași) – detalii la http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
O prezentare reunind cele mai importante aspecte privind dezvoltarea Web și perspectivele actuale (ediția 2015). Pentru alte resurse de interes, a se consulta http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
A presentation regarding the most important aspects on Web development and current perspectives (2015). For other resources of interest, visit http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Ce înseamnă a fi dezvoltator Web (varianta 2014)Sabin Buraga
Considerații privind diverse posibilități de carieră în domeniul tehnologiilor Web, de dorit după absolvirea studiilor oferite de Facultatea de Informatică, UAIC Iași.
Pentru alte detalii, a se vizita http://www.info.uaic.ro/~busaco/teach/
WADe 2017-2018 (2/12) Service-based Web Application Development. RESTSabin Buraga
A lecture delivered for "Web Application Development" discipline (MSc studies at Faculty of Computer Science, 'Alexandru Ioan Cuza' University of Iasi, Romania): https://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...Sabin Buraga
Tehnologii Web (prezentările aferente disciplinei predate de Sabin Buraga la Facultatea de Informatică, Universitatea A.I. Cuza din Iași) – detalii la http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSabin Buraga
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
A lecture – prepared to be delivered during "Computer Science at the Castle" Summer School (Macea, Arad, Romania, 2016): www.informaticalacastel.ro – regarding the most important aspects on Web development and current perspectives (2016 updated edition).
For other resources of interest, visit http://profs.info.uaic.ro/~busaco/teach/
O prelegere reunind cele mai importante aspecte privind dezvoltarea Web și perspectivele actuale (ediția actualizată pentru 2016).
Pentru alte resurse de interes, a se consulta http://profs.info.uaic.ro/~busaco/teach/
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleSabin Buraga
Tehnologii Web (prezentările aferente disciplinei predate de Sabin Buraga la Facultatea de Informatică, Universitatea A.I. Cuza din Iași) – detalii la http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de clientSabin Buraga
O prelegere din cadrul materiei "aplicaţiilor Web la nivel de client" (CLIW), fondată și predată de Sabin Buraga la Facultatea de Informatică a Universității "Alexandru Ioan Cuza" din Iași.
Detalii la https://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
O prezentare despre designul Web responsiv + tehnologiile aferente. Pentru alte resurse de interes, a se vizita http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
A presentation regarding responsive Web design and various existing technologies. For additional resources of interest, visit http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Sabin Buraga – Dezvoltator Web (...în 2017)Sabin Buraga
O prezentare pentru elevii de liceu – participanți la SummerIS <www.summeris.ro> – referitoare la cele mai importante aspecte privind cariera de dezvoltator de aplicații Web.
A presentation for high-school students regarding the most important aspects about a professional carrier focused on Web application development.
A presentation explaining to (high-school) students what Web development is, including career information.
O prezentare pentru elevi și studenți oferind informații despre ceea ce înseamnă dezvoltarea de apllicații Web.
O prezentare referitoare la dezvoltarea aplicațiilor Web dedicată elevilor de liceu. Prelegerea a fost susținută în cadrul Școlii de vară SummerIS organizată la Universitatea Alexandru Ioan Cuza din Iași, Facultatea de Informatică (iulie 2019).
A presentation regarding Web application development delivered to high-school students, a part of the SummerIS summer school organized at the Faculty of Computer Science, Alexandru Ioan Cuza University of Iasi, Romania (July 2019).
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...Sabin Buraga
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Considerații vizând proiectarea siturilor Web, inclusiv detalii despre design vizual (layout, tipografie, cromatică etc.) și design Web responsiv. Detalii la http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataSabin Buraga
A lecture delivered for "Web Application Development" discipline (MSc studies at Faculty of Computer Science, 'Alexandru Ioan Cuza' University of Iasi, Romania): https://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...Sabin Buraga
Tehnologii Web (prezentările aferente disciplinei predate de Sabin Buraga la Facultatea de Informatică, Universitatea A.I. Cuza din Iași) – detalii la http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSabin Buraga
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
A lecture – prepared to be delivered during "Computer Science at the Castle" Summer School (Macea, Arad, Romania, 2016): www.informaticalacastel.ro – regarding the most important aspects on Web development and current perspectives (2016 updated edition).
For other resources of interest, visit http://profs.info.uaic.ro/~busaco/teach/
O prelegere reunind cele mai importante aspecte privind dezvoltarea Web și perspectivele actuale (ediția actualizată pentru 2016).
Pentru alte resurse de interes, a se consulta http://profs.info.uaic.ro/~busaco/teach/
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleSabin Buraga
Tehnologii Web (prezentările aferente disciplinei predate de Sabin Buraga la Facultatea de Informatică, Universitatea A.I. Cuza din Iași) – detalii la http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de clientSabin Buraga
O prelegere din cadrul materiei "aplicaţiilor Web la nivel de client" (CLIW), fondată și predată de Sabin Buraga la Facultatea de Informatică a Universității "Alexandru Ioan Cuza" din Iași.
Detalii la https://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
O prezentare despre designul Web responsiv + tehnologiile aferente. Pentru alte resurse de interes, a se vizita http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
A presentation regarding responsive Web design and various existing technologies. For additional resources of interest, visit http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Sabin Buraga – Dezvoltator Web (...în 2017)Sabin Buraga
O prezentare pentru elevii de liceu – participanți la SummerIS <www.summeris.ro> – referitoare la cele mai importante aspecte privind cariera de dezvoltator de aplicații Web.
A presentation for high-school students regarding the most important aspects about a professional carrier focused on Web application development.
A presentation explaining to (high-school) students what Web development is, including career information.
O prezentare pentru elevi și studenți oferind informații despre ceea ce înseamnă dezvoltarea de apllicații Web.
O prezentare referitoare la dezvoltarea aplicațiilor Web dedicată elevilor de liceu. Prelegerea a fost susținută în cadrul Școlii de vară SummerIS organizată la Universitatea Alexandru Ioan Cuza din Iași, Facultatea de Informatică (iulie 2019).
A presentation regarding Web application development delivered to high-school students, a part of the SummerIS summer school organized at the Faculty of Computer Science, Alexandru Ioan Cuza University of Iasi, Romania (July 2019).
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...Sabin Buraga
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Considerații vizând proiectarea siturilor Web, inclusiv detalii despre design vizual (layout, tipografie, cromatică etc.) și design Web responsiv. Detalii la http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataSabin Buraga
A lecture delivered for "Web Application Development" discipline (MSc studies at Faculty of Computer Science, 'Alexandru Ioan Cuza' University of Iasi, Romania): https://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
CLIW 2017-2018 (1/12) Interacţiune Web: de la concepte & utilizabilitate la d...Sabin Buraga
O prelegere din cadrul materiei "aplicaţiilor Web la nivel de client" (CLIW), fondată și predată de Sabin Buraga la Facultatea de Informatică a Universității "Alexandru Ioan Cuza" din Iași.
Detalii la https://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
Considerații privind designul Web: interacțiune, utilizabilitate & metodologii de proiectare. Detalii la http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
Considerații privind designul Web: interacțiune, utilizabilitate & metodologii de proiectare, inclusiv detalii despre metoda QOC și manierele de prototipizare. Detalii la http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...Sabin Buraga
O prelegere din cadrul materiei "aplicaţiilor Web la nivel de client" (CLIW), fondată și predată de Sabin Buraga la Facultatea de Informatică a Universității "Alexandru Ioan Cuza" din Iași.
Detalii la https://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
WADe 2017-2018 (1/12) Web Application Development: Concepts & VisionSabin Buraga
A lecture delivered for "Web Application Development" discipline (MSc studies at Faculty of Computer Science, 'Alexandru Ioan Cuza' University of Iasi, Romania): https://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientSabin Buraga
O privire generală privind performanța aplicațiilor Web la nivel de client (tehnici, strategii, exemple reale și altele). Detalii la http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de cazSabin Buraga
Interacțiune Web: noțiuni de bază precum interacțiune om-calculator (HCI), interfață cu utilizatorul (UI), experiența utilizatorului (UX) și altele. Detalii la http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
A lecture delivered for "Web Application Development" discipline (MSc studies at Faculty of Computer Science, 'Alexandru Ioan Cuza' University of Iasi, Romania): https://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
O prezentare referitoare la date deschise ("open data") în contextul Web-ului semantic (numit și "Web of data") realizată pentru evenimentul Open Source Iași (2014): http://opensourceiasi.wordpress.com/
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Web 2020 01/12: World Wide Web – aspecte arhitecturaleSabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeSabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
Prelegere din cadrul materiei "Dezvoltarea aplicaţiilor Web cu JavaScript" (Full-Stack Web Development) predată de Dr. Sabin Buraga (oct.2019–feb.2020).
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/staw/web-film.html
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...Sabin Buraga
A lecture delivered for Human-Computer Interaction, a post-graduate level discipline taught by Dr. Sabin Buraga at Faculty of Computer Science, Alexandru Ioan Cuza University of Iasi, Romania.
Visit also https://profs.info.uaic.ro/~busaco/teach/courses/hci/hci-film.html
HCI 2018 (3/10) Design Models, Methodologies and GuidelinesSabin Buraga
A lecture delivered for Human-Computer Interaction, a post-graduate level discipline taught by Dr. Sabin Buraga at Faculty of Computer Science, Alexandru Ioan Cuza University of Iasi, Romania.
Visit also https://profs.info.uaic.ro/~busaco/teach/courses/hci/hci-film.html
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual DesignSabin Buraga
A lecture delivered for Human-Computer Interaction, a post-graduate level discipline taught by Dr. Sabin Buraga at Faculty of Computer Science, Alexandru Ioan Cuza University of Iasi, Romania.
Visit also https://profs.info.uaic.ro/~busaco/teach/courses/hci/hci-film.html
HCI 2018 (5/10) Information Architecture. From Design Patterns to FlowSabin Buraga
A lecture delivered for Human-Computer Interaction, a post-graduate level discipline taught by Dr. Sabin Buraga at Faculty of Computer Science, Alexandru Ioan Cuza University of Iasi, Romania.
Visit also https://profs.info.uaic.ro/~busaco/teach/courses/hci/hci-film.html
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) InteractionsSabin Buraga
A lecture delivered for Human-Computer Interaction, a post-graduate level discipline taught by Dr. Sabin Buraga at Faculty of Computer Science, Alexandru Ioan Cuza University of Iasi, Romania.
Visit also https://profs.info.uaic.ro/~busaco/teach/courses/hci/hci-film.html
5. Dr.SabinBuragaprofs.info.uaic.ro/~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
arhitecturi: principii
exemplu pentru gov.uk – Paul Downey & David Heath (2013)
14. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
arhitecturi
Recurgerea la metodologii moderne – exemple:
The Twelve-Factor App – vizând aplicațiile aliniate
paradigmei SaaS (Software As A Service)
http://12factor.net/
aim42 – practici și șabloane privind evoluția, mentenanța,
migrarea și îmbunătățirea sistemelor software
http://aim42.github.io/
15. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
arhitecturi web: componente tipice
client(i)
firewall
proxy
middleware
server(e) Web
server(e) de aplicații
framework-uri, biblioteci, alte componente/module
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
16. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Esențialmente, de considerat:
preluarea și dirijarea cererilor – dispatch
oferirea funcționalităților de bază – core services
asocierea dintre construcții/abstracțiuni software
(e.g., obiecte) și modele de date – mapping
managementul datelor – data
monitorizarea și evaluarea sistemului – metrics
adaptare după Matt Ranney, “What I Wish I Had Known
Before Scaling Uber to 1000 Services”, GOTO Chicago 2016
http://highscalability.com/blog/2016/10/12/lessons-learned-from-scaling-uber-to-2000-engineers-1000-ser.html
17. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
arhitecturi web
Stratificate (layered)
Conduse de evenimente (event-driven)
Extensibile (microkernel / plug-in)
Folosind microservicii (microservices)
„În nori” (space-based, cloud)
conform M. Richards, Software Architecture Patterns, O’Reilly, 2015
www.oreilly.com/programming/free/files/software-architecture-patterns.pdf
19. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
arhitecturi webStratificate (layered)
separation of concerns
fiecare strat are un rol bine-stabilit, componentele
unui strat vizând funcționalitățile acestuia
layers of isolation
modificările operate la un anumit strat nu au impact sau
nu afectează componentele din alt strat
architecture sinkhole anti-pattern
fluxul de cereri traversează fiecare strat, fără a se efectua
procesări semnificative în cadrul acestuia
30. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
arhitecturi web
„În nori” (space-based, cloud)
consideră și rezolvă problemele vizând scalabilitatea și
concurența unui volum impredictibil de mare de cereri
tuple space
datele aplicației sunt păstrate în memorie și replicate
de toate unitățile de procesare active
fără stocare centralizatădistributed shared memory
http://wiki.c2.com/?TupleSpace
42. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
implementare
Server de aplicații Web
poate încuraja sau impune o viziune arhitecturală
privind dezvoltarea de aplicații Web
situație tipică:
MVC ori variații (MVVM – Model View ViewModel,
MVP – Model View Presenter,
PAC – Presentation Abstraction Control)
43. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
implementare
Server de aplicații Web
simplifică maniera de invocare
de programe (script-uri) ale unei aplicații Web
generarea de conținut dinamic pe partea de server
(re)vezi prezentarea despre inginerie Web:
https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html#week3
45. Dr.SabinBuragaprofs.info.uaic.ro/~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ă
48. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
implementare
Bibliotecă Web (library)
colecție de resurse computaționale reutilizabile
– i.e., structuri de date + cod –
oferind funcționalități (comportamente) specifice
implementate într-un limbaj de programare
poate fi referită de alt cod-sursă (software):
server de aplicații, framework, bibliotecă,
serviciu, API ori componentă Web
70. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
small
each running in its own process
lightweight communication mechanisms (usual, HTTP)
built around business capabilities
independently deployable
minimum of centralized management
may be written in different programming languages
may use different data storage mechanisms
caracteristici ale microserviciilor conform
James Lewis & Martin Fowler, Microservices (2014)
http://martinfowler.com/articles/microservices.html
71. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
small
each running in its own process
lightweight communication mechanisms (usual, HTTP)
built around business capabilities
independently deployable
minimum of centralized management
may be written in different programming languages
may use different data storage mechanisms
caracteristici ale microserviciilor conform
James Lewis & Martin Fowler, Microservices (2014)
http://martinfowler.com/articles/microservices.html
72. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
small
each running in its own process
lightweight communication mechanisms (usual, HTTP)
built around business capabilities
independently deployable
minimum of centralized management
may be written in different programming languages
may use different data storage mechanisms
caracteristici ale microserviciilor conform
James Lewis & Martin Fowler, Microservices (2014)
http://martinfowler.com/articles/microservices.html
73. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
small
each running in its own process
lightweight communication mechanisms (usual, HTTP)
built around business capabilities
independently deployable
minimum of centralized management
may be written in different programming languages
may use different data storage mechanisms
caracteristici ale microserviciilor conform
James Lewis & Martin Fowler, Microservices (2014)
http://martinfowler.com/articles/microservices.html
74. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
small
each running in its own process
lightweight communication mechanisms (usual, HTTP)
built around business capabilities
independently deployable
minimum of centralized management
may be written in different programming languages
may use different data storage mechanisms
caracteristici ale microserviciilor conform
James Lewis & Martin Fowler, Microservices (2014)
http://martinfowler.com/articles/microservices.html
75. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
small
each running in its own process
lightweight communication mechanisms (usual, HTTP)
built around business capabilities
independently deployable
minimum of centralized management
may be written in different programming languages
may use different data storage mechanisms
caracteristici ale microserviciilor conform
James Lewis & Martin Fowler, Microservices (2014)
http://martinfowler.com/articles/microservices.html
76. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
small
each running in its own process
lightweight communication mechanisms (usual, HTTP)
built around business capabilities
independently deployable
minimum of centralized management
may be written in different programming languages
may use different data storage mechanisms
caracteristici ale microserviciilor conform
James Lewis & Martin Fowler, Microservices (2014)
http://martinfowler.com/articles/microservices.html
77. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
small
each running in its own process
lightweight communication mechanisms (usual, HTTP)
built around business capabilities
independently deployable
minimum of centralized management
may be written in different programming languages
may use different data storage mechanisms
caracteristici ale microserviciilor conform
James Lewis & Martin Fowler, Microservices (2014)
http://martinfowler.com/articles/microservices.html
84. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
implementare
de la cereri efectuate de client la obținerea răspunsului
oferit de API via microservicii funcționale
bazate pe cele vizând infrastructura
M. Richards, Microservices vs. Service-Oriented Architecture,
O’Reilly, 2016
91. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
arhitectură bazată
pe servicii Web
arhitectură recurgând
la microservicii
cazuri concrete: Amazon, Groupon, Netflix,…
de studiat prezentările lui Stefan Tilkov:
https://speakerdeck.com/stilkov
frontend
(FE)
ser-
vice
ser-
vice
ser-
vice
DB
client
ser-
vice
DB
FE FE FE
client
DB
ser-
vice
ser-
vice
DB
93. Dr.SabinBuragaprofs.info.uaic.ro/~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
97. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
brow-
ser
control
proce-
sare
client „puternic”
și/sau „isteț”
arhitectura aplicațiilor Web:
serverless – aplicația depinde semnificativ de componente
externe, disponibile în „nori” – (micro-)servicii
BaaS
Mike Roberts (2016) – http://martinfowler.com/articles/serverless.html
func-
ționa-
litate1
☁
func-
ționa-
litate2
☁
☁
auten-
tificare
☁
BaaS = (Mobile) Backend As A Service FaaS = Functions As A Service
☁
FaaS
căutare
procesare
comenzi
BaaS
comenzi
produse
acces
la API
99. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Descrierea abstractă a unui API:
OpenAPI Specification (ex-Swagger) – https://openapis.org/
RAML (RESTful API Modeling Language) – http://raml.org/
API Blueprint – https://apiblueprint.org/
detalii în K. Sandoval, Top Specification Formats for REST APIs (2016)
http://nordicapis.com/top-specification-formats-for-rest-apis/
107. Dr.SabinBuragaprofs.info.uaic.ro/~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
exemplu: Octokit (pentru .NET, Objective-C, Ruby)
oferit de Github – https://developer.github.com/libraries/
114. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
implementare: 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
Platforme
(Platform As A Service)
Heroku, Google Cloud Platform,
Nodejitsu, Windows Azure,…
117. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
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
implementare: mash-ups
127. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
arhitecturi: exemplu – wot
Web of Things Architecture
(în lucru la W3C, 14 septembrie 2017)
descriere independentă de implementare a unui sistem IoT
(Internet of Things) ce recurge la tehnologii Web
https://www.w3.org/TR/wot-architecture/
RDF
129. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
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
arhitecturi: exemplu – flickr
130. Dr.SabinBuragaprofs.info.uaic.ro/~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 în format InnoDB)
ImageMagick (bibliotecă C de prelucrare de imagini)
Ajax (interacțiune asincronă)
Linux (platformă de rulare)
alte detalii la http://highscalability.com/flickr-architecture
arhitecturi: exemplu – flickr
132. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
studiu de caz: flickrinterfețe de programare (API-uri)
oferite de Flickr
facilitează accesul la serviciile Web
în cadrul aplicațiilor rulând, eventual,
pe alte platforme
cereri via REST, XML-RPC, SOAP
răspunsuri REST, XML-RPC, SOAP, JSON
www.flickr.com/services/api/
133. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
aspecte generice vizând proiectarea:
categorii de resurse: user + picture
relații între instanțe de tip user (e.g., follow)
relații între instanțe de tip user și picture
(make, depicts, comment, like,…)
asigurarea performanței:
timp de răspuns, arhitectură software scalabilă,
stocare persistentă scalabilă, optimizarea imaginilor
recomandarea resurselor (user/picture) de interes
detalii în articolul Create a Photo Sharing App (2016)
http://blog.gainlo.co/index.php/2016/03/01/system-design-interview-
question-create-a-photo-sharing-app/
134. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Scop: descoperire și management online de evenimente
(e.g., conferințe cu caracter tehnologic)
agregare de comunități – evenimentul ca obiect social
suport pentru vorbitori și audiență, slide-uri,…
+ calendare și localități de desfășurare
concepte importante: conferences, user profiles,
e-mails, dashboard, coverage, topics, guides
arhitecturi: exemplu – lanyrd
135. Dr.SabinBuragaprofs.info.uaic.ro/~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
A. Godwin, Inside Lanyrd’s Architecture, QCon London, 2013
http://www.infoq.com/presentations/lanyrd-architecture
arhitecturi: exemplu – lanyrd
137. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
Scop: recomandare în timp-real de știri de interes
(ziare, blog-uri,…), pe baza profilului utilizatorului
și a interacțiunii sale cu sistemul
recurge la tehnici de învățare automată, în funcție și
de sentimentul manifestat față de un articol dat
arhitecturi: exemplu – smartfetcher
138. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
arhitecturi: exemplu – smartfetcher
la nivel de server (backend): Node.js (framework-ul Sails)
API REST – eventual, folosit via WebSocket-uri
pentru comunicarea în timp-real cu clienții
pe partea client (frontend): Angular și Bootstrap
140. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
arhitecturi: exemplu – groupon
Scop: prezentarea de oferte privind bunuri de consum
de la o arhitectură monolitică
la una adoptând (micro-)servicii
engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/
148. Dr.SabinBuragaprofs.info.uaic.ro/~busaco
episodul viitor:
aspecte vizând modelarea cunoștințelor
model de
acces la dateservicii Web
model de calcul
ofertant
de servicii mobile
mash-up-uri la nivel
de dispozitiv mobil
model de implementare
model de interacțiune
model de comunicare
model
al fluxului
de date
⚙
⚙
⚙
⚙
GraphQL
YQL