Sabin Buraga: 'Tehnologii XML'

2,209 views

Published on

Varianta electronică a volumului "Tehnologii XML" de Sabin Buraga (416 pagini, ISBN 973-46-0249-7) prezentând cele mai importante tendințe în utilizarea, proiectarea, procesarea și conceptualizarea datelor prin suita de tehnologii XML (Extensible Markup Language). Subiectele atinse includ diverse aspecte ale familiei XML și soluțiile pentru modelarea și stocarea conținutului semi-structurat.

Alte detalii la http://profs.info.uaic.ro/~busaco/books/xml/

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,209
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
135
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Sabin Buraga: 'Tehnologii XML'

  1. 1. Sabin Buraga Tehnologii XML
  2. 2. Tehnologii XML2 Seria Web HVWH FRRUGRQDW GH GU 6DELQ %XUDJD )DFXOWDWHD GH ,QIRUPDWLF 8QLYHUVLWDWHD Å$O, X]Dµ ,DüL
  3. 3. Sabin Buraga HVWH OHFWRU GRFWRU OD )DFXOWDWHD GH ,QIRUPDWLF D 8QLYHUVLWLL Å$O, X]Dµ GLQ ,DüL ILLQG WLWXODUXO FXUVXULORU Å7HKQRORJLL :HEµ Å6HPDQWLF :HEµ Å,QWHUDFLXQH RP- -FDOFXODWRUµ üL Å5HHOH GH FDOFXODWRDUHµ (VWH ODXUHDW DO 3UHPLXOXL Å*KHRUJKH kUWLDQXµ DO $FDGHPLHL 5RPkQH
  4. 4. 0DL PXOWH DPQXQWH SULYLWRDUH OD DFWLYLWLOH VDOH VXQW disponibile pe Web la adresa http://www.infoiasi.ro/~busaco. La Editura Polirom a mai publicat: $WHOLHU GH SURJUDPDUH vQ UHHOH GH FDOFXODWRDUH (în colaborare, 2001), Programare Web în EDVK üL 3HUO (în colaborare, 2002), 3URLHFWDUHD VLWXULORU :HE 'HVLJQ üL IXQFLRQDOLWDte + CD (2002), $SOLFDLL :HE OD FKHLH (coord., 2003), Utilizare Linux (în colaborare, 2004), Situri Web la cheie. 6ROXLL SURIHVLRQDOH GH LPSOHPHQWDUH (coord., 2004), 3URLHFWDUHD VLWXULORU :HE 'HVLJQ üL IXQFLRQDOLWDWH ' HGLLD D ,,D
  5. 5. üL PrimiL SDüL vQ /LQX[ (în colaborare, 2006). %UXQD =D QL $XJXVWR 3DOPRQDUL D FXUD GL
  6. 6. 0DQXDOH GL SVLFRORJLD GL FRPXQLWº ƒ E 6RFLHWº HGLWULFH LO 0XOLQR %RORJQD © E (GLWXUD 32/,520 ZZZSROLURPUR (GLWXUD 32/,520 ,DL %GXO DURO , QU 32 %2; %XFXUHWL %GXO , %U?WLDQX QU HW DS 23 32 %2; 'HVFULHUHD ,3 D %LEOLRWHFLL 1D@LRQDOH D 5RP¼QLHL %85$*$ 6$%,1 251(/,8 7HKQRORJLL ;0/ 6DELQ %XUDJD r ,DL 3ROLURP %LEOLRJU ,6%1
  7. 7. ,6%1
  8. 8. ;0/ 3ULQWHG LQ 520$1,$
  9. 9. 3 32/,520
  10. 10. Tehnologii XML4
  11. 11. 5 Cuprins Prefa ......................................................................................................................9 Capitolul 1 – Calea de acces la Web.................................................................11 1. Preambul.......................................................................................................11 $VSHFWH HVHQLDOH SULYLWRDUH OD SURWRFROXO +773....................................12 2.1. Preliminarii...........................................................................................12 RQFHSWH üL IXQFLRQDUH......................................................................12 2.3. Mesajele HTTP.....................................................................................18 2.4. Atributele HTTP..................................................................................22 /RFXO +773 vQ DUKLWHFWXUD VSDLXOXL :::............................................26 5HIHULQH............................................................................................................28 Capitolul 2 – Modele de date semistructurate. Familia XML.....................29 1. Introducere...................................................................................................29 1.1. Formate de date...................................................................................29 1.2. Modele de date ....................................................................................30 1.3. Date semistructurate...........................................................................31 2. XML pentru reprezentarea datelor semistructurate...............................33 2.1. Precursori .............................................................................................33 RQFHSWH GH ED] DUDFWHUL]DUH üL WUVWXUL...................................34 RQVWLWXHQL..........................................................................................37 2.4. Familia XML.........................................................................................44 $SOLFDLL üL LQVWUXPHQWH ;0/ ............................................................45 2.6. O privire de ansamblu........................................................................47 RPSRQHQWH GH ED] DOH IDPLOLHL ;0/....................................................49 3.1 6SDLLOH GH QXPH ;0/ ........................................................................49 3.2. Modelul de date XML: XML Infoset.................................................52 3.3. Transformarea documentelor XML..................................................54 3.4. Validarea documentelor XML.........................................................102 ([SULPDUHD OHJWXULORU YLD ;/LQN ...................................................137 4. Limbaje bazate pe XML. Exemple...........................................................143 ,QWHUDFWLYLWDWHD FX XWLOL]DWRUXO )LOLHUD ;+70/ üL ;)RUPV....144 4.2. Specificarea structurii hipertext a unui sit Web............................150 3URWRFROXO GH FRPXQLFDLH IRORVLW GH -DEEHU..................................150 ,QWHURJUL ;0/ ..........................................................................................153 5.1. Preliminarii.........................................................................................153
  12. 12. Tehnologii XML6 5.2. Baze de date native XML..................................................................153 0RGDOLWL GH UHDOL]DUH D LQWHURJULORU ...........................................157 ,PSOHPHQWUL üL DSOLFDLL...................................................................163 5.5. Studii de caz.......................................................................................164 ûDEORDQH GH SURLHFWDUH ;0/....................................................................177 6.1. Punerea problemei............................................................................177 H HVWH XQ üDEORQ.............................................................................178 DWHJRULL GH üDEORDQH GH SURLHFWDUH ;0/......................................178 5HIHULQH..........................................................................................................189 Capitolul 3 – 3URFHVUL ;0/............................................................................193 1. Preliminarii.................................................................................................193 2. Modelul DOM............................................................................................194 2.1. Caracterizare......................................................................................194 ,QWHUIHH üL LPSOHPHQWUL..................................................................196 )XQFLRQDOLWL GH ED] DOM Core.................................................197 2.4. Extensii oferite de DOM nivelul 2...................................................202 2.5. Extensii oferite de DOM nivelul 3...................................................206 ,PSOHPHQWUL......................................................................................207 2.7. Exemple ..............................................................................................209 ,QWHUIDD 6$;..............................................................................................240 3.1. Caracterizare......................................................................................240 3.2. Maniera de procesare........................................................................240 ,PSOHPHQWUL......................................................................................244 3.4. Exemple ..............................................................................................244 3.5. DOM versus SAX ...............................................................................251 $OWH PRGDOLWL GH SURFHVDUH ;0/..........................................................253 4.1. Preliminarii.........................................................................................253 3URFHVDUHD VLPSOLILFDW D GRFXPHQWHORU ;0/...............................254 4.3. Consultarea documentelor XML prin XMLReader .......................255 4.4. Generarea documentelor XML prin XMLWriter...........................259 $OWH IDFLOLWL RIHULWH GH .NET Framework .....................................260 2 DOWHUQDWLY OD '20 SULQ ;20 ....................................................266 5HIHULQH..........................................................................................................266 Capitolul 4 – XML pentru servicii Web: SOA, REST, AJAX.....................269 1. Preambul.....................................................................................................269 $UKLWHFWXUD RULHQWDW VSUH VHUvicii Web .................................................270 2.1. Introducere.........................................................................................270 7HKQRORJLL GH SURJUDPDUH D DSOLFDLLORU :HE ...............................271 2.3. Un studiu de caz................................................................................285
  13. 13. 7 3. AJAX (Asynchronous JavaScript And XML).............................................299 3.1. Context................................................................................................299 3.2. Caracterizare......................................................................................302 3.3. 8Q SULP H[HPSOX YHULILFDUHD H[LVWHQHL XQXL QXPH de cont de utilizator..........................................................................304 3.4. Al doilea exemplu: jurnalizarea pe partea de server D H[FHSLLORU DSUXWH vQ SURJUDPHOH -DYD6FULSW executate în cadrul browser-ului......................................................312 $VSHFWH LPSRUWDQWH vQ OHJWXU FX UHDOL]DUHD GH DSOLFDLL $-$;...............................................................................320 3.6. AJAX în contextul REST...................................................................322 8WLOL]UL üL LQWHUIHH GH SURJUDPDUH $-$;.....................................323 RQVLGHUDLL SULYLQG VHFXULWDWHD DSOLFDLLORU IRORVLQG $-$;.......323 3.9. În loc de concluzii…..........................................................................325 5HIHULQH..........................................................................................................327 Capitolul 5 – WUH :HE-ul semantic .............................................................331 1. Introducere.................................................................................................331 2. Spre Web-ul semantic...............................................................................334 2.1. Punerea problemei............................................................................334 2.2. Niveluri ale Web-ului semantic ......................................................335 3. Specificarea meta-datelor prin RDF........................................................337 DUDFWHUL]DUH JHQHUDO ......................................................................337 0RGHOXO GH ED] ................................................................................339 3.3. Vocabulare de meta-date..................................................................342 3.4. Sintaxe alternative.............................................................................346 ,PSOHPHQWUL üL XWLOL]UL...................................................................349 5') üL PLFURIRUPDWHOH......................................................................351 4. De la Web 1.0 la Web 2.0 (Data Web).......................................................352 4.1. Preliminarii. Caracteristici ale „noului” Web................................352 0DUFDMH DGQRWUL
  14. 14. GHILQLWH GH XWLOL]DWRU........................................354 4.3. Participare, nu doar publicare a datelor ........................................355 4.4. Descentralizare radicaO ...................................................................356 ÍQFUHGHUH UDGLFDO )RORVLUHD VWDQGDUGHORU ....................................357 ,QWHUDFLXQH ERJDW FX XWLOL]DWRUXO..................................................358 4.7. Spre Web-ul social?...........................................................................359 5. Ontologii.....................................................................................................361 5.1. Ontologia cu „O” mare sau mic? ....................................................361 5.2. Scopuri................................................................................................362
  15. 15. Tehnologii XML8 6. Tipuri de ontologii ....................................................................................362 ODVLILFUL............................................................................................362 6.2. Specificarea taxonomiilor.................................................................364 6.3. Tezaure ...............................................................................................369 0RGHODUHD FXQRüWLQHORU 2QWRORJLL FRPSOH[H...............................370 7. Specificarea unei ontologii.......................................................................371 7.1. Specificarea categoriilor ...................................................................372 6SHFLILFDUHD SURSULHWLORU................................................................373 6SHFLILFDUHD UHODLLORU ........................................................................374 ([HPSOLILFUL......................................................................................375 8. Formalisme.................................................................................................377 8.1. Punerea problemei............................................................................377 8.2. Spre un model formal.......................................................................377 /RJLFLOH GHVFULHULL 2 SUH]HQWDUH VXFFLQW......................................378 9. Proiectarea (ingineria) ontologiilor.........................................................381 9.1. Preliminarii.........................................................................................381 9.2. Metodologii de proiectare a ontologiilor.......................................381 10. Specificarea ontologiilor prin OWL......................................................385 10.1. Caracterizare....................................................................................385 10.2. Sintaxa OWL....................................................................................386 'LIHUHQH vQWUH QLYHOXULOH 2:/ .....................................................392 WUH UDLRQDPHQW DXWRPDW....................................................................393 11.1. MaQLHUH GH UDLRQDPHQW.................................................................393 'H OD RQWRORJLL OD UDLRQDPHQW DXWRPDW .......................................394 12. „Concluzii”...............................................................................................403 5HIHULQH..........................................................................................................404 %LEOLRJUDILH JHQHUDO ........................................................................................409
  16. 16. 3UHID „,PSRUWDQW HVWH QX XQGH HüWL FL vQFRWUR WH vQGUHSL” Oliver Wendell Holmes Jr. DUWHD GH ID – parte a seriei Web a Editurii Polirom – are drept principal VFRS SUH]HQWDUHD FHORU PDL LPSRUWDQWH WHQGLQH vQ XWLOL]DUHD SURLHFWDUHD SURFHVDUHD üL FRQFHSWXDOL]DUHD GDWHORU YLD VXLWD GH WHKQRORJLL Extensible Markup Language (XML – acronim explicitat, cu umor, de unii prin Excellent Marketing Language). Al doilea demers este cel de a-l conduce pe cititor spre YLLWRUXO vQWUHY]XW DO VSDLXOXL :RUOG :LGH :HE 6XELHFWHOH DWLQVH GHRVHELW GH DFWXDOH SH SODQ PRQGLDO VH UHIHU vQ VSe- cial la GLYHUVH DVSHFWH DOH IDPLOLHL ;0/ VROXLL SHQWUX PRGHODUHD üL VWRFDUHD FRQLQXWXOXL VHPLVWUXFWXUDW RQVLGHUP F GH LQWHUHV VH YRU EXFXUD – prin- tre altele – SULOH GHGLFDWH ED]HORU GH GDWH QDWLYH ;0/ LQFOXVLY FX SUHzen- tarea unor limbaje de interogare SUHFXP ;3DWK üL ;4XHU
  17. 17. üDEORDQHORU GH SURLHFWDUH ;0/ VDX PDQLHUHL GH LQWHUDFLXQH :HE YLD $-$; Asynchronous JavaScript And XML
  18. 18. 9ROXPXO QX RPLWH PRGDOLWLOH GH SURFHVDUH ;0/ SULQ GLYHUVH PHWRGH GH UHGDUH D FRQLQXWXOXL YLD WUDQVIRUPUL ;6/ Exten- sible Styesheet Language), de validare a documentelor sau de creare a servi- ciilor Web, punctând cele mai bune practici de utilizare. 'H DVHPHQHD IDFHP R WUHFHUH vQ UHYLVW D FRQFHSWHORU GH ED] üL D FHORU mai populare tehnologii ale Web-ului, cu reliefarea GLUHFLLORU GH HYROXLH FWUH Data Web, Social Web üL FHHD FH YD IL Semantic Web. De la prezentarea modului de acces via protocolul HTTP (Hypertext Transfer Protocol), de- WDOLHP FRPSRQHQWHOH GH ED] DOH IDPLOLHL GH OLPEDMH ;0/ SHQWUX D DMXQJH V GHVFULHP – într-un final mereu amânat – meta-GDWHOH üL RQWRORJLLOH (x- puneUHD HVWH UHDOL]DW GLQWU-R SHUVSHFWLY SUDJPDWLF GDU QX QHJOLMP PHQLonarea bazelor teoretice, acolo unde este cazul. 1XPHURDVHOH LPSOHPHQWUL SUH]HQWDWH UHFXUJ OD GLYHUVH SDUDGLJPH üL limEDMH GH SURJUDPDUH SUHFXP -DYD -DYD6FULSW 3HUO üL 3+3 'H asemenea, sunt descrise diverse limbaje de marcare bazate pe XML – XHTML 2.0, XForms, RDF (Resource Description Framework), FOAF (Friend Of A Friend
  19. 19. üL 2:/ Web Ontology Language) – üL sunt prezentate me- todologiile de proiectare a unora noi.
  20. 20. 3UHID10 0DWHULDOXO YD SXWHD IL SDUFXUV üL vQHOHV GH RULFH SHUVRDQ LQWHUHVDW GH domeniul Web, în special de meta-OLPEDMXO ;0/ LQWHQLRQkQG V-üL IRr- meze o privire de ansamblu asupra tehnologiilor actuale üL DVXSUD HYROXLHL Web-XOXL vQ YLLWRUXO DSURSLDW 9ROXPXO VH DGUHVHD] GH]YROWDWRULORU GH Vituri üL DSOLFDLL :HE VSHFLDOLüWLORU vQ GRPHQLL SUHFXP ED]HOH GH GDWH LQWHUDFiunea om-FDOFXODWRU LQWHOLJHQD DUWLILFLDO LQJLQHULD VRIWZDUH VDX FDOFXOXO GLs- tribuit, SUHRFXSDL GH PRGHODUHD FRQFHSWXDO D GDWHORU üL GH prelucrarea IOH[LELO HILFLHQW üL LQGHSHQGHQW GH SODWIRUP D GRFXPHQWHORU Atât stu- GHQLL üL PDVWHUDQ]LL GH OD IDFXOWLOH GH LQIRUPDWLF VDX FX SURILO vQUXGLW FkW üL HOHYLL GLQ FODVHOH PDUL YRU JVL FX FHUWLWXGLQH LQIRUPDLL GH LQWHUHV referitoare la Web. 'HüL OXFUDUHD GH ID D IRVW HIHFWLY VFULV vQ SHULRDGD LDQXDULH – 27 fe- EUXDULH FRQLQXWXO HL UHIOHFW H[SHULHQD DFXPXODW SH SDUFXUVXO XOWi- PLORU DQL üL VH ED]HD] vQWU-R DQXPLW PVXU SH DFWLYLWaWHD GHVIüXUDW GH autor în cadrul unor discipline ca Tehnologii Web, Semantic Web üL ,QWHUDFi- une om-calculator SUHGDWH OD )DFXOWDWHD GH ,QIRUPDWLF D 8QLYHUVLWLL Å$le- [DQGUX ,RDQ X]Dµ GLQ ,DüL $SUHFLHP LQWHUHVXO üL VSULMLQXO DFRUGat de-a lungul anilor de o parte din- WUH VWXGHQLL QRüWUL – DFWXDOPHQWH DEVROYHQL PDMRULWDWHD DUWHD QX DU IL DMXQV OD IRUPD DFWXDO IU DSRUWXO GLUHFW VDX LQGLUHFW DO GRPQLORU Dr. Cor- nelius Croitoru, Laurian Gridinoc, CWOLQ +ULFX, Dr. Toader Jucan, Manuel ûXEUHGX üL 'U ûWHIDQ 7UXüDQ-Matu 'H DVHPHQHD QH H[SULPP JUDWLWXGLQHD QRDVWU FROHFWLYXOXL (GLWXULL 3ROLURP üL SULQLORU QRüWUL 1X vQ XOWLPXO rând, mulXPLP ILUPHL 6QF52 SHQWUX DFRUGDUHD XQHL OLFHQH DFDGHPLFH D editorului XML oXygen /. SLWXO FULL SRDWH IL DFFHVDW OD http://www.infoiasi.ro/~busaco/books/xml/. Ma- joritatea surselor incluse în acest volum pot fi preluate direct de pe sit, sub auspiciile preY]XWH GH OLFHQHOH *18 GNU is Not UNIX). Autorul poate fi contactat via situl personal: http://www.infoiasi.ro/~busaco/. 1X QH PDL UPkQH GHFkW V Y GRULP R UH
  21. 21. SDUFXUJHUH SOFXW D FULL üL PXOW VXFFHV vQ DFWLYLWDWHD GXPQHDYRDVWU GH – SRWHQLDOL VDX FRQVDFUDL – DFWXDOLYLLWRUL VSHFLDOLüWL vQ WHKQRORJLLOH ;0/ Dr. Sabin Buraga ,DüL 27 februarie 2006
  22. 22. Capitolul 1 Calea de acces la Web „$ GHILQL vQVHDPQ D XFLGH D VXJHUD vQVHDPQ D FUHD” Stéphane Mallarmé $FHVW FDSLWRO DGXFH vQ DWHQLD FLWLWRUXOXL R VHULH GH DPQXQWH SULYito- are la protocolul de transfer al datelor hipertext ± HTTP (Hypertext Transfer Protocol). Suplimentar, se descriu caracteristicile principale ale identificatorilor uniformi de resurse. Cuvinte-cheie: protocol, HTTP, adresarea resurselor, URI. 1. Preambul 8QXO GLQWUH FHOH PDL LPSRUWDQWH üL PDL GH VXFFHV VHUYLFLL DOe Internetului, World Wide Web-ul – mai pe scurt, Web VDX VSDLXO WWW –, a fost instituit la CERN (Centre Européen pour la Recherche Nucléaire – Centrul European de HUFHWUL 1XFOHDUH GH OD *HQHYD
  23. 23. vQ DQXO JUaLH YL]LXQLL OXL 6LU 7LP Berners-Lee. AceVWD vPSUHXQ FX 5REHUW DLOODX üL R HFKLS GH VSHFLDOLüWL D propus un sistem informatic disWULEXLW VFRSXO SULQFLSDO XUPULW ILLQG IDFLOL- tarea accesului rapid la inIRUPDLLOH WHKQLFH FXSULQVH vQ PDQXDOHOH GH XWLOL]DUH D FDOFXODWRDUHORU 'RX PDUL GLUHFLL SUHFXUVRDUH WUHEXLH PHQLRQDWH • GH]YROWDUHD KLSHUWH[WXOXL VDX D SURFHVULL FRPSXWHUL]DWH D GRFX- mentelor electronice complexe); • SURJUHVXO vQUHJLVWUDW vQ FHHD FH SULYHüWH SURLHFWDUHD üL IRORVLUHD SURWRFRDOHORU ,QWHUQHW FDUH DX IFXW SRVLELO FRPXQLFDUHD JOREDO GLQWUH UHHOHOH GH FDOFXODWRare. Web-XO UHSUH]LQW XQ VLVWHP GH GLVWULEXLH ORFDO VDX JOREDO D LQIRUPDLLORU hipermedia (Berners-/HH
  24. 24. 'LQ SXQFW GH YHGHUH WHKQLF VSDLXO :HE SXQH OD GLVSR]LLH XQ VLVWHP JOREDO üL VWDQGDUGL]DW GH FRPXQLFare PXOWLPHGLD LQIRUPDLLOH ILLQG RUJDQL]DWH DVRFLDWLY üL GLsWULEXLWH vQ IXQFLH
  25. 25. Tehnologii XML12 GH FHUHULOH XWLOL]DWRULORU IXQFLRQkQG FRQIRUP Podelului client/server. Putem vedea Web-XO FD ILLQG XQ XQLYHUV LQIRUPDLRQDO FRPSXV GLQ elemente de interes, denumite resurse, desemnate de identificatori globali GHQXPLL 85, Uniform Resource Identifiers). În cadrul acestui capitol, ne vom concentra mai ales asupra celor mai importante detalii referitoare la protocolul HTTP, una dintre componentele GH ED] DOH VSDLXOXL ::: 2$VSHFWHHVHQLDOHSULYLWRDUHODSURWRFROXO+773 2.1. Preliminarii %D]D FRPXQLFULL GLQWUH VHUYHUHOH üL FOLHQLL :HE OD QLYHO GH DSOLFaLH HVWH DVLJXUDW GH SURWRFROXO HTTP (Hypertext Transfer Protocol), ajuns actu- DOPHQWH OD YHUVLXQHD üL SUHFL]DW Ge documentul RFC 2616 (Gettys et al., 1999). Protocolul HTTP este folosit în special pentru hipertext, dar poate fi FRQVLGHUDW GUHSW SURWRFRO JHQHULF ED]D FRPXQLFULL vQWU-un sistem GLVWULEXLW GH PDQDJHPHQW DO GDWHORU 2 FDUDFWHULVWLF LPSRUWDQW D protocROXOXL HVWH LQGHSHQGHQD GH SODWIRUP GLIHULWHOH FDOFXODWRDUH FDUH FRPXQLF SULQ +773 SXWkQG IRORVL GLYHrVH VLVWHPH GH RSHUDUH üL DSOLFDLL KLSHUWH[W $FHDVWD VH UHDOL]HD] SULQ QHJRFLHUHD PRGXOXL GH UHSUH]HQWDUH D GDWHORU FDUH XUPHD] D IL WUDQVPLVH üL SULQ FDSDFLWDWHD LPSOHPHQWULORU GH D codifica sau decoGLILFD GDWHOH +773 HVWH IRORVLW vQF GLQ DQXO GH OD începuturile Web-ului. +773 UHSUH]LQW XQ SURWRFRO JHQHULF SHQWUX WUDQVPLWHUHD LQIRUPDLLORU în format hipertext, el aplicându-VH üL vQWUH XWLOL]DWRU üL Lntermediari pentru alte protocoale mai vechi: SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol) sau NNTP (Network News Transfer Protocol) detalii în Naik, 1998). Fiind un protocol utilizat în Internet, HTTP este bazat pe stiva de protocoale TCP/IP (Transmission Control Protocol/Internet Protocol), putând fi considerat fiabil (reliable). RQFHSWHüLIXQFLRQDUH 3ULQFLSDOHOH FRQFHSWH FX FDUH OXFUHD] SURWRFROXO VXQW cererea üL UVSXQVXO: un client Web trimite un mesaj (cererea) la un server 0HVDMXO FRQLQH identificatorul resursei dorite, dat sub forma unui URI (Uniform Resource Identifier
  26. 26. PHWRGD GH DFFHV IRORVLW YHUVLXQHD SURWRFoOXOXL SUHFXP üL R serie de meta-LQIRUPDLL FDUH SRW IL XWLOH VHUYeUXOXL 5VSXQVXO VHUYHUXOXi FXSULQGH XQ FRG LQGLFkQG VWDUHD VHUYHUXOXL GXS LQWHUSUHWDUHD FHUHULL XQ
  27. 27. Calea de acces la Web 13 mesaj explicativ pentru codul de stare transmis, meta-LQIRUPDLLOH FDUH YRU IL SURFHVDWH GH FWUH FOLHQW üL HYHQWXDO XQ FRQLQXW e.g., UHVXUVD VROLFLWDW
  28. 28. În general, o sesiune GH FRPXQLFDUH +773 HVWH LQLLDW GH FWUH FOLHQW üL FRQVW GLQ FHUHUHD XQHL UHVXUVH LGHQWLILFDWH XQLF SH XQ VHUYHU FXQRVFXW $FHVWD HVWH QXPLW üL server de origine GDWRULW IDSWXOXL F vQ FRPXQLFDUHD vQWUH FOLHQW üL VHUYHU SRW V DSDU XQXO VDX PDL PXOL intermediari: proxy QXPLW üL server proxy), SRDUW (gateway) sau tunel (tunnel): – Proxy-ul este un intermediar care retrimite un mesaj HTTP, eventual modificând o parte a sa. – Poarta UHSUH]LQW XQ Lntermediar care se poate situa înaintea unui server de orLJLQH üL V VH LGHQWLILFH GUHSW DFHVWD FOLHQWXO :HE necunoscând acest aspect. – Tunelul HVWH XQ LQWHUPHGLDU FDUH QX VFKLPE FRQLQXWXO PHVDMXOXL HO are rol exclusiv de retransmitere a lui; de exemplu, tunelul poate fi folosit pentru (de)criptarea mesajeloU YHKLFXODWH vQWUH VHUYHU üL FOLHQW în cadrul unui intranet/extranet. ÍQ FHOH PDL PXOWH GLQWUH FD]XUL vQWUH FOLHQWXO üL VHUYHUXO GH RULJLQH QX H[LVW LQWHUPHGLDUL vQWUH DFHVWHD VWDELOLQGX-VH R FRQH[LXQH GLUHFW D VH YHGHD üL ILJXUD
  29. 29. Figura 1. Modelul client/server HTTP: FOLHQWXO :HE IRUPXOHD] R FHUHUH GH VROLFLWDUH D XQHL UHVXUVH VWRFDWH SH XQ VHUYHU :HE üL SULPHüWH UVSXQVXO IXUQL]DW GH DFHO VHUYHU De asemenea, un alt concept important este cel de cache, desemnând un depozit local de stocare (în memorie, pe disc) a mesajelor (datelor) la nivel de server/client. Un proxy GHLQH REOLJDWRULX XQ cache ILLQG GHQXPLW üL sistem de cache YH]L üL VHFLXQHD D FDSLWROuOXL GH ID
  30. 30. Un exemplu tipic de cerere-UVSXQV HVWH XUPWRUXO vQ FDUH FHUHUHD DUH forma:
  31. 31. Tehnologii XML14 GET / HTTP/1.1 Host: www.infoiasi.ro User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115 Accept: image/gif, image/jpeg, */* Accept-Language: en-us Accept-Encoding: gzip, deflate, compress, identity Connection: Keep-Alive Un pRVLELO UVSXQV DU SXWHD IL FHO GH PDL MRV HTTP/1.1 302 Found Date: Mon, 02 Jan 2006 13:42:40 GMT Server: Apache/2.0.40 (Red Hat Linux) Location: http://www.infoiasi.ro/fcs/index.html Content-Length: 295 Connection: close Content-Type: text/html; charset=iso-8859-1 !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN html headtitle302 Found/title/head bodyh1Found/h1pThe document has moved a href=http://www.infoiasi.ro/fcs/index.html here/a./p hr /addressApache/2.0.40 Server at www.infoiasi.ro Port 80/address/body /html Vom descrie în continuare elementele importante ale protocolului. Adresarea resurselor Web Pentru transferul documentelor hipertext, acestea trebuie adresate într-un mod uniform, independent de sistemul de VWRFDUH üL GH FRQYHQLLOH UHHOHL 0RGDOLWDWHD GH DGUHVDUH IRORVLW SH :HE HVWH UHSUe]HQWDW GH identificatorii uniformi de resurse ± URI (Uniform Resurse Identifiers) (detalii în Berners-Lee, )LHOGLQJ üL 0DVLQWHU
  32. 32. . Ceea ce este deseori denumit adres ::: LGHQWLILFDWRU XQLYHUVDO GH documente sau localizator uniform de resurse este unificat în terminologia Internet într-un singur concept: LGHQWLILFDWRU XQLIRUP GH UHVXUV üL UHSUH]HQWDW într-R IRUP XQLF üL FRQVLVWHQW 0XOLPHD 85, HVWH SDUWLLRQDW vQ GRX VXEPXOLPL LPSRUWDQWH URL (Uniform Resource Locator
  33. 33. üL URN (Uniform Resource Name).
  34. 34. Calea de acces la Web 15 URL-XO HVWH IRORVLW vQ ORFDOL]DUHD XQHL UHVXUVH vQ UHHD vQ VSHFLDO vQ Internet) prin protoculul HTTP. Sintaxa URL pentru Web este: http: // server [ : port ][ FDOHBDEVROXW [ ? interogare ]] 'DF QX HVWH VSHFLILFDW H[SOLFLW SRUWXO HVWH FRQVLGHUDW D IL SRUWXO (portul implicit standard pentru protocolul HTTP). Semantica unui URL HVWH XUPWRDUHD UHVXUVD VH DIO SH XQ VHUYHU LGHQWLILFDW SULQ server, care „asculWµ HYHQWXDOH FHUHUL GH FRQHFWDUH OD SRUWXO VSHFLILFDW VDX LPSOLFLW resursa esWH LGHQWLILFDW SULQ FDOHBDEVROXW ÍQ JHQHUDO WUHEXLH HYLWDW folosirea drept server a adresei IP (e.g., 193.231.30.225) în favoarea folosirii numelui simbolic asociat acesteia (i.e., www.infoiasi.ro). Parametrul FDOHBDEVROXW UHSUH]LQW XQ üLU GH QXPH GH GLUHFWRDUH GHOLPLWDWH GH FDUDFWHUXO ŵ HYHQWXDO WHUPLQDW FX QXPHOH ILüLHUXOXL FDUH VWRFKHD] UHVXUVD DGUHVDW SULQ LQWHUPHGLXO 85/-ului. Componenta interogare desHPQHD] XQ üLU VXSOLPHQWDU LQFOu]kQG LQIRUPDLL LQWHUSUHWDWH GH UHVXUV (de cele mai multe ori, de un script), caracterele „;”, „/”, „?”, „:”, „@”, „”, Å µ ŵ ŵ üL ŵ ILLQG UH]Hrvate. 7UHEXLH PHQLRQDW IDSWXO F DFHVWH FDUDFWHUH VSHFLDOH VXQW FRGLILcate conform unei metode denumite URL encoding, vQ FDUH FDUDFWHUXO vQ FDX] HVWH VXEVWLWXLW GH FRGXO VX QXPHULF vQ ED]D SUHIL[DW GH VHPQXO ŵ GH H[HPSOX Åaµ GHYLQH Å(µ
  35. 35. 6SDLXO HVWH vQORFXLW FX ŵ Câteva exemple de URL-uri: • http://www.linux.org/ • http://students.infoiasi.ro/~lug/ • http://193.231.30.131/~busaco/ 3UHFL]P IDSWXO F XQ 85/ SRDWH DYHD GUHSW VXIL[ XQ LGHQWLILFDWRU GH IUDJPHQW SUHFHGDW GH FDUDFWHUXO ŵ FX VFRSXO GH D IDFH UHIHULUH GLUHFW OD R SDUWH FRQVWLWXHQW D UHVXUVHL DGUHVDWH de acel URL. Drept exemplificare, se poate da: http://www.sit.ro/buletin.html#a2005. Un URN GHVHPQHD] XQ VXEVHW DO 85, FDUH UPkQH SHUPDQHQW üL XQLF FKLDU GDF UHVXUVD D GLVSUXW RUL D GHYHQLW LQDFFHVLELO 851-ul se XWLOL]HD] PDL DOHV SHQWUX D GHVHPQD HQWLWL WLSXUL GH GDWH VSDLL GH QXPH HWF
  36. 36. IRORVLWH GH DQXPLWH DSOLFDLL :HE D H[HPSOH GH 851-uri putem da: • urn:infoiasi.ro:BookInfo – HVWH VSHFLILFDW GH R DSOLFDLH :HE GHVHPQDW GH GRPHQLXO infoiasi.ro; • urn:mozilla:package:communicator – identific SDFKHWHOH VRIW- ware ale suitei Mozilla; • urn:schemas-microsoft-com:datatypes – GHVHPQHD] WLSXrile de date definite de Microsoft;
  37. 37. Tehnologii XML16 • urn:ISBN:973-681-988-4 – VSHFLILF QXPUXO ,6%1 International Standard Book Number) asoFLDW XQHL FUL • urn:ietf:rfc:2401 – VH UHIHU OD LGHQWLILFDUHD XQXL SURWRFRO standardizat de IETF (în cazul acesta, IP Secure). Într-un context mai general, URI-XULOH SRW GHVHPQD UHVXUVH FDUH V SRDW IL DFFHVDWH SULQ LQWHUPHGLXO SURWRFRDOHORU 73,3 $VWIHO IRUPD JHQHULF D unui identifiFDWRU XQLIRUP GH UHVXUVH SUH]LQW XUPWRDUHOH FRPSRQHQWH principale: schema :// autoritate cale ? interogare Componenta schema LGHQWLILF PRGDOLWDWHD GH LGHQWLILFDUH D SURWRFROXOXL GH WUDQVIHU XWLOL]DW SHQWUX D DYHD DFFHV OD R DQXPLW UHVXUV HOHODOWe elemente sunt similare celor descrise mai sus. Schemele URI se înre- JLVWUHD] OD ,$1$ Internet Assigned Numbers Authority) – lista schemelor 85, DFWXDOH HVWH GLVSRQLELO OD DGUHVD http://www.iana.org/assignments/ uri-schemes. Ca exemple de scheme se pot enumera: • data:image/png;base64,R101...A7 – schema data SHUPLkQG LQFOXGHUHD vQ PDQLHU inline D XQRU LQIRUPDLL GH PLFL Gimensiuni; DFHDVW WHKQLF VH QXPHüWH üL DGUHVDUH LPHGLDW (Masinter, 1998); VLQWD[D JHQHUDO DUH IRUPD data: [ tip_MIME ][ ;base64 ] , FRQLQXW, în care tip_MIME UHSUH]LQW WLSXO 0,0( DO UHVXUVHL (vezi infra), iar FRQLQXW GHVHPQHD] FRQLQXWXO SURSULX-zis al UHVXUVHL FRGLILFDW EDVH vQ FD]XO vQ FDUH H VSHFLILFDW FODX]D base64) sau în maniera URL-urilor. Un alt exemplu este data:text/plain;charset=iso-8859-7,%be%fg%be; • file:///tmp/ – VFKHP file FH GHVHPQHD] UHVXUVH GH WLS ILüLHU GLQ cadrul sistemului de stocare de la nivelul clientului; • ftp://ftp.funet.fi/pub/README.txt – VFKHP ftp pentru serviciile protocolului de transfHU GH ILüLHUH )73
  38. 38. • https://www.infoiasi.ro/~busaco/teach/ – VFKHP https pen- tru serviciile protocolului securizat HTTPS (vezi Rescorla, 2000); • mailto:busaco@infoiasi.ro – VFKHP mailto SHQWUX SRüWD HOHFWURQLF VH XWLOL]HD] GH RELFHL SURWRFROXO GH WUDQsfer SMTP); • news:comp.infosystems.www.servers.unix – VFKHP news SHQWUX JUXSXULOH GH üWLUL 86(1(7 1173 – Network News Transport Protocol); • tag:blogger.com,2006:blog-333 – VFKHP tag GHVWLQDW V identifice în mod unic – VSDLDO üL WHPSRUDO – R DQXPLW UHVXUV într-R PDQLHU FRQYHQDELO SHQWUX XWLOL]DWRU vQ DFHVW FD] HVWH YRUED
  39. 39. Calea de acces la Web 17 de subiectele de interes ale unui blog
  40. 40. DFHDVW VFKHP DUH VLQWD[D tag: autoritate , GDWDBFDOHQGDULVWLF : infor- PDLL [# fragm_URI], unde autoritate GHVHPQHD] XQ GRPHQLu '16 VDX R DGUHV GH e-mail, GDWDBFDOHQGDULVWLF VSHFLILF R GDW în forma AAAA-LL-ZZ (doar anul e obligatoriu), iar LQIRUPDLL sunt caractere codificate în stilul URL-XULORU IXQFLRQkQG VLPLODU componentei interogare SUH]HQWDW DQWHULRU GHWDOLL vQ .LQGEHUJ üL Hawke, 2005); • telnet://delta.ac.tuiasi.ro:7777 – VFKHP telnet pentru servicii interactive via protocolul TELNET. 5HODWLY UHFHQW DX IRVW LQVWLWXLL üL LGHQWLILFDWRULL LQWHUQDLRQDOL]DL GH UHVXUVH GHQXPLL ,5, ± Internationalized Resource Identifiers 'UVW üL 6XLJQDUG
  41. 41. $FHüWLD VXQW FRPSOHPHQWDUL 85,-XULORU SHUPLkQG specificarea unor seturi de caractere mai largi decât ASCII (e.g., Unicode). De exemplu, http://color.org/ros#xE9 este identic cu URI-ul http://color.org/ros#233 (folosind eQWLWLOH-caracter permise de HTML/XML) sau http://color.org/ros#xE9 XWLOL]kQG HQWLWLOH-FDUDFWHU 8QLFRGH GLQ ;0/
  42. 42. üL SRDWH IL UHSUH]HQWDW vizual prin http://color.org/rosé ÍQ DFHVW FRQWH[W WUHEXLH PHQLRQDW üL VSHFLILFDLD SULYLWRDUH OD QXPHOH GH GRPHQLL LQWHUQDLRQDOH – IDN (International Domain Names), extinzând sistemul numelor de domenii DNS (Domain Name System). RGLILFDUHDFRQLQXWXOXL 3HQWUX FD GDWHOH V ILH FRUHFW LQWHUSUHWDWH LQGLIHUHQW GH SODWIRUPD KDUGZDUH üL VRIWZDUH HOH WUHEXLH V UHVSHFWH DFHHDüL FRGLILFDUH SH :HE (VWH GHILQLW conceptul de set de caractere, pentru a putea interpreta corect datele VFKLPEDWH XWLOL]kQG SURWRFROXO +773 vQWUH GRX SODWIRUPH GLIHULWH FX UHSUH]HQWUL GLIHULWH DOH GDWHORU $VWIHO LQIRrPDLD HVWH WUDQVPLV în forma XQXL üLU GH FDUDFWHUH XUPkQG FD HQWLWaWHD GH OD FHOODOW FDSW IRORVLQG LQGLFDLLOH GHVSUH VHWXO GH FDUDFWHUH V UHDOL]H]H WUDQVIRUPDUHD GLQ üLU GH RFWHL vQ üLU GH FDUDFWHUH 6HWXO GH FDUDFWHUH LPSOLFLW HVWH ,62-8859-1, dar H[LVW R PXOWitudine de alte seturi (de exemplu, ISO-8859- GHQXPLW üL Latin- FDUH RIHU SULQWUH DOWHOH üL UHSUezentarea diacriticelor din limba URPkQ
  43. 43. 3URWRFROXO +773 UHVSHFW VHWXULOH GH FDUDFWHUH GHILQLWH GH VSHFLILFDLLOH MIME (Multipurpose Internet Mail Extensions) descrise pe larg în GRFXPHQWHOH 5) üL YH]L )UHHG üL %RUHQVWHLQ D üL UHVSHFWLY )UHHG üL %RUHQVWHLQ E
  44. 44. RQIRUP VWDQGDUGXOXL 0,0( SHQWUX ILHFDUH UHVXUV VH VSHFLILF WLSXO üL VXEWLSXO DFHVWHLD 'H H[HPSOX text/html pentru un document HTML, text/plain în cazul unui document text neformatat,
  45. 45. Tehnologii XML18 image/jpeg pentru o imagine în format JPEG, video/mpeg în cazul unui film MPEG, model/vrml SHQWUX R OXPH YLUWXDO PRGHODW vQ 950/ HWF SHQWUX mai multe detalii, vezi Buraga, 2005). De asemenea, PHVDMHOH SRW IL FRGLILFDWH vQ YHGHUHD FRPSULPULL VDX DVL- guUULL LGHQWLWLL üLVDX LQWHJULWLL 'H H[HPSOX VXQW SHUPLVH FRGLILFULOH • gzip – UHSUH]LQW FRGLILFDUHD /HPSHO-=LY /=
  46. 46. IRORVLW GH FWUH SURJUDPXO GH DUKLYDUH FX DFHODüL QXPH GLVSRQLELO în mediile UNIX/Linux; • compress – UHSUH]LQW R FRGLILFDUH /HPSHO-Ziv-Welch (LZW) utili- ]DW GH FWUH XWLOLWDUXO GH DUKLYDUH FX DFHODüL QXPH vQWkOQLW SH platformele UNIX. 2.3. Mesajele HTTP HUHULOH üL UVSXQVXULOH +773 VXQW YHKLFXODWH SULQ LQWHUPHGLXO PHVDjelor. $VWIHO PHVDMHOH +773 VXQW FRQVLGHUDWH GH GRX WLSXUL cerere de la client FWUH VHUYHU üL UVSXQV DO VHUYHUXOXL FWUH FOLHQW (OH UHSUH]LnW HQWLWLOH JHQHULFH GLQ FRPXQLFDUHD +773 XQ PHVDM DYkQG OD SULPD YHGHUH XUP- WRDUHD IRUP Mesaj HTTP = linie_de_start (atribut_de_antet)* CRLF [ FRQinut_mesaj ] Componenta linie_de_start HVWH QXPLW linie de cerere sau linie de stare în FD]XO FHUHULL UHVSHFWLY UVSXQVXOXL 0HWD-caracterul „*” desemQHD] IDSWXO F QXPUXO GH DSDULLL SRDWH IL QXO XQX VDX RULFDUH LDU 5/) UHSUH]LQW VHFYHQD GH FDUDFWHUH Carriage Return FRGXO
  47. 47. üL Line Feed (codul 10). RQVWUXFLD Å[...]µ LQGLF R DSDULLH RSLRQDO D H[SUHVLHL GLQWUH SDUDQ- tezele drepte. În descrierea de mai sus, atribut_de_antet IRUPHD] SDUWHD GH VWart a PHVDMXOXL DGLF antetul (header
  48. 48. 8Q DQWHW FRQLQH PDL PXOWH DWULEXWH FDUH VXQW IRORVLWH OD FRPSOHWDUHD XQHL FHUHUL VDX D XQXL UVSXQV FX PHWD-infor- PDLD QHFHVDU LQWHUSUHWULL FRUHFWH D PHVDMXOXL SULQ VWDEilirea unor valori VSHFLILFDWH GH FWUH SUotocolul HTTP sau a unor protocoale definite de utilizator (de exemplu, SOAP – Simple Object Access Protocol). Fiecare atribut FRQLQXW vQ DQWHW HVWH GH IRUPD Atribut de antet = nume_atribut : [ valoare_atribut ] 2UGLQHD DFHVWRUD QX HVWH VHPQLILFDWLY GDU HVWH LQGLFDW V VH WULPLW PDL vQWkL DWULEXWHOH JHQHUDOH IRORVLWH GH RELFHL DWkW SHQWUX FHUHUH FkW üL SHQWUX UVSXQV
  49. 49. DSRL DWULEXWHOH VSHFLILFH WLSXOXL UHVSHFWLY GH PHVDM LDU OD VIkUüLW FHOH VSHFLILFH HQWLWLL FXSULQVH vQ FRQLQXWXO Pesajului.
  50. 50. Calea de acces la Web 19 CRUSXO PHVDMXOXL +773 FRQLQH HQWLWDWHD DVRFLDW FHUHULL VDX UVSXQ- sului, de multe ori reprezentând chiar resursa din linia de antet a cererii. RUSXO XQXL PHVDM SRDWH OLSVL GDF PHWRGD GLQ FHUHUH R Lmpune, el chiar WUHEXLH V OLSVHDVF
  51. 51. 3UH]HQD FRUSXOXi mesajului este, de obicei, VHPQDOL]DW SULQ SUH]HnD vQ DQWHWXO +773 D XQRU DWULEXWH UHIHULWRDUH OD acesta: Content-Length sau Transfer-Coding. Lungimea unui mesaj este consi- GHUDW OXQJLPHD vQWUHJXOXL FRUS GXS DSOLFDUHD OD FRQLQXWXO LQLLDO D XQRU eventuale codifiFUL Mesajul de tip cerere (Request) )RUPD JHQHUDO D XQXL PHVDM GH WLS FHUHUH HVWH Cerere HTTP = linie-de-cerere (antet-general | antet-cerere | antet-entitate)* CRLF [ corpul-mesajului ] /LQLD GH FHUHUH GHEXWHD] FX QXPHOH PHWRGHL Iolosite, urmat de LGHQWLILFDWRUXO UHVXUVHL FUHLD L VH DGUHVHD] FHUHUHD 85,
  52. 52. üL GH YHUVLXQHD protocolului (e.g., HTTP/1.1). Linie de cerere = PHWRG SP identificator-UHVXUV SP versiune-HTTP CRLF 7UHEXLH SUHFL]DW üL IDSWXO F VHFYHQD 5/) WUHEXLH V DSDU vQ vQWUHJLPH LDU SUH]HQD VHSDUDW D XQXLD GLQWUH RFWHLL UHSUH]HQWkQG 5 VDX LF este inWHU]LV SH SDUFXUVXO OLQLHL GH FHUHUH 63 GHVHPQHD] XQ VSDLX DOE (blank). 0HWRGD FHUHULL HVWH LQGLFDW OD vQFHSXWXO OLQLHL GH FHUHUH üL UHSUH]LQW DFLXQHD FDUH YD IL vQWUHSULQV vQ UDSRUW FX UHVXUVD VSHFLILFDW GH FWUH 85, În general, metoda este case-sensitive GH RELFHL SUHFL]DW FX PDMXVFXOH
  53. 53. SULQWUH FHOH PDL X]XDOH PHWRGH SHUPLVH GH VSHFLILFDLD +773 HQXme- rându-VH *(7 +($' 3267 üL 237,216 *HWWs et al.
  54. 54. ([LVW GH asemenea, posibilitatea folosirii altor metode, nestandardizate, atât timp cât HOH SRW IL LGHQWLILFDWH GH FWUH WRDWH SULOH FRPXQiFULL HOH PDL XWLOL]DWH PHWRGH +773 VH EXFXU GH XUPWRDUHOH FDUDFWHULVWLFL • GET – UHSUH]LQW R FHUHUH GH DFFHVDUH D XQRU LQIRUPDLL HQWLWL
  55. 55. 8Q FOLHQW +773 QDYLJDWRU URERW SURJUDP GH GHVFUFare, agregator de üWLUL HWF
  56. 56. IRORVHüWH PHWRGD *(7 SHQWUX D RELQH R DQXPLW UHVXUV ILH F HD UHSUH]LQW XQ ILüLHU GRFument text, HTML, imagine PNG saX -3(* DSOLFDLH DUKLY GRFXPHQW ;0/ HWF
  57. 57. ILH F LQGLF
  58. 58. Tehnologii XML20 H[HFXLD SH VHUYHUXO :HE D XQXL SURFHV FDUH YD SURGXFH GDWHOH dorite (e.g., invocarea unui script CGI); • HEAD – HVWH VLPLODU FX PHWRGD *(7 GDU VHUYHUXO YD UHWXUQD XQ PHVDM DYkQG LQIRUPDLL GRDU în antet. Meta-datele din anteturile +773 GLQ Uspunsul la o cerere HEAD vor fi identice cu cele din UVSXQVXO OD R FHUHUH *(7 8WLOLWDWHD DFHVWHL PHWRGH FRQVW vQ REL- nerea meta-datelor asociate unei resurse Web fU D WUDQVIHUD HIHFWLY întreaga entitate, în vederea – de exemplu – D WHVWULL H[LVWHQHL UHVXUVHL D RELQHULL GDWHL XOWLPHL PRGLILFUL VDX D IXUQL]ULL GUHSWX- rilor de acces; • POST – PHWRGD HVWH XWLOL]DW SHQWUX D LGHQWLILFD GDF VHUYHUXO DFFHSW R HQWLWDWH vQJOREDW vQ FDGUXO FHUHULL 3267 HVWH SURLHFWDW V LPSOHPHQWH]H R PHWRG XQLIRUP SHQWUX IXQFLL SUecum adnotarea UHVXUVHORU WULPLWHUHD GDWHORU XQXL IRUPXODU :HE FWUH VHUYHU extinderea unei baze de date printr-R RSHUDLXQH GH LQVHUDUH HWF • OPTIONS – UHSUH]LQW R FHUHUH GH LQIRUPDLL GHVSUH RSLXQLOH GH FR- municare disponibile într-XQ GLDORJ +773 FHUHUHUVSXQV $FHDVW PHWRG DUH UROXO GH D RIHUL XQXL FOLHQW SRVLELOLWDWHD GH D DFKL]LLona LQIRUPDLL GHVSUH R UHVXUV GH SH XQ VHUYHU VDX FKLDU GHVSUH XQ VHU- ver Web sau server proxy, fU D LPSOLFD R DFLXQH GLUHFW DVXSUD unei resurse (de exemplu, în vederea negocierii transmiterii de date). 8Q H[HPSOX GH OLQLH GH FHUHUH FDUH VH DGUHVHD] XQXL proxy (folosind un 85, GDW vQ IRUPD DEVROXW
  59. 59. HVWH XUPWRUXO GET http://students.infoiasi.ro/~revista HTTP/1.1 HO PDL IUHFYHQW PRG GH D VSHFLILFD R UHVXUV HVWH SULQ FDOHD DEVROXW SkQ OD DFHDVWD DYkQG 85,-ul specificat ca valoare a atributului Host. Un H[HPSOX GH FHUHUH vQ YHGHUHD RELQHUHD UHVXUVHL /pub/index.html de pe VHUYHUXO VWXGHQLORU GH OD )DFXOWDWHD GH ,QIRUPDWLF GLQ ,DüL VH YD IRUPXOD GXS VWDELOLUHD FRQH[LXQLL 73 SH SRUWXO DO PDüLQLL students.infoiasi.ro astfel: GET /pub/index.html HTTP/1.1 Host: students.infoiasi.ro DOHD DEVROXW QX SRDWH IL YLG HD WUHEXLH V FRQLQ FHO SXLQ Faracterul ŵ FDUH UHSUH]LQW GRFXPHQWXO UGFLQ RULFH GHVFULHUH LQYDOLG D UHVXUVHL ILLQG VHPQDODW SULQWU-XQ FRG GH VWDUH FRUHVSXQ]WRU Pot fi specificate atribute de cerere care sunt folosite pentru a transmite LQIRUPDLL VXSOLPHQWDUH GHVSUH DFHD FHUHUH üL GHVSUH FOLHQW 6H SRDWH IDFH R DQDORJLH vQWUH WULPLWHUHD XQHL PHWRGH +773 FX DSHOXO XQHL IXQFLL GLQWU-un
  60. 60. Calea de acces la Web 21 OLPEDM GH SURJUDPDUH XQGH DWULEXWHOH UHSUH]LQW SDUDPHWULL GH LQWUDUH Câteva dintre aceste atribute specifice cererii sunt: Accept, Accept-Encoding, Authorization, From, Host, Proxy-Authorization, Referer sau User-Agent (a se FRQVXOWD üL VHFLXQHD D FDSLWROXOXL GH ID
  61. 61. 0HVDMXOGHWLSUVSXQVResponse) 'XS SULPLUHD üL LQWHUSUHWDUHD XQXL PHVDM GH WLS FHUHUH üL LQWHUSUHWDUHD OXL un servHU +773 UVSXQGH FX XQ PHVDM GHQXPLW UVSXQV )RUPD JHQHUDO D acestuia este: 5VSXQV +773 linie-de-stare (antet-general | antet-cerere | antet-entitate)* CRLF [ corpul-mesajului ] Linia de stare începe cu versiunea protocolului HTTP implementat de FWUH VHUYHU üL FRQWLQX FX XQ FRG GH VWDUH UHSUH]HQWkQG QXPUXO DVRFLDW GH FWUH VSHFLILFDLD +773 XQHL DQXPLWH VLWXDLL D VHUYHUuOXL vQ XUPD WUDWULL XQHL FHUHUL 8UPHD] XQ WH[W H[SOLFDWLY SHQWUX FRGXO GH VWDUH FDUH QX WUHEXLH V ILH VWULFW HO SXWkQG IL GHFLV RGDW FX LPSOHPHQWDUHD SURpriu-]LV GDU HVWH LQGLFDW V FODULILFH VLWXDLD HxSULPDW GH FRGXO GH VWDUH Linie-de-stare = versiune-HTTP SP cod-de-stare SP text-explicativ CRLF Cod-de-stare este format din trei cifre organizate în categorii de VWUL DVWIHO vQFkW FRGXULOH GLQ DFHHDüL FDWHJRULH VH UHIHU OD VWUL VLPLODUH HOH VXQW GLVWLQVH GXS SULPD FLIU vQ PRGXO XUPWRU • 1xx: Informativ – FHUHUHD D IRVW SULPLW FRPXQLFDLD FRQWLQX • 2xx: Succes – FHUHUHD D IRVW SULPLW LQWHUSUHWDW üL DFFHSWDW GH FWUH server; • [[ 5HGLUHFLRQDUH – pentru a atinge scopul cererii este nevoie de o inteURJDUH XOWHULRDU HYHQWXDO FWUH XQ DOW VHUYHU • [[ (URDUH SURYRFDW GH FWUH FOLHQW – ILH FHUHUHD HVWH LQFRUHFW GLQ punct de vedere sintactic, fie nu poate IL VDWLVIFXW • [[ (URDUH SURYRFDW GH FWUH VHUYHU – FHUHUHD HVWH DSDUHQW FRUHFW GDU serverul nu o poate îndeplini din diferite motive. 7H[WXO H[SOLFDWLY HVWH LQWURGXV SHQWUX D RIHUL R LQIRUPDLH VXSOLPHQWDU putând fi de folos dezvoltatorilor de apOLFDLL :HE FXP DU IL SURJUDPDUHD OD nivelul serverului HTTP prin diferite tehnologii, precum CGI, PHP sau JSP GHWDOLL vQ *HWWV üL %XUDJD
  62. 62. Tehnologii XML22 'H DVHPHQHD SULQ LQWHUPHGLXO DWULEXWHORU VSHFLILFH UVSXQVXULORU +773 VH SRW WUDQVPLWH LQIRUPDLL DGLLRQDOH kWHYD GLQWUH DWULEXWHOH VSHFLILFH UVSXQVXULORU VXQW XUPWRDUHOH Location, Server sau WWW-Authenticate YH]L VHFLXQHD XUPWRDUH
  63. 63. Jurnalizarea cererilor 8Q H[HPSOX GH ILüLHU GH MXUQDOL]DUH D FHUHULORU +773 HVWH XUPWRUXO vQ acest caz, este voUED GH ILüLHUXO JHQHUDW GH VHUYHUXO $SDFKH
  64. 64. YH]L üL %XUDJD üL $FRVWFKLRDLH
  65. 65. dyn419.win.tue.nl – licenta [29/Sep/2005:11:08:04 +0300] GET /~busaco/teach/bsc2006/ HTTP/1.1 200 24757 dyn419.win.tue.nl – – [29/Sep/2005:11:07:54 +0300] GET /~busaco/teach/bsc2006 HTTP/1.1 401 1283 193.226.24.219 – – [29/Sep/2005:11:06:17 +0300] GET / HTTP/1.1 403 1039 83.115.156.9 – – [29/Sep/2005:11:05:59 +0300] GET /~busaco/paint/days/trio.jpg HTTP/1.1 304 – proxy.info.uaic.ro – – [29/Sep/2005:11:05:38 +0300] GET /favicon.ico HTTP/1.1 404 1035 rat.cluj.astral.ro – – [29/Sep/2005:11:04:27 +0300] GET /~linux/ HTTP/1.0 200 4974 triton.france3.fr – – [29/Sep/2005:11:04:27 +0300] GET /~acf/ HTTP/1.1 200 446 triton.france3.fr – – [29/Sep/2005:11:04:27 +0300] GET /~acf HTTP/1.1 301 327 crawl.googlebot.com – – [29/Sep/2005:11:03:11 +0300] GET /~busaco/paint/works/Forms.jpg HTTP/1.1 304 – 2.4. Atributele HTTP Vom descrie în continuare o serie dintre atributele vehiculate în cadrul cereULORU VDX UVSXQVXULORU +773 Accept (VWH XQ DWULEXW VSHFLILF XQHL FHUHUL +773 üL DUH XQ URO LPSRUWDQW vQ VWDELOLUHD WLSXOXL FRQLQXWXOXL SULQ LQWHUPHGLXO XQHL QHJRFLHUL FRQGXVH GH server. Prin intermediul acestui atribut, clientul are posibilitatea de a sSHFLILFD WLSXULOH PHGLD SH FDUH DFHVWD OH UHFXQRDüWH üL OH SRDWH LQWHUSUHWD VDX SRDWH LQGLFD QXPDL WLSXO GH UVSXQVXUL SUHIHUate. 6LQWD[D HVWH GDW PDL MRV
  66. 66. Calea de acces la Web 23 Accept = Accept : ( tip_media [ parametri ] )* Parametrul tip_media VH UHIHU OD WLSXULOH GH GDWH YHKLFXODWH üL DUH IRUPD tip_media = (*/*) | (tip / *) | (tip / subtip) Componenta parametri are sintaxa: parametri = ; q = valoare_calitate (extensie)* Caracterul asterisc „*” este folosit pentru a specifica un grup de tipuri folosind conYHQLLOH 0,0( SUH]HQWDWH PDL VXV Å*/*µ UHSUH]LQW WRDWH tipurile media, iar „tip/*µ GHVHPQHD] WRDWH VXEWLSXULOH 0,0( DOH WLSXOXL VSHFLILFDW GH FRQVWUXFLD tip. Fiecare tip_media poate fi urmat de unul sau PDL PXOL SDUDPHWUL vQFHSkQG FX SDUDPHWUXO Åq” denumit FDOLWDWH UHODWLY (relative quality
  67. 67. FDUH SHUPLWH DVRFLHUHD XQHL FDOLWL UHODWLYH SH R VFDO GH OD 0 la 1 a acestuia. Un exemplu: Accept: image/*; q=0.2, image/jpeg $FHDVW FRQVWUXFLH VSHFLILF SUHIHULQD SHQWUX WLSXO 0,0( image/jpeg, LDU GDF Dcest tip nu este disponibil, atunci se poate returna orice tip de imagine. Allow 6SHFLILF PHWRGHOH +773 SHUPLVH D IL IRORVLWH 'H FHOH PDL PXOWH RUL DSDUH într-XQ UVSXQV FX FRGXO GH VWDUH Method Not Allowed), indicând FOLHQWXOXL FH PHWRG SRDWH IL XWLOL]DW Authorization 8Q FOLHQW FDUH GRUHüWH V VH DXWHQWLILFH vQ JHQHUDO GXS SULPLUHD XQXL UVSXQV GH WLS Unauthorized
  68. 68. WUHEXLH V LQFOXG vQ FHUHUH DWULEXWXO Authorization, DYkQG FD YDORDUH LQIRUPDLD QHFHVDU DXWHQWLILFULL ÍQ JHQHUDO GXS FH XQ FOLHQW VH DXWHQWLILF OD XQ VHUYHU üL RELQH DXWRUL]DLLOH QHFHVDUH DFHVWHD DU WUHEXL V ILH YDODELOH üL SHQWUX XUPWRDUHOH FHUHUL QHFHVDUH SDUFXUJHULL XQHL SUH]HQWUL SHQWUX R SHULRDG GH WLPS determinaW Un exemplu efectiv de folosire a metodei de autorizare în cazul VHUYHUXOXL $SDFKH HVWH GLVSRQLELO vQ OXFUULOH %XUDJD üL %XUDJD üL $FRVWFKLRDLH
  69. 69. Tehnologii XML24 Cache-Control Permite controlul cache-ului, de cele mai multe ori la nivelul proxy-ului GLQWUH FOLHQW üL VHUYHU Sintaxa acestui atribut HVWH XUPWRDUHD Cache-Control = Cache-Control : (directiva = valoare)* Directivele cele mai folosite sunt: • max-age GHVHPQHD] WLPSXO PVXUDW vQ VHFXQGH
  70. 70. vQ FDUH VLVWHPXO de cache YD SVWUD R FRSLH D UHVXUVHL :HE • public VSHFLILF IDSWXO F GDWHOH SRW IL VWRFDWH GH FWUH RULFH VLVWHP de cache üL DFFHVDWH IU UHVWULFLL • private VHPQLILF IDSWXO F GDWHOH SRW IL PHPRUDWH GH VLVWHPXO GH FDFKH vQV QX YRU IL SDUWDMDWH DOWRU DSOLFDLL • no-cache VSHFLILF VLVWHPXOXL GH cache V UHvPSURVSWH]H GH ILHFDUH GDW Uesursele solicitate de un client; • no-store LQKLE VWRFDUHD GDWHORU OD QLYHOXO VLVWHPXOXL GH cache RSLXQH IRORVLWRDUH vQ FD]XO WUDQVIHUXOXL GH LQIRUPDLL VHQVLELOH
  71. 71. DFHDVW GLUHFWLY HVWH LJQRUDW GH ,QWHUQHW ([SORUHU GHFL QX SRDWH IL IRORVLW vQ SUDFWLF • must-revalidate VHPQLILF IDSWXO F VLVWHPXO GH cache WUHEXLH V verifice exSLUDUHD GDWHORU GHLQXWH OD ILHFDUH FHUHUH Un exemplu ar putea fi cel de mai jos: Cache-Control: max-age=600, no-cache=Set-Cookie Connection Este un atribut general fRORVLW SHQWUX D VSHFLILFD DQXPLWH SURSULHWL OHJDWH GH FRQH[LXQH vQ JHQHUDO 73,3
  72. 72. üL VH DSOLF GRDU FRPuQLFDLHL vQWUH GRX DSOLFDLL +773 GLQ ODQXO XQRU FHUHUL VDX UVSXQVXUL 2 YDORDUH VSHFLILF DFHVWXL DWULEXW HVWH Åcloseµ üL VHPQDOHD] vQFKLGHUHD FRQH[LXQLL GXS WULPLWHUHD PHVDMXOXL $FHVW DWULEXW HVWH XWLO vQ LPSOHPHQ- WDUHD FRQH[LXQLORU SHUVLVWHQWH üL LQGLF ILH F HVWH FXSULQV vQ FHUHUH VDX UVSXQV
  73. 73. vQWUHUXSHUHD FRQH[LXQLL GXS vQFKHLHUHD FLFOului cerere-UVSXQV actual. Content-Disposition PerPLWH R DQXPLW IOH[LELOLWDWH vQ WUDQVPLWHUHD XQRU WLSXUL SDUWLFXODUH GH UHSUH]HQWUL GH UHVXUVH HD PDL XWLOL]DW YDULDQW HVWH FHD vQ FDUH VH VSHFLILF SURJUDPXOXL GH QDYLJDUH V VDOYH]H FD ILüLHU GDWHOH UHFHSLRQDWH în loFXO UHGULL RELüQXLWH FD vQ H[HPSOXO XUPWRU
  74. 74. Calea de acces la Web 25 Content-Disposition: attachment; filename=articol.pdf Content-Type 'HVHPQHD] WLSXO 0,0( DO UHSUH]HQWULL UHVXUVHL VROLFLWDWH GH XQ FOLHQW RUL transmise de server. Acest atribut trebuie specificat obligatoriu în cadrul unui script CGI (Buraga et al., 2002). From RQLQH R DGUHV GH e-mail vQ JHQHUDO FHD D XWLOL]DWRUXOXL DSOLFDLHL +773 FOLHQW 9DORDUHD DFHVWXL DWULEXW SRDWH IL IRORVLW SHQWUX vQUHJLVWUDUHD DFFHVXOXL vQ ILüLHUHOH-jurnal (log-urile) ale serverului HTTP, în scopul identificULL FHUHULORU LQYDOLGH VDX UHVSLQVH 7ULPLWHUHD DFHVWHL LQIRUPDLL QX HVWH FRQVLGHUDW R SUREOHP GH VHFXULWDWH FL PDL GeJUDE XWLO SHQWUX GH- tecWDUHD FHUHULORU HIHFWXDWH VXE DOW QXPH VDX vQ FD]XO URERLORU :HE SHQWUX SRVLELOLWDWHD FRQWDFWULL SHUVRDQelor resSRQVDELOH OD DSDULLD XQRU DQRPDOLL GH IXQFLRQDUH DOH URERLORU UHspectivi. Host 5HSUH]LQW XQ DWULEXW IRORVLW SHQWUX VSHFLILFDUHD DGUHVHL ,QWHUQHW üL D SRUWXOXL vQ YHGHUHD VWDELOLULL H[DFWH D ORFDLHL XQGH VH DIO UHVXUVD FUHLD L VH DGUHVHD] FHrerea. Acest atribut trebuie inclus în orice cerere HTTP/1.1, WUHEXLH V UHIOHFWH vQWRFPDL LGHQWLWDWHD VHUYHUXOXL-RULJLQH VDX D SRULL indicate în URI-XO RULJLQDO üL DUH UROXO vQGHSUWULL SoVLELOHORU DPELJXLWL Sintaxa acestui atribut este: Host = Host : URI [ : port ] Pentru un URI de genul http://www.infoiasi.ro/fcs.css FHUHUHD WUHEXLH V FRQLQ GET /fcs.css HTTP/1.1 Host: www.infoiasi.ro ÍQ +773 SUH]HQD DWULEXWXOXL Host HVWH REOLJDWRULH FKLDU üL FX R YDORDUH YLG XQ proxy HTTP/1.1 trebuLH V YHULILFH F ILHFDUH FHUHUH LQFOXGH DFHVW DWULEXW 6HUYHUHOH +773 WUHEXLH V UVSXQG GH ILHFDUH GDW FX codul de stare 400 (Bad Request) la cererile HTTP/1.1 care nu includ atributul Host. Location $FHVW DWULEXW VSHFLILF UVSXQVXULORU +773 HVWH XWLOL]DW vQ FRQMXQFLH FX coduri de stare de tip 3xx SULQ FDUH VH LQGLF SURSULHWL DOH OoFDLHL FXUHQWH
  75. 75. Tehnologii XML26 a resursei) sau 201 (Created
  76. 76. ÍQ DPEHOH VLWXDLL VH SRDWH VWDELOL ORFDLD FXUHQW VDX SUHIHUDW D UHVXUVHL VXE IRUPD XQXL 85, DEVROXW Sintaxa acestXL DWULEXW HVWH XUPWRDUHD Location = Location : URI_absolut 8Q H[HPSOX GH UHGLUHFLRQDUH D FOLHQWXOXL browser-ului) Web este: Location: http://www.infoiasi.ro/~busaco/cv.html Referer Prin intermediul acestui atribut, clientul poate specifica, în interesul serverului, URI-XO GH OD FDUH UHVXUVD D IRVW RELQXW 6SUH H[HmSOX GDF într-XQ GRFXPHQW ;+70/ H[LVW R OHJWXU VSUH DOW GRFXPHQW FOLHQWXO poate include în cererea pentru al doilea document, ca Referer, URI-ul prin FDUH D IRVW RELQXW GRFXPHQWXO LQLLDO YH]L üL FHOH GLVFXWDWH vQ FDGUXO VHFLXQLL D Fapitolului 2). Server RQLQH LQIRUPDLL GHVSUH DSOLFDLD VHUYHU FXP DU IL QXPHOH YHUVLXQHD SURGXFWRUXO DSOLFDLLOH FRPSDWLELOH (VWH SRVLELO üL DWDüDUHD XQRU LQIRUPDLL üL FRPHQWDULL VSHFLILFH PDL PXOWRU DSOLFDLL FDUH Geservesc cererile la nivelul serverului HTTP (e.g., modulele Apache instalate, VHUYHUHOH GH DSOLFDLL :HE HWF
  77. 77. Un exemplu ar putea fi: Apache/2.0.48 (Win32) mod_perl/1.99_10-dev Perl/v5.8.0 PHP/4.3.4 mod_python/3.0.3 Python/2.2.2 WWW-Authenticate Atributul WWW-Authenticate trebuie inclus în orice cerere 401 (Unautho- rized
  78. 78. SHQWUX D RIHUL DSOLFDLHL-XWLOL]DWRU LQIRUPDLL QHFHVDUH DXWHQWLILFrii în UDSRUW FX UHVXUVD FHUXW $WULEXWXO FRPSOHPHQWDU DFHVWXLD SHQWUX FHUHUH este Authorization. O serie de alte atribute sunt descrise în lucrarea Shiflett, 2003. /RFXO+773vQDUKLWHFWXUDVSDLXOXL::: 'XS FXP DP Y]XW OD vQFHSXWXO FDSLWROXOXL :HE-ul este compus din UHVXUVH GLVWULEXLWH SULQFLSDOHOH DVSHFWH FDUH WUHEXLH V ILH DYXWe în vedere fiind identificarea, LQWHUDFLXQHD üL reprezentarea prin diverse formate de date a DFHVWRU UHVXUVH FRQIRUP -DFREV üL :DOVK
  79. 79. Calea de acces la Web 27 ÍQ FHHD FH SULYHüWH LGHQWLILFDUHD UHVXUVHORU ILHFDUH UHVXUV WUHEXLH V ILH DGUHVDELO )LHFUHL UHVXUVH WUHEXLH V L VH DVRFLH]H XQ 85, GLstinct, evitându-VH DVWIHO DPELJXLWLOH 'HVLJXU ILHFDUH 85, YD DYHD YD IL VWDELOLW de) un proprietar – SHUVRDQ RUJDQL]DLH VSHFLILFDLH WHKQLF HWF RQVRULXO :HE vQFXUDMHD] IRORVLUHD vQ PDQLHU FRQVLVWHQW D 85,-urilor, pe baza schemelor existente, înregistrate la IANA. De asemenea, trebuie LQXW FRQW GH IDpWXO F QDWXUD XQHL UHVXUVH QX HVWH GDW GH DGUHVD HL FL GH reprezentare – GLQ DFHVW SXQFW GH YHGHUH XQ 85, WUHEXLH V ILH opac. Pentru a identifica în mod indirect o resurV VHFXQGDU ÅOHJDWµ RUL ÅVFXIXQGDWµ
  80. 80. vQ UHVXUVD LQLLDO VH SRW XWLOL]D LGHQWLILFatorii de fragment (detalii în Buraga, 2005). $VLJXUDUHD LQWHUDFLXQLL VH UHDOL]HD] SULQ LQWHUPHGLXO XQXL agent Web, FDUH SRDWH IL R SHUVRDQ VDX R DSOLFDLH Voftware ce are acces la Web. 3URJUDPXO DFLRQkQG vQ QXPHOH XQXL XWLOL]DWRU XPDQ SRDUW QXPHOH GH agent-utilizator. Componentele precum serverele, proxy-XULOH URERLL QDYL- gatoarele, player-ele multimedia, programele de oglindire, agregatoarele de üWLUL etc. se numesc DJHQL VRIWZDUH. RPXQLFDUHD vQWUH DFHüWL DJHQL LPSOLF 85,-uri (pentru adresare), PHVDMH üL D GDWH GLDORJXO GHFXUJkQG FRQIRUP XQRU SURWRFRDOH ,QWHrnet precum HTTP, descris în subcapitolul 2. Structura mesajelor interschimbate depinde de protocol, dar din punct de vedere conceptual putem considera F WRate mesajele sunt compuse din date LQIRUPDLLOH SURSULX-]LVH
  81. 81. üL meta-date (date descriind datele vehicuODWH
  82. 82. DFHVWHD GLQ XUP SRW IL specificate de atributele din cadrul anteturilor HTTP. $FFHVXO OD R UHVXUV :HE VH YD UHDOL]D YLD 85, – DFLXQH QXPLW üL GHUHIHUHQLHUH – HYHQWXDO LPSOLFkQG PDL PXOL SDüL GH H[HPSOX vQ VLWXDLD QHJRFLHULL FRQLQXWXOXL
  83. 83. UH]XOWkQG R UHSUH]HQWDUH D UHVXUVHL VROLFLWDWH 2 reprezentare GHQRW GDWHOH FDUH FRGLILF LQIRUPDLD GHVSUH VWDUHD DFWXDO
  84. 84. D XQHL UHVXUVH RQVRULXO :HE UHFRPDQG HYLWDUHD LQFRQVLVWHQHORU GLQWUH GDWHOH UHSUH]HQWULL üL PHWD-date (de exemplu, meta-GDWHOH SRW GHVFULH F UHSUH]HQWDUHD YD IL GLVSRQLELO vQ IRUPDW WH[WXDO GDU vQ UHDOLWDWe clientul UHFHSLRQHD] UHVXUVD UHSUH]HQWDW vQWU-un format binar). Un alt aspect important este cel de asigurare a VLJXUDQHL LQWHUDFLXQLL $VWIHO DJHQWXO FDUH DFFHVHD] R UHVXUV QX WUHEXLH V UHDOL]H]H QLFL R DFLXQH FRODWHUDO side effect) în cadrXO LQWHUDFLXQLL 'H H[Hmplu, la VROLFLWDUHD XQHL UHSUH]HQWUL D UHVXUVHL YLD PHWRGD *(7 D SUotocolului +773 QX WUHEXLH DOWHUDW VWDUHD UHVXUVHL GRULWH i.e., incrementarea unui FRQWRU DO QXPUXOXL GH DFFHVUL DOH XQXL GRFXPHQW
  85. 85. 'H DVHPHQHD proprietarul XQXL 85, DU WUHEXL V RIHUH UHSUe]HQWUL DOH UHVXUVHL UHVSHFWLYH într-R PDQLHU FRQVLVWHQW üL SUHGLFWLELO
  86. 86. Tehnologii XML28 /D ILQDOXO DFHVWXL FDSLWRO WUHEXLH V SUHFL]P üL F SURWRFROXO +773 MRDF XQ URO LPSRUWDQW vQ FDGUXO DUKLWHFWXULL RULHQWDWH VSUH VHUYLFLL vQ JHne- UDO üL VSUH VHUYLFLLOH :HE vQ VSHFLDO – GHWDOLL vQ FDSLWROXO DO FULL GH ID 5HIHULQH Berners-Lee, T.; Fielding, R.; Masinter, L., Uniform Resource Identifiers (URI): Generic Syntax, RFC 2396, Internet Engineering Task Force (IETF), 2004: http://www.ietf.org/rfc/rfc2396.txt Bray, T. et al. (eds.), Extensible Markup Language 1.0 (Third Edition), W3C Recommendation, Boston, 2004: http://www.w3.org/TR/REC-xml Buraga, S., Tehnologii Web 0DWUL[ 5RP %XFXUHüWL http://www.infoiasi.ro/~busaco/ books/web.html Buraga, S. et al., 3URJUDPDUH :HE vQ EDVK üL 3HUO 3ROLURP ,DüL http://www.infoiasi.ro/ ~cgi/ Buraga, S., Proiectarea siturilor Web HGLLD D GRXD
  87. 87. 3ROLURP ,DüL http:// www.infoiasi.ro/~design/ %XUDJD 6 $FRVWFKLRDLH ' „Administrarea serverelor Web”, NET Report, iulie 2002: http://www.infoiasi.ro/~busaco/publications/articles/admin-web.pdf Dürst, M.; Suignard, M. (eds.), Internationalized Resource Identifiers, RFC 3987, Internet Engineering Task Force (IETF), 2005: http://www.ietf.org/rfc/ rfc2987.txt Freed, N.; Borenstein, N., Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, RFC 2045, Internet Engineering Task Force (IETF), 1996: http://www.ietf.org/rfc/rfc2045.txt Freed, N.; Borenstein, N., Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, RFC 2046, Internet Engineering Task Force (IETF), 1996: http://www.ietf.org/rfc/rfc2046.txt Gettys, J. et al., Hypertext Transfer Protocol ± HTTP/1.1, RFC 2616, Internet Engineering Task Force (IETF), 1999: http://www.ietf.org/rfc/rfc2616.txt Jacobs, I.; Walsh, N., Architecture of the World Wide Web, Volume One, W3C Recommendation, Boston, 2004: http://www.w3.org/TR/webarch/ Kindberg, T.; Hawke, S., The ’tag’ URI Scheme, RFC 4151, Internet Engineering Task Force (IETF), 2005: http://rfc4151.x42.com/ Masinter, L., The ’data’ URL scheme, RFC 2397, Internet Engineering Task Force (IETF), 1998: http://www.faqs.org/rfcs/rfc2397.html Naik, D., Internet Standards and Protocols, Microsoft Press, Redmond, 1998 Rescorla, E., HTTP Over TLS, RFC 2818, Internet Engineering Task Force (IETF), 2000: http://www.ietf.org/rfc/rfc2818.txt Shiflett, C., HTTP Developer’s Handbook, Sams Publishing, 2003 * * *, World-Wide Web Consortium, Boston, 2006: http://www.w3.org/
  88. 88. Capitolul 2 Modele de date semistructurate. Familia XML „(VHQLDOXO vQ OXPkQDUH QX HVWH FHDUD FH ODV XUPD FL OXPLQD” Antoine de Saint-Exupéry Capitolul expune cele mai importante aspecte privitoare la meta-limbajul XML, oferind o privire de ansamblu asupra tehnologiilor XML în YLJRDUH 6H SUH]LQW PDQLHUHOH GH WUDQVIRUPDUH YDOLGDUH üL LQWHURJDUH a documentelor XML prin intermediul unor limbaje standardizate ca ;3DWK ;6/ ;0/ 6FKHPD 5(/$; 1* üL ;4XHU 'H DVHPHQHD materialul expunH PRGDOLWLOH GH VWRFDUH üL PDQDJHPHQW DO LQIRUPD- LLORU VHPLVWUXFWXUDWH YLD ED]H GH GDWH QDWLYH ;0/ 6XQW H[HPSOLILFDWH üL GLYHUVH OLPEDMH ED]DWH SH ;0/ /D ILQDOXO FDSLWROXOXL VH IDFH R SUH]HQWDUH D üDEORDQHORU GH SURLHFWDUH ;0/ Cuvinte-cheie: date semistructurate, XML, meta-OLPEDM DSOLFDLL ;0/ üDEORDQH VWUXFWXUDOH 1. Introducere 1.1. Formate de date DSLWROXO GH ID VH FRQFHQWUHD] DVXSUD PRGHOHORU GH UHSUH]HQWDUH D UHVXUVHORU :HE 'DF SHQWUX LGHQWLILFDUH :HE-ul recurge la identificatori uniforPL GH UHVXUVH GHVFULüL vQ FDSLWROXO DQWHULRU LDU SHQWUX LQWHUDFLXQH VH IRORVHüWH vQ PRG X]XDO SURWRFROXO +773 UHSUH]HQWDUHD UHVXUVHORU VH UHDOL]HD] YLD IRUPDWH GH GDWH $UKLWHFWXUD VSDLXOXL ::: vQFXUDMHD] refolosirea formatelor existente, printre aspectele importante legate de aceasta putându-VH HQXPHUD -DFREV üL :DOVK
  89. 89. Tehnologii XML30 • DGRSWDUHD IRUPDWHORU WH[WXDOH vQ FRQWUDVW FX FHOH ELQDUH YH]L üL %XUDJD üL %XUDJD
  90. 90. • FRQWUROXO YHUVLXQLORU R UHVXUV SRDWH HYROXD vQ WLPS DSUkQG necesitatea FXQRDüWHULL LVWRULFXOXL PRGLILFULORU VDOH VDX PLQLPDO data ultimei actuDOL]UL
  91. 91. • H[WHQVLELOLWDWHD PDL DOHV vQ FHHD FH SULYHüWH KLSHUWH[WXO R UHVXUV SRDWH LQFOXGH UHIHULQH üLVDX DOWH WLSXUL GH FRQLQXW PRGDOLWLOH GH extindere fiind, practic, infinite); • FRPSXQHUHD IRUPDWHORU R UHVXUV SRDWH IL UHSUH]HnWDW SULQWU-un format de date care în anumite cirFXPVWDQH IXQFLRQHD] FD XQ FRQWDLQHU DO XQRU IRUPDWH HWHURJHQH ILHFDUH DGUHVDW üL SURFHVDW într-un mod specific – de exemplu, un document poate avea „scufundate” meta-GDWH SULYLWRDUH OD SURSULHWLOH DFHVWXLD SOXV WLSXUL GH FRQLQXW GLYHUVH LPDJLQL YHFWRULDOH VDX UDVWHU OXPL ' expresii matematice etc.); • VHSDUDUHD FRQLQXWXOXL SUH]HQWULL üL LQWHUDFLXQLL DFHVWH WUHL aspecte trebuie pe cât posLELO V ILH WUDWDWH vQWU-R PDQLHU LQGHSHQ- GHQW
  92. 92. 'DF SkQ vQ DQLL FHUFHWULOH V-au axat asupra modului de procesare vQ DFHD SHULRDG LQIRUPDWLFLHQLL DX IRVW SUHRFuSDL PDL DOHV GH WHKQLFLOH GH SURLHFWDUH D DOJRULWPLORU
  93. 93. GDWHOH ILLQG PXOW PDL SXin importante decât codul-VXUV GHFHQLLOH üL DOH VHFROXOXL ;; DX FRQGXV OD DSDULLD XQRU IRUPDWH GH GDWH SURSULHWDUH IRORVLWH vQ VSHFLDO GH DSOLFDLLOH GH ELURX GDWHOH ILLQG OD IHO GH LPSRUWDQWH FD üL FRGXO DFHVWD GLQ XUP GH FHOH PDL PXOWH ori, pXWkQG IL FRQFHSXW FKLDU GH XWLOL]DWRU YLD XQRU IDFLOLWL SUHFXP macro-urile). Cu proliferarea serviciilor Internet, mai ales a Web-ului, datele au putut fi publicate liber, folosindu-VH XQ IRUPDW SUH]HQWDLRQDO SXV OD GLVSR]LLH GH +70/ ÍQFHSkQG FX QRXO mileniu, datele sunt considerate PXOW PDL LPSRUWDQWH GHFkW FRGXO 'DFRQWD 2EUVW üL 6PLWK
  94. 94. DWHQLD F]kQG DVXSUD PRGHOULL FkW PDL HILFLHQWH D LQIRUPDLilor, prin intermediul unui format deschis, extensibil – subiectul acestui capitol. Mai mult decât atât, modelarea datelor nu reIOHFW GRDU VLQWD[D – VSHFLILFDW SULQWU-un set GH FRQYHQLL GH PDUFDUH – FL üL VHPDQWLFD – pâQ DFXP UHSUH]HQWDW GH codul-VXUV DO SURJUDPHORU FH SUelucrau acele date. 1.2. Modele de date 'DF IRUPDWHOH GH GDWH UHIOHFW PDQLHUD HIHFWLY GH VWRFDUH üL SUH]HQWDUH D LQIRUPDLLORU OD QLYHO FRQFHSWXDO WUHEXLH DGRSWDW PFDU XQ PRGHO GH
  95. 95. Modele de date semistructurate. Familia XML 31 UHSUH]HQWDUH (YROXLD LQIUDVWUXFWXULL FRPSXWDLRQDOH D FRQGXV üL OD adoptarea unor modele de date diferite. $UKLWHFWXULOH WUDQ]DFLRQDOH DOH anilor ’60-’70 ai secolului trecut se pretau pentru modele de reprezentare ierarhice (arborescente) sau bazate pe grafuri. 2GDW FX DSDULLD vQ DQLL · D UHHOHORU ORFDOH GH FDOFXODWRare, au fost dez- voltate arhitecturi client/server, punctul central fiiQG GHLQXW GH PRGHOHOH relaLRQDOH GH UHSUH]HQWDUH üL VWRFDUH D GDWHORU OLHQLORU OL VH SHUPLWH LQWHU- SUHWDUHD GDWHORU GHLQXWH OD QLYHO GH VHUYHU vQ GLYHUVH FRPELQDLL JUDLH unui limbaj structurat de interogare (SQL – Structured Query Language), uQRU LQWHUIHH GH SURJUDPDUH D DSOLFDLLORU $3, – Application Programming Interface
  96. 96. üL XQRU ÅSXQLµ GH DVLJXUDUH D FRQHFWLYLWLL SUHFXP 2'% – Open Database Connectivity – sau JDBC – Java Database Connectivity). Apar vQV SUREOHPH SULYLWRDUH OD LQGH[DUH QRUPDOL]DUH LQWHJULWDWH UHIHUHQLDO inclusiv anumite costuri (legate, de exemplu, de optimizare sau denormalizare) (vezi Fotache, 2005). 3UH]HQWXO HVWH ÅJXYHUQDWµ GH DUKLWHFWXULOH QDYLJDLRQDOH ED]DWH SH KLSHUWH[W XWLOL]DWH GH R SOHLDG GH GLVSR]LWLve, inclusiv cele mobile. Daum üL 0HUWHQ
  97. 97. FRQVLGHU F PRGHOHOH GH GDWH FHOH PDL SRWULYLWH VXQW FHOH recurgând la gramaticile regulate (Jucan, 1999). Astfel, trebuie impuse ce- ULQH VXSOLPHQWDUH SHQWUX XQ PRGHO GH GDWH ÅLGHDOµ DOLQLDW GLUHFLLORU actuale de evoOXLH D :HE-ului: • asigurarea accesului la meta-date (datele privitoare la date) – WUHEXLH RIHULWH IDFLOLWL SHQWUX SXEOicarea, generarea (semi-)auto- PDW WUDQVIRUPDUHD vQ DOWH IRUPDWH D PHWD-datelor; • adnotarea resurselor, inclusiv a meta-datelor; • SRVLELOLWDWHD UHDOL]ULL GH LQWHURJUL IOH[LELOH • YHULILFDUHD LQWHJULWLL – FX REVHUYDLD F PHQLQHUHD XQHL LQWHJULWL UHIHUHQLDOH OD QLYHO JOREDO HVWH LPSRVLEiO • IDFLOLWDUHD UHDOL]ULL GH WUDQVIRUPUL DOH GDWHORU FX JHQHUDUHD GH documente prezeQWkQG DOWH VWUXFWXUL ILOWUUL üL LQWHURJUL VLPSOH
  98. 98. • GHSHQGHQD GH FRQWH[WXO SURFHVULL üLVDX DO SUH]HQWrii; • utilizarea de formate standardizate, deschise. 1.3. Date semistructurate ÍQ PRG FODVLF vQDLQWH GH D QH SXQH SUREOHPD VWRFULL HIHFWLYH D GDWHOor în FDGUXO XQHL ED]H GH GDWH WUHEXLH V FRQFHSHP R VFKHP definind structurile SULORU GH LQIRUPDLH SH FDUH GRULP V OH SVWUP ÍQ FD]XO PRGHOXOXL UHODLRQDO DFHDVW VFKHP VSHFLILF QXPUXO üL WLSXO FkPSXULORU GH GDWH
  99. 99. Tehnologii XML32 SOXV UHODLLOH FH VH SRW IRUPD vQWUH HOH RQFHSWXDO VH DSHOHD] OD PRGHOXO entitate-UHODLH (5 – Entity-Relationship
  100. 100. 6FKHPD GH]YROWDW HVWH XQD ULJLG, vQ VHQVXO F WRDWH GDWHOH VWRFDWH WUHEXLH V VH FRQIRUPH]H UHVWULFLLORU LPSXVH GH DFHDVWD üL PDL PXOW VFKHPD WUHEXLH SUoiectaW vQDLQWH GH D SRSXOD ED]D GH GDWH FX LQIRUPDLL 6H SHUPLWH DüDGDU VWRFDUHD XQXL YROXP larg de date uniforme VWUXFWXUDWH vQ PDQLHU VLPLODU ([LVW vQV VLWXDLL FkQG DFHDVW DERUGDUH HüXHD] ÍQ VSHFLDO vQ FD]XO Web-XOXL GDWHOH VXQW HWHURJHQH üL SRt proveni din diverse surse. Utili- ]DWRULL SRW V QX DLE LQVWUXLUHD QHFHVDU SUoLHFWULL MXGLFLRDVH D XQHL VFKHPH GH ED]H GH GDWH LDU PXOWH DSOLFDLL PDQLSXOHD] LQIRUPDLL FDUH evoOXHD] vQ WLPS 5H]XPkQG GDWHOH GRULWH D IL PRGHODWH VXQW SUDFWLF QHOL- mitate (unbound
  101. 101. üL QHFXQRVFXWH QHH[LVWkQG apriori un vocabular comun. 8Q H[HPSOX HGLILFDWRU GDW GH )ORUHVFX
  102. 102. HVWH FHO DO FUHULL XQXL GHSR]LW GH UHHWH JDVWURQRPLFH SURYHQLQG GLQ vQWUHDJD OXPH üL LQFOX]kQG üL GHWDOLL GH RUGLQ LVWRULF üL FXOWXUDO UHIHULWRDUH OD SUHJWLUHD GLYHUVHORU IHOXUL GH PkQFDUH 2 DOW H[HPSOLILFDUH DU IL DFHHD D VWRFULL XQHL DQWRORJLL GH SRH]LL 8Q DOW GH]DYDQWDM DO WUDGLLRQDOHORU PRGHOH GH GDWH HVWH F GHVHRUL GDWHOH QX SUH]LQW WUVWXUL DXWRH[SOLFDWLYH self-explanatory
  103. 103. üL QX SHUPLW OD SULPD YHGHUH SUHFL]DUHD D FH DQXPH UHSUH]LQW 'H H[HPSOX XQ WXSOX GH IRUPD („Sabin”, „Buraga”, 33), preluat dintr-R WDEHO D XQHL ED]H GH GDWH UHODLR- QDOH QX RIHU SUHD PXOWH LQIRUPDLL SULYLWRDUH OD VHPDQWLFD GDWHORU 3XWHP presuSXQH F SULPHOH GRX HOHPHQWH GHVHPQHD] SUHQXPHOH üL QXPHOH XQHL SHUVRDQH vQV HVWH GLILFLO GH ÅJKLFLWµ FH UHSUH]LQW XOWLPXO QXPU IU D DYHD OD GLVSR]LLH R VFKHP DVRFLDW $U SXWHD IL YRUED GH YkUVW GDU OD IHO GH ELQH GH QXPUXO GH DUWLFROH SXEOLFDWH GH FHD SHUVRDQ OD FRQIHULQH LQWHUQDLRQDOH VDX GH SXQFWDMXO RELQXW OD XQ MRF ÍQ FRQWH[WXO :HE-ului, dateOH DU WUHEXL V ILH DXWRH[SOLFDWLYH PDL DOHV FkQG VXQW LQWHUVFKLPEDWH vQWUH WHUH HQWLWL SHUVRDQH VHUYLFLL VLsWHPH HWF
  104. 104. FDUH QX QHDSUDW SDUWDMHD] R VFKHP GH GDWH FoPXQ RUL DFHODüL IRUPDW GH UHSUH]HQWDUH ÍQ FRQWUDVW FX WUDGLLRQDOHOH VLVWHPH GH PDQDJHPHQW DO GDWHORU GDWHOH VHPLVWUXFWXUDWH QX QHFHVLW SUH]HQD XQHL GHIiQLLL D XQHL VFKHPH GH GDWH RQIRUP $ELWHERXO %XQHPDQ üL 6XFLX
  105. 105. DFHVWH GDWH DX R VWUXFWXU LQWULQVHF IU D IL VSHFLILFDW VHSDUDW üL vQ DYDQV
  106. 106. vQV QX XQD ULJLG üL QLFL XQD FRPSOHW QHVWUXFWXUDW ÍQ IDSW QX H[LVW R GHILQLLH H[DFW D FHHD FH vQ- VHDPQ GDWH VHPLVWUXFWXUDWH )ORUHVFX
  107. 107. GHVHPQHD] SULQ date VHPLVWUXFWXUDWH DFHOH LQIRUPDLL GLJLWDOH FDUH QX SRW IL PRGHODWH IDFLO üL HILFLHQW FRQIRUP PHWRGRORJLLORU VFKHPHORU üL LQVWUumentelor software WUDGLLRQDOH 0XOWH GLQWUH SUREOHPHOH VXUYHQLWH vQ DFHVW FRQWH[W VXQW FHOH privind nepotrivirile dintre inIRUPDLLOH SH FDUH GRULP V OH PRGHOP üL IDFLOLWLOH RIHULWH GH LQVWUXPHQWHOH DFWXDOH
  108. 108. Modele de date semistructurate. Familia XML 33 HO PDL IUHFYHQW FD] GH H[LVWHQ D GDWHORU VHPLVWUXFWXUDWH HVWH FHO vQ cadrul paginilor Web formate din text scris în limbaj natural. Un mare SURFHQWDM GLQ LQIRUPDLLOH SUH]HQWH SH :HE HVWH FRQLQXW GH GRFXPHQWH vQ formate precum HTML, PDF, JPEG sau Word. Modelul entitate-UHODLH QX HVWH DGHFYDW SHQWUX D PRGHOD OLPEDMXO QDWXUDO RDPHQLL FRPXQLF SULQ intermeGLXO IUD]HORU üL QX D HQWLWLORU üL UHODLLORU GLQWUH HOH Fare, din punct de vedere teoretic, trebuie a priori stabilite). Mai mult, popularele limbaje de specificare a schemelor sunt în general prea simpliste pentru a modela VWUXFWXUL LQIRUPDLRQDOH GLQDPLFH üL WRW PDL FRPSOH[H SH PVXU FH HYR- OXHD] Desigur, OD FHOH GH SUHFL]DWH PDL VXV vQFHS V VH vQWUHYDG VROXLL 3ULPD HVWH IRORVLUHD IDPLOLHL GH OLPEDMH ;0/ 3ULQ PRGDOLWLOH VDOH VLQWDFWLFH OLPEDMXO ;0/ SHUPLWH PRGHODUHD XQXL VSHFWUX ODUJ GH LQIRUPDLL GH OD GDWH complet structurate (e.g. LQIRUPDLL SULYLWRDUH OD FRQWXUL EDQFDUH
  109. 109. SkQ OD WH[W vQ OLPEDM QDWXUDO 'XS FXP YRP YHGHD vQ FDGUXO DFHVWXL FDSLWRO GRFXPHQWHOH ;0/ SRW LQFOXGH FRQLQXWXUL PL[WH SRW IL WUDQVIRUPDWH vQ DOWH IRUPDWH üL GH DVHPHQHD SRW IL LQWHUogate. 2. XML pentru reprezentarea datelor semistructurate 2.1. Precursori 3HQWUX vQFHSXW QH YRP SODVD vQ GRPHQLXO UHSUH]HQWULL GRFXPHQWHORU HOHFWURQLFH /D vQFHSXWXUL DFHVWH WLSXUL GH UHVXUVH FRQLQHDX FRGXUL VDX macro-uri care indicau un anumit mod de formatare a documentelor, într-o mDQLHU SDUWLFXODU FRGLILFaUHD VSHFLILF GHSLQ]kQG GH FDUDFWHULVWLFLOH hardware sau ale sistemului de operare). Prin contrast, modul de codificare JHQHULF DSUXW OD VIkUüLWXO DQLORU ·
  110. 110. XWLOL]HD] marcatori (tag-uri) des- criptivi pentru specificarea modului de aranjare (structurare) a unui anumit document. Printre susLQWRULL DFHVWHL GLQ XUP PHWRGH V-D QXPUDW üL William Tunnicliffe SUHüHGLQWH DO *$ Graphic Communications Association), FDUH D GRULW V LPSXQ VHSDUDUHD FRQLQXWXOXL Gocumentelor de formatul lor. Tot la finalul anilor 1960, Stanley Rice propune ideea unui catalog XQLYHUVDO GH PDUFDWRUL SDUDPHWUL]DL SHQWUX VWUXFWuUDUHD HGLWULL GH FDUWH Norman Scharpf GH]YROW DFHDVW LGHH üL DVWIHO HVWH FUHDW GenCode, capabil a recunoaüte ce tipuri GH FRGXUL VXQW QHFHVDUH HGLWULL ILHFUHL FODVH GH GRFXPHQW vQ SDUWH üL Podul de includere a documentelor de dimensiuni reduse în unele mai largi. Acest proiect a jucat ulterior un rol important în dezvoltarea standardului SGML, precursor al limbajului XML.
  111. 111. Tehnologii XML34 În 1969, Charles Goldfarb FRQGXFWRU DO SURLHFWXOXL ,%0 GH FHUFHWDUH D VLVWHPHORU LQIRUPDLRQDOH LQWHJUDWH vQ GRPHQLXO OeJLVODWLY vPSUHXQ FX Edward Mosher üL Raymond Lake, invenWHD] GML (Generalized Markup Language) pentru a permite editarea, formataUHD GH WH[WH üL SDUWDMDUHD documentelor în contextul sistemelor distribuite. GML se baza pe ideile de codiILFDUH JHQHULF DOH OXL 5LFH üL 7XQQLFOLIIH üL LQWURGXFHD FRQFHSWXO GH GHILQLUH IRUPDO D WLSXULORU GH GRFXPHQWH prin intermediul unor structuri de elemente recursive. 3UL PDMRUH DOH *0/ DX IRVW LPSOHPHQWDWH vQ VLVWHPHOH GH HGLWDUH FRPSXWHUL]DW SH mainframe-XUL GH FWUH ,%0 üL DOWH FRUSRUDLL *ROGIDUE vüL conWLQX FHUFHWULOH UHIHULQH vQFUXFLüDWH SURFHVDUH vQOQXLW WLSXUL GH documente concureQWH FDUH QX YRU DSUHD vQ *0/ GDU YRU IL GH]YROWDWH FD SUL DOH 6*0/ În 1978, ANSI (American National Standards Institute
  112. 112. SULQ FRPLWHWXO VX GH SURFHVDUH D LQIRUPDLLORU GHVHPQHD] XQ JUXS FDUH V VH RFXSH GH FUHDUHD de limbaje de programare pentru SUHOXFUDUHD HOHFWURQLF D WH[WHORU JUXS condus de Charles Card, avându-O FD PHPEUX SH 1RUPDQ 6FKDUSI üL DSRL cooptându-O üL SH *ROGIDUE 5H]XOWDWXO D IRVW OLPEDMXO 6*0/ D FUXL SUiP SUH]HQWDUH D IRVW H[SXV vQ 'LQ DQXO *$ O-a putut recomanda FD VWDQGDUG LQGXVWULDO VXVLQXW GH 0LQLVWHUXO $SUULL DO 6WDWHORU 8QLWH În anul 1984, proiectul a fost autorizat de ISO (International Organization for Standardization
  113. 113. HUFHWULOH DX FRQWLQXDW vQ FDGUXO FRPLWHWXOXL $16, condus de William Davis, cu VXVLQerea comitetului GenCode al GCA, avându-l la conducere pe Sharon Adler de la IBM. ÍQ DQXO D IRVW SXEOLFDW SURSXQHUHD FD 6*0/ V GHYLQ VWDQGDUG LQWHUQDLRQDO 7H[WXO ILQDO DO VSHFLILFDLLORU 6*0/ D IRVW DSUREDW üL SXEOLFDW în anul 1986, utilizându-se un sistem SGML dezvoltat la CERN de Anders Berglund – ISO 8879: Information Processing – Text and Office Systems – Standard Generalized Markup Language (Goldfarb, 1990). $SURDSH GH ILQDOXO VHFROXOXL ;; RQVRULXO :HE D GRULW FUHDUHD XQXL limbaj coPSDWLELO FX 6*0/ GDU FDUH V VH SUHWH]H OD XWLOL]DUHD vQ FDGUXO Web-ului, operându-VH R VHULH GH VLPSOLILFUL üL UH]HFLL DOH VSHFLILFDLHL SGML. În 1998, apare prima recomandare a XML (Extensible Markup Language), actualmente fiind în vigoare XML 1.0 – eGLLD D WUHLD %UD et al., D
  114. 114. üL ;0/ %UD et al., 2004b). RQFHSWHGHED]DUDFWHUL]DUHüLWUVWXUL 3XWHP FRQVLGHUD ;0/ FD ILLQG XQ VWDQGDUG LQWHUQDLRQDO SHntru descrierea de marcaje (markups) privitoare la resursele electronice. În fapt, XML reprezinW
  115. 115. Modele de date semistructurate. Familia XML 35 un meta-OLPEDM GHVFULHUH IRUPDO D XQXL OLPEDM FRQIRUP XQHL JUDPDtici DVRFLDWH
  116. 116. /D vQFHSXW D IRVW Y]XW FD XQ OLPEDM GH DGQRWDUH GH IRUPDtare) GH WH[WH GDU VFRSXULOH DFWXDOH GHSüHVF DFHDVW LQWHUSUHWDUH vQJXsW Termenul marcaj (markup
  117. 117. D IRVW XWLOL]DW LQLLDO SHQWUX D GHVFULH DQXPLWH DGQRWUL QRWH PDUJLQDOH vQ FDGUXO XQXL WH[W FX LQWHQLD GH D LQGLFD WHKQR- redactorului cum trebuie listat un anumit pasaj ori chiar omis. Exemple de acest gen ar fi sublinierea unor anumite cuvinte, folosirea anumitor simbo- luri speciaOH OLVWDUHD XQRU SUL GH GRFXPHQW FX XQ FRUS GH OLWHU IRQW
  118. 118. VSHFLILFDW HWF XP IRUPDWDUHD üL LPSULPDUHD WH[WHORU DX IRVW DXWRPDWL]DWH termenul s-a extins pentru a acoperi toate tipurile de coduri de marcare inserate în textele electronice cu scopul de a indica modul de formatare, OLVWDUH RUL DOWH DFiuni. Generalizând, putem defini marcajul sau codarea GUHSW RULFH DFLXQH GH D LQWHUSUHWD H[SOLFLW XQ IUDJPHQW GH GDW /D XQ Qivel superficial, toate textele sunt codDWH HOHPHQWHOH GH SXQFWXDLH IRORVLUHD GH PDMXVFXOH GLVSXQHUHD HQXQXULORU vQ SDJLQ FKLDU üL VSDLLOH GLQWUH FXYLQWH SXWkQG IL SULYLWH GUHSW PDUFDMH RGLILFDUHD XQXL WH[W SHQWUX SURFHVDUHD FRPSXWHUL]DW SRDWH IL FRQVLGHUDW vQ SULQFLSLX FD R WUDQVFriere a unui manuscris din scriptio continua într-un format special, intern, dictat de utilizator prin folosirea, expliFLW VDX QX D XQRU GLUHFWLYHPDUFDMH FDUH GHILQHVF PRGXO GH LQWHU- SUHWDUH D FRQLQXWXOXL WH[WXOXL 'eVLJXU SXWHP JHQHUDOL]D DFHDVW DFiune OD RULFH WLS GH UHVXUV :HE Printr-un limbaj de specificare vQHOHJHP DVWIHO XQ VHW GH FRQYHQLL GH marcare utilizate pentru codificarea textelor 8Q OLPEDM GH PDUFDUH WUHEXLH V specifiFH PXOLPHD GH PDUFDMH REOLJDWRULL SHUPLVH PDQLHUD GH LGHQWLficare D PDUFDMHORU üL FDUH HVWH VHPDQWLFD ILHFUXL PDUFDM GLVSRQLELO VLPLODU SUR- cesului de speciILFDUH D VLQWD[HL üL VHPDQWLFLL XQXL OLPEDM GH SURJUDPDUH
  119. 119. ([LVW XUPWRDUHOH FDUDFWHULVWLFL GHILQLWRULL DOH ;0/ SULPHOH WUHL PRüWH- nite de la SGML: • utilizarea marcajelor descriptive (descriptive markups) – se folosesc PDUFDMH FDUH RIHU QXPH VSeFLDOH SHQWUX D FODVLILFD SUL GH document (de exemplu, para SRDWH LGHQWLILFD R SRULXQH GLQWU-un anumit document, în cazul nostru început de paragraf). Prin contrDVW XQ OLPEDM GH PDUFDUH SURFHGXUDO GHILQHüWH R DFLXQH GH îndeplinit la un moment dat – e.g., move(left_margin, 2cm) ori skip(this.line); • adoptarea tipurilor de documente – 6*0/ LQWURGXFH QRLXQHD GH WLS GH GRFXPHQW üL GH GHILQLLH D WLSXULORU GH GRFXPHnte: DTD – Document Type Definition. Documentele sunt privite ca având tipuri, DüD FXP DX RELHFWHOH SURFHVDWH GH FDOFXODWRDUH 8Q WLS GH GRFXPHQW
  120. 120. Tehnologii XML36 HVWH GHILQLW IRUPDO GH SULOH VDOH FRQVWLWXHQWH üL GH VWUXFWXUD ORU 'H H[HPSOX GHILQLLD XQXL UDSRUW SRDWH FRQVWD GLQ WLWOX üL QXPHOH DXWRUXOXL XUPDWH GH XQ UH]XPDW üL GH R VHFYHQ GH PDL PXOWH paragrafe. Documentele având asociat un tip, se poate utiliza un analizor (parser) pentru a le verifica valiGLWDWHD DGLF DSDUWHQHQD OD XQ WLS GH GRFXPHQW üL UHVSHFWDrea elementelor specificate în DTD. $VWIHO GRFXPHQWH GH DFHODüL WLS SRW IL SURFHVDWH vQWU-un mod XQLIRUP 3URJUDPHOH SRW H[SORDWD LQIRUPDLLOH vQFDSVXODWH vQ GHILQLLLOH GH VWUXFWXU DOH GRFXPHnWHORU üL VH SRW FRPSRUWD GHFL într-R PDQLHU ÅLQWHOLJHQWµ 5ecomandarea XML nu impune în mod obligatoriu FD R LQVWDQ GH GRFXPHQW V VH FRQIRrmeze unui tip de document (vezi mai jos); • LQGHSHQGHQD GDWHORU – ;0/ DVLJXU WUDQVODWDUHD GRFXPHQWHORU vQ GLYHUVH IRUPDWH VDX FRGLILFUL GH FDUDFWHUH VH DGRSW VWDQGDUGXO UQLFRGH
  121. 121. ILLQG LQGHSHQGHQW GH SODWIRUPD KDUGZDUHVRIWZDUH üL RIHULQG IDFLOLWL GH H[WLQGHUH D PDUFDMHORU GXS FXP YRP YHGHD un document XML poate include elemente provenite din alt document XML); • case-sensitivity – FRQVWUXFLLOH ;0/ VXQW GHSHQGHQWH GH Faz, literele mici diferind astfel de majuscule. $VWIHO SULQWUH WUVWXULOH FDUH DX IFXW PHWD-OLPEDMXOXL ;0/ V DLE XQ ecou însemnat în industria software, reprezentând o tehnologie sine qua non a prezentului, se pot enumera: • suport acordat Web-ului, priQ IDFLOLWDUHD LPSOHPHQWULORU vQ RULFH limbaje de programare actuale; • IDFLOLWL SHQWUX XWLOL]DUHD LQWHUQDLRQDO VXSRUW SHQWUX 8QLFRGH üL LQGHSHQGHQD GH FRGLILFDUH üL OLmE
  122. 122. • meta-limbaj (se permite definirea de noi limbaje, într-R PDQLHU SRUWDELO
  123. 123. • sROXLH SHQWUX UHSUH]HQWDUHD FRQLQXWXOXL UHVXUVHORU :HE LGHQWL- ficate via URI. RQFKL]kQG ;0/ UHSUH]LQW R PHWRG GH GHVFULHUH XQLYHUVDO D LQIRUPDLHL DVWIHO vQFkW DWkW FRPSXWHUHOH FkW PDL DOHV RDPHQLL V R SRDW vQelege. Scopurile limbajului sunt cele legate de utilizarea lui în Internet, VXSRUWkQG R YDULHWDWH GH DSOLFDLL SVWUkQG FRPSDWLELOLWDWHD FX YHFKLXO SGML, dar fiind mult mai flexibil decât HTML. Fiind R PHWRG XQLYHUVDO SHQWUX UHSUH]HQWDUHD GHVFULHUHD
  124. 124. LQIRUPDLLORU KLSHUWH[W ;0/ SRDWH IL Y]XW FD R WHKQRORJLH FRPSOHPHQWDU OLPEDMului HTML, nu drept o înlocuire a sa.
  125. 125. Modele de date semistructurate. Familia XML 37 RQVWLWXHQL 8Q GRFXPHQW ;0/ SRDWH FXSULQGH XUPWRDUHOH FDWHJRULL GH FRQVWLWXHQL (Bray et al., 2004a): • GHFODUDLD SURORJXO VDX SUHDPEXOXO
  126. 126. • elementele; • atributele; • entitLOH • VHFLXQLOH GH PDUFDUH • LQVWUXFLXQLOH GH SURFHVDUH 'HFODUDLD;0/ 'RFXPHQWHOH ;0/ SRW üL DU WUHEXL V vQFHDS FX R GHFODUDLH SURORJ
  127. 127. ;0/ FDUH VSHFLILF YHUVLXQHD OLPEDMXOXL ;0/ XWLOi]DW 'HFODUDLD ;0/ vQFHSH FX ?xml üL VH WHUPLQ FX FDUDFWHUHOH ? ÍQ FD]XO vQ FDUH H[LVW vQ GRFXPHQW GHFODUDLD ;0/ DFHDVWD WUHEXLH V ILH SULPXO HOHPHQW DO GRFXPHQWXOXL 'HFODUDLD QX SRDWH IL SUHFHGDW GH QLFL XQ DOW HOHPHQW üL WUHEXLH V ILH XQLF ([LVW WUHL DWULEXWH FDUH SRW V DSDU vQ GeFODUDLD ;0/ • version – UHSUH]LQW XQD GLQWUH YHUVLXQLOH FXUHQWH DOH ;0/ VDX
  128. 128. ÍQ PRG X]XDO GHFODUDLD DUH IRUPD ?xml version=1.0 ?. 'RFXPHQWHOH vQ D FURU GHFODUDLH H[LVW VSHFLILFDW YHUVLXQHD WUHEXLH V VH FRQIRUPH]H DFHVWHL YHUVLXQL DOWIHO SURFHVRDUHOH ;0L care vor prelucra acele documente vor genera eroare. Conformarea FX YHUVLXQHD VSHFLILFDW vQVHDPQ XWLOL]DUHD FRQVWUXFLLORU GHILQLWH în acea versiune sau în versiunile precedente, dar numai în cazul când este specificat acest aspect. • encoding – atributul poate lua valorile UTF-8, UTF-16, ISO-10646- UCS- VDX RULFH DOWH YDORUL FDUH UHSUH]LQW VXEPXOLPL DOH VHWXOXL 8QLFRGH 'DF VH IRORVHüWH GHQXPLUHD XQHL PXOLPL FDUH QX HVWH GHILQLW GH ,62 DWXQFL WUHEXLH IFXW H[SOLFLW UHIHULUH OD DGUHVD OD care se DIO VSHFLILFDW DFHO VHW GH FDUDFWHUH 'DF VH vQWkOQHüWH vQ WH[W o enWLWDWH FDUH QX SRDWH IL SURFHVDW GLQ FDX]D GHILQLULL JUHüLWH D PXOLPLL GH FDUDFWHUH DWXQFL VH JHQeUHD] R HURDUH IDWDO 6HWXO GH FDUDFWHUH $6,, HVWH R VXEPXOLPH D VHWXOXL 87)-8. Un exemplu WLSLF GH GHFODUDUH D FRGLILFULL HVWH ?xml version=1.0 encoding=UTF-8 ?. • standalone – atributul poate lua valorile yes sau no. În GRFXPHQWHOH ;0/ SRW H[LVWD DQXPLWH UHIHULQH VSUH DOWH GRFXPHQWH FDUH V FRQLQ GHILQLLL DOH XQRU PDUFDMH DWULEXWH VDX HQWLWL GLQ
  129. 129. Tehnologii XML38 document. Când valoarea este yes DWXQFL UHIHULQHOH VSUH DOWH GRFXPHQWH VXQW SURKLELWH 'DF YDORDUHD HVWH no, atunci este posibil V H[LVWH UeIHULQH VSUH DOWH GRFXPHQWH GDU GDF QX H[LVW DWXQFL folosirea atributului nu are seQV ,PSOLFLW VH FRQVLGHU F XQ GRFXPHQW vQ D FUXL GHFODUDLH QX HVWH VSHFLILFDW DWULEXWXO standalone QX FRQLQH UHIHULQH H[WHrne. Elementele Caracterizare RPSRQHQWD VWUXFWXUDO XQLWDWHD-text) a unui document XML este elemen- tul. Diferite tipuri de elemente au asociate nume diferite. Fiecare element trebuie specificat explicit prin intermediul marcajelor (tag-urilor). Perechea marcaj de început (start tag) – PDUFDM GH VIkUüLW end tag
  130. 130. HVWH IRORVLW OD vQFDGUDUHD ILHFUHL LQVWDQH D HOHPHQWXOXL UHVSHFWiv în cadrul unui text VLPLODU XWLOL]ULL GLIHULWHORU WLSXUL GH SDUDQWH]H RUL VHPQH GH SXQFWXDLH GH H[HPSOX vQ VHFLXQLOH GH vQFHSXW üL GH VIkUüLW GH EORF GH LQVWUXFLXQL VH scriu între {}, iar în limbajul natural folosim ghilimelele pentru a delimita XQ FLWDW
  131. 131. ÍQ ;0/ VH XWLOL]HD] element pentru a specifica un tag de vQFHSXW üL /element SHQWUX FHO GH VIkUüLW XQGH element este numele unui element oarecare (specificat de utilizator ori de autoritatea care a UHGDFWDW VSHFLILFDLLOH OLPEDMXOXL EDzat pe XML folosit). Între caracterul „” üL QXPHOH SURSULX-zis al elementuOXL QX VXQW SHUPLVH VSDLLOH DOEH 1XPHOH XQXL HOHPHQW SRDWH IL FRQVWLWXLW GLQ OLWHUH FLIUH üL VHPQHOH X]XDOH (e.g., „_”, „-µ ŵ
  132. 132. WUHEXLQG V vQFHDS FX R OLWHU VDX FX FDUDFWHUul „_”), regulile sintactice fiind similare celor privitoare la identificatorii de variabile. Numele începând cu caracterele „xml” (în orice modalitate de scriere, cu majuscule sau minuscule) sunt rezervate. Numele unui element nu poate conLQH VSDLL DOEH. Modele structurale 8Q HOHPHQW SRDWH IL YLG QX FRQLQH QLPLF vQWUH tag-XULOH GH vQFHSXW üL VIkUüLW
  133. 133. VDX SRDWH LQFOXGH XQ WH[W üLU GH FDUDFWHUH
  134. 134. RUL DOWH HOHPHQWH 0DL PXOWH HOHPHQWH GH DFHODüL WLS SRW IL DüDGDU LPEULFDWH 8Q DVSHFW GHRVHELW GH important HVWH FHO SULYLWRU OD IDSWXO F HOHPHQWHOH WUHEXLH V ILH vQFKLVH üL imbricate corect. RQLQXWXO WH[WXDO DO XQXL HOHPHQW SRDWH IL FRPSXV GLQ FDUDFWHUHOH SHUPLVH GH FRGLILFDUHD SUHFL]DW GH DWULEXWXO encoding GLQ GHFODUDLD ;0/ RULFH DSDULLH GH VSDLL DOEH PXOWLSOH ILLQG LPSOLFLW UHGXV OD XQ VLQJXU caracter spaLX
  135. 135. Modele de date semistructurate. Familia XML 39 5HODLLOH GLQWUH HOHPHQWHOH ;0/ SRW IL Y]XWH vQ WHUPHQL GH • VHFYHQ – HOHPHQWHOH SRW JHQHUD R VHFYHQ ILHFDUH Sutând avea un „frate” (sibling
  136. 136. GHVHPQDW GH XUPWRUXO HOHPHQW VLWXDW OD DFHODüL nivel, neimbricat); • DSDULLH – unele elemente pot fi obligatorii, pe când altele pot avea XQ FDUDFWHU RSLRQDO YH]L infra); • ierarhie – un element inclus în altul se va numi copil, iar elementul plasat la nivelul imediat superior este denumit SULQWH (root); ele- PHQWXO FDUH QX DUH SULQWH HVWH QDWXUDO HOHPHQWXO-UGFLQ ILLQG FHO FDUH JHQHUHD] VWUXFWXUD DUERUHVFHQW DO GRFXPHQWXOXL ;0/ • grupare – mai multe elemente pot fi grupate de un element-SULQWH IXQFLRQkQG FD XQ FRQWDLQHU • incluziune – un element poate include alte elemente; elementele YLGH VXQW GHQXPLWH üL elemente-IUXQ]. 3HQWUX D LOXVWUD PDL GHWDOLDW DFHVW DVSHFW FRQVLGHUP XQ model structural IRDUWH VLPSOX 3UHVXSXQHP F GRULP V LGHQWLIiFP R DQWRORJLH SULQWU-o succesiune de poeme, titlurile lor, versurile din care sunt compuse. În termenii XML, antologie UHSUH]LQW XQ WLS GH GRFXPHQW üL HVWH FRPSXV dintr-o serie de poeme. Fiecare poem vQFDSVXOHD] XQ HOHPHQW titlu (unic) üL FkWHYD DSDULLL GH HOHPHQWH VWURI ILHFDUH VWURI FRQLQkQG XQ QXPU GH elemente vers. Astfel, avem: antologie poem titlu.../titlu VWURI! vers.../vers vers.../vers ... VWURI! /poem poem ... !-- mai multe poeme... (acesta e un comentariu) -- /poem /antologie (YLGHQW H[HPSOXO GH PDL VXV QX QH SUHFL]HD] DQXPLWH UHJXOL GH FRPSXQHUH D XQHL DQWRORJLL GH H[HPSOX QX SXWHP LPSXQH FD XQ WLWOX V QX DSDU GH PDL PXOWH RUL VDX V ILH SODVDW OD ILQDOXO XQXL SRHP
  137. 137. $üDGDU vom avem nevoie de un mecanism de precizare a structurii.
  138. 138. Tehnologii XML40 7RWXüL FKLDU üL OD DFHVW QLYHO GRFXPHQWXO GH WLS DQWRORJLH SRDWH IL procesat în anumite moduri, pentru diverse scopuri. Un program de indexare ar putea extrage doar elemente relevante criteriului ales pentru realizarea inGH[XOXL R OLVW GH WLWOXUL R OLVW D FHORU PDL GHV IRORVLWH FXYLQWH dintr-o poezie. Un program de formatare a textului ar putea insera linii vQWUH ILHFDUH VWURI LDU WLWOXO ILHFUXL SRHP DU SXWHD IL WLSULW vQJURüDW Iolosit XQ FRUS GH OLWHU VSHFLILFDW 8Q SURJUDP PDL DPELLRV SHQWUX DQDOL]D OLQJYLVWLF DVLVWaW GH FDOFXODWRU DU SXWHD GHWHUPLQD PHWULFD üL WLSXO GH ULP DOH ILHFUXL Soem. 0RGHOXO HVWH XQXO VHPLVWUXFWXUDW GHRDUHFH QXPUXO GH VWURIHYHUVXUL nu este a priori cunoscut, în cadrul documentulXL SXWkQG DSUHD üL DOWH FRQVWUXFLL ;0/ FDUH LQLLDO QX HUDX Funoscute. 8Q DOW H[HPSOX VH UHIHU OD PDQLHUD GH VWRFDUH D LQIRUPDLLORU SULYLWRDUH OD DXWRULL OXFUULORU SXEOLFDWH GH R HGLWXU autori autor numeSabin Buraga/nume adresahttp://www.infoiasi.ro/~busaco//adresa varsta / DILOLHUH!)DFXOWDWHD GH ,QIRUPDWLF GLQ ,DúLDILOLHUH! /autor autor ... /autor autor ... /autor /autori 'LQ FHOH GHVFULVH GH H[HPSOXO DQWHULRU REVHUYP IRORVLUHD XQXL HOHPent FX FRQLQXW YLG VFULV varsta / sau varsta/varsta, ambele variante fiind corecte. Atributele Un atribut HVWH XWLOL]DW FX VFRSXO GH D GHVFULH R DQXPLW SURSULHWDWH D XQHL DSDULLL VSHFLILFH SDUWLFXODUH
  139. 139. D XQXL HOHPHQW 3XWHP IDFH R DQDORJLH vQWUH DWULEXWH GHVFULLQG HOHPHQWH
  140. 140. üL DGMHFWLYH FDUH GHVFULX VXEVWDQWLYH
  141. 141. Atributele sunt localizate în tag-XO GH VWDUW DO XQXL HOHPHQW LPHGLDW GXS QXPHOH HOHPHQWXOXL DFXP HVWH HYLGHQW GH FH QX SRW H[LVWD VSDLL DOEH vQ numele unui element), sunt urmate de „=”, apoi de valoarea atributului,
  142. 142. Modele de date semistructurate. Familia XML 41 VFULV vQWUH JKLOLPHOH VDX DSRVWURIXUL 'DF YDORDUHD XQXL DWULEXW QX HVWH VSHFLILFDW vQWUH JKLOLPHOH YD IL VHPQDODW R HURDUH OD IHO FD üL vQ FD]XO vQ FDUH SHQWUX XQ DWULEXW QX DU IL DWDüDW üL YDORDUHD DFHVWXLD 3Hntru un element pot exista oricâte atribute, specificate în orice ordine, atât timp cât sunt declarate corect. 'H H[HPSOX XQ SDUDJUDI SRDWH DFFHSWD FD DWULEXW RSLRQDO PRGXO GH aliniere (la stânga, la dreapta sau centrat), iar alinieUHD QX VH UHDOL]HD] dHFkW SHQWUX SDUDJUDIXO vQ FDX] üL QX DUH HIHFW DVXSUD FHORUODOWH SDUDJUDIH (context loFDO
  143. 143. 1XPHOH DWULEXWHORU VH FRQIRUPHD] DFHORUDüL UHJXOL DSOLFDWH vQ FD]XO HOHPHQWHORU $WULEXWHOH YRU DSUHD GRDU vQ FDGUXO tag-ului de start. Pentru exemplele de mai sus, în cazul antologiei se poate specifica data XOWLPHL DFWXDOL]UL üL FRRUGRQDWRUXO LDU SHQWUX OLVWD DXWRULORU Sutem asocia R DEUHYLHUH RSLRQDO DILOLHULL antologie coordonator=Sabin Buraga data=Oct 2006 ... /antologie afiliere abreviere=FII!)DFXOWDWHD GH ,QIRUPDWLF GLQ ,DúLDILOLHUH! Atribute XML predefinite 6SHFLILFDLD ;0/ SXQH OD GLVSR]LLH GRX DWULEXWH SUHGHILQLWH 3ULPXO VH UHIHU OD VSHFLILFDUHD UHJXOLORU SULYLWRDUH OD VSDLLOH DOEH ÍQ PRGHODUHD XQRU GDWH HVWH XQHRUL QHFHVDU DSDULLD VSaLLORU DOEH FRQVWLWXLWH GLQ VSDLL tab-XUL OLQLL YLGH HWF
  144. 144. ÍQ XQHOH FRQWH[WH SURFHVDUHD WUHEXLH V VH UHDOL]H]H FX SVWUDUHD DFHsWRU VSDLL DOEH GH H[HPSOX vQ FD]XO H[SULPULL codului-VXUV VDX vQ FHHD FH SULYHüWH SURGXFLLOH OLULFH
  145. 145. 8Q Dtribut special, numit xml:space, poate fi inserat în documente pentru a specifica faptul F vQ FDGUXO HOHPHQWXOXL vQ FDUH DSDUH DFHVW DWULEXW VSDLLOH DOEH V ILH tratate în mod semnificativ. Valorile acestuia pot fi default sau preserve. De exemplu, pentru a specifica un text preformatat am putea scrie: pre xml:space=preserve.../pre. $O GRLOHD DWULEXW VHUYHüWH SHQWUX LGHQWLILFDUHD OLPELL vQ FDUH HVWH SUHFL]DW XQ FRQLQXW WH[WXDO 8Q H[HPSOX HVWH XUPWorul: p xml:lang=en-GBAny colour you like/p p xml:lang=en-USAny color you like/p quote author=Sainte-Beuve xml:lang=frIl n'y a que de vivre; on voit tout et le contraire de tout./quote Suplimentar, prin intermediul atributului xml:id, SUHFL]DW GH VSHFLILFDLD GHVFULV GH 0DUVK 9HLOODUG üL :DOVK
  146. 146. ILHFUXL HOHPHQW ;0/ L VH SRDWH asociat un identificator unic, servind în principal pentru realizarea de
  147. 147. Tehnologii XML42 UHIHULQH ORFDOH VDX H[WHUQH
  148. 148. vQWUH IUDJPHQWH GH FRQLQXW 'H H[HPSOX vQ contexWXO ;+70/ SUHFL]P – prin name (din HTML), id (dLQ ;+70/
  149. 149. üL xml:id – XQ LGHQWLILFDWRU SHQWUX R OHJWXU LnWHUQ a xml:id=examen id=examen name=examen/a ... a href=#examenDespre examen/a 5HIHULQHOHODHQWLWL 5HIHULQHOH OD HQWLWL FRQVWLWXLH GH IDSW SRLQWHUL FWUH HQWLWL ÍQ ;0/ enti- WLOH UHSUH]LQW XQLWL GH WH[W XQGH R XQLWDWH SRDWH GHVHPQD RULFH GH OD XQ VLQJXU FDUDFWHU OD XQ vQWUHJ GRFXPHQW VDX FKLDU R UHIHULQ OD XQ DOW document. 2 UHIHULQ OD R HQWLWDWH SUH]LQW FRQVWUXFLD VLQWDFWLF nume_entitate; (caracterul „µ XUPDW GH QXPHOH HQWLWLL DSRL GH FDUDFWHUXO ŵ
  150. 150. 8QD GLQWUH FHOH PDL IUHFYHQWH XWLOL]UL DOH UHIHULQHORU OD HQWLWL HVWH DWXQFL FkQG VH GRUHüWH IRORVLUHD XQRU FDUDFWHUH FDUH DU FRQGXFH OD HURUL GH SURFHVDUH üL GHFL FDUH QX DU WUHEXL V DSDU vQ IRUPD ORU QRUPDO vQ WH[W ÍQ PRPHQWXO vQ FDUH VH vQWkOQHüWH UHIHULQD OD R HQWLWDWH vQ GRFXPHQW DFHDVWD VH YD VXEVWLWXL FX GDWHOH SH FDUH OH UHIHU üL VH YD UHWXUQD GRFXPHQWXO FX vQORFXLULOH Icute. 7DEHOXO GH PDL MRV LOXVWUHD] HQWLWLOH SUHGHILQLWH GH VSecifiFDLD ;0/ 7DEHOXO (QWLWLOH SUHGHILQLWH GH ;0/ %UD et al., 2004a) Entitate 5HIHULQD OD HQWLWDWH lt; gt; amp; ' apos; quot; 6HFLXQLOHGHPDUFDUH 2FD]LRQDO DQXPLWH SUL DOH GRFXPHQWXOXL QHFHVLW XQ WUDWament special în ceea FH SULYHüWH PRGXO GH SURFHVDUH $VWIHO H[LVW SRVLELOLWDWHD IRORVLULL VHFLXQLL '$7$ character data), cu UROXO GH LQKLEDUH D SUHOXFUULL FRQVWUXFLLORU ;0/ 6HcLXQLOH '$7$ SRW IL LQVHUDWH RULXQGH SRW DSUHD üL GDWHOH GH WLS FDUDFWHU (OH VXQW XWLOL]ate
  151. 151. Modele de date semistructurate. Familia XML 43 SHQWUX D LQFOXGH EORFXUL GH WH[W FRQLQkQG FDUDFWHUH FDUH DOWIHO DU IL recunoscute ca marcaje. Acest aspect devine important atunci când documentul include, de exemplu, linii de cod-VXUV VFULVH vQWU-un limbaj de proJUDPDUH FDUH DUH SURSULLOH FRQYHQLL sintactice. 6LQWD[D JHQHUDO D VHFLXQLL '$7$ DUH IRUPD ![CDATA[ ... ]]. În LQWHULRUXO VHFLXQLORU '$7$ QX WUHEXLH V DSDU üLUXO Å]]µ IU V ILH XUPDW de „µ 'H DVHPHQHD VHFLXQLOH '$7$ QX SRW IL LQFOXVH XQHOH vQ DOWHOH Un prim exemplu repreziQW XQ IUDJPHQW GLQ ILüLHUXO inetpref.xml, folosit SHQWUX VSHFLILFDUHD LQWHUIHHL FX XWLOL]DWRUXO D DVLsWHQWXOXL GH FXWDUH Search Companion a resurselor Internet inclus de Windows XP: Label TopMargin=8 Group=1 Text![CDATA[Select the default search engine:]]/Text /Label ÍQ H[HPSOXO XUPWRU QX GRULP FD SURFHVRUXO ;0/ V LQWHrpreteze codul -DYD6FULSW R FRPSOLFDLH H JHQHUDW GH DSDULLD RSHUDWRUXOXL UeODLRQDO Å!µ
  152. 152. script type=text/javascript /*![CDATA[*/ if (vizite 10) { // vizitator fidel document.write (pSalut iar!/p); } /*]]*/ /script ,QVWUXFLXQLOHGHSURFHVDUH ,QVWUXFLXQLOH GH SURFHVDUH UHSUH]LQW XQ WLS VSHFLDO GH PDrFDM FDUH FRQLQH LQIRUPDLL SULYLWRDUH OD DQXPLWH DSOLFDLL FH XUPHD] D IL H[HFXWDWH SHQWUX procesaUHD FRQLQXWXOXL ,QVWUXFLXQLOH GH SURFHVDUH VXQW SUHIL[DWH GH FRQVWUXFLD Å?µ XUPDW GH QXPHOH DSOLFDLHL üL GH R VSHFLILFDUH D XQRU GDWH VSHFLILFH DFHOHL DSOLFDLL OD ILQDO Gelimitate de „?”. 1XPHOH DSOLFDLHL GLQ LQVWUXFLXQHD GH SURFHVDUH WUHEXLH V ILH GLIHULW GH xml, XML sau orice alt mod de a scrie cu litere mari sau mici termenul „xmlµ 'XS FXP VH SRDWH UHPDUFD GHFODUDLD ;0/ HVWH WRW R LQVWUXFLXQH de procesare, fiind utili]DW GH SURFHVRUXO ;0/ În exemplul de mai jos, analizorul XML ar putea invoca interpretorul 3+3 SHQWUX H[HFXLD SURJUDPXOXL VSHFLILFDW vQ FDGUXO XQXL GRFXPHQW script ?php echo pSalut!n/p; ? /script
  153. 153. Tehnologii XML44 'H DVHPHQHD YLD LQVWUXFLXQL GH SURFHVDUH VH SRW DVRFLD IRL GH VWLOXUL 66 SHQWUX UHGDUHD FRQLQXWXOXL XQXL GRFXPHQW ;0/ GHWDOLL üL vQ %XUDJD 2001): ?xml:stylesheet type=text/css href=stil.css ? 8UPWRDUHD H[HPSOLILFDUH VSHFLILF PRGXO GH FRQWURO DO JHQHUULL codului-VXUV vQ ;63 Extensible Server Pages) via procesorul Apache Cocoon: ?cocoon-process type=xsp ? 8Q XOWLP H[HPSOX VH UHIHU OD IRORVLUHD XQRU GLUHFWLYH GH SURFHVDUH vQ cadrul platformei Adobe XMP (Extensible Metadata Platform): ?xpacket begin='...' id='W5M0MpCehiHzreSzNTczkc9d'? 2.4. Familia XML /LPEDMXO ;0/ RIHU PDL PXOW GHFkW R VLQWD[ FRPRG SHQWUX UHSUH]HQWDUHD GDWHORU VWUXFWXUDWH VDX VHPLVWUXFWXUDWH ;0/ FRQVW GLQWU-o familie de limbaje bazate pe XML pentru reprezentarea dateORU üL UHODLLORU GLQWUH HOH $FHDVW IDPLOLH GH OLPEDMH PHQLWH D DGDSWD FRQFHSWHOH FXUHQWH GH stocare, modHODUH üL SXEOLFDUH SH :HE D GDWHORU HVWH FRPSXV GLQ • XML (Extensible Markup Language) – VXEVHW DO VSHFLILFDLHL 6*0/ FRQFHSXW SHQWUX R LPSOHPHQWDUH PDL XüRDU %UD et al., 2004a; Bray et al. E %UD +ROODQGHU üL /DPDQ
  154. 154. 0RGDOLWLOH GH validare sunt concretizate de schemele XML, specificate în Fallside üL :DOPVH
  155. 155. • XLL (Extensible Linking Language) – oferind suport pentru specifi- FDUHD GH OHJWXUL KLSHUWH[W FRQFUHWL]DW vQ GoX FRPSRQHQWH PDMRUH – XLink – conceput pentru descrierea legWXULORU VLPSOH VDX PXOWLSOH
  156. 156. GLQWUH UHVXUVHOH :HE 'H5RVH 0DOHU üL 2UFKDG 2001; DeRose et al., 2005); – XPointer – DUH FD VFRS SUHFL]DUHD vQ PDQLHU H[WHQVLELO D unor scheme de adresare a datelor XML (Grosso et al., 2003); • XSL (Extensible Stylesheet Language) – permite transformarea documentelor XML în alte tipuri de documente (XML, XHTML, WML etc.) – YH]L ODUN
  157. 157. üL .D
  158. 158. – üL DWDüDUHD XQRU obiecte de formatare (Adler et al., 2001; Berlung, 2006), în vederea UHGULL FRQLQXWXOXL ;0/ vQ IRUPDWH precum PDF; • XQuery – vPSUHXQ FX OLPEDMXO ;3DWK ODUN üL 'H5RVH Berlung et al.
  159. 159. RIHU SRVLELOLWDWHD LQWHURJULL GRFXPHQWHORU XML (detalii în Boag et al., 2005).

×