Здравствуйте, Hellhang, Вы писали:
H>1) База данных H>2) Сервер H>3) Клиент
Обычная трехзвенка?
H>Клиентская часть должна быть реализована в двух видах: H>1) Desktop-приложение H>2) Веб-интерфейс
Т.е. два клиено с доступом к одному серверному API?
H>Пожалуйста посоветуйте куда смотреть и что читать.
Смотреть Spring. API приложения реализутся в виде сервисов. Сервисы публикуются (expose) в виде чего угодно. Хотите SOAP, хотите RMI, хотите HttpInvoker. Выбор транспорта вообще довольно малая часть от проеквтирования приложения.
Затем определитесь с типом web морды. Если это JavaScript ориентированый Rich итерфейс (ExtJS, GWT и производные), те же сервисы с тем же спрингом. Протокол — JSON или SOAP. Возможно RESTful, но это не всегда выход.
Если web морда какой-то шаблонный, движок с рендерингом HTML на сервере, то это просто реализуется через MVC, где контроллер обращается к все тем же сервисам.