В общем, вы движетесь в правильном направлении, разделяя ваши проблемы.
Вы упоминаете, что несколько веб-приложений используют две базы данных. Каждое веб-приложение использует обе базы данных? Если это так, я бы подумал о создании одного проекта DAO для инкапсуляции всей логики доступа к данным.
Если это скорее сочетание и сопоставление (веб-приложение a использует db a, веб-приложение b использует db b, веб-приложение c использует a и b), я бы рассмотрел два проекта DAO, по одному на базу данных, если только нет много объединенной логики - то есть, когда приложение использует обе базы данных, оно делает соединения между ними [да, у меня были проекты, которые делают это].
Я бы также рекомендовал взглянуть на среду Object / Relational Mapping (ORM), такую как Hibernate и / или инфраструктуру Dependency Injection, такую как Spring , которая может помочь упростить Процесс разделения различных проектов и последующего их совместного использования.
Вы явно планируете довольно амбициозный проект, поэтому использование существующих структур для минимизации воссоздания колеса позволит вам сосредоточиться на конкретной проблемной области.