Internetservice

A Internetservice (WS) entweder:

  • Ein Dienst, der von einem elektronischen Gerät einem anderen elektronischen Gerät angeboten wird, das über die miteinander kommuniziert Internet, oder
  • Ein Server, der auf einem Computergerät ausgeführt wird, nach Anfragen in einem bestimmten Port über einem Netzwerk anhört, Servieren von Webdokumenten ((Html, JSON, Xml, Bilder).

Die Verwendung des Begriffs "Web" im Webdienst ist eine Fehlbezeichnung. Webdienste verwenden die nicht Weltweites Netz (Www), eine menschliche Benutzeroberfläche, die auf dem ausgeführt wird Internet, sondern ein Maschinen-zu-Maschinen-Dienst im Internet mit den WWW-Protokollen.

In einem Webdienst eine Web -Technologie wie Http wird zum Übertragen von maschinenlesbaren Dateiformaten wie z. B. verwendet Xml und Json.

In der Praxis bietet ein Webdienst üblicherweise eine objektorientierter Webbasierte Schnittstelle zu einem Datenbankserver, der beispielsweise von einem anderen Webserver oder von a verwendet wird AppDies bietet eine Benutzeroberfläche zum Endbenutzer. Viele Organisationen, die Daten in formatierten HTML -Seiten liefern Syndizierung. Ein anderer Antrag, der dem Endbenutzer angeboten wird, kann a sein vermanschen, wobei ein Webserver mehrere Webdienste in verschiedenen Maschinen verbraucht und den Inhalt in einer Benutzeroberfläche kompiliert.

Webdienste (Generika)

Asynchroner JavaScript und XML

Asynchronous JavaScript und XML (AJAX) sind eine dominierende Technologie für Webdienste. Entwicklung aus der Kombination von HTTP -Servern, JavaScript -Clients und Einfacher alter XML (im Unterschied von SEIFE und W3C -Webdienste), jetzt wird es häufig mit verwendet JSON sowie oder statt von xml.

SICH AUSRUHEN

Representational State Transfer (REST) ​​ist eine Architektur für gut erzogene Webdienste, die im Internet funktionieren können.

In einem Dokument aus dem Jahr 2004 setzt das W3C die Ruhestand als wichtige Unterscheidungsmerkmal von Webdiensten:

Wir können zwei Hauptklassen von Webdiensten identifizieren:

  • SICH AUSRUHEN-Compliant Web Services, in dem der Hauptzweck des Dienstes darin besteht, XML -Darstellungen von zu manipulieren Webressources verwenden einen einheitlichen Satz von staatenlos Operationen; und
  • willkürliche Webdienste, in denen der Dienst einen willkürlichen Vorgänge aufdecken kann.
    -W3C, Web Services Architektur[1]

Webdienste, die Markup -Sprachen verwenden

Es gibt eine Reihe von Webdiensten, die Markup -Sprachen verwenden:

Web -API

A Web -API ist eine Entwicklung in Webdiensten, bei denen der Schwerpunkt einfacher wurde Repräsentationsstaatsübertragung (Rest) basierte Kommunikation.[2] RESTful-APIs erfordern keine XML-basierten Webdienstprotokolle (SEIFE und WSDL), um ihre Schnittstellen zu unterstützen.

W3C -Webdienste

In Bezug auf W3C -Webdienste die W3c definierte einen Webdienst als:

Ein Webdienst ist ein Softwaresystem, das die interoperable Interaktion von Maschinen zu Maschinen über ein Netzwerk unterstützt. Es hat eine Schnittstelle, die in einem maschinenverarbeitbaren Format beschrieben wird (speziell WSDL). Andere Systeme interagieren mit dem Webdienst auf eine Weise, die durch seine Beschreibung mithilfe von Seifenhörungen vorgeschrieben ist, die normalerweise verwendet werden Http mit einem Xml Serialisierung in Verbindung mit anderen webbezogenen Standards.

-W3C, Webdienste Glossar[3]

W3C -Webdienste können SOAP über das HTTP -Protokoll verwenden, wodurch weniger kostspielige (effizientere) Interaktionen über das Internet als über proprietäre Lösungen wie EDI/B2B ermöglicht werden. Neben Seife über HTTP können Webdienste auch auf anderen zuverlässigen Transportmechanismen wie implementiert werden Ftp. In einem Dokument von 2002 die Webdienste Architektur Arbeitsgruppe definierte eine Web -Services -Architektur und erforderte eine standardisierte Implementierung eines "Webdienstes".

Erläuterung

Web Services Architecture: Der Dienstanbieter sendet eine WSDL -Datei an UDDI. Der Service Requester kontaktiert UDDI, um herauszufinden, wer der Anbieter für die Daten ist, die er benötigt, und dann kontaktiert er den Dienstanbieter mit dem SOAP -Protokoll. Der Dienstanbieter validiert die Serviceanforderung und sendet strukturierte Daten in einer XML -Datei mit dem SOAP -Protokoll. Diese XML -Datei wird vom Serviceantragsteller mit einer XSD -Datei erneut validiert.

Der Begriff "Webdienst" beschreibt eine standardisierte Methode zur Integration von webbasierten Anwendungen mithilfe der Xml, Seife, WSDL und UDDI offene Standards über eine Internetprotokoll Rückgrat. XML ist das Datenformat, mit dem die Daten enthalten sind und Metadaten um sie herum bereitgestellt werden. SOAP wird verwendet, um die Daten zu übertragen, WSDL wird zur Beschreibung der verfügbaren Dienste verwendet und UDDI listet auf, welche Dienste verfügbar sind.

Ein Webdienst ist eine Kommunikationsmethode zwischen zwei elektronischen Geräten über ein Netzwerk. Es handelt sich um eine Softwarefunktion bei a Netzwerkadresse Über das Internet mit dem Dienst immer auf wie im Konzept des Dienstprogramms.

Viele Unternehmen verwenden mehrere Softwaresysteme für das Management. Verschiedene Softwaresysteme müssen häufig Daten miteinander austauschen, und ein Webdienst ist eine Kommunikationsmethode, mit der zwei Softwaresysteme diese Daten über das Internet austauschen können. Das Softwaresystem, das Daten anfordert Servicemittel, während das Softwaresystem, das die Anfrage verarbeitet und die Daten bereitstellt, als a genannt wird Dienstleister.

Eine andere Software kann unterschiedliche Programmiersprachen verwenden, und daher besteht eine Methode von Datenaustausch Das hängt nicht von einer bestimmten Programmiersprache ab. Die meisten Arten von Software können jedoch XML -Tags interpretieren. Daher können Webdienste XML -Dateien für den Datenaustausch verwenden.

Regeln für die Kommunikation mit verschiedenen Systemen müssen definiert werden, wie z. B.:

  • Wie ein System Daten von einem anderen System anfordern kann.
  • Welche spezifischen Parameter sind in der Datenanforderung erforderlich.
  • Was wäre die Struktur der erzeugten Daten? (Normalerweise werden Daten in XML -Dateien ausgetauscht und die Struktur der XML -Datei gegen eine .xsd -Datei validiert.)
  • Welche Fehlermeldungen anzuzeigen, wenn eine bestimmte Regel für die Kommunikation nicht beobachtet wird, um zu machen Fehlerbehebung Einfacher.

Alle diese Kommunikationsregeln sind in einer Datei mit dem Titel definiert WSDL (Webdienste Beschreibung Sprache), die a hat .wsdl Verlängerung. (Vorschläge für Autonome Webdienste (AWS) versuchen, flexiblere Webdienste zu entwickeln, die sich nicht auf strenge Regeln verlassen.[a]))

Ein Verzeichnis genannt Uddi (Universelle Beschreibung, Entdeckung und Integration) definiert, welches Softwaresystem für welche Art von Daten kontaktiert werden sollte. Wenn also ein Softwaresystem einen bestimmten Bericht/Daten benötigt, gilt es in die UDDI und ermittelt heraus, welche anderen Systeme es für den Empfang dieser Daten kontaktieren können. Sobald das Softwaresystem herausgefunden hat, an welchen anderen Systemen es sich wenden sollte, kontaktieren Sie dieses System mit einem speziellen Protokoll auf, das aufgerufen wurde SEIFE (Einfaches Objektzugriffsprotokoll). Das Dienstanbietersystem würde zuerst die Datenanforderung validieren, indem sie sich auf die WSDL -Datei bezieht und dann die Anforderung verarbeiten und die Daten unter dem SOAP -Protokoll senden.

Automatisierte Designmethoden

Automatisierte Tools können bei der Erstellung eines Webdienstes helfen. Für Dienste, die WSDL verwenden, ist es möglich, entweder WSDL für vorhandene Klassen (ein Bottom-up-Modell) automatisch zu generieren oder ein Klassenskelett mit vorhandenem WSDL (Top-Down-Modell) zu generieren.

  • Ein Entwickler, der ein Bottom-up-Modell verwendet, schreibt, dass implementieren Klassen zuerst (in einer Programmiersprache) implementiert und dann ein WSDL-Generierungswerkzeug verwendet, um Methoden aus diesen Klassen als Webdienst aufzudecken. Dies ist einfacher zu entwickeln, kann jedoch schwieriger zu pflegen sein, wenn die ursprünglichen Klassen einer häufigen Änderung ausgesetzt sind.[5]
  • Ein Entwickler, der ein Top-Down-Modell verwendet, schreibt zuerst das WSDL-Dokument und verwendet dann ein Codegenerierungs-Tool, um das Klassenskelett zu erstellen, um nach Bedarf abzuschließen. Dieses Modell wird im Allgemeinen als schwieriger angesehen, kann aber sauberere Konstruktionen erzeugen und ist im Allgemeinen resistenter gegen Veränderungen. Solange sich die Nachrichtenformate zwischen dem Absender und dem Empfänger nicht ändern, beeinflussen Änderungen im Absender und des Empfängers selbst keinen Einfluss auf den Webdienst. Die Technik wird auch als als bezeichnet zuerst vertrag Da der WSDL (oder den Vertrag zwischen Absender und Empfänger) der Ausgangspunkt ist.[6]
  • Ein Entwickler, der eine Subset WSDL (SWSDL) verwendet[7] (d. H. Ein WSDL mit dem Untergruppenbetrieb im ursprünglichen WSDL) kann Web-Service-Tests und Top-Down-Entwicklung durchführen.

Kritik

Kritiker nicht restlicher Webdienste beschweren sich oft, dass sie zu komplex sind[8] und basierend auf großen Softwareanbietern oder Integratoren und nicht auf typisch Open Source Implementierungen.

Es gibt auch Bedenken hinsichtlich der Leistung aufgrund der Verwendung von XML durch Webdienste als Nachrichtenformat und SOAP/HTTP beim Umhüllen und Transportieren.[9]

Regressionstests von Webdiensten

Mit Hilfe der WSDL-Parsing werden funktionale und nicht funktionale Tests von Webdiensten durchgeführt. Regressionstests wird durchgeführt, indem die Änderungen identifiziert werden, um Software zu aktualisieren. Die Anforderungen des Web-Service-Regressionstests können auf drei verschiedene Arten kategorisiert werden, nämlich Änderungen in WSDL, Änderungen des Codes und der selektiven Wiederholung von Operationen. Wir können die oben genannten drei Bedürfnisse in drei mittleren Formen von Subset WSDL erfassen.[7] Unterschieds WSDL (DWSDL), Einheit WSDL (UWSDL) und reduziertes WSDL (RWSDL). Diese drei Subset WSDLs werden dann zu kombiniertem WSDL (CWSDL) kombiniert, das für die Regressionstests des Webdienstes weiter verwendet wird. Dies hilft beim automatisierten Webdienst Change Management (AWSCM).[10] Durch die Auswahl der relevanten Testfälle zum Bau einer reduzierten Testsuite aus der alten Testsuite.[11]

Web -Services -Tests können auch mit mehreren Testautomatisierungstools wie möglich automatisiert werden Soapui, Oracle Application Tests Suite (HAFER),[12][13] Einheitliche Funktionstests, Selen usw.

Webdienst Änderungsverwaltung

Bearbeitet mit der Erfassung und Visualisierung von Änderungen an einem Webdienst. Die Visualisierung und Berechnung von Änderungen kann in Form von Zwischenartifakten (Untergruppe WSDL) durchgeführt werden.[7] Der Einblick in die Berechnung der Auswirkungen der Veränderung ist hilfreich bei der Prüfung, der Top-Down-Entwicklung und der Reduzierung von Regressionstests. AWSCM[10] ist ein Tool, mit dem Untergruppenoperationen in einer WSDL -Datei identifiziert werden können, um eine Teilmenge WSDL zu konstruieren.

Entdeckung und Suche nach Webdiensten

Während UDDI als Serviceverzeichnis dienen und das Mittel zur Entdeckung von Webdiensten werden sollte, stellten viele Anbieter zwischen 2005 und 2008 ihre UDDI-Lösungen oder Repositories ein, darunter Microsoft, SAP, IBM.[14][15] Eine wichtige Studie, die in der WWW2008 Conference (Peking, China) veröffentlicht wurde[16] präsentierte den Stand der SOAP-basierten Webdienste und kam zu dem Schluss, dass nur 63% der verfügbaren SOAP-basierten Webdienste zum Zeitpunkt der Studie tatsächlich aktiv waren oder aufgerufen werden können. Die Studie ergab außerdem, dass Suchmaschinen zu einer idealen Quelle für die Suche nach Webdiensten im Vergleich zu Service -Registern wie der UDDI aufgrund ihrer Entwurfskomplexität wurden.[17]

Siehe auch

Anmerkungen

  1. ^ Vergleichen: OYA 2008, "Im Rahmen der aktuellen Webdienste müssen […] Stakeholder -Systeme die vordefinierten Regeln für einen bestimmten Geschäftsdienst befolgen, einschließlich derjenigen über Geschäftsprotokolle, um Nachrichten zu senden/zu empfangen und über den Systembetrieb zu senden. Autonom laufende Systeme können Geschäftsnachrichten ohne vorab strenge Regeln austauschen. Wir nennen es autonome Web Services (AWS) und schlugen das Framework, das als Dynamic Model Harmonization (DMH) bezeichnet wird, mit seinem Algorithmus vor, der verschiedene Geschäftsprozessmodelle zwischen Systemen dynamisch anpasst […] . "[4]

Verweise

  1. ^ "Webdienste Architektur § Beziehung zum World Wide Web und Restarchitekturen". W3c. Abgerufen 11. November 2017.
  2. ^ BENSLIMANE, D.; Dustdar, S.; Sheth, A. (2008). "Dienste Mashups: Die neue Generation von Webanwendungen". IEEE Internet Computing. 10 (5): 13–15. doi:10.1109/mic.2008.110. S2CID 8124905.
  3. ^ "Webdienste Glossar § Webdienst". W3c. 11. Februar 2004. Abgerufen 24. Januar 2017.
  4. ^ Oya, Makoto (2008-09-02). "Autonome Webdienste basierend auf der harmonisierung der dynamischen Modell". In Oya, Makoto; Uda, Ryuya; Yasunobu, Chizuko (Hrsg.). In Richtung Sustainable Society über allgegenwärtige Netzwerke: Die 8. IFIP-Konferenz über E-Business, E-Services und E-Society (i3e 2008), 24.-26. September 2008, Tokio, Japan, Japan. IFIP -Fortschritte in der Informations- und Kommunikationstechnologie. Vol. 286. Springer Science & Business Media (veröffentlicht 2008). p. 139. ISBN 9780387856902. Abgerufen 2015-08-19.
  5. ^ "Bottom-Up-Webdienste erstellen". Finsternis. Abgerufen 11. November 2017.
  6. ^ "Erstellen von Top-Down-Webdiensten". Finsternis. Abgerufen 11. November 2017.
  7. ^ a b c Chaturvedi, Animesh (2014). Subset WSDL, um den Subset -Service für die Analyse zuzugreifen. 2014 IEEE 6. Internationale Konferenz über Cloud Computing -Technologie und -wissenschaft. p. 688. doi:10.1109/cloudcom.2014.149. ISBN 978-1-4799-4093-6.
  8. ^ Bray, Tim (2004-10-28). "WS-PageCount". Tbray.org. Abgerufen 2011-04-22.
  9. ^ Gray, N. A. B. (2005). "Leistung von Java Middleware-Java RMI, Jax-RPC und Corba". Universität Wollongong: 31–39. Die in diesem Artikel vorgestellten Ergebnisse zeigen, dass die Art der Antwortdaten einen größeren Einfluss auf die relative Leistung hat als in den meisten früheren Studien zulässig.
  10. ^ a b Chaturvedi, Animesh (2014). AWSCM - ein Tool für automatisierte Web -Service Change Management - ein Tool. 2014 IEEE 6. Internationale Konferenz über Cloud Computing -Technologie und -wissenschaft. p. 715. doi:10.1109/cloudcom.2014.144. ISBN 978-1-4799-4093-6.
  11. ^ Chaturvedi, Animesh; Gupta, Atul (2013). Ein auf Tool unterstützter Ansatz zur Durchführung effizienter Regressionstests von Webdiensten. 2013 IEEE 7. Internationales Symposium über die Wartung und Entwicklung von Service-orientierten und Cloud-basierten Systemen. p. 50. doi:10.1109/mesoca.2013.6632734. ISBN 978-1-4673-4889-8.
  12. ^ Oracle Application Tests Suite
  13. ^ Webdienste -Tests mit Oracle Application Test Suite
  14. ^ Krill, Paul (2005-12-16). "Microsoft, IBM, SAP haben die UDDI -Registrierungsanstrengung eingestellt". InfoWorld. Abgerufen 2022-05-28.
  15. ^ Quinnradich. "Entfernen von UDDI -Diensten aus dem Serverbetriebssystem - Win32 -Apps". docs.microsoft.com. Abgerufen 2022-05-28.
  16. ^ "Www2008 - www 2008: 17. International World Wide Web Conference (Willkommen)". Abgerufen 2022-05-28.
  17. ^ Al-Masri, Eyhab; Mahmoud, Qusay H. (2008-04-21). "Untersuchung von Webdiensten im World Wide Web". Verfahren der 17. Internationalen Konferenz über World Wide Web. Www '08. New York, NY, USA: Vereinigung für Computermaschinen: 795–804. doi:10.1145/1367497.1367605. ISBN 978-1-60558-085-2.

Externe Links