A presentation -- prepared for the InfoEducation 2011 summer camp -- regarding the pragmatic uses of automata theory (especially finite state machines) in the Web context, with examples covering XML validation, REST Web services, game development, etc. The content is available in Romanian language, only.
19. . orice caracter, exceptând new-line (n)
[…] enumerare de caractere: [A-Z] [0-9]
| alternativă a mai multe forme: M|F
(…) grupare de caractere
$ final de linie
^ început de linie sau negare: [^A-Z]
20. ? 0 sau maxim 1 apariții: (web)?
* zero sau mai multe apariții: .*
+ minim 1 sau mai multe apariții: [0-9a-z]+
{…} interval de apariții: [a-zA-Z]{2,4}
{1,} ≡ +
{0,} ≡ *
{0,1} ≡ ?
21. d o cifră: [0-9]
w un caracter alfanumeric: [0-9_a-zA-Z]
s un spațiu alb: [trn f]
D orice exceptând cifre: [^0-9]
W caracter ne-alfanumeric: [^0-9_a-zA-Z]
S orice exceptând spații: [^tnr f]
b limitele unui cuvânt
B orice alt context decât limitele
unui cuvânt (interiorul unui cuvânt)
A începutul unui șir
Z sfârșitul unui șir
47. Rezultatul unei procesari
(efectuate de un serviciu Web)
conduce la obtinerea unei reprezentari
a unei resurse
48. Rezultatul unei procesari
(efectuate de un serviciu Web)
conduce la obtinerea unei reprezentari
a unei resurse
resursa = blog, fotografie, flux de stiri, program etc.
49. Rezultatul unei procesari
(efectuate de un serviciu Web)
conduce la obtinerea unei reprezentari
a unei resurse
reprezentare = HTML, JPEG, PNG, RSS, SVG,…
52. Resursa specificata de
http://vremea.la/galaciuc/
poate fi reprezentata de:
un document HTML – accesat de un browser Web
un flux Atom – utilizat de alte servicii
un document SVG – pentru listare
53. Resursa specificata de
http://vremea.la/galaciuc/
poate fi reprezentata de:
un document HTML – accesat de un browser Web
un flux Atom – utilizat de alte servicii
un document SVG – pentru listare
fiecare reprezentare are asociat un URL
54. Clientii (navigatoare Web, player-e,…)
interactioneaza cu reprezentarile
resurselor via verbe
―acceseaza‖ – GET
―modifica‖ – POST
―sterge‖ – DELETE
…
55. Orice accesare a unei reprezentari
plaseaza aplicatia – ori clientul Web –
intr-o stare ce va fi schimbata in urma
unui transfer de date
(accesarea altei reprezentari)
56. GET smesaj
sindex
POST
GET
seditor
sflux
Web-ul ca un automat
57. http://blog.info/mesaj
http://blog.info/
GET smesaj
sindex reprezentare2
(XHTML)
reprezentare1
(XHTML)
POST
GET http://blog.info/mesaj/edit
http://blog.info/stiri seditor
sflux reprezentare3
(XHTML)
reprezentare4
(Atom)
58. Transferul se realizeaza prin protocolul HTTP
Reprezentarea e modelata in HTML, JSON , XML
(sau alt format) si indicata prin MIME
Adresabilitatea se rezolva via URI
59. // invocarea asincronă (Ajax) a unui serviciu Web via jQuery
jQuery.ajax ({
type: "POST", // execută o cerere POST
contentType: "application/json; charset=utf-8",
url: "http://undeva.info/ArboreGenealogic/busaco",
data: "{...}", // date de intrare trimise serviciului
dataType: "json", // așteptăm răspunsul în format JSON
// funcție apelată la transferul cu succes
success: function(data) {
// preluăm datele, convertindu-le în HTML
$('.rezultat').html(data);
}
});