SOAP - Simple Object Access Protocol
SOAP je komunikačný protokol a formát kódovania využívaný na komunikáciu medzi
aplikáciami. Je založený na báze XML. Na výmenu správ používa zvyčajne HTTP.
Je nezávislý na platforme a na programovacom jazyku.
Umožňuje vzdialené volanie metód, objektov a všeličoho iného,
čo môže zverejniť server. Komunikácia medzi dvoma SOAP systémamy prebieha formou XML správ.
Tieto správy obsahujú jeden alebo viac SOAP elementov, hlavičky a telo, to všetko uzavreté v tzv. obálke -
envelope.
Existujú 2 syntaxy na popis dát v týchto elementoch. Starší XML RPC systém, a novší XML Schema.
SOAP je považovaný za základ novej generácie distribuovaných aplikácií,
nezávislých na platforme a jazyku, ktorým sa hovorí webové služby -
Web Services.
Je protokolom, pomocou ktorého jednotlivé webové služby medzi sebou komunikujú.
V tomto čase existuje už dostatočne veľa implementácií SOAP,
a to najme pre jazyky orientované na sieťovú komunikáciu,
napr. sú to SOAP:Lite pre Perl, Apache Axis a Apache SOAP 2 pre Java,
taktiež sú implementácie pre C#, Delphi, VB, atď.
Pre nás bude hlavne zaujímavá implementácia Apache Axis.
Je to nová technológia, ktorá nahradzuje svojho predchodcu Apache.
Inštalácia
- Nainštalujte Tomcat - popis inštalácie tu.
- Nainštalujte Axis
Popis inštalácie SOAP
- Stiahnite si poslednú verziu Axis z vyššie uvedenej adresy.
Súbor je zabalený pomocou ZIPu. Rozbaľte celú adresárovú štruktúru.
- V stromovej štruktúre rozbaleného súboru nájdite adresár s názvom "/webapps/".
Tento adresár by mal obsahovať jediný ďalší adresár "/axis/".
Tento adresár je potrebné skopírovať do adresára "/webapps/" Vášho nainštalovaného
jsp/servlet servera (napr. Tomcat 4).
- Po skopírovaní je potrebné reštartovať bežiaci jsp/servlet server.
- Skontrolovať bežiaci Axis je možné v internetovom prehliadači.
Napíšte: http://localhost:8080/axis/.
Ak sa v prehliadači zobrazila stránka s nádpisom "Apache-AXIS", prvá časť inštalácie
je dokončená.
- Stlačte na odkaz s nadpisom Validate. Spustí sa JSP aplikácia, ktorá skontroluje
prítomnosť .jar knižníc, ktoré je potrebné sprístupniť, aby Axis bežal správne.
Pod nadpisom Needed Components sa objavia názvy chýbajúcich knižníc.
Príslušné knižnice je potrebné skopírovať z adresára "/lib/" do adresára, v ktorom
ich jsp server hľadá. Napr. pre Tomcat je to adresár "/common/lib/".
Ak Axis stále hlási chýbajúce povinné knižnice, vyhľadate ich v JDK a
skopírujte do toho istého adresára.
- Reštartujte jsp server.
pomoc
Registrácia služieb na servri
K registrácii služieb sú určené súbory s príponou .dd, resp. wsdd (web services
deployment descriptor). Popisujú ako sa má služba správne zaregistrovať na servri.
Informujú o službe a o javovskej triede, ktorá ju implementuje.
Väčšinou sa tieto súbory nazývajú deploy.wsdd.
Ak nepoužívame žiadne vývojové prostredia, tak tento súbor musíme vyrobiť ručne.
Jednoduchšie je nechať to na napr. JBuilder, ktorý ho vyrobí automaticky.
Následne treba použiť tento súbor pre registráciu na servri:
%java org.apache.axis.client.AdminClient deploy.wsdd
Služby nie je potrebné registrovať, ak sú implementované v jave a uložené v súbore s príponou .jws
Príklady
1. Ahoj Service
2. Webová kalkulačka - príklad nezávislosti na jazyku
- súbory k príkladu
- zostrojíme webovú službu - v Jave
- naprogramujeme klienta ktorý túto službu využíva - v Delphi
- Vylepšite daný program tak, aby fungovalo aj odčítanie, násobenie a delenie.
Linky