Web_service.pdf

(1204 KB) Pobierz
Web_service
Web Service – implementacja aplikacji klienta usługi
Marek Lewandowski, Paweł Kħdziora
Politechnika Poznaıska
lewandowski.marek@gmail.com, pawel.kedziora@gmail.com
Spis tre Ļ ci:
1 Technologia Web Service ........................................................................................... 3
1.1 Definicja Web Service ........................................................................................ 3
1.2 Architektura Web Service................................................................................... 3
1.3 Protokół SOAP ................................................................................................... 4
1.4 J ħ zyk WSDL ....................................................................................................... 6
1.5 Rejestr UDDI ...................................................................................................... 7
2 Przykładowa aplikacja ................................................................................................ 8
2.1 Aplikacja standardowa........................................................................................ 8
2.2 Aplikacja – klient Web Service .......................................................................... 9
3 Klient Web Service ................................................................................................... 11
3.1 ĺ rodowiska wspieraj Ģ ce tworzenie aplikacji klienta usług sieciowych............ 11
3.1.1 Schemat post ħ powania.............................................................................. 11
3.1.2 Java ........................................................................................................... 12
3.1.3 Microsoft .NET ......................................................................................... 17
3.1.4 Borland Delphi.......................................................................................... 20
3.1.5 Oracle Forms............................................................................................. 23
3.1.6 Lotus Designer .......................................................................................... 28
3.1.7 Borland C++ Builder ................................................................................ 31
3.1.8 Php ............................................................................................................ 32
3.1.9 C/C++........................................................................................................ 33
3.1.10 Ada ............................................................................................................ 34
3.2 ĺ rodowiska nie zapewniaj Ģ ce wsparcia w procesie tworzenia aplikacji klienta
usług sieciowych ........................................................................................................... 35
3.2.1 Rozwi Ģ zanie manualne ............................................................................. 35
3.2.2 Rozwi Ģ zanie półautomatyczne.................................................................. 38
4 Podsumowanie .......................................................................................................... 39
5 Literatura:.................................................................................................................. 40
2
1 Technologia Web Service
1.1 Definicja Web Service
Web Service to zwarty, samodokumentuj Ģ cy si ħ komponent programowy niezale Ň ny od
platformy i implementacji dostarczaj Ģ cy okre Ļ lonej funkcjonalno Ļ ci. Komponent ten
mo Ň e zosta ę opublikowany w sieci komputerowej przez swego autora, a nast ħ pnie
odnaleziony i wywołany w trybie zdalnego wykonania przez twórc ħ aplikacji
konsumenckiej. Technologia Web Service wykorzystuje szereg rozwi Ģ za ı
informatycznych, m.in.:
- SOAP – słu ŇĢ cy do przekazywania zdalnych wywoła ı ,
- WSDL – słu ŇĢ cy do dystrybucji parametrów poł Ģ cze ı sieciowych,
- UDDI – słu ŇĢ cy do rejestracji udost ħ pnianych komponentów usługowych.
1.2 Architektura Web Service
Idea działania usługi Web Service została przedstawiona na rysunku 1.2.1. Zarówno
aplikacja ( Service Requester ), ŇĢ daj Ģ ca wywołania kodu zdalnego modułu, jak
i komponent Web Service ( Service Provider ) go udost ħ pniaj Ģ cy, pobier Ģ interfejs kodu
z okre Ļ lonego miejsca w sieci Internet ( Service Broker ).
Zarówno ŇĢ danie wywołania zdalnej usługi jak i zwracany rezultat przekazywane s Ģ za
pomoc Ģ komunikatu SOAP (patrz: 1.3 Protokół SOAP). Interfejs kodu przekazywany jest
stronom z wykorzystaniem dokumentu WSDL (patrz: 1.4 J ħ zyk WSDL), który
przechowywany jest w bazie danych UDDI (patrz: 1.5 Rejestr UDDI).
Rys. 1: Ogólna idea Web Service
3
176714299.088.png 176714299.099.png 176714299.110.png 176714299.121.png 176714299.001.png 176714299.012.png 176714299.023.png 176714299.034.png 176714299.042.png 176714299.043.png 176714299.044.png 176714299.045.png 176714299.046.png 176714299.047.png 176714299.048.png 176714299.049.png 176714299.050.png 176714299.051.png 176714299.052.png 176714299.053.png 176714299.054.png 176714299.055.png 176714299.056.png 176714299.057.png 176714299.058.png 176714299.059.png 176714299.060.png 176714299.061.png 176714299.062.png 176714299.063.png 176714299.064.png 176714299.065.png 176714299.066.png 176714299.067.png 176714299.068.png 176714299.069.png 176714299.070.png 176714299.071.png 176714299.072.png 176714299.073.png 176714299.074.png 176714299.075.png 176714299.076.png 176714299.077.png 176714299.078.png 176714299.079.png 176714299.080.png 176714299.081.png 176714299.082.png 176714299.083.png 176714299.084.png 176714299.085.png 176714299.086.png 176714299.087.png 176714299.089.png 176714299.090.png 176714299.091.png 176714299.092.png 176714299.093.png 176714299.094.png 176714299.095.png 176714299.096.png 176714299.097.png 176714299.098.png 176714299.100.png 176714299.101.png 176714299.102.png 176714299.103.png 176714299.104.png 176714299.105.png 176714299.106.png 176714299.107.png 176714299.108.png 176714299.109.png 176714299.111.png 176714299.112.png 176714299.113.png 176714299.114.png 176714299.115.png 176714299.116.png 176714299.117.png 176714299.118.png 176714299.119.png 176714299.120.png 176714299.122.png 176714299.123.png 176714299.124.png 176714299.125.png 176714299.126.png 176714299.127.png 176714299.128.png 176714299.129.png 176714299.130.png 176714299.131.png 176714299.002.png 176714299.003.png 176714299.004.png 176714299.005.png 176714299.006.png 176714299.007.png 176714299.008.png 176714299.009.png 176714299.010.png 176714299.011.png 176714299.013.png 176714299.014.png 176714299.015.png 176714299.016.png 176714299.017.png 176714299.018.png 176714299.019.png 176714299.020.png 176714299.021.png 176714299.022.png 176714299.024.png 176714299.025.png 176714299.026.png 176714299.027.png 176714299.028.png 176714299.029.png 176714299.030.png 176714299.031.png 176714299.032.png 176714299.033.png 176714299.035.png 176714299.036.png 176714299.037.png 176714299.038.png
1.3 Protokół SOAP
SOAP ( Simple Object/Open Access Protocol ) jest protokołem opartym o XML ( eXtensible
Markup Language ), umo Ň liwiaj Ģ cym aplikacjom wymian ħ komunikatów poprzez
protokół sieciowy - zazwyczaj HTTP ( HyperText Transfer Protocol ). W ogólno Ļ ci,
aplikacje wykorzystuj Ģ ce SOAP mog Ģ by ę zaimplementowane w ró Ň nych j ħ zykach
i pracowa ę na ró Ň nych platformach.
Komunikacja sieciowa mo Ň e odbywa ę si ħ na dwa sposoby:
- w stylu RPC ( Remote Procedure Call )
- komunikacji dokumentowej
Powy Ň sze tryby komunikacji ró Ň ni Ģ si ħ form Ģ przekazywania parametrów: w trybie RPC
komponentowi przekazywana jest lista parametrów wraz z ich bie ŇĢ cymi warto Ļ ciami,
a w trybie komunikacji dokumentowej usługa otrzymuje tylko jeden parametr, którym
jest dokument XML . Zazwyczaj tryb RPC korzysta z komunikacji synchronicznej, a tryb
dokumentowy z komunikacji asynchronicznej.
Schemat komunikacji w trybie dokumentowym przedstawiony został na rysunku 1.3.1:
Rys. 2: Komunikacja SOAP w trybie dokumentowym.
Wywołanie metody przez klienta jest konwertowane do dokumentu XML . Argumenty
poddawane s Ģ serializacji (konwertowane do ci Ģ gu bajtów reprezentowanego
heksadecymalnie). Tak zbudowany dokument XML nazywany komunikatem SOAP
przekazywany jest z wykorzystaniem protokołu sieciowego do zdalnej usługi, która po
deserializacji argumentów uruchamia ŇĢ dan Ģ metod ħ i analogicznym algorytmem
przekazuje zwrotnie rezultat jej wykonania.
4
176714299.039.png
Komunikat SOAP składa si ħ z nast ħ puj Ģ cych elementów:
- element obowi Ģ zkowy <Envelope> - oznaczaj Ģ cy, i Ň dokument XML jest
komunikatem SOAP ,
- element opcjonalny <Header> - zawieraj Ģ cy informacje nagłówkowe,
- element obowi Ģ zkowy <Body> - zawieraj Ģ cy informacje o ŇĢ daniu i odpowiedzi,
- element opcjonalny <Fault> - zawieraj Ģ cy opis bł ħ dów, jakie wyst Ģ piły podczas
przetwarzania komunikatu.
Poni Ň szy rysunek (rys. 1.3.2) zawiera przykładowy komunikat SOAP ŇĢ daj Ģ cy
wywołania komponentu o nazwie „demo”, zawieraj Ģ cego funkcj ħ
multiply (int val1, int val2) . Przykład pokazuje przekazanie do funkcji dwóch parametrów
multiply ( val1 := 3, val2 := 2). Usługa zwraca odpowied Ņ , równie Ň w formacie
komunikatu SOAP – wynik iloczynu parametrów val1 i val2 .
Rys. 3: Przykładowy komunikat - ŇĢ danie SOAP.
Rys. 4: Przykładowy komunikat – odpowied Ņ SOAP.
5
176714299.040.png 176714299.041.png
Zgłoś jeśli naruszono regulamin