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