Продукт предназначен для организации маршрутизации выходных и входных http/REST-запросов между единой WFM и несколькими базами 1с ЗУП.
Предварительные условия:
- Перед сборкой проекта на компьютере должна быть установлена JDK 8 (Java SE8) или старше. Использование JDK 8 (Java SE8) гарантирует отсутствие проблем.
- Переменная среды JAVA_HOME должна содержать путь к этой JDK, например:
set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_241"
Но лучше установить эту переменную глобально, для снятия вопросов с windows service.
В корневой папке проекта запустить команду:
mvnw.cmd clean package -DskipTests
В проекте для сборки предназначен специальный скрипт, лучше всего использовать его:
build.cmd:
call mvnw.cmd clean package -DskipTests
copy /Y target\wfm.router-0.0.1-SNAPSHOT.jar .
После сборки в папке "target" относительно корня проекта появится запускаемый файл:
wfm.router-0.0.1-SNAPSHOT.jar
Файл конфигурации маршрутизатора снабжён подробными комментариями, поэтому его содержимое здесь не описывается.
- По умолчанию приложение ищет файл конфигурации с названием application.yml в папке config относительно запускаемого приложения.
- Возможно явное указание местоположения файлов конфигурации с помощью ключа "java -jar wfm.router-0.0.1-SNAPSHOT.jar --spring.config.location=file:./wfm.yml,classpath:/application.yml" Порядок выполнения файлов конфигурации - слева направо
java -jar wfm.router-0.0.1-SNAPSHOT.jar --spring.config.location=file:./wfm.yml,classpath:/application.yml
В корневой папке проекта имеется файл WFMRouter.exe
Это windows service wrapper. С его помощью можно установить, стартовать, остановить и удалить WFMRouter как сервис windows.
Команды:
WFMRouter.exe install
WFMRouter.exe start
WFMRouter.exe stop
WFMRouter.exe uninstall
Примечание. После установки сервиса из этого каталога, каталог удалять нельзя!
После запуска WFMRouter как сервиса Windows в корне проекта появятся три лог-файла:
WFMRouter.err.log
WFMRouter.out.log
WFMRouter.wrapper.log
Соответственно с логом ошибок, стандартным логом приложения, и логом ошибок враппера windows service. Начальное содержимое WFMRouter.out.log должно быть примерно таким:
Если зайти браузером на URI по умолчанию, например, так: http://localhost:8080, после ввода логина и пароля администратора, которые в данном случае (см. конфигурацию) совпадают с логином и паролем всех входных endpoints, запустится консоль администратора, на которой можно посмотреть довольно много информации о состоянии приложения, всех URL, которые оно обслуживает, статусе этих URL и т.д.
API WFMRouter является самодокументированным на основе спецификации OpenAPI (раньше он назывался swagger)
Доступ к браузеру API осуществляется по адресу, например:
http://localhost:8080/swagger-ui/index.html
Нажатие на кнопку "Try it out!" позволяет задавать тестовые запросы к API с разными данными.
TODO
В настоящий момент API документировано лишь частично. Полная мета-информация к API будет добавлена в ближайшее время.
Для прогона интеграционных тестов использовался mock-сервер Mockoon и стандартные средства Intellij Idea для создания запросов.
Для прогона нагрузочных тестов написан python-скрипт, который будет опубликован в ближайшее время в этом репозитории