Я чув про розмови про NServiceBus , але я не дуже зрозумів, що це таке. Вони стверджують, що це "найпопулярніша шина сервісу з відкритим кодом для .net".
Так; що таке "службова шина", і коли мені потрібна?
Я чув про розмови про NServiceBus , але я не дуже зрозумів, що це таке. Вони стверджують, що це "найпопулярніша шина сервісу з відкритим кодом для .net".
Так; що таке "службова шина", і коли мені потрібна?
Відповіді:
Ви можете вважати службову шину як Ethernet SOA.
Перш за все, він вводить мову ідентифікації речей, як-от IP-адресу в Ethernet. Це ім'я не є чимось властивим фізичним.
Далі ви маєте щось фізичне залучення до кожного вузла, наприклад, черга у випадку шини для підтримки напівзв’язаного зв'язку або картка Ethernet у метафорі.
Крім фізичної, є "протокольна" частина комунікації, як стек OSI для Ethernet. З шиною це бібліотеки клієнтів, які використовуються кодом програми.
Зрештою, ви можете розглядати службову шину як наступний більш високий рівень абстрагування для побудови розподілених систем. Ви можете використовувати його також для спілкування клієнт-сервер, щоб отримати довговічне одностороннє обмін повідомленнями, а також для того, щоб сервер відсилав сповіщення клієнту.
Зокрема, ви виявите, що NServiceBus є досить легким та простим у використанні, як тільки ви укладете мир із його використанням технологій чергування - ваш вибір RabbitMQ, MSMQ, регулярні таблиці SQL, Amazon SQS, черги зберігання Azure та службова шина Azure.
Перегляньте статтю Вікіпедії для Enterprise Service Bus .
Службова шина виступає ще одним рівнем абстракції у нескінченних квестах для впровадження хорошої орієнтованої на сервіс архітектури. Службова шина може обробляти деякі важкі підйоми, що спостерігаються за хорошою сервісно-орієнтованою архітектурою, наприклад, обмін повідомленнями, маршрутизацією та сервісною службою.
Якщо ви не впевнені, чому ви хочете чогось подібного, я б запропонував ознайомитись із тим, що робить гарну сервісно-орієнтовану архітектуру. Книга, яка справді відкрила мені очі і доводила різницю між просто наявністю веб-служб та справжньою сервісно-орієнтованою архітектурою, була архітектура, орієнтована на обслуговування: Томас Ерл : концепції, технології та дизайн
Цей термін було введено разом із SOA, який певним чином є спадкоємцем EAI .
Коли вам це потрібно? Це гарне запитання. Він поставляється з великою складністю.
Велике правило може, якщо воно вирішить більше проблем, ніж викликає.
Будьте серйозні, якщо у вас неоднорідне середовище і хочете узгодити (різні) програми (з використанням різної технології) з бізнес-процесами. Тоді може бути корисним використання BPEL (але це створює проблеми міграцією) для оркестрації та хореографії
EDIT: Що не є у wikipedia, це практика: ESB може виконувати адаптацію за допомогою спеціальних роз'ємів, старих термінальних додатків для використання з Corba або Java Enterprise, які мають на увазі сумісність. Недолік - понад 100 «стандартів» навколо SOAP, які не співпрацюють без величезних зусиль.
Вам, безумовно, це потрібно, якщо вам доведеться підключити ІТ-системи протягом шести місяців після злиття двох великих компаній, що надають страхові послуги.