Ich habe über den NServiceBus sprechen hören , aber ich habe nicht wirklich verstanden, was es ist. Sie behaupten, "der beliebteste Open-Source-Service-Bus für .net" zu sein.
So; Was ist ein "Servicebus" und wann brauche ich einen?
Ich habe über den NServiceBus sprechen hören , aber ich habe nicht wirklich verstanden, was es ist. Sie behaupten, "der beliebteste Open-Source-Service-Bus für .net" zu sein.
So; Was ist ein "Servicebus" und wann brauche ich einen?
Antworten:
Sie können sich einen Servicebus als Ethernet von SOA vorstellen.
In erster Linie wird eine Sprache zur Identifizierung von Dingen eingeführt, beispielsweise eine IP-Adresse in Ethernet. Dieser Name ist nicht von Natur aus physisch.
Als nächstes haben Sie auf jedem Knoten etwas Physisches, wie eine Warteschlange im Fall eines Busses zur Unterstützung der halbverbundenen Kommunikation oder eine Ethernet-Karte in der Metapher.
Über das Physische hinaus gibt es den "Protokoll" -Teil der Kommunikation, wie den OSI-Stack für Ethernet. Beim Bus sind dies die Clientbibliotheken, die vom Anwendungscode verwendet werden.
Letztendlich können Sie einen Servicebus als die nächsthöhere Abstraktionsebene für den Aufbau verteilter Systeme ansehen. Sie können es auch für die Client-Server-Kommunikation verwenden, um dauerhafte One-Way-Nachrichten zu erhalten, und für den Server, um Benachrichtigungen an den Client zurückzusenden.
Insbesondere werden Sie feststellen, dass NServiceBus recht leicht und benutzerfreundlich ist, wenn Sie sich mit der Verwendung der Warteschlangentechnologie abfinden - RabbitMQ, MSMQ, reguläre SQL-Tabellen, Amazon SQS, Azure-Speicherwarteschlangen und Azure Service Bus.
Lesen Sie den Wikipedia-Artikel zu Enterprise Service Bus .
Ein Service Bus ist eine weitere Abstraktionsebene für die unendliche Suche nach einer guten serviceorientierten Architektur. Der Service Bus kann einige der schweren Aufgaben bewältigen, die hinter einer guten serviceorientierten Architektur wie Messaging, Routing und Service-Koordination stehen.
Wenn Sie sich nicht sicher sind, warum Sie so etwas möchten, sollten Sie nachlesen, was eine gute serviceorientierte Architektur ausmacht. Das Buch, das mir wirklich die Augen geöffnet und den Unterschied zwischen Web Services und einer echten serviceorientierten Architektur bewiesen hat, war Thomas Erls serviceorientierte Architektur: Konzepte, Technologie und Design
Dieser Begriff wurde mit SOA eingeführt, das in gewisser Weise der Nachfolger (als Modewort) von EAI ist .
Wenn du es brauchst? Das ist eine gute Frage. Es ist sehr komplex.
Eine Faustregel könnte lauten, wenn sie mehr Probleme löst als sie verursacht.
Ernsthaft zu sein, wenn Sie eine heterogene Umgebung haben und (unterschiedliche) Anwendungen (mit unterschiedlichen Technologien) an Geschäftsprozessen ausrichten möchten. Dann könnte es hilfreich sein, BPEL (dies führt jedoch zu Migrationsproblemen) für Orchestrierung und Choreografie zu verwenden
BEARBEITEN: Was nicht auf Wikipedia steht, ist Übung: Ein ESB kann sich mithilfe spezieller Konnektoren und alter Terminalanwendungen für die Verwendung mit Corba oder Java Enterprise anpassen, was durch Interoperabilität gemeint ist. Der Nachteil sind die über 100 "Standards" rund um SOAP, die nicht ohne enormen Aufwand zusammenarbeiten.
Sie brauchen es auf jeden Fall, wenn Sie IT-Systeme innerhalb von sechs Monaten nach dem Zusammenschluss von zwei großen Versicherungsunternehmen miteinander verbinden müssen.