Il servizio Web è stato sviluppato per offrire un altro metodo per interagire con il database degli articoli utilizzato dall'applicazione Asta, mediante XML. Gli utenti del servizio Web Asta possono aggiungere ed eliminare gli articoli nel database, nonché visualizzare informazioni su uno o su tutti gli articoli correnti in Asta.
Un servizio Web è un insieme di funzioni di applicazione correlate che possono essere pubblicate, individuate e richiamate su Internet. I servizi Web consentono alle applicazioni in esecuzione su piattaforme diverse e sviluppate in linguaggi diversi di interoperare utilizzando componenti basati su XML.
Esistono due approcci allo sviluppo dei servizi Web: dall'alto verso il basso e dal basso verso l'alto. Con l'approccio dall'alto verso il basso, un servizio Web si basa sull'interfaccia del servizio Web e sui tipi XML, definiti nei file WSDL (Web Services Description Language) e XSD (XML Schema Definition). Lo sviluppatore, quindi, modifica l'implementazione della struttura da interfacciare con la logica commerciale. Con l'approccio dal basso verso l'alto, il servizio Web viene creato sulla base della logica commerciale esistente nei bean Java o negli EJB. Viene generato un file WSDL per descrivere l'interfaccia del servizio Web risultante. L'approccio dall'alto verso il basso consente un maggiore controllo sull'interfaccia del servizio Web e sui tipi XML utilizzati e rappresenta l'approccio consigliato.
Il servizio Web Asta è stato sviluppato utilizzando un approccio dall'alto verso il basso, con la definizione, innanzitutto, dei file WSDL ed XSD. Il file WSDL definisce le interfaccia esposte, quali operazioni vengono richiamate e quali messaggi vengono inviati durante queste operazioni. Il file WSDL fa riferimento al file XSD per l'esatta definizione di questi messaggi.
Il seguente diagramma illustra le fasi di sviluppo del servizio Web. Per definire i file WSDL e XSD vengono utilizzati gli editor WSDL e XSD. Il secondo componente, la struttura di bean Java, contiene tre elementi differenti che vengono sviluppati tutti utilizzando una procedura guidata. Poiché questi elementi vengono generati contemporaneamente e verificati insieme come un'unica unità, vengono descritti insieme.
L'interfaccia del servizio Web e i tipi XML definiti nei file WSDL (Web Services Description Language) e XSD (XML Schema Definition) descrivono quale sarà l'aspetto del servizio Web e come funzionerà attraverso la definizione degli elementi e delle azioni associate.
Quando il servizio Web Asta è stato sviluppato, è stato creato un nuovo file XSD utilizzando l'editor di schemi XML per definire i tipi di schema XML passati al servizio Web.
Successivamente, è stato creato un nuovo file WSDL utilizzando la procedura guidata Nuovo file WSDL, che crea un file WSDL della struttura utilizzando lo stile predefinito e una letterale di documento. Questa è la scelta consigliata da Web Services Interoperability Organization (WS-I). WS-I è un'organizzazione di standard industriali aperti che pubblica linee guida per assicurare l'interoperatività tra i servizi Web di fornitori diversi.
Una volta creato, il file WSDL è stato modificato utilizzando l'editor WSDL. Nuove operazioni, messaggi ed elementi vengono creati nel file WSDL, insieme a un binding appena generato. L'editor WSDL è associato all'editor di XML, che può essere aperto dall'editor WSDL in modo che gli elementi del file WSDL possano fare riferimento ai tipi di schema XML definiti nel file XSD, come mostrato nella seguente screen capture.
La struttura del bean Java viene creata dai file WSDL e XSD utilizzando la procedura guidata Servizi Web. La procedura guidata Servizi Web genera codice Java sulla base del modello di programmazione JAX-RPC. I descrittori di distribuzione del servizio Web vengono generati sulla base della specifica Web Services for J2EE.
Creare il proxy Java e il file JSP di esempio contemporaneamente al servizio Web rende più semplice eseguire la verifica di tutti gli elementi del servizio Web.
Dopo aver creato il servizio Web, il file di implementazione della struttura Java generata si è aperto nell'editor Java, che contiene l'interfaccia necessaria per i metodi, come definito nel file WSDL. A questo punto, lo sviluppatore ha modificato il file di implementazione della struttura per accedere alla logica business di back-end.
Il JSP di esempio generato è un file di base e funzionale, con il contenuto organizzato in tre frame. Il frame di sinistra contiene un elenco di tutti i metodi disponibili con cui l'utente può interagire. Facendo clic su uno di questi metodi, si visualizza un'area di input nel frame in alto a destra. Dopo aver immesso l'input nel modulo, facendo clic sul pulsante Richiama ha richiamato il metodo per elaborare l'input e visualizzare il risultato nel frame in basso a destra.
Per il servizio Web Asta, sono state apportate modifiche al JSP di esempio per creare un'interfaccia più accattivante esteticamente; inoltre, è stato aggiunto supporto per la gestione delle matrici, in quanto l'operazione che restituisce un elenco di tutti gli elementi nel database, restituisce una matrice.