Eclipse Open Healthcare Framework (OHF) Bridge

Using the OHF Bridge


What can the Bridge do for you?

As you already know, the OHF Bridge is a simplified reference implementation of the IHE actors in the Eclipse OHF Project. The main idea / goal of the Bridge is to be a single endpoint on which a Web service can be attached and invoked. Additionally, the single endpoint can also be used as a standalone POJO to have simple access to the OHF IHE components. By using the Bridge as a Web service, the IHE actors that would normally only be accessible only on a Java platform can be accessed by all parties (.NET, LAMP, etc) and greatly broaden the scope of those that can use OHF to achieve interoperability with IHE specifications.

The OHF Bridge has a centralized RHIO configuration handler, meaning it contains a configurable list of IHE-compliant infrastructure servers that are based in centralized nodes. The benefit here is that the client invoking the Web service need only know the name of the RHIO they want to access and not a list of URLs and ports for the XDS registry, XDS repository, and PIX servers based at that RHIO. A client can obtain a list of RHIOs supported by a Bridge install by calling the GetRhios Web service. For more information about configuring the RHIO config in the Bridge, see the configuration page.

Configuring the Bridge

If you're running the Bridge locally (and not using the IBM Public Demo), then you'll want to make some configuration changes. The Bridge has a few configuration points that control not only its actions but the actions of the IHE and HL7v2 components as well, including security certificates and logging. See the main document about configuring the bridge.

Using the Bridge API

The Bridge is intended to be a single point of access to the IHE actors in OHF. More specifically, it consists of one public class (org.eclipse.ohf.bridge.ws.OHFBridge) and a collection of data types (in org.eclipse.ohf.bridge.types.*, treated as serializable Beans) that are used to perform actions and transfer data. All other code in the org.eclipse.ohf.bridge.* packages should be considered "private". The intention of this setup is to make a single endpoint for a Web service. However, the simplicity of the setup also can allow for other uses of the Bridge.

The OHFBridge class provides the following methods (or Web service operations), grouped by the associated IHE actor. A description of each and its parameters is in the linked Javadoc. For a more detailed explanation of some of the API operations and the transaction, please see the OHF Bridge Documentation page on the Wiki.

Using the Web service endpoint

Depending on how the Bridge is installed, you will likely be using it as a Web services endpoint. The OHF Bridge is a typical configuration uses Apache Axis 1.x and Apache Tomcat 5.5 to provide the previously described API via SOAP transactions. Any SOAP 1.1/1.2 client supporting RPC-style transactions can utilize the Bridge in its typical configuration.

The Bridge SOAP endpoint
In a typical Axis/Tomcat setup using the Equinox server-side container, the endpoint for your OHF Bridge Web service should be at the following URL:
   http://localhost:8080/bridge/services/ohf-bridge
Note that it varies based on the hostname of the server and the port number you're using Tomcat on.

WSDL
Apache Axis generates a WSDL (using Java2WSDL) for the OHFBridge class. This WSDL represents the simple data types and operations provided by the Bridge through an interface that can be easily consumed (e.g. to generate stub client classes). A default reference WSDL is here.

Upon installing and running the Bridge, Axis will generate the WSDL automatically by adding "?wsdl" to the end of the SOAP URL:
   http://localhost:8080/bridge/services/ohf-bridge?wsdl