Эта страница может помочь разработчикам работать с кодом библиотек dcm4che / архива dcm4chee локально на их системах. Локальная среда разработки позволяет работать над приложением архива, тестируя его по мере разработки на собственной системе.
Перед продолжением необходимо установить или настроить следующее и знать хотя бы основы работы с ними:
Соберите ветку master библиотеки dcm4che 3 -
необходимо только для сборки невыпущенной версии, которая (пока) недоступна в Maven-репозитории:
> $git clone https://github.com/dcm4che/dcm4che.git
> $cd dcm4che
> $mvn clean install
Если в код библиотеки внесены последующие изменения, нужно лишь
> $cd dcm4che
> $git pull
> $mvn clean install
Соберите ветку master репозитория языков dcm4chee -
необходим для сборки языковых ресурсов, используемых пользовательским интерфейсом архива :
> $git clone https://github.com/dcm4che/dcm4chee-arc-lang.git
> $cd dcm4chee-arc-lang
> $mvn clean install
Если в репозиторий языков внесены последующие изменения, нужно лишь
> $cd dcm4chee-arc-lang
> $git pull
> $mvn clean install
Соберите ветку master архива dcm4chee :
> $git clone https://github.com/dcm4che/dcm4chee-arc-light.git
> $cd dcm4chee-arc-light
> $mvn clean
> $mvn install
Если в код архива внесены последующие изменения, нужно лишь
> $cd dcm4chee-arc-light
> $git pull
> $mvn clean
> $mvn install
Примечание : По умолчанию сборка архива, как указано выше, выполняется для БД Postgres psql и собирает незащищённую
версию архива.
Чтобы собрать архив для конкретной базы данных (поддерживаемой кодом архива) :
> $mvn install -D db={db2|firebird|h2|mysql|oracle|psql|sqlserver}
напр., чтобы собрать архив с бэкендом Oracle DB
> $mvn install -D db=oracle
Чтобы собрать архив с защищённым WEB UI (с БД Postgres по умолчанию psql) :
> $mvn install -D secure=ui
ИЛИ собрать архив с конкретной БД (поддерживаемой кодом архива) и защищённым Web UI
> $mvn install -D db={db2|firebird|h2|mysql|oracle|psql|sqlserver} -D secure=ui
напр., чтобы собрать архив с бэкендом Oracle DB и защищённым Web UI
> $mvn install -D db=oracle -D secure=ui
psql) :> $mvn install -D secure=all
ИЛИ собрать архив с конкретной БД (поддерживаемой кодом архива), а также защищённым Web UI и защищёнными RESTful-сервисами
> $mvn install -D db={db2|firebird|h2|mysql|oracle|psql|sqlserver} -D secure=all
напр., чтобы собрать архив с бэкендом Oracle DB, а также защищённым Web UI и защищёнными RESTful-сервисами
> $mvn install -D db=oracle -D secure=all
Этот шаг необязателен и может потребоваться разработчикам, которые хотят работать / отлаживать / тестировать приложение архива локально в их системе.
После того, как вы загрузили и установили IDE, просто импортируйте библиотеки dcm4che и приложение архива dcm4chee, клонированные на предыдущих шагах, в вашу IDE.
Приведённые ниже скриншоты сделаны в IntelliJ IDEA и предназначены исключительно для справки. То, как вы импортируете модули в вашу IDE, будет отличаться в зависимости от установленной IDE.



Повторите эти шаги для приложения архива dcm4chee, чтобы импортировать клонированный на вашей системе dcm4chee-arc-light в IDE.
После того, как вы собрали библиотеки и приложение архива, как описано в Сборке приложения архива,
вы можете продолжить развёртывание архива в Wildfly, следуя либо :
- Установка
- Запуск в Docker : При докеризованном запуске развёрнутым архивом по умолчанию является выпущенная версия,
указанная в запуске контейнера архива. Чтобы заменить его локально собранным приложением архива :
- Остановите контейнер arc
- Удалите вынесенные наружу
- /var/local/dcm4chee-arc/wildfly/deployments/dcm4chee-arc-ear-5.x.x-{db}-{secure}.ear и
- /var/local/dcm4chee-arc/wildfly/deployments/dcm4chee-arc-ui2-5.x.x-{secure}.war
- Скопируйте локально собранные dcm4chee-arc-ear-5.x.x-{db}-{secure}.ear и dcm4chee-arc-ui2-5.x.x-{secure}.war в
/var/local/dcm4chee-arc/wildfly/deployments/
- Запустите контейнер arc
Примечание :
- Замените x.x на ваш текущий собранный номер версии, напр. 5.31.0
- {db} по умолчанию будет psql, иначе замените на бэкенд БД, который вы использовали для установки / сборки приложения архива.
- Аналогично {secure} применимо только если вы установили / собрали защищённые (UI / REST) версии архива.
Как разработчикам или всем, кому интересно понять, как работает архив, вам может потребоваться отладить конкретный сервис или функциональность / функцию архива. Поскольку архив обширен и имеет несколько REST API, а также функций, с которыми можно работать, выбирайте для отладки и изучения один сервис или функцию за раз.
Например, когда архив запущен и работает, и вы обращаетесь к пользовательскому интерфейсу архива по адресу
http[s]://<host>:<port>/dcm4chee-arc/ui2, что ведёт на страницу Navigation - вкладку Studies, наиболее часто используемый
REST-сервис — Search for Studies

который вызывается при нажатии кнопки SUBMIT.

Для отладки любых REST API
вы всегда можете посмотреть лог сервера Wildfly ($Wildfly_Home/standalone/log/server.log), где вызываемый REST-сервис
логируется Java-классом, в котором начинается его обработка, напр. в вышеуказанном случае для Search for Studies
12:36:00,324 INFO [org.dcm4chee.arc.qido.QidoRS] (default task-7) Process GET /dcm4chee-arc/aets/DCM4CHEE/rs/studies?limit=21&includefield=all&offset=0 from null@127.0.0.1
Теперь вы можете установить точку останова в классе QidoRS - searchForStudies в импортированном dcm4chee-arc-light в вашей IDE и отладить функциональность далее.