JMS Distributed Object Framework |
|
|
JMS Distributed Object Framework (JMS-DOF)
|
Der JMS-DOF Rahmen soll eine Alternative zu den Technologien wie CORBA und RMI in verteilten Anwendungen zur Verfügung stellen, die um JMS-gegründete Kommunikation zentriert werden. Das JMS-DOF ist ein Experiment, wenn es verteilte Gegenstandkommunikation mit dem Java Nachrichtenübermittlung Service stützt.
Scalability ist eins des Nutzens des Verwendens von JMS für verteilte Gegenstandkommunikation. du kannst einen stateless Datenservice zu deinen Klienten zur Verfügung stellen. Mit JMS-DOF kannst du mehrfache Kopien des Services laufen lassen. Jedes verbrauchende Anzeigen von einer allgemeinen Warteschlange von Anträgen. Die Dienstleistungen ziehen Anträge von der JMS Warteschlange, wenn dieser Service nicht beschäftigt ist und ein Antrag vorhanden ist. Obgleich der Klient Antrag und die Antwort mit der asynchronen JMS Anzeige mitgeteilt werden, dieser sieht Klienten eine synchrone Gegenstandschnittstelle. Es gibt definitive Vorteile zu dieser lose verbundenen Annäherung. Wie neue Service-Repliken der Anlagen-Belastung Zunahmen durchsichtig addiert werden können. Wenn ein wiederholter Service zusammenstößt, beeinflußt er nicht direkt den Klienten.
|
|
Einige der Eigenschaften des DOF schließen ein:
Transparente synchrone Anrufe zum Remotegegenstand.
Bediener-Seite Ausnahmen pflanzten zu den Klienten fort.
Gegenstandverteilung nicht erfordert anwendungsspezifische Kategorien.
Konfigurierbar multithreaded Wartehandlings.
Der asynchrone Antrag/die Antwort und verlangen-nur Anforderungen.
Automatisches und dynamisches Erzeugung der Klientseite Vollmächte.
Nur eine Klient Wartewarteschlange erfordert.
Ordnender Gegenstandhinweis (als Rückholwerte oder Methode Parameter)
MessageDrivenBean Einfahrt für stateless Lernabschnittbohne Antrag/Antwort und HttpServlet Einfahrt für stateless Lernabschnittbohne Antrag-/Antworteigenschaften werden in Version 0.2 hinzugefügt
|
Verbrauch der DOF Anwendungen
|
DOF Anwendungen werden als Bediener organisiert, die eine oder mehrer verteilte Gegenstände enthalten (auch genannt Dienstleistungen).
Schreiben eines Services: Ein Entwickler, zum eines Services in diesem verteilten Gegenstandrahmen einzuführen, definiert einfach eine Schnittstelle und Werkzeuge es. Z.B. konnten ein LOGON/ein Authentisierung Service die folgende Schnittstelle zur Verfügung stellen:
|
public interface LoginService
{
AccessToken authenticate(String user,
String password)
throws
AuthenticationException;
}
|
|
Der Service Implementer konnte die Implementierung definieren, um zu sein:
|
public class LoginServiceImpl
implements LoginService {
public AccessToken
authenticate(String user, String password)
throws
AuthenticationException
{
if (user.startsWith("X"))
{
return new AccessToken("ABCD");
} else {
throw new AuthenticationException("invalid user");
}
}
}
|
|
Zugänglich machen eines Services |
Ein Klient würde einen verteilten Gegenstandhinweis mit einigen Mitteln, den Remotegegenstand zu benutzen erhalten. Für dieses Beispiel verursacht die Klient Initialisierungsroutine den Hinweis ausdrücklich. Der Hinweis konnte durch einen verteilten JNDI Bediener oder die anderen Bediener auch zur Verfügung gestellt werden.
|
LoginService loginService; //
available to clients
public static void main(String[] args) {
// ... initialize JMS
JmsResponseDispatcher
responseDispatcher =
new
JmsResponseDispatcher(queueSession,
queueSession.createTemporaryQueue());
loginService =
(LoginService)DistributedObjectProxyFactory.create(
LoginService.class, "LoginService-1",
new JmsQueueTransport(responseDispatcher, queueSession, "LoginRequest"));
queueConnection.start();
}
|
|
|
|
Keywords:
JMS Distributed Object Framework,jms sample code,open source jms,jms web services,web services framework,web application framework,jms web service,open source framework,performance framework,framework database,framework development,framework implementation,framework api,remote jms,session object,applications framework,object example,oracle distributed,object tutorial,using object,framework tutorial,framework examples,framework based,framework example.
|