Так я говорю о SOA здесь? - PullRequest
       3

Так я говорю о SOA здесь?

5 голосов
/ 26 августа 2010

Для государственного контракта мы предложим построить архитектуру мониторинга трафика.У нас будут следующие компоненты:

  • Видеокамера установлена ​​вокруг интересующей области.Камеры будут знать свое местоположение, ориентацию и параметры просмотра.
  • Картографический сервер ГИС, который можно запрашивать для улиц, зданий и т. Д.
  • Алгоритм, используемый в необработанном видео и на улицеинформация о местоположении и вывод данных о местонахождении автомобилей.
  • Другой алгоритм принимает информацию о местонахождении автомобилей и об очень низкоуровневых улицах и предоставляет информацию о том, какие автомобили ведут аномально.
  • Другая база данных получает информацию о местонахождении автомобилей ианомалия сообщает со временем и может быть запрошена для этого позже.
  • Прокси-сервер (или, точнее, фасад) настроен на основе архивной базы данных и алгоритмов реального времени, чтобы обеспечить единый интерфейс дляинформация.
  • Клиент подключается к прокси-серверу и уличному серверу и рисует различные представления о ситуации с трафиком на экране.

Я только сейчас изучаю, что такое SOAявляется.Это идеальный кандидат на сервис-ориентированную архитектуру SOA?Я слышал, что сервисы SOA должны быть без сохранения состояния (или это только сервисы RESTful?). Я также слышал, что нецелесообразно передавать один сервис на другой, потому что это увеличивает скрытую сложность, и что вы должны были что-то делать.чтобы сделать эту ситуацию лучше («оркестровка»?).Вышеперечисленные услуги представляются модульными и могут использоваться повторно.Например, будет множество камер, различные типы алгоритмов обнаружения и аномалий транспортных средств, распределенные базы данных и множество клиентов.Мне нужно будет иметь возможность обрабатывать события: например, если я захочу зарегистрироваться в службе и получать уведомления всякий раз, когда большой грузовик проезжает эту точку.

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

1 Ответ

5 голосов
/ 26 августа 2010

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

Вы упоминаете фасад для одной из ваших подсистем. Распространите эту же концепцию на остальные ваши компоненты. Например. каждая услуга является фасадом сложной подсистемы.

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

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

...