Webdienste können Anwendungen in Webanwendungen umwandeln.
Durch die Nutzung von Webdiensten kann Ihre Anwendung Informationen für die Welt veröffentlichen oder eine Funktion bereitstellen.
Webdienste können von anderen Anwendungen verwendet werden.
Mit Web Services können der Win 2K -Server Ihrer Buchhaltungsabteilung eine Verbindung zum UNIX -Server des IT -Anbieters herstellen.
Die grundlegende Web -Services -Plattform ist XML+HTTP.
Webdienste verwenden XML, um Daten zu codieren und SOAP zu übertragen, um Daten zu übertragen.
Was ist Webservice?
WebService ist, wie der Name schon sagt, ein webbasierter Dienst. Es verwendet die Web -Methode (HTTP), um einige Anfragen von externen Systemen zu empfangen und zu reagieren. Dies ermöglicht Remote -Anrufe.
1: Aus Sicht des Arbeitsmodus von WebService unterscheidet sich er nicht wesentlich von gewöhnlichen Webprogrammen (wie ASP, JSP usw.). Sie sind Programme basieren auf dem HTTP -Transmissionsprotokoll.
2: Die von WebService verwendeten Daten basieren auf dem XML -Format. Derzeit verwendet der Standard -Webservice das SOAP -Protokoll hauptsächlich im Datenformat. Das SOAP -Protokoll ist tatsächlich ein Textprotokoll, das auf XML -Codierungsspezifikationen basiert.
Technischer Support für Webservice
Die Web -Service -Plattform benötigt eine Reihe von Protokollen, um die Erstellung verteilter Anwendungen zu ermöglichen. Jede Plattform verfügt über ihre Datendarstellungsmethode und das Typ -System. Um die Interoperabilität zu erreichen, muss die Web -Service -Plattform ein Standard -Typ -System zur Kommunikation verschiedener Systemtypen in verschiedenen Plattformen, Programmiersprachen und Komponentenmodellen bereitstellen. Derzeit umfassen diese Vereinbarungen:
XML und XSD
Extensible Markup Language XML ist das grundlegende Format für die Darstellung von Daten in der Web -Service -Plattform. Der Hauptvorteil von XML ist nicht nur leicht zu bauen und zu analysieren, sondern besteht darin, dass es nichts mit der Plattform und dem Anbieter zu tun hat. XML wird von der World Wide Web Association (W3C) erstellt. Von W3C entwickelte XML Schemaxsd definiert einen Standard -Datentypen und gibt eine Sprache, um diesen Satz von Datentypen zu erweitern.
Die Web -Service -Plattform verwendet XSD als Datentypsystem. Wenn Sie einen Webdienst in einer Sprache wie VB erstellen. Net oder C#, Um den Webdienststandards einzuhalten, müssen alle von Ihnen verwendeten Datentypen in den XSD -Typ konvertiert werden. Wenn Sie möchten, dass es zwischen verschiedenen Plattformen und verschiedenen Software weitergegeben wird, müssen Sie es auch mit etwas einwickeln. So etwas ist ein Protokoll wie Seife.
SEIFE
SOAP ist das einfache Objektzugriffsprotokal, das ein leichtes Protokoll zum Austausch von XML -Codierungsinformationen ist. Es verfügt über drei Hauptaspekte: XML-Envelope definiert ein Framework zur Beschreibung des Informationsinhalts und der Verarbeitung des Inhalts, codiert Programmobjekte in XML-Objekte und führt die Konvention von Remote-Prozeduranrufen (RPC) aus. Seife kann auf jedem anderen Transportprotokoll laufen. Sie können beispielsweise SMTP, das Internet -E -Mail -Protokoll, verwenden, um SOAP -Nachrichten zu übermitteln, was sehr verlockend ist. Die Header unterscheiden sich zwischen Transportschichten, aber die XML -Nutzlast bleibt gleich.
Der Webdienst hofft, die Fähigkeit verschiedener Systeme zu erreichen, sich in einer Art von "Software-Software" zu bezeichnen, den inkompatiblen Zustand zwischen Softwareanwendungen, Websites und verschiedenen Geräten zu brechen und das Ziel der "saisonablen Integration basierend auf Web" zu erreichen.
WSDL
Webdienst Beschreibung Sprache WSDL ist ein formelles Beschreibungsdokument, das auf maschinell lesbare Weise bereitgestellt wird und auf XML basiert. Es wird verwendet, um den Webdienst und seine Funktionen, Parameter und Rückgabewerte zu beschreiben. Da es auf XML basiert, ist WSDL sowohl maschinenlesbar als auch menschenlesbar.
Uddi
Der Zweck von UDDI ist es, Standards für E-Commerce festzulegen. UDDI ist eine Reihe von webbasierten, verteilten Implementierungsstandards und -spezifikationen für Webdienste und enthält auch eine Reihe von Implementierungsstandards, mit denen Unternehmen ihre eigenen Webdienste registrieren können, damit andere Unternehmen Zugriffsprotokolle ermitteln können. RPC und Messaging anrufen
Der Webdienst selbst implementiert tatsächlich die Kommunikation zwischen Anwendungen. Wir haben jetzt zwei Kommunikationsmöglichkeiten für Anwendungen: RPC Remote Procedure Call und Nachrichtenzustellung. Bei der Verwendung von RPC besteht das Konzept eines Clients darin, eine Remote -Prozedur auf dem Server aufzurufen. Der übliche Weg besteht darin, ein Remote -Objekt zu instanziieren und seine Methoden und Eigenschaften aufzurufen. Das RPC -System versucht, eine Art Standorttransparenz zu erreichen: Der Server enthält die Schnittstellen von Remote -Objekten, und der Client ist wie die Schnittstellen dieser verwendeten Objekte, wodurch die zugrunde liegenden Informationen versteckt sind, und der Client muss nicht wissen, auf welcher Maschine sich das Objekt befindet.
Wie veröffentliche ich einen Webservice?
1. Verwenden Sie JDK1.6.0_21 später, um einen WebService -Dienst zu veröffentlichen. Und sehen Sie sich sein WSDL -Dokument über die Adressleiste an.
2. Generieren Sie den Client -Code über WSIMport, rufen Sie die Ergebnisse des Laufs an und sehen Sie sich an. (Lernen Sie, wie man anruft, ist unser Fokus).
Es ist zu beachten, dass der Code vollständig Annotation sein muss, wenn JDK1.6._07 nach der JDK -Version veröffentlicht wird. Wenn Sie JDK1.6.0_21 verwenden, da es bereits WS2.1 enthält, können Sie der Klasse nur @Webservice -Anmerkungen hinzufügen.
Hier sind zwei verschiedene Codes:
WS veröffentlicht auf JDK1.6.0_13 Version:
Paket com.itcast; importieren javax.jws.webmethod; importieren javax.jws.webservice; importieren javax.jws.soap.soapbinding; importieren javax.jws.soap.soapbinding.style; importieren javax.xml.ws.endpoint; @WebService (targetNameSpace = "http: // loalhost: 9999/helloWorld") @SoapBinding (style = style.rpc) // Nur RPC -Nachrichtenstil Public Class HelloWorld {// Folgendes wird von @Webmethod, die Methode @Webmethod ", @webmethod"; } public static void main (String [] args) {endpoint.publish ("http: // localhost: 9999/helloWorld", New HelloWorld ()); }} 2: Das Folgende ist der Webservice -Code, der auf JDK1.6.0_24 veröffentlicht wurde:
Paket com.itcast; importieren javax.jws.webservice; importieren javax.xml.ws.endpoint; @WebService // Beachten Sie, dass es nur diese Annotation gibt, diese Annotation ist ebenfalls erforderlich. Der Standard -SOAP -Nachrichtenstil lautet: Dokument der öffentlichen Klasse HelloWorld {public String sayshello () {return "helloWorld"; } public static void main (String [] args) {endpoint.publish ("http: // localhost: 9999/helloWorld", New HelloWorld ()); }} Der erste Webservice -Service
Paket com.itcast; importieren javax.jws.webservice; importieren javax.xml.ws.endpoint; / *** Die erste WebService -Service -Anwendung*/ // Nach Anmerkung zeigt sie an, dass diese Klasse als Webservice @Webservice öffentliche Klasse HelloWorld {public String sayshello () {return "Hello World"; } // In der Hauptmethode verwenden Sie den Endpunkt javax.xml.ws.endpoint, um eine Anwendung öffentlich statische void main zu veröffentlichen (String [] args) {endpoint.publish ("http://127.0.0.1:999/Helloworld", New Helloworld ()); }}Code Beschreibung: Alle nicht statischen exponierten Methoden der HelloWorld-Klasse werden außen ausgesetzt.
WSIMport Tool Beschreibung:
Wsimport ist ein Tool, das mit JDK ausgestattet ist und den clientseitigen Anrufcode basierend auf dem WSDL-Dokument generieren kann. Unabhängig davon, welche Sprache auf dem serverseitigen Webservice geschrieben ist, wird Java-Code auf dem Client generiert. Es spielt keine Rolle, was auf der Serverseite geschrieben ist.
WSimport.exe befindet sich im Verzeichnis java_home/bin.
Häufige Parameter sind:
• -d <Direcidory> - Eine .CLASS -Datei wird generiert. Standardparameter.
• -s <Directory> - Die .java -Datei wird generiert.
• -P <Neu generiert> -Putieren Sie die generierte Klasse unter dem angegebenen Paket.
(WSDLURL) - http: // Server: Port/Service? WSDL, erforderliche Parameter
verwenden:
1: Sie können Ihre aktuelle Versionsnummer über die Java -Version überprüfen. Wenn die Version zu niedrig ist, können Sie eine höhere Version von JDK installieren.
Oder kopieren Sie das installierte JDK -Verzeichnis direkt in Ihr Computer wie d: /jdk1.6.0_24 Verzeichnis.
Da die vorherigen Umgebungsvariablen auf die vorherige alte Version des JDK -Verzeichnisses eingestellt wurden, nämlich die beiden Umgebungsvariablen Java_Home und Pfad.
Sie können die Umgebungsvariable auf: java_home = d: /jdk1.6.0_24, path =%Java_Home%/bin zurücksetzen,.
Nach dem Zurücksetzen der Umgebungsvariablen müssen Sie ein DOC -Fenster (Befehlszeile) wieder eröffnen, um wirksam zu werden.
Wenn Sie die bereits konfigurierten Umgebungsvariablen nicht ändern möchten, können Sie den folgenden Befehl im Befehlszeilenfenster eingeben, um JDK1.6.0_24 Wirksamkeit zu erzielen:
Setzen Sie Path = d: /jdk1.6.0_24/bin;% Path% (einfach eingeben)
Überprüfen Sie dann, ob sich die Versionsnummer von JDK durch die Java -Version geändert hat.
2: Gehen Sie zu einem relativ sauberen Verzeichnis, ich habe einen neuen Verzeichnisnamen auf der D -Datenträger mit dem Namen: WS erstellt und in dieses Verzeichnis gehen.
3: Schalten Sie Ihren Webservice ein.
4: Geben Sie den folgenden Befehl ein:
wsimport s. http://127.0.0.1:9999/Helloworld?wsdl
Parameterbeschreibung: -s bezieht sich auf die Kompilierung der Quellcode -Datei, und der folgende (Punkt) bezieht sich auf den vorherigen Ort.
Der letzte HTTP… bezieht sich auf die Adresse, die WSDL -Bedienungsanleitung zu erhalten.
5: Zu diesem Zeitpunkt wird die .java -Datei und die .class -Datei generiert. (Beide enthalten den ursprünglichen Paketnamen). Kopieren Sie den Code in Ihr Projekt. (Kopieren Sie nur die Java -Datei)
6: In einem neuen Projekt, einer neuen Klasse (kann sich unter jedem Paket befinden), rufen Sie den oben generierten Code an, siehe PPT auf der nächsten Seite.
7: WSIMport Andere Parameter, die Parameter, die wir häufig verwenden, sind -d, -s, -p
-D <Directory> generiert. Class -Dateien.
Beispiel: WSimport d. http://127.0.0.1:9999/Helloworld?wsdl
-S <Directory> wird eine .java -Datei generieren.
Beispiel: WSimport s. http://127.0.0.1:9999/Helloworld?wsdl
-P <Paketname> Ändern Sie die generierte Datei (.java oder .class an den angegebenen Paketnamen).
Beispiel: WSIMPORT -S. -p com.beijing.itcast http://127.0.0.1:9999/Helloworld?wsdl
Achten Sie für den -P -Parameter auf die Änderung des Paketnamens. Es platziert alle generierten Klassen unter das durch -p angegebene Paket. (Demo)
Es ist zu beachten, dass nur der Parameter -P verwendet wird, sondern auch -d gleichzeitig in eine .class -Datei zusammengestellt wird. Wenn der D -Parameter geschrieben ist oder nicht, ist er da und wird niemals gehen.
Der Quellcode von Runmain.java lautet wie folgt:
Paket com.leaf; import com.itcast.helloworld; import com.itcast.helloworldservice; /*** Ruf -Code rufen Sie die generierte Klasse an*/öffentliche Klasse Runmain {public static void main (String [] args) {// RECHTE DIE CALL -Schnittstelle von der Gethelloworldport -Methode von HelloWorldSerice HelloWorld = New HelloWorldService (). Gethelloworldport (); String str = helloWorld.sayhello (); // Führen Sie das Call System.err.println (str); // HelloWorld String}} aus.Der Unterschied zwischen Webservice und normalen Webprogrammen
1. WebService verwendet nur HTTP -Post, um Daten zu übertragen, und verwendet nicht GET.
1) Der ContentType des TTTP -Beitrags ist
(1) Anwendung/x-www-form-rencoded
2) Der ContentType von WebService ist
(2) Text/XML SOAP1.1
(3) Anwendung/SOAP+XML SOAP1.2
2. WebService ist aus dem Datenübertragungsformat begrenzt.
Die von WebService verwendeten Daten basieren auf dem XML -Format. Derzeit verwendet der Standard -Webservice das SOAP -Protokoll hauptsächlich im Datenformat. Das SOAP -Protokoll ist tatsächlich ein Textprotokoll, das auf XML -Codierungsspezifikationen basiert.
Der Unterschied zwischen WebService und Webserver:
Wir können uns WebService als Anwendung auf einem Webserver vorstellen. Andererseits ist der Webserver ein notwendiger Container für die Webservice -Laufzeit. Dies ist ihr Unterschied und ihre Verbindung.
Funktionen von WebService:
1. WebService akzeptiert Kundenanfragen über den HTTP -Post
2. Das SOAP -Protokoll wird im Allgemeinen zwischen Webservice und dem Client verwendet, um XML -Daten zu übertragen.
3. Es ist für plattformübergreifende oder plattformübergreifende.