Anda di halaman 1dari 19

Capitolul 2

XML şi SOAP

2.1. Introducere în XML. Concepte de bază

De fiecare dată când este aplicată unei tehnologii o problemă de integrare a aplicaţiei, a
apărut un şablon: acest şablon a fost denumit arhitectură orientată spre servicii SOA – service –
oriented architecture.

De la introducerea sa în 1998, Extensible Markup Language (limbaj de marcare extensibil –


XML) a revoluţionat modul în care gândim structurarea, descrierea şi schimbul de informaţii.
Modurile în care XML este utilizat în industria software sunt multe şi în continuă creştere. Toate
tehnologiile cheie de servicii Web se bazează pe acesta: Utilizează software-ul dvs. SAX, DOM,
JAXB, JAXP, JAXM, JAXR?

XML se află într-o permanentă schimbare şi evoluţie. Multe din tehnologiile XML nu sunt
relevante pentru esenţa discuţiei, dar în cazul tehnologiilor studiate, sunt relevante câteva concepte
de bază:

 originile XML şi diferenţa fundamentală dintre aplicaţiile XML centrate pe document şi


cele centrate pe date;

 sintaxa şi regulile ce guvernează XML;

 mecanismul cheie pentru crearea şi procesarea XML utilizând software Java.

Inspiraţia de design XML a venit din două surse:

 Standard Generalized Markup Language – SGML

 HTML

Conceptul de marcaj generalizat GM - Generalized Markup există de câteva decenii.


Implică utilizarea etichetelor (tags) pentru identificarea porţiunilor de informaţie. Etichetele sunt
denumiri înconjurate de paranteze ascuţite.

SGML este un metalimbaj. Nu prescrie un marcaj anume; dar defineşte modul în care orice
limbaj de marcare dat poate fi specificat formal. Cea mai populară aplicaţie SGML este HTML,
limbajul de marcare ce domină Web-ul.
2.2. Elemente de bază ale unui document HTML
Elementele de bază care diferenţiază un document HTML de cele obişnuite sunt etichetele.
Există mai multe tipuri de etichete:
• etichete prin care se defineşte structura ierarhică a documentului şi modul de afişare
pe ecran (titlu, antet, corp, structura de capitole, subcapitole, secţiuni ale documentelor,
puncte de inserţie a unor imagini grafice în document, sublinieri, zone preformatate)
• etichete prin care se definesc legături la alte locaţii de resurse definite prin intermediul
URL-urilor.
Sintaxa generală a unei etichete este:
< etichetă > Obiect </etichetă >- etichetă pereche ;
< etichetă > Obiect - etichetă singular.
Documentul HTML începe cu eticheta <HTML> a cărei pereche </HTML> se află chiar la
sfârşitul documentului. Aceasta nu are o semnificaţie importantă, doar informează browserul că
documentul este scris conform specificaţiilor HTML.
Fiecare document HTML trebuie să aibă un titlu, care va apărea între etichetele <TITLE> şi
respectiv </TITLE>. Titlul de obicei apare separat de document şi rămâne mereu afişat pe ecran,
jucând rolul de identificator al documentului.
Etichetele <HEAD>, respective </HEAD> şi <BODY>, respective </BODY> separă
documentul într-o parte informativă şi textul propriu-zis ele neschimbând deloc aparenţa
documentelor formatate, fiind însă utile în numeroase cazuri. În cazul etichetei <BODY>, în
interiorul acestuia se poate preciza prin BACKGROUND = imagine, un fundal grafic anume.
HTML are şase niveluri de titluri (numerotate de la 1 la 6), 1 fiind cel mai important. Titlurile sunt
afişate cu fonturi diferite de corpul textului. Primul titlu în fiecare document este <H1>. Sintaxa
este:
<Hx> Text </Hx>, unde x=1, 2, 3, 4, 5, 6.
HTML nu ţine seama de sfârşitul de linie (CRLF), de spaţii multiple sau de tabulatori, ca
celelalte procesoare de texte. Lungimea unei linii depinde de setarea browserului respectiv, de
opţiunea celui care se uită la text.
Dacă în text dorim să trecem la un rând nou, folosim eticheta <BR>, iar dacă dorim
generarea unei linii orizontale pa ecran folosim eticheta <HR>.
Elementul esenţial într-un document HTML este paragraful, etichetat cu <P>, pus la sfârşitul
secvenţei de linii. Fără această etichetă, întreg documentul devine un singur mare paragraf.
2.3. Legături relative şi absolute în HTML
Puterea HTML-ului reiese din abilitatea de a lega părţi din text sau imagini cu alte
documente sau imagini, aflate pe calculatorul local sau la distanţă. Aceste legături sunt supra
luminate şi/sau subliniate de browser pentru ca utilizatorul să le identifice cu uşurinţă.
Singura etichetă pentru legături este <A>, numită şi ancoră (anchor). O ancoră poate fi de
două feluri:
• de numire a unui anumit punct din document, care poate fi apoi referit, specificată prin
atributul NAME;
• de referinţă la un alt document, folosind atributul HREF.
Exemplu: <A HREF= „index.html” > Index </A>
Această etichetă <A> face ca textul „Index” să apară pe ecranul celui care citeşte
documentul ca hiperlegătură spre documentul index.html, aflat în directorul documentului. Se pot
face legături cu documente care se află în alte directoare, specificând directorul relativ de la
documentul curent la cel spre care se face legătura, astfel:
<A HREF = „/doc/doc.html” > Documente </A>
În acest caz am folosite o legătură cu documentul doc.html, aflat în directorul /doc,
directorul curent. Există şi posibilitatea folosirii legăturilor absolute, adică specificând URL-ul
documentului cu care se doreşte hiperlegătura, ca în exemplul:
<A HREF= „http://www.infocib.up.ro/index.html> Index </A>
Ancorele pot fi folosite şi pentru referirea unei anumite secţiunii din cadrul unui document
sau din documentul curent. Pentru aceasta, secţiunea respectivă trebuie numită: < A NAME =
„nume_secţiune” ></A>, referirea făcându-se astfel:
<A HREF= „#nume_secţiune” > Secţiune </A>, dacă se face referire la o secţiune din cadrul
documentului curent sau
<A HREF= „nume_document#nume_secţiune” > Secţiune </A>, dacă se face referire la o
secţiune din alt document (nume_document).

2.4. Comenzi HTML


Realizarea unui document HTML este obligatorie pentru utilizatorii care vor să facă o
informaţie accesibilă prin WWW. Astfel, au apărut o serie de programe menite să-l asiste pe cel ce
elaborează sau pregăteşte un document sau un set de documente pentru WWW.
S-a arătat că HTML este o modalitate standard de a structura un document hipertext, astfel
încât documentul iniţial să poată fi vizualizat într-un mod foarte apropiat de forma originală pe
orice platformă hardware sau software.
Documentele HTML sunt texte obişnuite, create cu orice editor de text (de exemplu, emacs
sau vi pentru maşini Unix), iar structurarea se face folosind nişte etichete – secvenţe speciale care se
inserează în text care au semnificaţii clare, pe care orice viewer trebuie şi le respecte.
În continuare voi ilustra cele mai utilizate comenzi HTML, împreună cu un mic exemplu de
utilizare a acestora. Cele mai frecvent folosite comenzi HTML pot fi consultate în mod real în
crearea unui document HTML fără asistenţa unui editor specific HTML – pentru acest gen de
documente.
HTML-ul reprezintă de fapt, o colecţie de diverse stiluri definite prin nişte etichete de
marcare numite tag, care determină elementele unui document din WWW. De fapt, un document
Web este constituit de un fişier text ce conţine etichete de tip HTML, el putându-se dezvolta cu
orice editor de texte ASCII sau cu editoare specializate HTML.
Se ştie că elementul de bază luat în considerare de browser (client) este paragraful, asupra
căruia clientul efectuează:
• o operaţie de autoflow (încadrare) împreună cu o mişcare de la stânga la dreapta şi de
sus în jos, în scopul încadrării conţinutului într-o fereastră de dimensiuni date. Paragraful
poate conţine atât text, cât şi text şi figuri;
• o operaţie de autowrapping, trunchierea automată a şirului de caractere, atunci când se
depăşeşte lăţimea ferestrei şi continuarea pe rândul următor.
În continuare, sunt enumerate comenzile HTML cu litere mai îngroşate, arătându-se pentru
fiecare situaţia în care se utilizează etichetele de început şi de sfârşit şi în final un scurt exemplu.
Etichetele-perechi au sintaxa: <tag>obiect</tag>, iar etichetele singulare au sintaxa
<tag>obiect. Dacă există opţiuni, ele sunt menţionate pentru ambele tipuri de etichete sub forma:
<tag opt1 opt2… optn>obiect</tag>.

Departe de a fi un standard, HTML este un DTD (Document Type Definition) specific, ce


defineşte un document WWW şi este o colecţie de stiluri care au o semnificaţie acceptată, folosind
SGML (Standard Generalized Markup Language). SGML poate fi gândit ca un limbaj de
programare pentru formatarea textului, iar DTD este o implementare a descrierii unui anumit tip de
document utilizând SGML. Astfel s-a fixat ce semnificaţie trebuie să aibă fiecare etichetă în parte.
Organizarea paginilor unui Site poate fi:
 Liniară

 Ierarhică
 În reţea
 Combinat
Aplicaţii pentru crearea paginilor Web
Pentru realizarea paginilor HTML se pot folosi:
 Editoare de texte obişnuite: Notepad, Wordpad, Word
 Editoare HTML ( ex HomeSIte încărcat de la www.allaire.com) sau editorul Netscape
(Communicator sau Composer)
 Editoare în mod grafic: Microsoft FrontPage

Primele două tipuri de editoare necesită cunoştinţe de HTML şi un program de navigaţie


pentru a vedea rezultatul.
Deoarece în cele ce urmează se va folosi Word Pad (inclus în pachetul de aplicaţii
Accesories din Windows) se recomandă modificarea opţiunii Word wrap (View / Option)

Pagina conţine două secţiuni:


Secţiunea head (cuprinsa între <HEAD> şi </ HEAD> conţine antetul paginii . Ea
furnizează un ansamblu de inforaţii legate de pagina Web, de exmplu: titlul paginii, cuprins între
marcajele <TITLE> şi </TITLE>, afişat pe bara de titlu a ferestre browserului,fişierul conţinând
secvenţa sonorăă care va fi reprodusă în momentul încărcării paginii, indicat cu ajutorul marcajului
BGSOUND: <BGSOUND SRC=”lotd.wav” LOOP=”-1”>, etc
Secţiunea body ( cuprinsă între <BODY> şi </BODY> ) conţine corpul paginii.
1. BODY (CORP)
Utilizare: Demarchează corpul documentului faţă de antet (header)
Tag de început: <body>
Tag de sfârşit: </body>
Exemplu: <head>
<title>Titlul Documentului</title>
</head>
<body>
Această linie reprezintă corpul documentului.
</body>
Cele două secţiuni cuprinse între marcajele <HTML> şi </HTML> care marchează
începutul respectiv sfârşitul paginii.
2. HEADER (ANTET)
Utilizare: Face demarcaţia între antetul şi corpul documentului
Tag de început: <head>
Tag de sfârşit: </head>
Exemplu: Vezi exemplul de la BODY
3. HEADING1 (TITLU MAJOR 1)
Utilizare: Titlu de antet din interiorul documentului
Tag de început: <h1>
Tag de sfârşit: </h1>
Exemplu: <h1>Facultăţile din U.P.</h1>
4. TITLES (TITLU)
Utilizare: Plasat în interiorul unui antet creează un titlu care este afişat pe bara de titlu.
Tag de început: <title>
Tag de sfârşit: </title>
Exemplu: <title>CREAREA UNUI DOCUMENT</title>

5. HTML (HTML)
Utilizare: Demarchează porţiunea de document codificată cu HTML
Tag de început: <html>
Tag de sfârşit: </html>
Exemplu: <html>
<head>
<title>Titlul documentului</title>
</head>
<body>
Această linie reprezintă întregul corp al documentului
</body>
</html>

Introducerea şi formatarea textului


Marcajele uzuale pentru formatarea textului sunt:
6. <BR> - marcaj trecere forţată la linie nouă;
FORCED LINE BREAK (FORŢAREA SFÂRŞITULUI DE LINIE)
Utilizare: Acest tag se utilizează atunci când se doreşte să nu existe o linie
vidă între două linii consecutive
Tag de început: <br>
Tag de sfârşit: Niciunul
Exemplu: Strada Universităţii nr. 20 <br>
2685 Petroşani </br>
7. <NOBR>…</NOBR>- interzice trecerea la linie nouă
8. <P>… . </P> -marcaj paragraf. Acest marcaj admite atributul ALIGN prin care se
impune tipul de aliniere a textului (LEFT – stânga, CENTER – centrat, RIGHT – dreapta)
9. <H1>…</H1> - marcaj de titlu (heading). Ca şi in Word se pot folosi marcaje diferite
pentru titluri de diferite nivele: H1, H2, …, H6. Nivelul 4 coincide cu textul normal. Marimea
caracterelor pentru nivelele 5 şi 6 este mai mică decât cea normală. Şi acest marcaj admite atributul
ALIGN:
<H1ALIGN=CENTER>Creşterea</H1>
10. <CENTER>...</CENTER> - determină centrarea textului cuprins între marcaje. Titlul
de mai sus se poate scrie şi folocind acest marcaj:
<H1> <CENTER>Creşterea</CENTER></H1>
11. <PRE>...</PRE> - se foloseşte pentru a transmite programului de navigaţie că pentru
zona de text cuprinsă între marcaje spaţiile şi caracterele CR (RETURN sau ENTER) trebuie
respectate. De regulă programele de navigaţie ignoră aceste caractere, formatarea făcându-se numai
folosind informaţiile furnitzte de marcaje. Pentru tastarea textului nu se va folosi un font
proporţional ci fontul Courier New pentru care toate caracterele au aceeaşi laţime.
12. PARAGRAPH (PARAGRAF)
Utilizare: Se începe un nou paragraf
Tag de început: <p>
Tag de sfârşit: niciunul
Exemplu: S-a ajuns la sfârşitul unui paragraf<p>
13. PREFORMATTED TEXT (TEXT PREFORMATAT)
Utilizare: Reţine sfârşiturile de linie şi spaţierea între rânduri
Tag de început: <pre>
Tag de sfârşit: </pre>
Exemplu: <pre> Activitate Descriere
CO251 Introducere în Sisteme de Operare
CO261 Introducere în Teleinformatică
CO301 Inteligenţă Artificială
</pre>
14. RULE (LINIE)
Utilizare: Adaugă o linie orizontală în document
Tag de început: <hr>
Tag de sfârşit: </hr>
Exemplu: <h3>Grupa CB31</h3>
15. Adăugarea de spaţii suplimentare în alte cazuri se va realliza prin includerea pentru

fiecare spaţiu suplimentar a şirului de caractere “&nbsp”. Similar, se procedează şi pentru

adăugarea unui caracter special (de exemplu a caracterelor româneşti). Dacă pagina este redactată

cu Netscape Composer, inserarea unui carcter special se va face selectând Tools / Character Tools /

Insert Special Character.

16. În Word Pad pentru caracterele româneşti din tabel se tastează:

&icirc – pentru î

&acirc – pentru â

&atilde – pentru ă

&Acirc – pentru Â

&Icirc – pentru Î

Astfel textul « doi români într-o gară » va fi scris « doi rom&acirc ;ni &icirc ;ntr-o

gar&atilde ; »

17. Marcajul < !--…--> permite scrierea în pagina Web a unui comentariu.

Exemplu: < !—Mai trebuie o poză şi gata-->

Marcaje pentru modificarea aspectului textului:


18. TEXT ATTRIBUTES (ATRIBUTE DE TEXT)
Utilizare: Adaugă în document stiluri fizice (îngroşat, cursiv, subliniat) şi stiluri
logice (ce permit autorului să formateze textul expresiv, sau foarte expresiv)
Tag de început: <em>; stil logic pentru text accentuat
<strong>; stil logic pentru text foarte accentuat
<b>, <i>, <u>; pentru stiluri fizice
Tag de sfârşit: </em>; stil logic pentru text accentuat
</strong>; stil logic pentru text foarte accentuat
</b>, </i>, </u>; pentru stiluri fizice
Exemplu: Acest lucru este foarte important: <em>Întotdeauna să priveşti înainte atunci
când eşti la volan.
</em> <strong> Întotdeauna.</strong>
Textul accentuat este mai vizibil decât textul normat, iar textul foarte accentuat este şi mai
expresiv decât orice altă reprezentare.
19. < B>…</B> - pentru marcarea textului de scris bold;

BOLD (ÎNGROŞAT)
Utilizare: Afişează caracterele îngroşate
Tag de început: <b>
Tag de sfârşit: </b>
Exemplu: Afişează <b>chmod +x Mosaic-sun </b> şi apoi apasă ENTER

20. < I>…</I> - pentru marcarea textului de scris înclinat (Italic);

ITALICS (CARACTERE ÎNCLINATE)


Utilizare: Afişează caractere cursive (înclinate)
Tag de început: <i>
Tag de sfârşit: </i>
Exemplu: <i>Catedra de Birotică</i>, Colegiul Universitar Tehnic şi de

Administraţie

21. < STRIKE>…</STRIKE > pentru marcarea textului care se scrie barat;

22. < U>…</U> - pentru marcarea textului care se scrie subliniat;


Utilizare: Afişează caracterele/textul subliniat
Tag de început: <u>
Tag de sfârşit: </u>
Exemplu: <u>LUCRUL CU DOCUMENTELE</u>
23. < SUP>…</SUP >- pentru marcarea textului care se scrie la exponent;
24. < SUB>…</SUB>- pentru marcarea textului care se scrie la indice;
25. < BIG >…</BIG > - pentru marcarea textului care se scrie mărit;
26. < SMALL>…</SMALL>- pentru marcarea textului care se scrie micşorat;
27. < FONT FACE=”…”>…</FONT> determină schimbarea fontului current. Între
ghilimele se inroduce numele fontului dorit şi eventual unul sau mai multe fonturi de substituţie
dacă pe calculatorul care afişează pagina primulfont nu este instalat.
28. < BASEFONTSIZE=”n”> se introduce înaintea texxtului paginii şi impune mărimea
fontului. Numărul n este o valoare între 1 (Scrisul cel mai mic) şi 7 (scrisul cel mai mare). Textele
marcate ca şi tiuri (cu <H>) nu sunt afectate.
29. < FONT SIZE=”n”>…</FONT> determină scrierea textului cuprins între marcaje cu
caractere de mărimea n.Mărimea este o valoare între 1 (caracterele cele mai mici) şi 7 (caractereele
cele mai mari). Valoarea 3 este cea implicită.
30. < TT>…</TT> - determină imprimarea textului dintre marcaje cu caractere de aceeaşi
lăţime ca şi cele imprimate cu o maşină de scris.
Modificarea culorilor:
31. < BODY TEXT=”#rrggbb”>…</BODY> schimbă culoarea scrisului pentru toată
pagina. Codul #rrggbb arată combinaţia de roşu (rr), verde (gg) şi albastru (bb) care se va folosi.
Valorile sunt hexazecimale, deci sunt cuprinse între 00 şi FF.
32. < BODY BGCOLOR=”#rrggbb”>…</BODY> schimbă culoarea fondului pe toată
pagina.
33. < FONTCOLOR=”#rrggbb”>…</FONT> impune textului dintre marcaje culoarea
#rrggbb

34.ADRESS (ADRESĂ)
Utilizare: Iniţial folosită ca format pentru informaţia de contact în partea de jos a
paginii, ea poate fi folosită şi la poziţionarea unui paragraf într-un mod diferit faţă de restul paginii.
Textul apare cu litere cursive.
Tag de început: <address>
Tag de sfârşit: </address>
Exemplu: <address>Petroşani, 3 Noiembrie 2000</address>
35.ANCHOR (ANCORĂ)
Utilizare: Creează o hiperlegătură
Tag de început: <a href =,,puneţi aici URL-ul”>
Tag de sfârşit: </a>
Exemplu: <A HREF=,,http://www.infocib.up.ro”>Serverul WWW din U.P. </A>1

36-37. Marcaje pentru descrierea listelor

Marcajele HTML permit definirea mai multor tipuri de liste:


A. Lista ordonată este declarată prin marcajul <OL>(ordered list) şi are rândurile
numerotate. Fiecare linie este precedată de un marcaj <LI>
Numerotarea liniilor este automată. Pentru a începe de la o altă valoar, marcajul <OL> I se a
adăuga atributul START=n, n fiind numărul dorit pentru prima linie a listei.

Lista ordonată poate fi numerotată folosind litere sau cifre romane. Pentru acestea se va
adăuga marcajul <OL> atributul TYPE=s, s fiind unul dintre simbolurile:

TYPE Rezultat
TYPE=A A,B,C
TYPE=a a,b,c
TYPE=I I,II,III
TYPE=i i,ii,iii
TYPE=1 1,2,3
B. Lista neordonată este declarată prin marcajul <UL>(unordered list) şi are rândurile
precedate de puncte. Fiecare linie este precedată de un marcaj <LI>
Aspectul punctului pus în faţe fiecărei linii poate fi scchimbat prin folosirea atributului
TYPE=v, v fiind circle, disc sau square.

Listele pot avea în interior alte liste.


C. Lista care conţine definiţii este declarată prin marcajul <DL>(definition list) şi are
rândurile precedate de marcaje <DT> pentru titlri şi <DD> pentru definiţii.
Imaginile incluse în paginile eb pot proveni din diverse surse: alte pagini Web,
scanate,desenate cu ajutorul unei aplicaţii.
Rezoluţia imaginii, cuprinsă uzual între 72 dpi şi 600 dpi influenţează mărimea fişierului
care conţine imaginea.
Lăţimea imaginii nu se recomandă să depăşească 620 pixeli (puncte) deoarece nu va putea fi
afişată pemonitoare care au o rezoluţie mai scăzută
Formatul fişierului în care s-a memorat imaginea trebuie să fie GIF (extensia *.gif, imagini
până la 256 de culori) sau JPEG( 224 = 16777216 culori, fişiere cu extensia jpg)
Dacă aceeaşi imagine este folosită pe mai multe pagini, programul de navigaţie o va încîrca
în memorie temporar reducând timpii de încărcare a paginilor.
1. Adăugarea imaginilor într-o pagină se realizează folosind marcajull <IMG>:
38. IN-LINE IMAGE (IMAGINE ÎN LINIE)
Utilizare: Afişează un grafic în interiorul documentului
Tag de început: <img src="Poziţionaţi aici URL-ul">
Tag de sfârşit: Niciunul
Exemplu: <img src="file:///c:\mosaic\heart.gif">
Daca pagina Web şi fişierul care conţine imaginea sunt în acelaşi dosar este suficientă
introducerea numelui acestuia. Dacă imaginea este într-un dosar derivat trebuie indicată calea
folosind separatorul caracter /
Includerea unui banner:

Încadarea unei imagini (adăugarea unui chenar) se indică prin adăugarea atributului
BORDER=n,n fiind lăţimea chenarului
În pixeli.
<IMG SRC=”mark.gif” BORDER=8>
Programele de navigaţie permit suprimarea afişării imaginilor paginilor. În acest mod se
câştigă în viteză. N marcajul <IMG> se poate include ca şi atribut textul care săfie afişat în locul
imaginii, dacă afişarea imaginilor a fost inactivată.
2.5. Procesarea XML

Arhitectura de procesare XML de bază constă în trei straturi cheie:

 în partea stângă extremă se găsesc documentele XML cu care o aplicaţie are


nevoie să lucreze;

 în partea dreaptă extremă se află aplicaţia;

 în mijloc se găseşte stratul de infrastructură pentru lucrul cu documentele XML.

Pentru ca o aplicaţie să poată lucra cu un document XML, trebuie mai întâi să îl poată
analiza. Analiza este un proces care implică împărţirea textului unui document XML în porţiuni
mici de identificare denumite noduri. Analizoarele vor împărţi documentele în poţiuni precum
etichetele de început / sfârşit, perechile atribut-valoare, bucăti de conţinut de text, instrucţiuni de
procesare, comentarii etc.

Aceste porţiuni sunt transmise aplicaţiei folosind o API bine definită, care
implementează un anumit model de analiză.

Există patru modele de analiză, ce sunt uzual utilizate:

1. analiza prin „tragere” (pull parsing) – implică faptul că aplicaţia trebuie să ceară
întotdeauna unităţii de analiză să îi furnizeze următoarea porţiune de informaţie;

2. analiza prin „împingere” (push prsing) analizorul trimite notififcări aplicaţiei despre
tipurile de porţiuni de document XML pe care le întâlneşte în analiză. Notificările sunt trimise în
ordine „de citire” aşa cum apar în textul documentului.

3. analiza (one-step-parsing) analizorul citeşte întregul document XML şi generează o


structură de date (arbore de analiză) care descrie întregul conţinut (elemente, atribute, comentarii
etc). Structura de date este profund imbricată; ierarhia sa mimează imbricarea elementelor în
documentul XML analizat. W3C a definit un Document Object Model (DOM) – model de obiecte
document pentru XML.
DOM specifică tipurile de obiect care vor fi incluse în arborele de analiză, proprietăţile şi
operaţiile acestora.

DOM este o API independentă de limbaj şi de platformă. Cea mai mare problemă cu
API-urile DOM este aceea că adesea nu se mapează corespunzător la sttructurile de date native din
anumite limbaje de programare. Pentru abordarea acestei probleme, comunitatea Java a început
lucrul la specificaţia JDOM – Java DOM al cărei obiectiv este simplificarea procesului de
manipulare a arborilor document în Java, prin utilizarea API-urilor de obiect potrivite la şabloanele
obişnuite de programate Java

4. analiza hibridă ( hybrid parsing) combină caracteristici ale celorlalte trei modele de
analiză pentru a crea analizoare eficiente de scenarii speciale.

2.6. SOAP

Microsoft a început să se gândească la calculul distribuit pe baza XML în 1997. Scopul era
de a determina aplicaţiile să comunice via Remote Procedure Calls (RPC) prin HTTP.

În 1999, când Microsoft lucra la propria versiune de XML, XML Data, ideea de SOAP a
preluat un impuls suplimentar. Si istoricul continuă.

SOAP pretinde a fi o specificaţie pentru „o infrastructură universală de calcul distribuit,


pe baza XML”

Calculul distribuit implică faptul că SOAP poate fi utilizat pentru a activa


interoperabilitatea aplicaţiilor la distanţă. Calculul distribuit este un termen confuz şi semnifică
lucruri diferite pentru oameni diferiţi şi în situaţii diferite. Câteva din faţetele care sunt utilizate cînd
se ia în calcul un anumit scenariu:

 stiva de protocoale folosite pentru comunicaţie;

 gestionarea conexiunii;

 securitatea;

 suportul pentru tranzacţii;

 aranjarea şi dez-aranjarea datelor;

 evoluţia protocolului si managementul de versiune;

 gestionarea erorilor;
 metode de audit etc.

Infrastructură implică faptul că SOAP este destinat dezvoltatorilor de sisteme distribuite


de bază, nu dezvoltatorilor de aplicaţie sau utilizatorilor pentru afaceri. Produsele de infrastructură,
precum serverele de aplicaţie „capabile SOAP” prin includerea unui motor de serviciu Web care
înţelege SOAP. SOAP funcţionează în spatele scenei şi se asigură că aplicaţiile dumneavoastră pot
interopera.

Universală, adică omniprezentă. SOAP există pretutindeni în Internet, ar trebui să fie mai
uşor de realizat calculul distribuit. SOAP trebuie să fie o tehnologie abstractă şi flexibilă, dar care
să ofere suport pentru scenariile particulare ale calcului distribuit.

Cel mai important lucru este că SOAP este relativ simplu, SOAP 1.0 se poate tipări pe aprox
40 de pagini.

Deoarece SOAP este concentrat pe aspectele comune ale tuturor scenariilor de calcul
distribuit, el furnizează următoarele:

 un mecanism de definire a unităţii de comunicaţie. În SOAP, toată informaţia este


împachetată într-un mesaj SOAP clar identificabil. Acest lucru este realizat printr-un plic
(pachet) SOAP care cuprinde toate celelalte informaţii. Un mesaj poate avea un corp
(body), poate deţine orice număr de anteturi (headers), care încapsulază informaţia din
afara corpului mesajului;

 un mecanism de generare a erorilor, care poate identifica sursa şi cauza erorii şi poate
permite ca informaţia de diagnostic al acesteia să poată fi schimbată între participanţii la
o interacţiune;

 un mecanism de extennsibilitate, astfel încât evoluţia să nu fie împiedicată şi să nu existe


blocaj;

 un mecanism flexibil pentru reprezentarea datelor, care permite schimbul de date deja
serializate într-un anumit format precum şi o convenţie de reprezentare a structurilor de
da date abstracte, precum tipurile de date din limbajele de prigramare într-un format
XML;

 o convenţie pentru reprezentarea Remote Procedure Calls(RPC) şi a răspunsurilor ca


mesaje SOAP, deoarece RPC-urile sunt cel mai uzual tip de intecţiune de calcul
distribuit;
 o abordare centrată pe document, pentru a reflecta modele de schimb de document mai
naturale;

 un mecanism de legătură a mesajelor SOAP la HTTP este cel mai utilizat protocol de
comunicaţie în Internet.

Anda mungkin juga menyukai