Muster igel Vertrag

Ein Anbietervertrag drückt die Geschäftsfunktionsfunktionen eines Dienstanbieters in Bezug auf den Satz exportierbarer Elemente aus, die zur Unterstützung dieser Funktionalität erforderlich sind. Aus Sicht der Service-Evolution ist ein Vertrag ein Container für eine Reihe exportierbarer Geschäftsfunktionselemente. Eine nicht-normative Liste dieser Elemente enthält: Viele Programmiersprachen haben Möglichkeiten, solche Behauptungen zu machen. DbC hält diese Verträge jedoch für so wichtig für die Softwarekorrektheit, dass sie Teil des Entwurfsprozesses sein sollten. Tatsächlich plädiert DbC dafür, die Behauptungen zuerst zu schreiben. [Zitat erforderlich] Verträge können durch Codekommentare geschrieben werden, die von einer Testsammlung erzwungen werden, oder beides, auch wenn es keine spezielle Sprachunterstützung für Verträge gibt. Es schreibt vor, dass Software-Designer formale, präzise und überprüfbare Schnittstellenspezifikationen für Softwarekomponenten definieren sollten, die die normale Definition abstrakter Datentypen um Vorbedingungen, Nachbedingungen und Invarianten erweitern. Diese Spezifikationen werden als “Verträge” bezeichnet, in Übereinstimmung mit einer konzeptionellen Metapher mit den Bedingungen und Pflichten von Geschäftsverträgen. Design by Contract (DbC), auch bekannt als Vertragsprogrammierung, Programmierung durch Vertrags- und Design-by-Contract-Programmierung, ist ein Ansatz für die Entwicklung von Software.

Wir werden die Schemaerweiterentwicklung hier nicht weiter diskutieren. Es genügt zu sagen, dass Erweiterungspunkte es uns ermöglichen, rückwärts- und vorwärtskompatible Änderungen an Schemas und Dokumenten vorzunehmen, ohne Dienstleister und Verbraucher zu brechen. Schemaerweiterungen helfen uns jedoch nicht, die Entwicklung eines Systems zu bewältigen, wenn wir eine angeblich brechende Änderung eines Vertrags vornehmen müssen. Ein Unternehmen kann diese Vorteile jedoch nur dann voll umsetzen, wenn seine SOA es ermöglicht, sich unabhängig voneinander zu entwickeln. Um die Serviceunabhängigkeit zu erhöhen, erstellen wir Dienste, die Verträge und keine Typen gemeinsam nutzen. Trotzdem müssen wir die Verbraucher oft im gleichen Tempo wie der Dienstleister entwickeln, vor allem, weil wir die Verbraucher von einer bestimmten Version des Vertrags des Anbieters abhängig gemacht haben. Letztendlich verfolgen die Dienstleistungserbringer einen vorsichtigen Ansatz, um jedes Element des Vertrags zu ändern, den sie ihren Verbrauchern anbieten; zum Teil, weil sie die Art und Weise, wie die Verbraucher diesen Vertrag realisieren, nicht antizipieren oder einsehen können. Schlimmstenfalls realisieren Dienstleistungsverbraucher einen Anbietervertrag und koppeln sich mit dem Anbieter, indem sie naiv das gesamte Dokumentenschema innerhalb ihrer internen Logik ausdrücken.

Schließlich sollten wir darauf hinweisen, dass die Gefahr besteht, dass die Zulassung von Verbraucherverträgen, die die Spezifikation eines Dienstanbieters vorantreiben, die konzeptionelle Integrität dieses Anbieters untergraben könnte. Dienstleistungen kapseln diskrete, identifizierbare, wiederverwendbare Geschäftsfunktionen, deren Integrität nicht durch unangemessene Anforderungen beeinträchtigt werden sollte, die außerhalb ihres Mandats liegen.

This entry was posted in Uncategorized. Bookmark the permalink.