Słyszałem rozmowę o NServiceBus , ale tak naprawdę nie rozumiałem, co to jest. Twierdzą, że są „najpopularniejszą magistralą usług typu open source dla domeny .net”.
Więc; co to jest „autobus serwisowy” i kiedy go potrzebuję?
Słyszałem rozmowę o NServiceBus , ale tak naprawdę nie rozumiałem, co to jest. Twierdzą, że są „najpopularniejszą magistralą usług typu open source dla domeny .net”.
Więc; co to jest „autobus serwisowy” i kiedy go potrzebuję?
Odpowiedzi:
Możesz myśleć o magistrali usług jako o Ethernecie SOA.
Przede wszystkim wprowadza język identyfikowania rzeczy, na przykład adres IP w sieci Ethernet. To imię nie jest czymś z natury fizycznym.
Następnie w każdym węźle występuje coś fizycznego, na przykład kolejka w przypadku magistrali do obsługi komunikacji częściowo połączonej lub karta Ethernet w metaforze.
Poza fizyczną częścią komunikacji istnieje również część „protokołu”, taka jak stos OSI dla sieci Ethernet. W przypadku magistrali są to biblioteki klienta używane przez kod aplikacji.
Ostatecznie magistralę usług można postrzegać jako zapewniającą kolejny wyższy poziom abstrakcji przy tworzeniu systemów rozproszonych. Można go również używać do komunikacji klient-serwer, aby zapewnić trwałe jednokierunkowe przesyłanie wiadomości, a także do wysyłania powiadomień z powrotem do klienta.
W szczególności NServiceBus jest dość lekki i łatwy w użyciu, gdy pogodzisz się z jego technologią kolejkowania - do wyboru RabbitMQ, MSMQ, zwykłe tabele SQL, Amazon SQS, kolejki magazynu Azure i magistrala usług Azure.
Zapoznaj się z artykułem w Wikipedii dotyczącym usługi Enterprise Service Bus .
Usługa Service Bus działa jako kolejna warstwa abstrakcji w niekończącym się dążeniu do wdrożenia dobrej architektury zorientowanej na usługi. Magistrala usług może obsłużyć niektóre ciężkie obciążenia widoczne w dobrej architekturze zorientowanej na usługi, takie jak przesyłanie wiadomości, routing i koordynacja usług.
Jeśli nie jesteś pewien, dlaczego chcesz czegoś takiego, proponuję przeczytać o tym, co składa się na dobrą architekturę zorientowaną na usługi. Książką, która naprawdę otworzyła mi oczy i udowodniła różnicę między posiadaniem usług internetowych a prawdziwą architekturą zorientowaną na usługi, była Architektura zorientowana na usługi Thomasa Erla : koncepcje, technologia i projekt
Termin ten został wprowadzony w SOA, który jest w pewnym sensie następcą (modne słowo) EAI .
Kiedy to potrzebujesz? To dobre pytanie. To wiąże się z dużą złożonością.
Praktyczna reguła mogłaby działać, jeśli rozwiązuje więcej problemów niż powoduje.
Mówiąc poważnie, jeśli masz heterogeniczne środowisko i chcesz dopasować (różne) aplikacje (przy użyciu różnych technologii) do procesów biznesowych. Wtedy pomocne może być użycie BPEL (ale wprowadza to problemy z migracją) do orkiestracji i choreografii
EDYCJA: To, czego nie ma na Wikipedii, to praktyka: ESB może dostosowywać się za pomocą specjalnych złączy, starych aplikacji terminalowych do użytku z Corba lub Java Enterprise, co oznacza interoperacyjność. Wadą jest ponad 100 „standardów” związanych z SOAP, które nie współpracują bez ogromnego wysiłku.
Zdecydowanie potrzebujesz go, jeśli musisz połączyć systemy IT w ciągu sześciu miesięcy po połączeniu 2 dużych firm ubezpieczeniowych.