XML şi SOAP
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.
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ă:
HTML
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).
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
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>
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 /
î – pentru î
â – pentru â
ã – pentru ă
 – pentru Â
Î – pentru Î
Astfel textul « doi români într-o gară » va fi scris « doi româ ;ni î ;ntr-o
garã ; »
17. Marcajul < !--…--> permite scrierea în pagina Web a unui comentariu.
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
Administraţie
21. < STRIKE>…</STRIKE > pentru marcarea textului care se scrie barat;
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
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.
Î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
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ă.
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.
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ă.
gestionarea conexiunii;
securitatea;
gestionarea erorilor;
metode de audit etc.
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 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 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;
un mecanism de legătură a mesajelor SOAP la HTTP este cel mai utilizat protocol de
comunicaţie în Internet.