Enterprise Service Bus, .NET Service Bus, NServiceBus и колеса на шине

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
26
задан Chris Marisic 21 February 2012 в 18:29
поделиться

2 ответа

Я согласен с другим постером: ESB немного похож на SOA , общее определение, которое используется в основном как маркетинговый аргумент, а не как строгий стандарт, которому вы должны соответствовать.

Из Википедии:

Комментаторы расходятся во мнениях относительно того, следует ли определять корпоративную служебную шину (ESB) как архитектурный стиль, программный продукт или группу программных продуктов. Хотя использование ESB определенно подразумевает соблюдение конкретной архитектуры, термин «служебная шина предприятия» почти всегда обозначает программную инфраструктуру {{1} }, которая обеспечивает такую ​​архитектуру, и по сути, ESB считается платформой для реализации сервис-ориентированной архитектуры.

ESB привносит связанные с потоком концепции , такие как преобразование и маршрутизация, в сервис-ориентированную архитектуру. ESB также может предоставлять абстракцию для конечных точек.

ESB как термин, кажется, был придуман Дэйвом Чаппелом, который (был?) Техническим евангелистом Sonic Software (и автором «Enterprise Service Bus» - О'Рейли: июнь 2004 г., ISBN 0-596-00675- 6). Я прочитал книгу и посетил пару семинаров Чаппелла, и я боюсь, что сама книга не очень поможет вам решить, является ли продукт X «настоящим» ESB.

В общем, вам следует искать что-то, основанное на сообщениях (очевидно, это было первоначальным намерением, даже если некоторые другие компании, такие как webMethods, используют этот термин для своего продукта, который больше ориентирован на веб-сервисы).

Идея состоит в том, чтобы все «службы» в вашей ИТ-инфраструктуре могли получать и отправлять сообщения друг другу. ESB обеспечивает маршрутизацию и имеет конечные точки интерфейса, так что если ваше исходное приложение работало - например, путем вызова страницы JSP через HTTP-сообщение, у вас была небольшая программа, которая может получать сообщение, использовать свою полезную нагрузку для отправки его через HTTP, интерпретировать результат и строить на нем ответное сообщение.

По сути, представьте, что вместо использования веб-сервисов для всего, вы используете очереди сообщений, создаете станции маршрутизации и интерфейс между очередями сообщений и другими системами. Это ESB.


Это длинно, но поучительно: https://plus.google.com/112678702228711889851/posts/eVeouesvaVX

37
ответ дан 28 November 2019 в 06:24
поделиться

Я думаю, вам нужно понять, что ESB - это скорее маркетинговый, чем технический термин. Многие поставщики представляют свои технологии под этим знаменем.

Стоит обратить внимание на архитектурный стиль автобуса, в котором источники событий и приемники взаимодействуют друг с другом. NServiceBus, RhinoServiceBus и MassTransit имеют встроенную концепцию публикации и подписки на события, а .NET Service Bus - нет.

Различия между тремя вышеупомянутыми больше по форме, чем по функциям - стабильность, документация, сообщество и т. Д.

Надеюсь, что это поможет.

36
ответ дан 28 November 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: