Zuhause Persönliche Finanzen Erstellen von Webdiensten in WebLogic - Dummies

Erstellen von Webdiensten in WebLogic - Dummies

Inhaltsverzeichnis:

Video: soapUI - How to Test a Web Service 2024

Video: soapUI - How to Test a Web Service 2024
Anonim

Ein Webservice ist eine Remoteprozedur, die Clients über TCP / IP zur Verfügung steht. In der Regel wird HTTP oder SMTP als Transport und XML für die Codierung verwendet. Der Webservice wird unter Verwendung einer Standard-XML-Notation beschrieben, die als -Dienstbeschreibung bezeichnet wird. Ein Webdienst erfüllt eine einzelne Aufgabe oder eine Gruppe von Aufgaben.

Alle Details des Webdienstes sind für den Benutzer verborgen und der Dienst ist sowohl hardware- als auch softwareunabhängig. Dies ermutigt Softwareentwickler, Anwendungen zu erstellen, die aus kleinen, individuellen Diensten bestehen, die dann einzeln oder in Gruppen verwendet werden können, um noch komplexere Aufgaben auszuführen.

Sie können einen Webdienst auf zwei Arten erstellen: manuell durch die Erstellung von Java-Quell- und Konfigurationsdateien oder mithilfe eines GUI-Systems namens WebLogic Workshop. In diesem Artikel erstellen Sie manuell einen Webdienst.

Webdienst definieren

Bevor Sie Ihren Webdienst erstellen, sollten Sie definieren, was er tun wird. Auf diese Weise können Sie die Schnittstelle, die andere Anwendungen einhalten müssen, wenn sie mit Ihrem Webservice kommunizieren möchten, ordnungsgemäß erstellen.

Die grundlegendste Entwurfsentscheidung ist, welche der beiden allgemeinen Typen von Webdiensten, die Sie erstellen werden:

  • Synchroner Dienst
  • Asynchroner Dienst

Ein synchroner Webdienst, < Dies ist der Standardwert und beginnt, wenn der Webdienst eine Nachricht empfängt. Dieser Webservice antwortet sofort. Synchrone Webdienste sind am nützlichsten, wenn das Clientprogramm die von der Anforderung zurückgegebenen Daten sofort benötigt. Ein Beispiel für diese Art von Daten ist der aktuelle Aktienkurs für ein bestimmtes Unternehmen.

Ein

asynchroner Webservice ist asynchron, so dass Nachrichten zwischen dem Client und dem Webservice frei ausgetauscht werden können. Eine Nachricht von einer Seite verpflichtet den anderen nicht, eine entsprechende Nachricht zu senden. Wenn ein Client eine Nachricht an einen asynchronen Webdienst sendet, wartet der Client nicht auf eine Nachricht vom Webservice zurück. Der Webdienst kann eine Nachricht zu einem späteren Zeitpunkt an den Client zurücksenden, aber nichts verbindet diese Nachricht inhärent mit der ursprünglichen Nachricht, die der Client gesendet hat. Asynchrone Webdienste sind eine gute Wahl, wenn Sie Informationen senden, für die keine Antwort erforderlich ist. Zum Beispiel möchten Sie vielleicht eine Nachricht an mehrere Ihrer Server senden und ihnen eine neue Begrüßungsnachricht geben, die den Benutzern angezeigt wird.

Auswählen und Erstellen einer Back-End-Komponente

Der Zweck Ihres Web-Service besteht darin, Remote-Clients den Zugriff auf von Ihnen bereitgestellte Dienste zu ermöglichen. Diese als

Backend-Komponente bezeichneten Dienste haben die Form von Java-Code.Sie können Ihre Backend-Komponente auf eine der folgenden Arten erstellen: Eine Methode einer statusfreien Sitzung EJB

  • Eine Methode einer Java-Klasse
  • Ein JMS-Methoden-Consumer
  • WebLogic kann diese Elemente als ein Webservice. Dies macht es bequem, vorhandenen Java-Code als Webdienst zu verpacken. Wenn Sie bereits EJBs für zustandslose Sitzungen erstellt haben, können Sie diese als Webdienst verpacken. Wenn Ihr Code in regulären Java-Klassen vorhanden ist, können Sie den Zugriff auf Ihre Klasse als Webdienst bereitstellen. Sie können JMS-Nachrichten auch als Back-End-Service für Ihren Webdienst verwenden.

Erstellen eines synchronen Webdienstes

In diesem Abschnitt erstellen Sie einen synchronen Webdienst mit einer regulären Java-Klasse und verwenden dann eine EJB für eine statusfreie Sitzung. Zuerst müssen Sie die Backend-Komponente schreiben. Dies ist entweder eine Java-Klasse, ein statusfreier EJB oder ein JMS-Methoden-Consumer.

Arbeiten mit einer Java-Klassen-Backend-Komponente

Sie müssen beim Implementieren einer Web-Service-Operation mit einer Java-Klasse einige Regeln befolgen:

Starten Sie keine Threads. Diese Regel gilt für den gesamten Java-Code, der auf WebLogic Server ausgeführt wird.

  • Definieren Sie einen standardmäßigen Nicht-Argument-Konstruktor.
  • Definieren Sie als public die Methoden der Java-Klasse, die als Webservice-Operationen verfügbar gemacht werden.
  • Sie müssen threadsicheren Java-Code schreiben, da WebLogic Server nur eine einzelne Instanz einer Java-Klasse verwaltet, die eine Webdienstoperation implementiert, und jeder Aufruf des Webdiensts dieselbe Instanz verwendet.

Ein Beispiel für die Implementierung eines WebLogic-Webdienstvorgangs mit einer Java-Klasse finden Sie im folgenden Verzeichnis:

WL_HOMEsamplerversripxampleswebservicesbasicjavaclass

wobei

WL_HOME auf das Hauptverzeichnis Ihrer WebLogic Server-Installation verweist. Auf einem Windows-System ist dieses Verzeichnis normalerweise C: beaweblogic81. Listing 1 zeigt eine Java-Klasse, die Sie als Backend-Komponente verwenden können. Diese Java-Klasse enthält eine einzelne Methode namens sampleMethod, die ein int akzeptiert und einen String zurückgibt.

Listing 1: Java-Klasse Backend-Komponente

Paket com. Dummköpfe. ejb;

public class SampleBackendComponent

{

public Zeichenfolge sampleMethod (int num)

{

switch (num)

{

case 1: return "One";

Fall 2: Rückkehr "Zwei";

Fall 3: Rückkehr "Drei";

Fall 4: Rückkehr "Vier";

Fall 5: Rückkehr "Fünf";

Fall 6: Rückkehr "Sechs";

Fall 7: Rückkehr "Sieben";

Fall 8: Rückkehr "Acht";

Fall 9: Rückkehr "Neun";

Fall 10: Rückkehr "Zehn";

default: gibt "Einige Zahl" zurück;

}

}

}

Arbeiten mit einer statusfreien Sitzung EJB-Backend-Komponente

Sie können Ihre Back-End-Komponente auch als EJB für eine statusfreie Sitzung erstellen. Java-Code für eine statusfreie Sitzung schreiben EJB für einen Webdienst unterscheidet sich nicht von einem eigenständigen EJB.

In den Webdiensten. Mithilfe von xml Deployment Descriptor können Sie festlegen, dass ein Webdienstvorgang in eine Richtung erfolgen soll. Das bedeutet, dass die Clientanwendung, die den Webdienst aufruft, nicht auf eine Antwort wartet.Wenn Sie den Java-Code für die EJB-Methode schreiben, die diesen Operationstyp implementiert, müssen Sie angeben, dass void zurückgegeben wird.

Wenn Sie zwischen der Verwendung einer EJB- oder einer Java-Klassen-Back-End-Komponente wählen, beachten Sie die anderen Möglichkeiten, wie Ihre Back-End-Komponente verwendet wird. Wenn auf Ihre Back-End-Komponente häufig als EJB zugegriffen wird, erstellen Sie sie als EJB. Auf diese Weise können Sie den gleichen Code für EJB und Webservice verwenden.

Zum Aufruf eines Webservice sind wesentlich mehr Ressourcen erforderlich als zum Aufruf eines EJB. Aus diesem Grund ist es üblich, alle Ihre Back-End-Komponenten als EJBs zu erstellen und dann externen Anwendungen den Zugriff auf Ihre Back-End-Komponenten als Web-Services zu erlauben. Ihre eigenen lokalen Anwendungen, die im selben Netzwerk wie Ihr WebLogic-Server ausgeführt werden, können die schnellere EJB-Aufrufmethode verwenden.

Listing 2 zeigt die Bean-Datei, die die EJB-Backend-Komponente implementiert. Die EJB-Backend-Komponente ist nahezu identisch mit der Backend-Komponente der Java-Klasse. Der Hauptunterschied ist der zusätzliche Code, der zur Unterstützung des EJB verwendet wird.

Auflistung 2: EJB-Backend-Komponente

Paket com. Dummköpfe. ejb;

javax importieren. ejb. *;

importiert Java. RMI. *;

javax importieren. Swing. *;

public class SampleBean implementiert SessionBean

{

private SessionContext stx;

// Erforderliche Methoden, die von dieser Art von Bean nicht verwendet werden

public void ejbCreate () {}

public void ejbRemove () {}

public void ejbActivate () {}

public void ejbPassivate () {}

// setter für den SessionContext

public void setSessionContext (Sitzungskontext ctx)

{

ctx = this. Stx;

}

// Die Beispielmethode

public String sampleMethod (int num)

löst RemoteException aus

{

switch (num)

{

case 1: return " Ein";

Fall 2: Rückkehr "Zwei";

Fall 3: Rückkehr "Drei";

Fall 4: Rückkehr "Vier";

Fall 5: Rückkehr "Fünf";

Fall 6: Rückkehr "Sechs";

Fall 7: Rückkehr "Sieben";

Fall 8: Rückkehr "Acht";

Fall 9: Rückkehr "Neun";

Fall 10: Rückkehr "Zehn";

default: gibt "Einige Zahl" zurück;

}

}

}

Sie müssen angeben, dass die Bean ein statusfreies EJB im ejb-jar ist. XML-Datei, die in Listing 3 gezeigt wird. Sie können viele Knoten und Attribute verwenden.

Auflistung 3: ejb-jar. XML-Datei für eine Back-End-Komponente

' // java. Sonne. com / dtd / ejb-jar_2_0. dtd '>

SampleObject

com. Dummköpfe. ejb. SampleHome

com. Dummköpfe. ejb. Beispiel

com. Dummköpfe. ejb. SampleBean

Zustandsloser

Container

Erstellen von Webdiensten in WebLogic - Dummies

Die Wahl des Herausgebers

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Jede leere Arbeitsmappe, die Sie öffnen, enthält ein Einzelblatt mit dem prosaischen Namen Sheet1. Um weitere Blätter zu Ihrer Arbeitsmappe in Excel 2013 hinzuzufügen, klicken Sie einfach auf die Schaltfläche Neues Blatt in der Statusleiste (die mit Pluszeichen in einem Kreis). Jedes Arbeitsblatt, das Sie mit der Befehlsschaltfläche Neues Blatt hinzufügen, ist ...

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Mit der bedingten Formatierung von excel 2010 können Sie das Aussehen von eine Zelle basierend auf ihrem Wert oder dem Wert einer anderen Zelle. Sie geben bestimmte Bedingungen an, und wenn diese Bedingungen erfüllt sind, wendet Excel die Formatierung an, die Sie auswählen. Sie können die bedingte Formatierung verwenden, um Datumsangaben zu suchen, die bestimmte Kriterien erfüllen (z. B. fallen auf ...

Die Wahl des Herausgebers

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

Es wird erwartet, dass festes Verständnis des mathematischen Grundwissens, wenn Sie das ASVAB nehmen. Multiplizieren und Dividieren von Brüchen sind zwei der Dinge, die Sie wissen müssen. Fraktionen multiplizieren Fraktionen multiplizieren ist sehr einfach. Alles, was Sie tun müssen, ist, die Zähler untereinander zu multiplizieren und die Nenner mit ... zu multiplizieren.

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

Sie müssen für die Word-Wissensprobleme bereit sein auf dem ASVAB. Das Format, das Sie unten sehen, ist ein gutes Beispiel dafür, was Sie finden werden, wenn Sie das ASVAB benutzen. Beispielfragen Wortwissenszeit: 11 Minuten für 35 Fragen Anleitung: Der Wortwissensubtest ist der dritte Untertest ...

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

Zeit für Sie, all Ihre ASVAB Vorbereitung zur guten Verwendung. Fragen Sie sich anhand der folgenden Beispieltestfragen, ob Ihr Leseverständnis auf dem neuesten Stand ist. Lesen Sie jeden kurzen Absatz, dem eine oder mehrere Fragen zu den in dieser Passage enthaltenen Informationen folgen. Achten Sie darauf, den Absatz sorgfältig zu lesen ...

Die Wahl des Herausgebers

Zoomen und Schwenken in AutoCAD - Dummys

Zoomen und Schwenken in AutoCAD - Dummys

AutoCAD erleichtert das Schwenken, indem es Bildlaufleisten und Echtzeit-Schwenken bietet. Beim Echtzeit-Panning (im Gegensatz zum Vorgabezeit-Panning?) Können Sie Objekte auf dem Bildschirm sehen, wenn Sie die Maus nach oben und unten oder vor und zurück bewegen. Natürlich bewegt sich der Standpunkt, nicht die Objekte. Sowohl das Schwenken als auch das Zoomen ändern die Ansicht ...

Mit AutoCAD LT 2005 DesignCenter - Dummies

Mit AutoCAD LT 2005 DesignCenter - Dummies

DesignCenter ist ein dummer Name für eine nützliche, wenn auch etwas ausgelastete Palette. Die DesignCenter-Palette ist praktisch für das Extrahieren von Daten aus allen Arten von Zeichnungen. Während sich die Eigenschaftenpalette mit Objekteigenschaften beschäftigt, behandelt die DesignCenter-Palette hauptsächlich benannte Objekte: Ebenen, Linientypen, Blockdefinitionen (dh Symboldefinitionen), Textstile und andere Organisationsobjekte ...

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Jeder Punkt in einer AutoCAD-Zeichnungsdatei kann identifiziert werden durch seine X-, Y-, Z-Koordinaten. (In den meisten 2D-Zeichnungen ist der Z-Koordinatenwert 0. 0.) Dieses Koordinatensystem wird in AutoCAD als Weltkoordinatensystem oder WCS bezeichnet. Koordinateneingabe Die direkteste Methode, um Punkte präzise einzugeben, ist die Eingabe von Zahlen mit dem ...