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