Этот вопрос сформулирован довольно широко, поэтому мой ответ также останется довольно широким.
Кажется, что ключевым соображением здесь является независимость от местоположения - хотя вы работаете с несколькими приложениями, они 'все собираются делиться определенными видами данных (хотя, насколько я вижу из вашего вопроса, нет, фактических данных).Очевидным вариантом использования для этого являются данные аутентификации и авторизации.
Если вы определили, что общие данные действительно достаточно подготовлены, чтобы их можно было изолировать описанным вами способом, то я думаю, что имеет смысл выделить их в один слой.в сервис.Я думаю, что идеальным примером этого является Windows Identity Framework .Это берет то, что мы, архитекторы, всегда воспринимаем как данные, и превращаем это в сервис.
То, что вы теряете из-за независимости местоположения, - это немного эффективности, которую вы иначе имели бы при выполнении пакетных вызовов одного и того жесервер, хотя приложения SOA теряют эту эффективность на ранних этапах разработки, по моему опыту.Но эффективность, которую вы получаете от «структурирования» раздела ваших приложений, в целом перевешивает это чрезвычайно.