PACS Server Framework (original) (raw)
The PACS Server Framework is an extensible system that allows the user to easily add additional DICOM Services or customize service implementation without having to change the core server implementation. This extensibility is provided through the use of add-ins. These add-ins allow developers to respond to specific DICOM messages (based on the registered DICOM service), and perform transaction logging to a consolidated service log. LEADTOOLS handles the threading for concurrent DICOM connections. The SDK also manages association negotiations and exposes interfaces which allow the user to spy on all DICOM communications with the server.
PACS Server Framework Components:
- DICOM Service
DICOM Service (Leadtools.Dicom.Service.exe) is a MS Windows Service that implements user-defined DICOM services. - Add-in Manager
The DICOM Service (Leadtools.Dicom.Service.exe) also acts as the manager of the add-ins. When the service starts it loads all the available add-ins. Once the add-ins are loaded the server extracts the interfaces that are important for its operation. - Add-ins
Add-ins are implemented by the developer, based on the DICOM services they wish to provide. LEADTOOLS ships with several add-ins, some of which are provided with source code that can be customized. - Secure Connections
The PACS Server Framework supports secure communication through the use of add-ins. The PACS Server Framework ships with a Security Add-in which implements security for the PACS server. This add-in can be extended or replaced by a custom implementation. Source code is provided so that the secure communications can be customized by an add-in developer. The provided add-in implements the Basic TLS Secure Transport Connection Profile of DICOM Standard which utilizes the framework and negotiation mechanism specified by the Transport Layer Security Version 1.0 protocol. - Logging Framework
The PACS Server Framework makes use of the LEADTOOLS Logging assembly (Leadtools.Logging) to log server specific messages. This enables developers to easily change the destination of logging messages. In addition, add-in developers can make use of this framework to provide centralized logging. - Sever Admin Interface
This interface allows an application to communicate with the running PACS Framework Server service. This allows the developer to easily manage multiple PACS Framework servers. Developers can use this class to implement a server administrative user interface.
Service Startup Process:
- Service Start: This runs the Windows Service which implements the DICOM Server.
- License Check: Checks to see whether the user has provided the correct MedicalServer unlock code. If the correct code has not been provided the service will not run.
- Initialize add-ins: The service loads all DLLs in the Server working directory. The server checks for all the add-in interfaces. If a valid interface is found, the add-in is registered with the server service.
- Start Server: If for some reason the server cannot start (duplicate port, IP unavailable, etc.), the service will not run.
Register Base Services: Some base services are required for the service to function correctly. This process provides default implementations for the following services:
- IDicomRequest: Provides a default implementation for add-ins to issue a DICOM request. This implementation should rarely be overridden.
- IAETitle: Provides a default implementation for managing DICOM AETitles.
- Start Administrative Interface: This interface allows an application to communicate with the running service. The interface is implemented via named pipes.
For more information refer to:
Programming With PACS Server Framework
Programming With PACS Client Framework