В настоящее время я нахожусь в стадии исследования для (очень) небольшого приложения базы данных.
Это для местной благотворительной организации, которая имеет только 3 или 4 клиентских компьютера, на которых будет работать система - однако для того, чтобы отдалить какую-то постороннюю логику от клиентов, я склоняюсь к использованию трехуровневой архитектуры(существуют данные, которые постоянно читаются и обновляются в случае необходимости, о которых клиенту не нужно знать)
т.е. клиент <-> логика сервера <-> база данных
пока яЯ компетентен в самой Java и нескольких фреймворках / библиотеках, я не особо знаком с тем, какие фреймворки могут мне здесь помочь.Очевидно, что я буду использовать JDBC для половины базы данных, но связь между клиентом и сервером в настоящее время является камнем преткновения - я действительно не хочу приближаться к необработанным сокетам, например (перебор или, по крайней мере, другойрешение должно существовать)
Я спросил нескольких знакомых разработчиков об их мнении о том, какие API использовать, и, хотя они были очень полезны, я все еще не уверен, куда идти.До сих пор я слышал о материалах RESTful, SOAP, COBRA и множестве других технологий.SOAP является основным, который привлек мое внимание (поскольку есть несколько хороших примеров использования его с обычными приложениями, а не только с Интернетом), но я все еще не уверен, куда идти - он не кажется особенно подходящим для общегонапример, целевое приложение (EJB также появилось, но я слышал много ненависти, нацеленной на него - это заслуженно?)
Такое ощущение, что для того, чтобы найти «лучший инструмент для работы», яна самом деле нужно изучить все целиком, чтобы «получить» их (что, очевидно, нецелесообразно)
Может ли кто-нибудь дать мне руководство о том, как выбирать API-интерфейсы, подобные этим (если я их раньше не использовал) илидайте мне информацию о нескольких распространенных, или это действительно просто эксперимент с большим количеством из них, чтобы увидеть, что подходит лучше всего?
Или, может быть, я полностью пропустил отметку, и есть структура, которая нацеленав этой точной ситуации без очевидных минусов?
Большое спасибо за любую помощь.
РЕДАКТИРОВАТЬ:
Полностью забыл упомянутьЧто он на самом деле делает: он не очень сложный - благотворительная организация использует транспортную схему, поэтому в ней хранятся сведения о драйверах, клиентах, учет пробега и т. д. для просмотра и редактирования. Единственная реальная сложность связана с приводами, поскольку водители могутбыть назначенным на повторяющиеся (текущие) движения, которые в обозримом будущем могут продолжаться «навсегда».Но каждый экземпляр текущего накопителя должен быть уникальным, потому что его можно отменить или отредактировать по отдельности
Основная причина, по которой я ловлю трехуровневую модель, заключается в том, что я занимаюсь благотворительностью (со многими пожилыми пользователями компьютеров-добровольцев, которые не 'ужасно «сообразительный») Я вполне могу обновлять интерфейс довольно часто, чтобы сгладить ошибки и недочеты, которые не очень понятны для начинающих пользователей.Поэтому я планирую сначала сделать бэкэнд между сервером и БД абсолютно «пуленепробиваемым», а затем сосредоточить все внимание на пользовательском интерфейсе, чтобы я мог продолжить разработку и итерацию, не беспокоясь о бэкенде (также, поскольку я будуудаленная разработка отдельных компонентов, фокусировка обновлений на стороне клиента немного проще)
Все эти атрибуты, вероятно, выкрикивают «сделать веб-систему» - загвоздка в том, что они после всех видов сложной интеграции снекоторые приложения, которые они уже запускают, но я не уверен, что смогу (правильно) сделать это с помощью веб-приложения.