Programmazione su Reti 17 Settembre 2005 Mac Robert Prova di
Transcript
Programmazione su Reti 17 Settembre 2005 Mac Robert Prova di
Programmazione su Reti 17 Settembre 2005 Mac Robert Prova di esame Mac Robert è una catena di fast food che da lungo tempo ha attivato un servizio di consegna a domicilio delle sue pizze. I clienti possono ordinare telefonicamente quello che vogliono consumare e ricevere il sacchetto a casa con consegna pony express. Visto il grande successo del servizio i proprietari della catena hanno deciso di estendere la propria offerta accettando prenotazioni anche via web. Il suo consulente gli ha proposto di implementare il servizio tramite web services. L’applicazione progettata prevede i seguenti servizi: 1. menu: prende in input una categoria di prodotti e restituisce l’elenco delle offerte per quel tipo di prodotti disponibili in menù Il risultato restituito dal servizio è un array di oggetti Prodotto. Per ogni prodotto viene specificato il nome, un codice identificativo ed il prezzo. Il servizio ammette una lista di tipologie di prodotti; se la richiesta specifica un tipo di prodotti non ammesso deve essere restituito un oggetto Prodotto con codice identificativo 0 e nome “categoria di prodotti non esistente”. 2. ingredienti: prende in input il codice di un prodotto e restituisce gli ingredienti principali come un array di stringhe. 3. ordine: prende in input un array di oggetti Ordine ed un oggetto Cliente e restituisce il costo totale dell’ordinazione ed un parametro out con il numero dell’ordine. Inoltre registra l’ordine ricevuto ed il costo. Ogni oggetto Ordine contiene il codice del prodotto ordinato ed il numero di pezzi richiesti. L’oggetto Cliente contiene il nome del cliente, l’indirizzo ed il numero di telefono. Implementare l’applicazione in Java utilizzando Axis come motore SOAP e scrivere il file di deploy. Le informazioni relative ai prodotti sono mantenute nel file menu.xml. I dettagli relativi all’ordine ricevuto vengono registrati nel file XYZ.xml, dove XYZ è il numero dell’ordine. Per ogni ordine viene memorizzato nome, indirizzo e numero di telefono del cliente, l’elenco dei prodotti ordinati ed il costo complessivo. Implementare un client in Java che utilizza Axis Client per interagire con il web service. Il cliente deve fornire un menù che consenta all’utente di scegliere l’operazione da utilizzare. Programmazione su Reti 17 Settembre 2005 Es. file manu.xml <menu> <categorie> <categoria>pizza</categoria> <categoria>panino</categoria> <categoria>piatto</categoria> <categoria>bibita</categoria> <categoria>dessert</categoria> </categorie> <prodotti> <prodotto tipo=”pizza” cod=”1”> <nome> Margherita </nome> <ingrediente> pomodoro </ingrediente> <ingrediente>mozzarella </ingrediente> <prezzo> 4.50 </prezzo> <prodotto> <prodotto tipo=”panino” cod=”2”> <nome> Bomba </nome> <ingrediente> hamburger </ingrediente> <ingrediente>mozzarella </ingrediente> <ingrediente> prosciutto cotto </ingrediente> <ingrediente>funghi </ingrediente> <ingrediente>insalata<//ingrediente> <prezzo> 6.00 </prezzo> <prodotto> <prodotto tipo=”bibita” cod=”3”> <nome> Birraa spina piccola </nome> <prezzo> 3.00 </prezzo> <prodotto> </prodotti> </menu> Es. file XYZ.xml <ordine cod=”XYZ”> <cliente> <nome>Vasco</nome> <indirizzo>Via Napoli 17</indirizzo> <telefono>089123456</telefono> </cliente> <ordinazione> <prodotto cod=”1”> <numero>3</numero> </prodotto> <prodotto cod=”2”> <numero>1>/numero> </prodotto> </ordinazione> <costo>19.50</costo> </ordine>