Angebot dienstvertrag Muster

Upplagt den 2020-07-11 · Upplagt i Okategoriserade

Alle Vorteile von verwalteten Schnittstellen gelten für Servicevertragsschnittstellen: Wenn das Ziel der Service-Schicht darin besteht, API von der Implementierung zu trennen, wäre es dann nicht sinnvoll, dass die API-Schnittstellen völlig unabhängig von jeder Implementierung sind (d.h. die Serviceverträge sollten sich in ihren eigenen Composer-Paketen befinden)? Wenn ich eine benutzerdefinierte Implementierung des Vertriebsmoduls verwenden wollte, warum sollte ich Magentos beträchtliche Vanille-Implementierung einziehen, wenn alles, was ich von diesem Paket benötige, die API-Schnittstellen sind? Es scheint, als ob es alltäglich werden sollte, nur die API-Schnittstellen eines Moduls zu benötigen. Verbraucherorientierte Verträge bieten zwei wesentliche Vorteile, wenn es um die Entwicklung von Dienstleistungen geht. Zunächst konzentrieren sie die Spezifikation und Bereitstellung von Servicefunktionen auf wichtige geschäftliche Werttreiber. Ein Dienst ist für das Unternehmen nur in dem Umfang von Wert, in dem er verbraucht wird. Verbraucherorientierte Verträge binden die Entwicklung von Dienstleistungen an den geschäftlichen Wert, indem sie den Wert exportfähiger Service-Community-Elemente behaupten – die Dinge, die die Verbraucher von Anbietern verlangen, um ihre Arbeit zu tun. Infolgedessen stellen Anbieter einen schlanken Vertrag offen, der eindeutig mit den Geschäftszielen, die ihren Verbrauchern zugrunde liegt, ausgerichtet ist. Veränderung – Die Entwicklung des Dienstes – tritt nur dort auf, wo die Verbraucher ein klares Bedürfnis zum Ausdruck bringen. Schemas sowohl rückwärts- als auch vorwärts kompatibel zu machen, ist eine gut verstandene Designaufgabe, die am besten durch das Must-Ignore-Muster der Erweiterbarkeit ausgedrückt wird (siehe gthe papers von David Orchard und Dare Obasanjo). Das Must-Ignorieren-Muster empfiehlt, dass Schemas Erweiterbarkeitspunkte enthalten, die das Fügen von Erweiterungselementen zu Typen und zusätzlichen Attributen zu jedem Element ermöglichen. Das Muster empfiehlt auch, dass XML-Sprachen ein Verarbeitungsmodell definieren, das angibt, wie Verbraucher Erweiterungen verarbeiten. Das einfachste Modell erfordert, dass Verbraucher Elemente ignorieren, die sie nicht erkennen – daher der Name des Musters. Das Modell erfordert möglicherweise auch, dass Verbraucher Elemente verarbeiten, die das Flag ”Muss verstehen” haben, oder abbrechen, wenn sie sie nicht verstehen können.

Keine Rücksendemeldung bedeutet auch, dass kein SOAP-Fehler zurückgegeben werden kann, um Fehler in der Verarbeitung oder Kommunikation anzuzeigen. (Das Kommunizieren von Fehlerinformationen bei unidirektionazten Vorgängen erfordert ein Duplex-Nachrichtenaustauschmuster.) In unserem Beispiel, nachdem der ProductSearch-Service seit einiger Zeit in Produktion ist, erwägt ein zweiter Wiederverkäufer, ihn zu verwenden, fordert jedoch, dass jedem Produkt ein Beschreibungsfeld hinzugefügt wird. Aufgrund der Art und Weise, wie die Verbraucher aufgebaut wurden, hat die Änderung erhebliche und kostspielige Auswirkungen sowohl für den Anbieter als auch für die bestehenden Verbraucher, wobei die Kosten für jeden je nach Der Umsetzung der Änderung variieren. Es gibt mindestens zwei Möglichkeiten, wie wir die Kosten für den Wandel zwischen den Mitgliedern der Service-Community verteilen können. Erstens könnten wir unser ursprüngliches Schema ändern und von jedem Consumer verlangen, seine Kopie des Schemas zu aktualisieren, um Suchergebnisse ordnungsgemäß zu validieren. Die Kosten für die Änderung des Systems werden hier zwischen dem Anbieter – der angesichts einer solchen Änderungsanforderung immer eine Art Änderung vornehmen muss – und den Verbrauchern, die kein Interesse an der aktualisierten Funktionalität haben, verteilt. Alternativ können wir dem Dienstanbieter im Namen des neuen Consumers einen zweiten Vorgang und ein neues Schema hinzufügen und den ursprünglichen Vorgang und das Schema im Namen der vorhandenen Verbraucher beibehalten. Die Kosten der Änderung sind nun auf den Anbieter beschränkt, aber auf Kosten der mehr komplexität und teureren Wartung des Dienstes.