Heim > Artikel > Backend-Entwicklung > Einführung in die Art und Weise, wie PHP Webservice-Anwendungen aufruft
1.1. Grundkonzepte von Web Service
Web Service wird auch als XML Web Service bezeichnet und ist eine einfache, unabhängige Kommunikationstechnologie, die Anfragen aus dem Internet oder anderen Systemen empfangen kann. Ja: Ein Softwaredienst, der über das Web über SOAP bereitgestellt, mithilfe einer WSDL-Datei beschrieben und über UDDI registriert wird.
XML: (Extensible Markup Language) Erweiterbare Markup-Sprache. Für die kurzfristige temporäre Datenverarbeitung und das World Wide Web ist es die Grundlage von Soap.
Soap: (Simple Object Access Protocol) Simple Object Access Protocol. Es ist das Kommunikationsprotokoll des XML-Webdienstes. Wenn der Benutzer Ihr WSDL-Beschreibungsdokument über UDDI findet, kann er eine oder mehrere Operationen in dem von Ihnen erstellten Webdienst über SOAP aufrufen. SOAP ist eine Spezifikation zum Aufrufen von Methoden in Form von XML-Dokumenten. Es kann verschiedene zugrunde liegende Schnittstellen wie HTTP(S) oder SMTP unterstützen.
WSDL: (Web Services Description Language) Eine WSDL-Datei ist ein XML-Dokument, das eine Reihe von SOAP-Nachrichten und deren Austausch beschreibt. In den meisten Fällen automatisch von der Software generiert und verwendet.
UDDI (Universal Description, Discovery, and Integration) ist ein neues Projekt, das sich hauptsächlich an Webdienstanbieter und Benutzer richtet. Bevor Benutzer einen Webdienst aufrufen können, müssen sie feststellen, welche Geschäftsmethoden im Dienst enthalten sind, die aufgerufene Schnittstellendefinition finden und Software auf der Serverseite kompilieren. UDDI ist ein Mechanismus, der das System anleitet, den entsprechenden Dienst basierend auf zu finden Beschreibungsdokument. UDDI verwendet den SOAP-Messaging-Mechanismus (Standard-XML/HTTP), um Registrierungsinformationen zu veröffentlichen, zu bearbeiten, zu durchsuchen und zu finden. Es verwendet das XML-Format, um verschiedene Arten von Daten zu kapseln und an das Registrierungszentrum zu senden, oder das Registrierungszentrum gibt die erforderlichen Daten zurück.
1.2. Merkmale des XML-Webdienstes
Das Hauptziel des Webdienstes ist die plattformübergreifende Interoperabilität. Um dieses Ziel zu erreichen, basiert Web Service vollständig auf plattformunabhängigen und softwareherstellerunabhängigen Standards wie XML (Extensible Markup Language) und XSD (XML Schema). Es handelt sich um eine neue Plattform zur Erstellung interoperabler und verteilter Anwendungen. Daher bietet die Verwendung von Webdiensten viele Vorteile:
1. Kommunikation über Firewalls hinweg
Wenn die Anwendung Tausende von Benutzern hat und auf der ganzen Welt verteilt ist, gibt es eine große Lücke zwischen den Die Kommunikation zwischen Client und Server wird ein heikles Thema sein. Denn zwischen Client und Server befindet sich in der Regel eine Firewall oder ein Proxyserver. Der traditionelle Ansatz besteht darin, den Browser als Client zu verwenden, viele ASP-Seiten zu schreiben und die mittlere Ebene der Anwendung dem Endbenutzer zugänglich zu machen. Dies hat zur Folge, dass die Entwicklung schwierig ist und das Programm nur schwer aufrechtzuerhalten ist. Die clientseitige Programmierung wäre viel einfacher, wenn der clientseitige Code nicht mehr so stark auf HTML-Formularen basieren würde. Wenn die Middle-Tier-Komponente durch einen Webdienst ersetzt wird, kann die Middle-Tier-Komponente direkt über die Benutzeroberfläche aufgerufen werden, wodurch der Schritt der Erstellung einer ASP-Seite entfällt. Um den Webdienst aufzurufen, können Sie direkt einen SOAP-Client wie Microsoft SOAP Toolkit oder .net verwenden oder einen selbst entwickelten SOAP-Client verwenden und diesen dann mit der Anwendung verbinden. Dies verkürzt nicht nur den Entwicklungszyklus, sondern reduziert auch die Codekomplexität und verbessert die Wartbarkeit der Anwendung. Gleichzeitig muss die Anwendung nicht mehr bei jedem Aufruf der Middle-Tier-Komponente zur entsprechenden „Ergebnisseite“ springen.
2. Anwendungsintegration
Entwickler von Unternehmensanwendungen wissen alle, dass Unternehmen häufig verschiedene Programme integrieren, die in verschiedenen Sprachen geschrieben sind und auf verschiedenen Plattformen ausgeführt werden Entwicklungsaufwand. Anwendungen müssen häufig Daten von einem Programm abrufen, das auf einem Host ausgeführt wird, oder Daten an den Host oder andere Plattformanwendungen senden. Selbst auf derselben Plattform muss häufig verschiedene Software verschiedener Softwareanbieter integriert werden. Über Webdienste können Anwendungen Standardmethoden verwenden, um Funktionen und Daten für die Verwendung durch andere Anwendungen „offenzulegen“.
XML-Webdienste bieten die Möglichkeit, Nachrichten mithilfe von Standardprotokollen (HTTP, XML, SOAP und WSDL) in einer lose gekoppelten Umgebung auszutauschen. Nachrichten können strukturiert, typisiert oder lose definiert sein.
3. B2B-Integration
B2B bezieht sich auf Business-to-Business, wie bei Unternehmen, die Geschäfte mit anderen Unternehmen tätigen, Händler (bezieht sich im Allgemeinen auf Unternehmen) auf Händler-E-Commerce, also auf Unternehmen Unternehmen tauschen Produkte, Dienstleistungen und Informationen über das Internet aus. Laienhaft ausgedrückt bedeutet dies, dass sowohl die Angebots- als auch die Nachfrageseite von E-Commerce-Transaktionen Händler (oder Unternehmen, Unternehmen) sind und Internettechnologie oder verschiedene Unternehmensnetzwerkplattformen nutzen, um den Prozess von Geschäftstransaktionen abzuschließen.
Webservice ist der Schlüssel zur erfolgreichen B2B-Integration. Über Web Service können Unternehmen wichtige Geschäftsanwendungen einfach bestimmten Lieferanten und Kunden „offenlegen“. Web Service läuft im Internet und kann überall auf der Welt problemlos implementiert werden, und die Betriebskosten sind relativ niedrig. Webservice ist nur ein wichtiger Teil der B2B-Integration, und viele andere Teile sind erforderlich, um die Integration zu erreichen. Der größte Vorteil der Verwendung von Webdiensten zur Implementierung der B2B-Integration besteht darin, dass Interoperabilität problemlos erreicht werden kann. Solange die Geschäftslogik „offengelegt“ ist und zu einem Webdienst wird, kann jeder designierte Partner diese Geschäftslogik aufrufen, unabhängig davon, auf welcher Plattform sein System läuft oder welche Entwicklungssprache er verwendet. Dies reduziert den Zeit- und Kostenaufwand für die B2B-Integration erheblich.
4. Wiederverwendung von Software und Daten
Der Webdienst kann die Daten hinter dem Code wiederverwenden und gleichzeitig die Wiederverwendung von Code ermöglichen. Mit Web Service müssen Sie nicht mehr wie bisher Softwarekomponenten von einem Drittanbieter kaufen und installieren und diese Komponenten dann aus der Anwendung aufrufen, sondern nur noch den Remote-Webservice direkt aufrufen. Eine weitere Situation der Software-Wiederverwendung besteht darin, die Funktionen mehrerer Anwendungen zu integrieren und sie über einen Webdienst „offenzulegen“. Sie können alle diese Funktionen problemlos in Ihre Portal-Site integrieren und Benutzern eine einheitliche, benutzerfreundliche Oberfläche bieten. Sie können die von Webdiensten Dritter bereitgestellten Funktionen in Ihrer Anwendung verwenden oder Ihre eigenen Anwendungsfunktionen über den Webdienst anderen zur Verfügung stellen. In beiden Fällen können der Code und die Daten hinter dem Code wiederverwendet werden.
Wie aus der obigen Diskussion hervorgeht, ist der Webdienst am nützlichsten, wenn Interoperationen oder Fernaufrufe über das Web durchgeführt werden. Es gibt jedoch auch Situationen, in denen Web Services überhaupt keine Vorteile bringen können:
1. Eigenständige Anwendungen
Derzeit nutzen Unternehmen und Einzelpersonen immer noch viele Desktop-Anwendungen. Einige von ihnen müssen lediglich mit anderen Programmen auf der Maschine kommunizieren. In diesem Fall ist es am besten, keinen Webdienst zu verwenden, sondern einfach die lokale API zu verwenden. COM ist für die Arbeit in dieser Situation ideal, da es klein und schnell ist. Das Gleiche gilt für Serversoftware, die auf demselben Server läuft. Natürlich kann in diesen Situationen auch Web Service eingesetzt werden, aber das würde nicht nur zu viel verbrauchen, sondern auch keinen Nutzen bringen.
2. Einige Anwendungen im LAN
In vielen Anwendungen verwenden alle Programme COM unter der Windows-Plattform und laufen im selben LAN. In diesen Programmen ist die Verwendung von DCOM wesentlich effizienter als SOAP/HTTP. Wenn ein .net-Programm eine Verbindung zu einem anderen .net-Programm im LAN herstellen möchte, sollte ebenfalls .net Remoting verwendet werden. Tatsächlich können Sie in .net Remoting auch die Verwendung von SOAP/HTTP für Webdienstaufrufe festlegen. Es ist jedoch besser, RPC-Aufrufe direkt über TCP durchzuführen, was wesentlich effizienter ist.
1.3. Anwendung des XML-Webdienstes
1. Der anfängliche XML-Webdienst ist normalerweise eine Informationsquelle, die einfach in die Anwendung integriert werden kann, wie z. B. Aktienkurse, Wettervorhersagen, Sportergebnisse , usw. .
2. Durch die Bereitstellung bestehender Anwendungen als XML-Webdienste können Sie neue, leistungsfähigere Anwendungen erstellen und XML-Webdienste als Bausteine nutzen.
Benutzer können beispielsweise eine Beschaffungsanwendung entwickeln, um automatisch Preisinformationen von verschiedenen Lieferanten zu erhalten, sodass Benutzer Lieferanten auswählen, Bestellungen aufgeben und dann den Warenversand bis zum Erhalt verfolgen können. Neben der Bereitstellung von Diensten im Web kann die Anwendung des Lieferanten auch den XML-Webdienst nutzen, um die Kreditwürdigkeit des Kunden zu prüfen, Zahlungen einzuziehen und Frachtvorgänge mit dem Frachtunternehmen abzuwickeln.
2. Web-Service-Entwicklung
.net-Plattform verfügt über integrierte Unterstützung für Web-Services, einschließlich der Erstellung und Nutzung von Web-Services. Im Gegensatz zu anderen Entwicklungsplattformen benötigen Sie bei Verwendung der .net-Plattform keine anderen Tools oder SDKs, um die Entwicklung des Webdienstes abzuschließen. Das .net Framework selbst unterstützt Webdienste vollständig, einschließlich serverseitiger Anforderungsprozessoren und Unterstützung für Clients zum Senden und Empfangen von SOAP-Nachrichten. Als Nächstes verwenden wir Schritt für Schritt Microsoft Visual Studio .net 20058 (im Folgenden als VS.Net 2008 bezeichnet), um einen einfachen Webdienst zu erstellen und zu verwenden.
2.1. Erstellen Sie den einfachsten Webdienst mit
Öffnen Sie zunächst VS2005, öffnen Sie „Datei-Neue-Website“ und wählen Sie „ASP.NET-Webdienst“
Schauen Sie sich den Service.cs-Code an. Sie werden feststellen, dass VS.Net 2005 ein Standardframework für Webdienstdateien eingerichtet hat. Der Originalcode lautet:
Code kopieren Der Code lautet wie folgt: using System; 🎜>[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Um diesen Webdienst aus einem Skript mit ASP aufzurufen. NET AJAX, kommentieren Sie die folgende Zeile aus.
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service () {
//Bei Verwendung von Design Komponente, bitte kommentieren Sie die folgende Zeile aus. .Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding (ConformsTo = WsiProfiles.BasicProfile1_1)]
// Um den Aufruf dieses Webdienstes aus einem Skript mit ASP.NET AJAX zu ermöglichen, kommentieren Sie die folgende Zeile aus.
// [System.Web.Script.Services.ScriptService]
public class Service: System.Web.Services.WebService
{
public Service () {
//Bei Verwendung von Design Für Komponenten brechen Sie bitte Folgendes ab:
// initializecomponent ();
}
[webmedhod]
Public String HelloWorld ()
{
Return „Hello World“; > }
}
2.2. Erstellen Sie einen einfachen Webdienst mit Funktionen
Oben haben wir ein Makro-Verständnis für einen Webdienst erstellt. Tatsächlich handelt es sich um eine externe Schnittstelle mit verfügbaren Funktionen Aufrufe (Hinweis: Es gibt auch Funktionen, die nicht von Clients aufgerufen werden können. Wenn wir der Server sind, schreiben wir einen Webservice und geben ihn dann an den Client weiter (und geben ihm gleichzeitig die Aufrufregeln), den der Client aufrufen kann Der Server befindet sich beim Abrufen von Informationen in einem relativ transparenten Zustand. Auch wenn der Client den Prozess nicht versteht (und nicht benötigt), erhalten wir die Daten nur in der Codedatei. Wir hoffen, dass dies der Fall ist Diese Funktion wird zu einer extern aufrufbaren Schnittstellenfunktion. Wir müssen über der Funktion eine Codezeile [WebMethod(Description="Beschreibungsinformationen der Funktion")] hinzufügen. Wenn Ihre Funktion diese Deklaration nicht hat, wird sie nicht referenziert Als nächstes beginnen wir mit dem Schreiben eines einfachen Web-Service-Beispiels.
Kommentieren Sie zunächst die Standard-HelloWorld-Methode aus und schreiben Sie einfach vier Methoden für Addition, Subtraktion, Multiplikation und Division.
Kopieren Sie den Code. Der Code lautet wie folgt: using System
using System.Linq ;
using System.Web.Services;
using System.Xml.Linq; org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Damit dieser Webdienst von einem Skript mit ASP.NET AJAX aufgerufen werden kann, deaktivieren Sie bitte den folgenden Hinweis.
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service () {
//Bei Verwendung von Design Komponente, bitte entkommentieren Sie die folgende Zeile
//InitializeComponent();
//[WebMethod]
//öffentliche Zeichenfolge HelloWorld()//{
// return „Hallo Welt“;/