Giter Site home page Giter Site logo

wfmrouter's Introduction

Проект beeper WFMRouter

Предназначение

Продукт предназначен для организации маршрутизации выходных и входных http/REST-запросов между единой WFM и несколькими базами 1с ЗУП.

Диаграмма взаимодействия

Диаграмма взаимодействия

Описание процессов сборки, конфигурации, запуска и эксплуатации beeper WFMRouter

Сборка проекта без IDE:

Предварительные условия:

  • Перед сборкой проекта на компьютере должна быть установлена 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

Запуск и конфигурация WFMRouter

Файл конфигурации маршрутизатора снабжён подробными комментариями, поэтому его содержимое здесь не описывается.

Местоположение файла конфигурации относительно исполняемого файла

  • По умолчанию приложение ищет файл конфигурации с названием application.yml в папке config относительно запускаемого приложения.
  • Возможно явное указание местоположения файлов конфигурации с помощью ключа "java -jar wfm.router-0.0.1-SNAPSHOT.jar --spring.config.location=file:./wfm.yml,classpath:/application.yml" Порядок выполнения файлов конфигурации - слева направо

Пример запуска WFMRouter

java -jar wfm.router-0.0.1-SNAPSHOT.jar --spring.config.location=file:./wfm.yml,classpath:/application.yml

Запуск WFMRouter как windows service

В корневой папке проекта имеется файл 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

API WFMRouter является самодокументированным на основе спецификации OpenAPI (раньше он назывался swagger)

Доступ к браузеру API осуществляется по адресу, например:

http://localhost:8080/swagger-ui/index.html

Браузер API

Нажатие на кнопку "Try it out!" позволяет задавать тестовые запросы к API с разными данными.

TODO

В настоящий момент API документировано лишь частично. Полная мета-информация к API будет добавлена в ближайшее время.

Интеграционные тесты

Для прогона интеграционных тестов использовался mock-сервер Mockoon и стандартные средства Intellij Idea для создания запросов.

Нагрузочные тесты

Для прогона нагрузочных тестов написан python-скрипт, который будет опубликован в ближайшее время в этом репозитории

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.