SOA — доступ к данным для бизнес-сервисов как отдельный веб-сервис или нет?

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

Я всегда опасаюсь, что если мы откроем это, это на самом деле повредит повторному использованию, потому что все будут просто «повторно изобретать» аналогичные бизнес-сервисы, используя те же внутренние данные, которые доступны, и было бы «теоретически… проще» просто написать новую бизнес-службу, а не спрашивать: «Что делает эта другая служба, использующая мою базу данных?»

Потому что, даже если сервис является почти прямым доступом к базе данных, у нас будет возможность применять правила, которые сэкономят время разработчиков и, в конечном счете, деньги бизнеса.

Мысли?


person Toran Billups    schedule 24.03.2009    source источник


Ответы (2)


В любом случае, ваш веб-сервис не будет просто тонкой оболочкой для вашего бизнес-уровня? Ваш сервисный уровень, вероятно, не должен иметь ничего, кроме вашего бизнес-уровня, кроме, возможно, некоторых упрощенных DTO. Тогда никто не спрашивает: «Что делает этот другой сервис, использующий мою базу данных?» потому что он не использует вашу базу данных, он использует ваш BL.

person JeremyWeir    schedule 24.03.2009

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

person dkretz    schedule 24.03.2009
comment
Я бы не заставлял пользователей что-либо делать, я говорил о разработчиках, которые должны быть последовательными в своем подходе внутри предприятия. - person Toran Billups; 24.03.2009
comment
Не могли бы вы ответить на stackoverflow.com/questions/9538710/? - person LCJ; 02.03.2012