По государственному заказу мы будем предлагать построить архитектуру мониторинга трафика. У нас будут следующие компоненты:
- Видеокамера установлена вокруг интересующей области. Камеры будут знать свое местоположение, ориентацию и параметры просмотра.
- Картографический сервер ГИС, который можно запрашивать для улиц, зданий и т. д.
- Алгоритм получает необработанное видео и информацию о местоположении улицы и выводит местоположение автомобиля.
- Другой алгоритм принимает информацию о местоположении автомобилей и информацию об улицах очень низкого уровня и предоставляет информацию о том, какие автомобили движутся аномально.
- Другая база данных получает информацию о местонахождении автомобилей и отчеты об аномалиях с течением времени, и ее можно запросить позже.
- Прокси (или, точнее, фасад) устанавливается над архивной базой данных и алгоритмами реального времени, чтобы обеспечить единый интерфейс для информации.
- Клиент присоединяется к прокси и к уличному серверу и рисует на экране различные представления дорожной ситуации.
Я только сейчас изучаю, что такое SOA. Является ли это идеальным кандидатом на сервисно-ориентированную архитектуру SOA? Я слышал, что службы SOA должны быть без сохранения состояния (или это только службы RESTful?). Я также слышал, что нецелесообразно направлять одну службу к другой, потому что это увеличивает скрытую сложность, и что есть кое-что, что вы должны сделать. чтобы улучшить эту ситуацию ("оркестровка"?). Вышеуказанные сервисы кажутся модульными и многоразовыми. Например, будет много камер, различные типы алгоритмов обнаружения транспортных средств и аномалий, распределенные базы данных и множество клиентов. Мне нужно будет иметь возможность обрабатывать события: например, если я хочу зарегистрироваться в службе и получать уведомления всякий раз, когда большой грузовик проезжает мимо этой точки.
Если это не идеально реализовано SOA, то где еще я должен искать. Если это идеально для SOA, то с чего мне начать при его разработке? (И я начал в основном с того, что прочитал страницу SOA в Википедии.) Есть ли здесь какие-нибудь хорошие тематические исследования?