Muster pflichtenheft erp-system

Wenn Kunden Ankündigungen per E-Mail erhalten, kann die Implementierung dieser Muster die Mailinglisten-Funktionen verwenden, die typischerweise von E-Mail-Systemen bereitgestellt werden. Jeder Empfängerkanal wird dann durch eine E-Mail-Adresse identifiziert. Wenn Kunden Ankündigungen über eine Webdienstschnittstelle empfangen möchten, wird jeder Empfängerkanal durch eine SOAP-Anforderung implementiert, und die Kanaladresse ist der URI des Webdienstes. Dieses Beispiel veranschaulicht, dass die Muster, die wir zur Beschreibung des Lösungsentwurfs verwenden, unabhängig von einer bestimmten Transporttechnologie sind. In der Computerprogrammierung ist das Spezifikationsmuster ein bestimmtes Softwareentwurfsmuster, bei dem Geschäftsregeln neu kombiniert werden können, indem die Geschäftsregeln mithilfe boolescher Logik miteinander verkettet werden. Das Muster wird häufig im Kontext des domänengesteuerten Entwurfs verwendet. Das zweite Problem bei diesem einfachen Ansatz ist, dass wir den Standort der Remote-Maschine angeben (in unserem Fall www.eaipatterns.com). Der Dynamic Naming Service (DNS) gibt uns eine Indirektionsebene zwischen dem Domänennamen und der IP-Adresse, aber was ist, wenn wir die Funktion auf einen anderen Computer in einer anderen Domäne verschieben möchten? Was passiert, wenn die Maschine ausfällt und wir eine andere Maschine einrichten müssen? Was ist, wenn wir die Informationen an mehr als eine Maschine senden möchten? Für jedes Szenario müssten wir den Code ändern. Wenn wir viele Remote-Funktionen verwenden, könnte dies sehr mühsam werden. Wir sollten also einen Weg finden, unsere Kommunikation unabhängig von einer bestimmten Maschine im Netzwerk zu machen. Dieser Code öffnet eine Socketverbindung zur Adresse www.eaipatterns.com und sendet zwei Datenelemente (den Betrag und den Namen des Kunden) über das Netzwerk. Es ist keine teure Middleware erforderlich, keine EAI-Tools, RPC-Toolkits, nur 10 Zeilen Code.

Wenn wir diesen Code ausführen, sagt es uns: “7 Bytes gesendet”. Voila! Wie kann Integration so schwierig sein? Daher sollten wir nach einer Lösung suchen, die es Abonnenten ermöglicht, ihre Abonnementeinstellungen ausstellen und dann einzelne Nachrichten nur an interessierte (und autorisierte) Kunden zu senden. Um diese Funktion auszuführen, verwenden wir eine dynamische Empfängerliste. Eine dynamische Empfängerliste ist die Kombination zweier Nachrichtenroutingmuster. Eine Empfängerliste ist ein Router, der eine einzelne Nachricht an eine Gruppe von Empfängern weitergibt. Der Hauptunterschied zwischen der Empfängerliste und einem Veröffentlichungs-Abonnementkanal besteht darin, dass die Empfängerliste jeden Empfänger speziell anspricht und daher eine strenge Kontrolle darüber hat, wer Nachrichten empfängt. Ein dynamischer Router ist ein Router, dessen Routingalgorithmus sich basierend auf Steuermeldungen ändern kann. Diese Steuermeldungen können in Form von Abonnementeinstellungen erfolgen, die von den Abonnenten ausgegeben werden. Das Kombinieren dieser beiden Muster führt zu einer dynamischen Empfängerliste. Der Rest des Buches enthält detaillierte Beschreibungen und Codebeispiele für jedes der Muster, die wir in unserem Lösungsdesign verwendet haben.

Die Muster werden nach ihrer primären Absicht zwischen Basismustern, Kanalmustern, Nachrichtenmustern, Routingmustern, Transformationsmustern, Endpunktmustern und Systemverwaltungsmustern kategorisiert. Diese Anordnung macht es einfach, alle Muster nacheinander zu lesen oder einzelne Muster als Referenz nachzuschlagen. Auch wenn Integration ein breites und schwieriges Thema ist, können wir immer einige Leute beobachten, die viel besser darin sind als andere. Was wissen diese Leute, dass andere es nicht tun? Da es so etwas wie “Teach Yourself Integration in 21 Days” (dieses Buch sicher nicht!) nicht gibt, ist es unwahrscheinlich, dass diese Leute alle Antworten auf Integration kennen. Diese Menschen haben jedoch in der Regel genug Integrationsprobleme gelöst, um neue Probleme mit früheren Problemen zu vergleichen, die sie gelöst haben. Sie kennen die “Muster” von Problemen und damit verbundenen Lösungen.