Sviluppare i componenti del servizio per fornire una logica riutilizzabile a più applicazioni all'interno del server.
Ciò presuppone che l'elaborazione utile per più moduli sia già stata sviluppata ed identificata.
Più moduli possono utilizzare un componente del servizio. L'esportazione di un componente del servizio lo rende disponibile agli altri moduli che fanno riferimento al componente del servizio mediante un'interfaccia. Questa attività descrive il modo in cui creare il componente del servizio, in modo che possa essere utilizzato da altri moduli.
Nota: Un componente del servizio singolo può contenere più interfacce.
Esempi dello sviluppo dei componenti
Questo esempio illustra un componente del servizio sincrono che implementa un metodo singolo, CustomerInfo.
La prima sezione definisce l'interfaccia al componente del servizio che implementa un metodo denominato getCustomerInfo.
public interface CustomerInfo {
public Customer getCustomerInfo(String customerID);
}
Il seguente blocco di codice implementa il componente del servizio.
public class CustomerInfoImpl implements CustomerInfo {
public Customer getCustomerInfo(String customerID) {
Customer cust = new Customer();
cust.setCustNo(customerID);
cust.setFirstName("Victor");
cust.setLastName("Hugo");
cust.setSymbol("IBM");
cust.setNumShares(100);
cust.setPostalCode(10589);
cust.setErrorMsg("");
return cust;
}
}
Questo esempio sviluppa un componente del servizio asincrono.
La prima sezione del codice definisce l'interfaccia al componente del servizio che implementa un metodo denominato getQuote.
public interface StockQuote {
public float getQuote(String symbol);
}
La sezione di seguito riportata è l'implementazione della classe associata a StockQuote.
public class StockQuoteImpl implements StockQuote {
public float getQuote(String symbol) {
return 100.0f;
}
}
La sezione di codice di seguito riportata implementa l'interfaccia asincrona StockQuoteAsync.
public interface StockQuoteAsync {
// risposta differita
public Ticket getQuoteAsync(String symbol);
public float getQuoteResponse(Ticket ticket, long timeout);
// callback
public Ticket getQuoteAsync(String symbol, StockQuoteCallback callback);
}
La sezione di seguito riportata è l'interfaccia StockQuoteCallback, che definisce il metodo onGetQuoteResponse,
public interface StockQuoteCallback {
public void onGetQuoteResponse(Ticket ticket, float quote);
}
Richiamare il servizio.