Connectathon Using the Gazelle Proxy
The Gazelle Proxy (Proxy) is a separate software application that is deployed in parallel with Gazelle Test Management. The Proxy routes TCP traffic between systems and maintains a copy of that data for later analysis. The Proxy software allocates one TCP port for each Connectathon participant endpoint (web server, DICOM server, HL7 server) and use that port to accept and then forward TCP traffic to the specific endpoint. Because each participant endpoint is allocated a unique Proxy port, the Proxy knows where to forward the traffic without having to analyze the data content.
The Proxy is coupled to an instance of Gazelle Test Management. The Gazelle Test Management software captures configuration information for each participant including server endpoints (host name, port number, protocol). Participants own and are responsible for the correct values of the endpoint configuration. The Gazelle Test Management system allocates one TCP port in the proxy for each endpoint that is defined by a participant. That information is visible in Gazelle Test Management to all participants. A participant application that wants to initiate a TCP connection (invoke a web service, store a DICOM file) can choose to send directly to the peer system (host name, port number, protocol) or to the Proxy (proxy host, relevant proxy port, protocol). Because the Proxy is coupled to Gazelle Test Management, the Proxy software knows that TCP traffic that is received on a specific port will be sent to the proper participant endpoint. As mentioned above, the binary data is not altered.
The Proxy records and manages the data in the context of a network or socket connection. Traffic is recorded from the time that the initiator makes the initial socket request until the time that the socket is closed. The TCP data for that conversation is stored with a timestamp to allow for later review.
The Proxy does not support TLS traffic. There are issues of digital certificates and encryption that would need to be addressed. That would also require a review of one aspect of the Proxy in that it does not alter any digital traffic. It might be possible to consider monitoring TLS traffic using a packet sniffer as we can manage digital certificates in a testing environment. This is not an active area of work for the Kereval team.
The Proxy software provides different features. These include
- Initial search and filtering. There is a Web User Interface that allows the user to search for conversations based on a number of parameters (timestamps, IP addresses, port numbers, protocol, ....)
- File download. Data captured for a TCP connection can be downloaded for offline review.
- Data visualization. The Proxy software does know what protocol is being used for each connection and can display the data using that context. HL7 V2 data is displayed differently than DICOM data.
- Data validation. The Proxy software is integrated with Gazelle validation software. An individual message that has been captured by the Proxy can be directly tested for conformance to base standards.
- The Proxy is integrated with Gazelle Test Management and Gazelle validation software and provides value for the features listed above and especially in the context of communication protocols that it understands (HL7 V2, DICOM, Web Services, ....)
- The Proxy has value even if it does not provide visualization or validation tools for a TCP connection. The Proxy provides a central repository of traffic that can be searched. The TCP data can be downloaded and reviewed with any relevant tool.
- Users can link a Proxy data session (one TCP connection) to a Gazelle Test Instance. This allows a monitor or any participant to know that the data for this specific test instance can be found at a specific location in the Proxy.