Webová služba byla vyvinuta jako další způsob, jak můžete ovládat databázi položek, kterou používá aplikace Aukce pomocí XML. Uživatelé webové služby Aukce mohou přidávat a mazat položky databáze nebo zobrazovat informace jedné nebo všech aktuálních položek v Aukci.
Webová služba je sada souvisejících aplikačních funkcí, které lze publikovat, vyhledat a vyvolat v síti Internet. Webové služby umožňují aplikacím spuštěným na různých platformách a vyvinutým v různých jazycích spolupracovat pomocí komponent založených na XML.
Existují dva obecné přístupy k vývoji webové služby: shora dolů a zdola nahoru. U přístupu shora dolů je webová služba založená na rozhraní webové služby a na typech XML, definovaných v souborech WSDL (Web Services Description Language) a XSD (XML Schema Definition). Vývojář pak upraví implementaci kostry na rozhraní s obchodní logikou. U přístupu zdola nahoru je webová služba vytvořena podle stávající obchodní logiky v objektech bean Java nebo EJB. Vytvoří se soubor WSDL s popisem výsledného rozhraní webové služby. Přístup shora dolů zajišťuje lepší kontrolu nad rozhraním webové služby a použitými typy XML a doporučuje se pro vývojovou webovou službu.
Webová služba Aukce je vyvinuta pomocí přístupu shora dolů tak, že se nejprve definují soubory WSDL a XSD. Soubor WSDL určuje, která rozhraní budou zobrazena, které operace budou vyvolány a které zprávy se během těchto operací objeví. Soubor WSDL se na přesnou definici těchto zpráv odkazuje k souboru XSD.
Následující diagram zobrazuje fáze vývoje webové služby. Pro definování souborů WSDL a XSD se používají editory WSDL a XSD. Druhá komponenta, kostra objektu Java Bean, je sestavena ze tří různých částí, z nichž každá je vyvinuta pomocí průvodce. Protože jsou tyto části generovány a testovány společně jako jedna jednotka, jsou i společně popsány.
Rozhraní webové služby a typy XML definované v souborech WSDL (Web Services Description Language) a XSD (XML Schema Definition) popisují, jak bude webová služba vypadat a jak se bude chovat podle definování prvků a jejich přiřazených akcí.
Po vytvoření webové služby Aukce je pomocí editoru XML vytvořen nový soubor XSD, aby se definovaly typy schématu XML, které byly ve webové službě.
Poté se pomocí průvodce novým souborem WSDL vytvoří soubor WSDL, který podle předvoleného stylu a použití literálu dokumentu vytvoří kostru souboru WSDL. Toto je volba, která je doporučena Organizací interoperability webových služeb (WS-I). WS-I je otevřená průmyslová organizace, která publikuje pokyny pro zajištění interoperability webových služeb mezi různými dodavateli.
Poté, co je vytvořena kostra souboru WSDL, se použije editor WSDL pro úpravu souboru WSDL. Společně s nově vygenerovanou vazbou se v souboru WSDL vytvoří nové operace, zprávy a součásti. Editor WSDL je pevně svázán s editorem XML, který lze otevřít ze samotného editoru WSDL, aby části souboru WSDL mohly odkazovat na typy schématu XML, definované v souboru XSD tak, jak je zobrazeno v následujícím snímku obrazovky.
Kostra Java Bean se ze souborů WSDL a XSD vytvoří pomocí průvodce webové služby. Průvodce webových služeb vygeneruje kód v jazyce Java na základě programovacího modelu JAX-RPC. Deskriptory implementace webové služby se vygenerují na základě technologie Web Services for J2EE Specification.
Společným vytvořením proxy Java a ukázky JSP jako kostry webové služby si velmi zjednodušíte testování všech prvků webové služby.
Jakmile vytvoříte kostru webové služby, vygenerovaná kostra souboru implementace Java se otevře v editoru Java, který obsahuje požadované rozhraní metod, jak je definováno v souboru WSDL. V tomto okamžiku může vývojářem upravená kostra souboru implementace zpřístupnit záložní obchodní logiku.
Vygenerovaná ukázka JSP je základní a funkční a její obsah je uspořádán ve třech oknech. Levé okno obsahuje seznam všech metod, se kterými může uživatel pracovat. Klepnutím na jednu z těchto metod otevřete vstupní oblast v pravém horním okně. Jakmile je vstup zadán do formuláře, klepnutím na tlačítko Vyvolat vyvoláte metodu pro zpracování vstupu a zobrazíte výsledek v pravém dolním okně.
Pro webovou službu Aukce jsme změnili vygenerovaný ukázkový soubor JSP, abychom vytvořili vizuálně zajímavější rozhraní, a přidali jsme podporu pro zacházení s poli, protože operace, která navrátí seznam všech položek v databázi, navrátí pole.