Приложение Spring и SOA - PullRequest
       9

Приложение Spring и SOA

0 голосов
/ 16 сентября 2018

Я новичок в веб-приложениях SOA, и у меня есть несколько вопросов о том, как реализовать эту архитектуру.

Я хотел бы создать приложение на основе SOA, включающее несколько сервисов, использующих Spring Restfull API. Я знаю, как создать каждый сервис самостоятельно.

Я уже создал проект на основе maven, предоставляющий спокойный сервис с использованием Spring Boot, и защитил его с помощью Spring Security ... Моя проблема заключается в реализации нескольких сервисов:

  1. Я не знаю, должен ли я сделать проект для каждого или есть лучшее решение ... я хочу, чтобы они общались через XML / Json, чтобы они не были в одном проекте с моей точки зрения зрения.

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

  3. Совместное использование некоторых ресурсов, которые используются всеми большинством сервисов, таких как классы модели домена, поскольку я не хочу копировать, вставлять их (создавать дубликаты), если я что-то изменю, мне придется вносить изменения во все услуги ... ужасно: /

Заранее спасибо.

1 Ответ

0 голосов
/ 16 сентября 2018

1 - Защитите их все (все приложение), используя один сервис, который использует Spring Security и который будет запрашиваться каждый раз, когда клиент обращается к одному из сервисов.

ЭтоСсылка поможет вам: https://www.youtube.com/watch?v=3s2lSD50-JI

2 - Поделитесь некоторыми ресурсами, которые используются всеми большинством сервисов, такими как классы модели домена.

Здесь речь идет о том, какорганизовать свой проект в вашей IDE или в вашей архитектуре.Использование пакетов, общих библиотек, общих проектов или модулей maven может помочь вам.

3- Разверните все службы в одном «контейнере приложения».

Ваша IDE или Maven должны быть в состоянии помочь вам развернуть ваше приложение в контейнере.В случае Spring Boot есть встроенный сервер Tomcat, который может запускать ваше приложение.Или, если у вас есть автономная установка Tomcat, вы можете развернуть ее самостоятельно.

Читая вашу статью, я думаю, вы новичок в разработке Spring Boot.Я могу предложить следующий путь обучения (с моей точки зрения):

  1. N-Tier Шаблон для архитектуры приложения и назначение уровней
  2. Архитектура Web и HTTP протокола
  3. SOA и REST Сервисы
  4. Maven для создания и компиляции ваших проектов
  5. Spring Boot , в основном в современных архитектурах, используемых для реализации Backends моего предоставления REST Services

YouПо Google можно найти тоны хорошо объясненных документов и блогов, касающихся этих тем.

...