Надеюсь, я правильно понял ваш вопрос.
В данный момент я работаю над приложением, которое использует веб-сервисы JAX-WS RESTful для доступа к данным.Данные могут поступать из разных источников (две разные базы данных и индекс Lucene в нашем случае).
Я думаю, не зная специфики вашей ситуации, я могу рекомендовать только типичный подход, который мы используем:
- Код для интерфейсов, а не для реализаций.Поэтому создайте интерфейс для каждого нужного вам DAO и сделайте так, чтобы ваш бизнес-уровень ссылался на этот интерфейс, а не на реализацию.
- Используйте внедрение зависимостей (например, Spring Framework) для настройки и внедрения этих DAO, которые могут указыватьк нескольким источникам данных и т. д. Таким образом, бизнес-уровень абсолютно не знает, откуда поступают данные.
Хотя это старая книга, большая часть этой информации находится в Expert One-on- Один J2EE Дизайн и разработка .Но я бы сказал, что это стандартная передовая практика Enterprise Java.