Как создать контракты данных Java, которые могут быть разделены между двумя приложениями?

Я разрабатываю веб-приложение с использованием Spring MVC Framework. Модель содержит все "данные" приложения в виде Java-классов.

Я хочу реплицировать тот же экземпляр этих классов Java в другое приложение Java (Database API) через какое-то общение. Этот API будет общаться с Redis кэшем и базой данных.

Пусть их будет контракт данных. Давайте назовем это х.

View <---> Модель контроллера <---> (использует x) <---> API базы данных (использует x)

Может кто-нибудь объяснить, как это можно сделать.

  1. Как такие контракты могут быть определены в Java?
  2. Как создать API в Java?
  3. Какой проект в eclipse подойдет для API
  4. Какой инструмент может помочь в сериализации классов для общения?
  5. Каковы возможные варианты выставления услуги? (на определенном порту или https)

1 ответ

Решение

Под IDE, как и Eclipse, создайте три проекта.

В первом проекте:

  1. Определить контракт в выделенном пакете, используя interface ключевое слово
  2. Если части реализации могут быть общими, как абстрактные классы, поместите их в выделенный пакет с хорошим именем.
  3. Упакуйте двоичные файлы в библиотеку, совместимую с инструментами развертывания, необходимыми для вашей инфраструктуры.

Во втором и третьем проектах ссылайтесь на первый как на зависимость, совместимую с инструментами развертывания, необходимыми вашей инфраструктуре. Реализовать контракт в оба проекта.

Разверните второй и третий проекты с копией библиотеки первого, используя инструменты развертывания.

Другие вопросы по тегам