Как создать контракты данных Java, которые могут быть разделены между двумя приложениями?
Я разрабатываю веб-приложение с использованием Spring MVC Framework. Модель содержит все "данные" приложения в виде Java-классов.
Я хочу реплицировать тот же экземпляр этих классов Java в другое приложение Java (Database API) через какое-то общение. Этот API будет общаться с Redis кэшем и базой данных.
Пусть их будет контракт данных. Давайте назовем это х.
View <---> Модель контроллера <---> (использует x) <---> API базы данных (использует x)
Может кто-нибудь объяснить, как это можно сделать.
- Как такие контракты могут быть определены в Java?
- Как создать API в Java?
- Какой проект в eclipse подойдет для API
- Какой инструмент может помочь в сериализации классов для общения?
- Каковы возможные варианты выставления услуги? (на определенном порту или https)
1 ответ
Под IDE, как и Eclipse, создайте три проекта.
В первом проекте:
- Определить контракт в выделенном пакете, используя
interface
ключевое слово - Если части реализации могут быть общими, как абстрактные классы, поместите их в выделенный пакет с хорошим именем.
- Упакуйте двоичные файлы в библиотеку, совместимую с инструментами развертывания, необходимыми для вашей инфраструктуры.
Во втором и третьем проектах ссылайтесь на первый как на зависимость, совместимую с инструментами развертывания, необходимыми вашей инфраструктуре. Реализовать контракт в оба проекта.
Разверните второй и третий проекты с копией библиотеки первого, используя инструменты развертывания.