La prima parte dell`esercizio prevede la creazione e la
Transcript
La prima parte dell`esercizio prevede la creazione e la
La prima parte dell'esercizio prevede la creazione e la pubblicazione di tre web service: ShopService, BankService e SystemService, con le interfacce rappresentate nel class diagram. I metodi dei web service sollevano delle eccezioni, in particolare: • checkItemAvailability() solleva NotAvailableItemException • buyItem() solleva BuyItemException • checkCreditCard() solleva CardNotValidException • registerTransaction() solleva TransactionException Successivamente si richiede di creare un processo in BPEL che risponda all'interfaccia di BuyItemService e che orchestri i servizi web creati precedentemente secondo l'activity diagram qui rappresentato. Il processo inizia con l'attività di verifica nome utente e password, che non solleva eccezioni. E' necessario utilizzare quindi il costrutto <if> per controllare l'output di SystemService. Se l'autenticazione ha avuto successo, allora vengono controllati parallelamente: la validità della carta di credito e la presenza in negozio dell'oggetto che si intende acquistare. In caso di fallimento nel controllo della carta di credito, il processo deve terminare con un messaggio d'errore; in caso di fallimento nel controllo della presenza dell'oggetto in negozio, il processo deve terminare con un messaggio d'errore, in caso contrario il servizio comunica il prezzo dell'oggetto desiderato. L'ultimo passo consiste nella registrazione della transazione sulla carta di credito e l'acquisto effettivo dell'oggetto, attività eseguite ancora una volta parallelamente. In caso di eccezioni, il processo termina con un messaggio d'errore, altrimenti con un messaggio di successo. In caso di terminazione con errori il messaggio d'errore restituito dal processo deve essere quello contenuto nel campo message dell'eccezione.