Entwickeln Sie Servicekomponenten, um wiederverwendbare Logik für mehrere
Anwendungen auf Ihrem Server bereitzustellen.
In dieser Task wird vorausgesetzt, dass Sie bereits Verarbeitungsabläufe
entwickelt und identifiziert haben, die für mehrere Module hilfreich sind.
Eine Servicekomponente kann von mehreren Modulen verwendet werden. Durch Exportieren
wird eine Servicekomponente für andere Module verfügbar gemacht, die über eine Schnittstelle
auf die Servicekomponente verweisen. In dieser Task wird beschrieben, wie eine Servicekomponente erstellt wird, die auch von anderen
Modulen verwendet werden kann.
Anmerkung: Eine einzige Servicekomponente kann mehrere Schnittstellen enthalten.
Beispiele für das Entwickeln von Komponenten
Dieses Beispiel zeigt
eine synchrone Servicekomponente, die eine einzige Methode (CustomerInfo) implementiert.
Im ersten
Abschnitt wird die Schnittstelle zu der Servicekomponente definiert, die eine Methode
getCustomerInfo implementiert.
public interface CustomerInfo {
public Customer getCustomerInfo(String customerID);
}
Der folgende Codeabschnitt implementiert die Servicekomponente.
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;
}
}
In diesem Beispiel wird eine asynchrone Servicekomponente entwickelt.
Im ersten
Codeabschnitt wird die Schnittstelle zu der Servicekomponente definiert, die eine Methode
getQuote implementiert.
public interface StockQuote {
public float getQuote(String symbol);
}
Der folgende Abschnitt ist die Implementierung der StockQuote
zugeordneten Klasse.
public class StockQuoteImpl implements StockQuote {
public float getQuote(String symbol) {
return 100.0f;
}
}
Der nächste Codeabschnitt implementiert die asynchrone
Schnittstelle StockQuoteAsync.
public interface StockQuoteAsync {
// Verzögerte Antwort
public Ticket getQuoteAsync(String symbol);
public float getQuoteResponse(Ticket ticket, long timeout);
// Rückruf
public Ticket getQuoteAsync(String symbol, StockQuoteCallback callback);
}
Dieser Abschnitt ist die Schnittstelle StockQuoteCallback, die
die Methode onGetQuoteResponse definiert.
public interface StockQuoteCallback {
public void onGetQuoteResponse(Ticket ticket, float quote);
}
Rufen Sie den Service auf.