Ein Web-Service ist eine Funktion, auf die andere Programme über das Web (Http) zugreifen können. Um es etwas deutlicher zu machen, wenn Sie eine Website in PHP erstellen, die HTML ausgibt, ist das Ziel der Browser und damit der Mensch, der die Seite im Browser liest. Ein Webdienst richtet sich nicht an Menschen, sondern an andere Programme.
Ich denke, um zu verstehen, was ein vollständig REST-fähiger Dienst ist, müssen Sie den Unterschied zwischen RESTful-Diensten und Standard-Webdiensten verstehen. Es ist ziemlich gut in JEE6 Tutorial von Oracle erklärt:
NonRESTful WebServices (In Java als JAX-WS): Big Web Services verwenden XML-Nachrichten, die folgen Sie dem SOAP-Standard (Simple Object Access Protocol), einer XML-Sprache, die a Nachrichtenarchitektur und Nachrichtenformate. Solche Systeme enthalten oft maschinenlesbar Beschreibung der vom Dienst angebotenen Operationen, geschrieben in der Beschreibung der Web Services Language (WSDL), eine XML-Sprache zur syntaktischen Definition von Schnittstellen. Das SOAP-Nachrichtenformat und die WSDL-Schnittstellendefinitionssprache haben zugenommen weit verbreitete Annahme. Viele Entwicklungswerkzeuge, wie NetBeans IDE, können das reduzieren Komplexität der Entwicklung von Web-Service-Anwendungen. Ein SOAP-basiertes Design muss die folgenden Elemente enthalten.
■ Ein formeller Vertrag muss erstellt werden, um die Schnittstelle zu beschreiben, die der Webdienst anbietet. WSDL kann verwendet werden, um die Details des Vertrags zu beschreiben, der Nachrichten enthalten kann, Operationen, Bindungen und der Ort des Web-Service. Sie können SOAP auch verarbeiten Nachrichten in einem JAX-WS-Dienst, ohne eine WSDL zu veröffentlichen.
■ Die Architektur muss komplexe nichtfunktionale Anforderungen erfüllen. Viele Webdienste Spezifikationen gehen auf solche Anforderungen ein und etablieren ein gemeinsames Vokabular für sie. Beispiele sind Transaktionen, Sicherheit, Adressierung, Vertrauen, Koordination und so weiter.
■ Die Architektur muss asynchrone Verarbeitung und Aufruf verarbeiten. In solchen Fällen, die von Standards bereitgestellte Infrastruktur wie Web Services Reliable Messaging (WSRM) und APIs wie JAX-WS mit ihrem clientseitigen asynchronen Aufruf Unterstützung, kann aus der Box heraus genutzt werden.
RESTful Web Services (in Java als JAX-RS) In Java EE 6 stellt JAX-RS die Funktionalität für Representational State Transfer (RESTful) bereit. Internetdienste. REST eignet sich gut für grundlegende Ad-hoc-Integrationsszenarien. RESTful Webdienste, oft besser integriert mit HTTP als SOAP-basierte Dienste sind, benötigen keine XML-Nachrichten oder WSDL-Service-API-Definitionen. Project Jersey ist die produktionsfertige Referenzimplementierung für die JAX-RS-Spezifikation. Jersey implementiert Unterstützung für die Anmerkungen, die in der JAX-RS-Spezifikation definiert sind Einfach für Entwickler, um RESTful Web Services mit Java und der Java Virtual Machine zu erstellen (JVM).
Arten von Webdiensten Weil REST-konforme Webdienste die bereits bekannte W3C- und Internet Engineering-Aufgabe verwenden Force (IETF) Standards (HTTP, XML, URI, MIME) und haben eine leichte Infrastruktur, die ermöglicht den Aufbau von Services mit minimalem Werkzeugeinsatz, die Entwicklung von RESTful Web Services ist kostengünstig und hat daher eine sehr geringe Barriere für die Übernahme. Sie können ein Entwicklungstool wie NetBeans verwenden IDE, um die Komplexität der Entwicklung von RESTful Web Services weiter zu reduzieren. Ein RESTful Design kann angebracht sein, wenn die folgenden Bedingungen erfüllt sind.
■ Die Web-Services sind vollständig zustandslos. Ein guter Test ist zu überlegen, ob die Interaktion kann einen Neustart des Servers überleben.
■ Eine Caching-Infrastruktur kann für die Leistung genutzt werden. Wenn die Daten, die der Web-Service Rücksendungen werden nicht dynamisch generiert und können im Cache zwischengespeichert werden Server und andere Vermittler, die von Natur aus bereitgestellt werden, können zur Verbesserung genutzt werden Performance. Der Entwickler muss jedoch darauf achten, dass solche Caches auf die beschränkt sind HTTP GET-Methode für die meisten Server.
■ Der Dienstleistungserzeuger und der Dienstleistungskonsument haben ein gegenseitiges Verständnis für den Kontext und den Inhalte werden weitergegeben. Weil es keine formelle Möglichkeit gibt, die Webdienste zu beschreiben Schnittstelle müssen beide Parteien Out-of-Band in den Schemata zustimmen, die die Daten beschreiben ausgetauscht und über Möglichkeiten, es sinnvoll zu verarbeiten. In der realen Welt die meisten kommerziellen Anwendungen, die Dienste als REST-konforme Implementierungen bereitstellen, verteilen auch sogenannte wertsteigernde Toolkits, die die Schnittstellen zu Entwicklern in gängigen Programmen beschreiben Sprachen.
■ Die Bandbreite ist besonders wichtig und muss begrenzt werden. REST ist besonders nützlich für Geräte mit begrenztem Profil, wie PDAs und Mobiltelefone, für die der Overhead von Kopfzeilen erforderlich ist und zusätzliche Schichten von SOAP-Elementen auf der XML-Nutzlast müssen eingeschränkt werden.
■ Web Service Delivery oder Aggregation in bestehende Websites kann einfach mit a aktiviert werden RESTful Stil. Entwickler können solche Technologien wie JAX-RS und Asynchronous verwenden JavaScript mit XML (AJAX) und solche Toolkits wie Direct Web Remoting (DWR) zu konsumieren die Dienste in ihren Webanwendungen.Anstatt von Grund auf neu zu beginnen, können Dienste sein mit XML exponiert und von HTML - Seiten konsumiert, ohne das bestehende Website-Architektur. Bestehende Entwickler werden produktiver sein, weil sie es sind etwas hinzufügen, mit dem sie bereits vertraut sind, anstatt von vorne anfangen zu müssen mit neuer Technologie.
Festlegen des zu verwendenden Webdiensttyps
Grundsätzlich möchten Sie RESTful Web Services für die Integration über das Web verwenden und groß verwenden Webservices in Enterprise-Anwendungsintegrationsszenarien, die eine höhere Qualität aufweisen Service (QoS) Anforderungen.
■ WebServices: Behandelt erweiterte QoS-Anforderungen, die häufig in Unternehmen auftreten rechnen. [..]
■ RESTfull: macht es einfacher, Web-Anwendungen zu schreiben, die einige oder alle Einschränkungen des REST-Stils anwenden, um erwünschte Eigenschaften in der Anwendung hervorzurufen, z. B. lose Kopplung (Entwicklung des Servers ist einfacher, ohne bestehende Clients zu brechen), Skalierbarkeit (klein und klein anfangen) wachsen) und architektonische Einfachheit (verwenden Sie Standardkomponenten wie Proxies oder HTTP Router). Sie würden JAX-RS für Ihre Webanwendung verwenden, weil es einfacher ist viele Arten von Clients, die RESTful-Webdienste konsumieren, während sie die Server-Seite aktivieren entwickeln und skalieren. Kunden können wählen, ob sie einige oder alle Aspekte des Service und des Breies konsumieren möchten es mit anderen web-basierten Diensten.
Tags und Links java php rest web-services