...
Table of Content
Table of Contents | ||
---|---|---|
|
Introduction
The dcm4chee-proxy
...
is
...
a
...
DICOM
...
proxy
...
application,
...
that
...
provides
...
a
...
vehicle
...
for
...
rule
...
based
...
distribution
...
of
...
DICOM
...
data
...
accross
...
a
...
network.
...
Example
...
use-cases
...
are
...
i)
...
forwarding
...
of
...
DICOM
...
objects
...
to
...
multiple
...
AETs,
...
ii)
...
forwarding
...
of
...
DICOM
...
objects
...
based
...
on
...
receive
...
time
...
schedules,
...
iii)
...
forwarding
...
to
...
target
...
AETs
...
based
...
on
...
send
...
time
...
schedule,
...
iv)
...
forwarding
...
based
...
on
...
attribute
...
evaluation,
...
etc.
...
The
...
application
...
can
...
be
...
run
...
on
...
JBoss
...
AS7
...
or
...
as
...
a
...
standalone
...
command
...
line
...
tool.
...
Tracker:
...
http://www.dcm4che.org/jira/browse/PRX
...
Source:
...
https://github.com/dcm4che/dcm4chee-proxy
...
Building
dcm4che library
Before building the proxy, check out and build the dcm4che-3.x
...
...
...
.
dcm4chee-proxy
To build the dcm4chee-proxy,
...
run
No Format |
---|
`mvnmvn clean install -P standard`standard |
in
...
the
...
root
...
directory.
...
On
...
success,
...
a
...
JBoss
...
AS7
...
deployable
...
file
...
can
...
be
...
found
...
in
...
dcm4chee-proxy-war/target/dcm4chee-proxy-war-<version>.war
...
and
...
the
...
command
...
line
...
proxy-version
...
can
...
be
...
found
...
in
...
dcm4chee-proxy-tool/target/dcm4chee-proxy-tool-<version>.zip.
...
The
...
standard
...
build
...
includes
...
configuration
...
support
...
for
...
LDAP
...
and
...
Java
...
Preferences.
...
To
...
build
...
the
...
proxy
...
with
...
a
...
dependency
...
for
...
use
...
with
...
dcm4che-jdbc-prefs,
...
run
No Format |
---|
`mvnmvn clean install -P jdbc-prefs` (default). Configuration ============= LDAP Schema Import ------------------ In order to store configuration data for prefs |
Configuration
LDAP Schema Import
In order to store configuration data for dcm4chee-proxy,
...
new
...
schema
...
files
...
have
...
to
...
be
...
imported
...
into
...
the
...
LDAP
...
server
...
instance.
...
The
...
folder
...
/dcm4chee-proxy/dcm4chee-proxy-conf/src/main/config/
...
ldap contains
...
subfolders
...
with
...
the
...
required
...
schema
...
files
...
for
...
the
...
supported
...
LDAP
...
servers:
No Format |
---|
``` ./apacheds ./apacheds/partition-nodomain.ldif ./apacheds/dcm4chee-proxy.ldif ./opendj ./opendj/12-dcm4chee-proxy.ldif ./slapd ./slapd/dcm4chee-proxy.ldif ``` |
Sample
...
Config
dcm4chee-proxy
...
provides
...
a
...
sample
...
configuration
...
for
...
LDAP
...
and
...
Java
...
Preferences.
...
LDAP
The LDAP sample configuration can be found at /dcm4chee-proxy/dcm4chee-proxy-conf/src/main/config/
...
ldap:
No Format |
---|
``` ./init.ldif ./init-config.ldif ./sample-config.ldif ``` |
After
...
importing
...
the
...
LDAP
...
specific
...
schema
...
file
...
(see
...
step
...
LDAP
...
Schema
...
Import
...
),
...
import
...
the
...
ldif
...
files
...
in
...
the
...
above
...
order
...
into
...
the
...
LDAP
...
server.
...
Java
...
Preferences
...
A
...
Java
...
Preferences
...
sample
...
configuration
...
can
...
be
...
found
...
at
...
dcm4chee-proxy/dcm4chee-proxy-conf/src/main/config/
...
prefs:
No Format |
---|
./sample-config.xml
```
|
To
...
import
...
the
...
sample
...
config,
...
use
...
the
...
xml2prefs tool
...
provided
...
by
...
the
...
dcm4che
...
3.0
...
library
...
(https://github.com/dcm4che/dcm4che).
...
Panel |
---|
Note: *If planned to use the SQL backend for storing configuration data, the dcm4che-jdbc-prefs project provides a tool `xmlPrefs2jdbc`xmlPrefs2jdbc for importing the Java Preferences sample configuration. Please check the dcm4che-jdbc-prefs project for further information. |
JBoss
...
Setup
Dependencies
To run dcm4chee-proxy
...
within
...
JBoss
...
AS7
...
requires
...
dcm4che-jboss-modules
...
to
...
be
...
installed,
...
which
...
can
...
be
...
found
...
in
...
the
...
dcm4che-3.x
...
DICOM
...
Toolkit
...
(https://github.com/dcm4che/dcm4che).
...
Unpack
...
dcm4che-jboss-modules-<version>.
...
zip into
...
the
...
JBoss
...
AS7
...
folder.
...
Container
...
Configuration
...
Create
...
a
...
directory
...
dcm4chee-
...
proxy inside
...
the
...
container
...
configuration
...
directory
...
(e.g.
...
<jbossDir>/standalone/configuration/dcm4chee-
...
proxy)
...
and
...
copy
...
all
...
files
...
from
...
dcm4chee-proxy-conf/src/main/config/conf/
...
into
...
it.
...
If
...
planned
...
to
...
use
...
Java
...
Preferences
...
as
...
configuration
...
backend,
...
delete
...
the
...
file
...
ldap.
...
properties from
...
<jbossDir>/standalone/configuration/dcm4chee-proxy/
...
.
...
If
...
planned
...
to
...
use
...
a
...
LDAP
...
configuration
...
backend,
...
edit
...
the
...
file
...
<jbossDir>/standalone/configuration/dcm4chee-proxy/ldap.
...
properties and
...
set
...
the
...
connection
...
and
...
authentication
...
parameters
...
according
...
to
...
the
...
LDAP
...
server
...
configuration.
...
Deployment
To run dcm4chee-proxy
...
in
...
a
...
JBoss
...
AS7
...
instance,
...
deploy
...
dcm4chee-proxy/dcm4chee-proxy-war/target/dcm4chee-proxy-war-<version>.
...
war via
...
the
...
JBoss
...
command
...
line
...
interface
...
or
...
by
...
copying
...
it
...
into
...
e.g.
...
<jbossDir>/standalone/deployments/
...
.
Panel |
---|
Example: *
make sure the JBoss instance is running
start the command line interface: `<jbossDir><jbossDir>/bin/jboss-cli.sh - c`c call the deploy procedure: `deploydeploy <buildPath>/dcm4chee-proxy-war-<version>. war` **Device Configuration** Thewar |
Device Configuration
The dcm4chee-proxy
...
is
...
using
...
a
...
LDAP
...
configuration,
...
compliant
...
to
...
the
...
DICOM
...
Application
...
Configuration
...
Management
...
Profile
...
,
...
specified
...
in
...
...
...
...
...
,
...
Annex
...
H.
On start-up,
...
the
...
dcm4chee-proxy
...
application
...
needs
...
to
...
load
...
a
...
proxy
...
device
...
configuration
...
from
...
the
...
configuration
...
backend.
...
The
...
device
...
to
...
be
...
loaded
...
can
...
be
...
set
...
via
...
i)
...
JBoss
...
AS7
...
system
...
property
...
org.dcm4chee.proxy.
...
deviceName in
...
the
...
JBoss
...
container
...
configuration
Panel | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: *Edit `<jbossDir>standalone<jbossDir>standalone/configuration/standalone. xml`xml:
|
or
...
ii)
...
by
...
editing
...
the
...
file
...
/WEB-INF/web.
...
xml within
...
the
...
war
...
file
Panel | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: *
|
JBoss
...
Logging
...
For
...
all
...
audit
...
log
...
messages
...
to
...
appear
...
in
...
a
...
separate
...
log
...
file
...
(e.g.
...
dcm4chee-proxy-audit.log),
...
add
...
to
...
the
...
according
...
container
...
configuration
...
(e.g.
...
standalone.xml):
Code Block |
---|
```xml <profile> ... <subsystem xmlns="urn:jboss:domain:logging:1.1"> ... <periodic-rotating-file-handler name="PROXYAUDITLOG"> <formatter> <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c|%c] (%t) %s%E%n"/> </formatter> <file relative-to="jboss.server.log.dir" path="dcm4chee-proxy-audit.log"/> <suffix value=".yyyy-MM-dd"/> <append value="true"/> </periodic-rotating-file-handler> <logger category="org.dcm4chee.proxy.conf.AuditLog"> <level name="INFO"/> <handlers> <handler name="PROXYAUDITLOG"/> </handlers> </logger> ... <subsystem> ... </profile> ``` ** |
JDBC
...
Preferences
...
If
...
the
...
preferences
...
data
...
is
...
supposed
...
to
...
be
...
read
...
via
...
the
...
dcm4che-jdbc-prefs
...
project
...
from
...
a
...
database,
...
specify
...
the
...
following
...
system
...
property
...
in
...
the
...
container
...
configuration
...
(e.g.
...
standalone.xml):
Code Block |
---|
```xml <system-properties> <property name="java.util.prefs.PreferencesFactory" value="org.dcm4che.jdbc.prefs.PreferencesFactoryImpl"/> </system-properties> ``` |
Standalone
...
Application
The dcm4chee-proxy
...
can
...
be
...
run
...
as
...
a
...
standlone
...
application
...
from
...
the
...
command
...
line.
...
After
...
building
...
the
...
project,
...
the
...
command
...
line
...
version
...
can
...
be
...
found
...
in
...
dcm4chee-proxy-tool/target/dcm4chee-proxy-tool-
...
<version>-bin.
...
zip.
...
The
...
standalone
...
app
...
can
...
be
...
started
...
by
...
executing
...
./bin/
...
proxysa (or
...
proxysa.
...
bat)
...
and
...
specifying
...
the
...
device
...
name
...
to
...
be
...
loaded
...
from
...
the
...
configuration
...
backend
...
(LDAP
...
or
...
Java
...
Preferences).
...
Panel | |||||||
---|---|---|---|---|---|---|---|
Example: *
|
This
...
will
...
start
...
the
...
proxy
...
with
...
a
...
DICOM
...
configuration
...
retrieved
...
from
...
the
...
specified
...
LDAP.
...
Try proxysa --
...
help for
...
more
...
information.
Proxy Device Configuration
For an overview of configuration options for a proxy device, please refer to the according section of the dcm4chee DICOM Configuration Wizard documentation.