Pre fetch of WADO objects - dcm4che/dcm4chee-arc-light GitHub Wiki
By enabling this feature, user can configure the pre fetch of WADO objects by a proxy server. Proxy server caches the WADO responses and makes these objects available as and when required by the Viewer.
Note : Wado Exporter code and configuration has been redesigned as part of issue wherein WADO service specific Web Application are required. Normally the use cases for WADO export may be to
- Pre-fetch the image and/or metadata on some cache server for faster access. In such use cases it is required that the user configure a separate device and configure HTTP Protocol specific connections on it which are then used for referencing in Web Application to be configured on this new created device used as a cache device.
- Use this exporter to create copies of images and/or metadata files on same device to be used for some processing by a
third party application. The configurations explained below are for this use case.
- As the default configuration of archive device
dcm4chee-arc
does not contain any HTTP Protocol specific connections, create one by going toConfiguration -> Devices -> dcm4chee-arc -> Child Objects -> Network Connections -> Add new network connections(+)
. SpecifyName
,Hostname
andPort
andSave
. Then go to itsExtensions -> Network Connection Extension -> Add dcm4che proprietary Network Connection attributes (+)
. SelectHTTP
asProtocol
andSave
. Repeat the step if service should be invoked over secured HTTP i.e.https
. Additionally, for https connection configure also the required TLS cipher suites. - Reference the new created HTTP connection(s) in the 2 pre-configured web Applications
DCM4CHEE
andDCM4CHEE-WADO
which contain the WADO service classesWADO_RS
andWADO_URI
respectively, as these web applications have been used in the explained configurations. - Refer Keycloak Client and reference the Keycloak Client ID in the web applications if secured archive WADO services are invoked.
- Below configurations explain settings both for pre/post archive version 5.23.2 where one may want to prefetch bulkdata or metadata or both
- As the default configuration of archive device
This section shall be referred with second use case explained above. It briefly explains configuration of Storage of objects' JPEG image data and/or metadata invoked using WADO services on a file system.
Configure storage descriptors as explained in Generic Storage. Sample configurations for the wado-jpeg and/or wado-metadata storage directories are shown below :
Using Archive UI :
-
Go to
Configuration page -> Devices tab -> dcm4chee-arc -> Device Extension -> Archive Device Extension -> Child Objects -> Storage Descriptors
-
For Prefetch WADO Bulkdata and Prefetch WADO Bulkdata and Metadata add a new Storage Descriptor with following field values :
Storage ID : wado-jpeg Storage URI : ${jboss.server.data.url}/wado/ Storage Property : pathFormat={0020000D}/{0020000E}/{00080018}/{00081160}.jpeg Storage Property : checkMountFile=NO_MOUNT
-
For Prefetch WADO Metadata and Prefetch WADO Bulkdata and Metadata add a new Storage Descriptor with following field values :
Storage ID : wado-json Storage URI : ${jboss.server.data.url}/wado/ Storage Property : pathFormat={0020000D}.json Storage Property : checkMountFile=NO_MOUNT
Using LDAP :
-
For Prefetch WADO Bulkdata and Prefetch WADO Bulkdata and Metadata
version: 1 dn: dcmStorageID=wado-jpeg,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org objectClass: dcmStorage dcmStorageID: wado-jpeg dcmURI: ${jboss.server.data.url}/wado/ dcmProperty: pathFormat={0020000D}/{0020000E}/{00080018}/{00081160}.jpeg dcmProperty: checkMountFile=NO_MOUNT
-
For Prefetch WADO Metadata and Prefetch WADO Bulkdata and Metadata
version: 1 dn: dcmStorageID=wado-json,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org objectClass: dcmStorage dcmStorageID: wado-json dcmURI: ${jboss.server.data.url}/wado/ dcmProperty: pathFormat={0020000D}.json dcmProperty: checkMountFile=NO_MOUNT
One may refer to Storage Descriptor to understand the description of attributes.
Go to the Control tab on Configuration page in archive UI and reload the configuration.
Following configurations are only needed if the WADO export is used with secured version of archive (UI and RESTful services secured). These configurations are required to pass the Authorization Bearer Token on invocation of WADO requests.
-
Login to Keycloak's admin console at
http[s]://<host>:<port>/auth/admin/dcm4che/console
-
Create a new client
Client Id : wado-export (This will be required for dcmKeycloakClientID in LDAP Configuration) Access Type : Confidential Service Accounts Enabled : ON Standard Flow Enabled : OFF Note down its Secret-Key under the Credentials tab (This will be required for dcmKeycloakClientSecret in LDAP Configuration)
-
Once the client is created, go to the
Service Account Roles
tab and assign the roleuser
.
-
-
Configure a Keycloak Client in archive
-
Using Archive UI :
-
Go to
Configuration page -> Devices tab -> dcm4chee-arc -> Device Extension -> Child Objects -> Keycloak Clients
-
Add a new Keycloak Client with following field values :
Keycloak Client ID : wado-export Server URL : http://localhost:8880/auth Keycloak Realm : dcm4che Keycloak grant type : client_credentials Keycloak Client secret : 1e04f856-9c76-46f3-91ae-c5624a82fa6d TLS Allow Any Hostname : True
-
-
Using LDAP :
version: 1 dn: dcmKeycloakClientID=wado-export,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org objectClass: dcmKeycloakClient dcmKeycloakClientID: wado-export dcmKeycloakRealm: dcm4che dcmURI: http://localhost:8880/auth dcmKeycloakGrantType: client_credentials dcmKeycloakClientSecret: 1e04f856-9c76-46f3-91ae-c5624a82fa6d dcmTLSAllowAnyHostname: TRUE
-
NOTE : Server URL
or dcmURI
value shall be same as the Keycloak's auth server URL that was configured when setting up the secured archive.
Go to the Control tab on Configuration page in archive UI and reload the configuration.
- Store studies to archive using storescu tool
- Once the configured
Export Delay
andExport Polling Interval
is reached, verify inMonitoring page -> Export tab
by selecting the configuredExporter ID
to check if the WADO export task isCOMPLETED
. If noExport Rule
, was configured, one may still use archive UI to use WADO exporter to export the objects. - Verify at the WADO retrieve destination or optionally in the configured wado storages that the jpegs / metadata were retrieved.