Documentație de la computer la

Oracle: primul pas spre serviciile web

Nu cumpărați castane, ci luați-le în judecată.
K. Prutkov

Servicii Web

Serviciile Web sunt încă supraîncălzite (mai precis, un concept "încălzit") și, prin urmare, există o anumită sumă de confuzie și arbitrare în domeniul său de aplicare și conținut. Definiția generală este uneori formulată astfel. schimbă în mesajele web de rețea cu noduri în format XML.







Pe baza acestui concept general, a apărut o specie specifică numită XML-RPC. XML-RPC - abilitatea de a rula proceduri la distanță pe site-uri web, folosind XML pentru a procesa cererile și răspunsurile. Dacă aveți un web gazdă cu serverul XML-RPC, orice program client poate folosind regulile speciale de întocmire a unei cereri XML pentru a aplica la server și primi înapoi rezultatul calculului.

Chiar și mai târziu, arhitecții dezvoltatorilor de tehnologie XML au avut dorința de a construi un tip mai specific universal de mesaje simple. Am vrut să am un astfel de serviciu pe web încât să aibă proprietățile (a) auto-descrierii și (b) auto-descoperirea. Implementat acest lucru a fost numit SOAP. Programul client poate efectua căutări XML pentru serviciul SOAP dorit, poate solicita regulile de utilizare și poate profita de acesta.

În ciuda faptului că XML-RPC si SOAP servicii web sunt concretizări - un relativ sofisticat - un simplu schimb de mesaje XML (care stau la baza acestor tehnologii), de asemenea, rămâne așa, și chiar are propria sa valoare intrinsecă. Avionul este un mijloc modern de transport, cu toate acestea, probabil că veți merge cu bicicleta în sat pentru lapte.

Următoarele vor ilustra câteva modalități de a efectua acest schimb între baza de date sub controlul Oracle de web și, fără cunoștințe de tot felul de abrevieri ingenioase, concepte suplimentare și tehnologii speciale.

Ce trebuie să lucrezi

Pentru a testa exemplele din acest articol, nu va fi nevoie de nimic neobișnuit. Întrucât instrumentul va servi cele mai comune livrări de bază ale Oracle DBMS. Exemple vor folosi protocolul HTTP de transport ca cele mai tipice (alte protocoale de transport pentru serviciile web pot fi FTP, SMTP, și unele mai specifice), și se presupune că software-ul Oracle este instalat împreună cu serverul HTTP. În Oracle 10, acesta din urmă este livrat pe un disc separat, iar în versiunile 8.1 și 9 - împreună cu DBMS.







Pentru comoditatea locația directorului și HTTP Server Oracle pe hard disk-ul va fi considerat ca fiind cel implicit pentru versiunile 8.1 și 9. De exemplu, directorul rădăcină pentru serverul HTTP Apache va fi considerat c: \ Oracle \ ora92 \ Apache \ Apache \ htdocs (în versiunea pentru Windows), sau , pentru scurtcircuit, doar htdocs.

Este necesar ca DBMS-ul Oracle și serverul HTTP să fie pornite.

În exemplul XSQL, se presupune că baza de date este denumită ORCL. În general, acest lucru, desigur, nu este necesar.

Primirea mesajelor XML către Oracle

Procedura PL / SQL a fost finalizată cu succes.

A construi o procedură pentru obținerea unui document XML pe baza textului de mai sus este o chestiune de tehnică. Este rezonabil să includeți în procedură verificarea câmpului Content Type al răspunsului HTTP. Rezultatul este aproximativ următorul:

Este mai practic să utilizați tipul CLOB, mai degrabă decât VARCHAR2, pentru un document lizibil. Dar acest lucru ar complica exemplul și în esență nu se aplică și, prin urmare, nu este luat în considerare aici. De asemenea, din motive de simplitate, problemele tehnice de formatare a textului documentului nu sunt luate în considerare.

Textul documentului XML rezultat poate fi plasat într-o bază de date sau procesat.

Același lucru se poate face în Oracle nu numai în PL / SQL, dar și în Java.

În fereastra consolei OS, efectuați următoarele setări (versiunea corespunde versiunii 9 și Windows):

Să compunem textul servletului (programe Java) în fișierul ServletForXML.java:

Localizați servletul și mutați fișierul de clasă în locația condițională (implicită) pentru containerul servlet (în acest caz, JServ de la Apache):

Desigur, textul servlet poate fi complicat și poate adăuga la acesta o bază de date prin JDBC, iar restul, care permite Java.

Emiterea datelor din baza de date utilizând XSQL

În cataloagele software Oracle, o instalare tipică creează directorul c: \ oracle \ ora92 \ xdk \ demo \ java \ xsql. Să creăm directorul nostru de lucru myxsql. Să începem fișierul numit emps.xsql:

Servlet care procesează cererile de fapt formatul xSQL, este interesant deoarece se poate ocupa de tipuri de câmpuri XMLTYPE și obiecte, precum și tipul de colectare, inclusiv imbricate și ierarhia imbricate cursoare (pentru ultima circumstanță mi-a atras atenția asupra Levius AM). De exemplu, vom corecta tabelul EMP după cum urmează:

XSQL este utilă pentru că vă permite să publicați nu numai în XML, dar acest lucru depășește domeniul de aplicare al acestui articol.







Articole similare

Trimiteți-le prietenilor: