Use Apache ServiceMix as Healthcare Service bus
Healthcare Service Bus (HSB) enables a variety of health care applications to interconnect and interoperate to deliver efficient services. This article consists of two parts, the 1th part discusses the aggregation of health care services by using the Java™business Integration (JBI) architecture. The 2nd part will show you how to use an open source JBI implementation-apache servicemix-as a HSB. You will configure your application as a managed ServiceMix internal service, learn how to interconnect multiple JBI environments, and understand how to integrate the industry standards of healthcare interoperability to servicemix.
By connecting a variety of healthcare applications to a Java Business integration (JBI) server, you can build an enterprise service bus for healthcare (Healthcare service BUS,HSB). This article consists of two parts, the 1th part introduces JBI, explains its architecture, and discusses how it can be used as a HSB to aggregate such as prescription applications, radiology-department applications, and donor-group applications.
Part 2nd shows how to configure these services so that the JBI server can be started as a HSB. I'll show you how to use the Apache ServiceMix (a popular JBI open source implementation) as a HSB. First I will introduce ServiceMix and one of its important components. It then describes how to use this component to configure the application as an internal service that has been hosted on the Apache ServiceMix. The third section describes how to interconnect two JBI environments so that applications connected to one of the JBI environments can interconnect and interoperate with applications that are connected to another JBI environment. The final section will provide some tips on how to integrate HL7 (Healthcare level 7, general health care standards described in part 1th) to JBI.
Introduction to Apache ServiceMix
The Apache ServiceMix can host JBI applications, as shown in Figures 4, 5, 6, and 7 of part 1th of the figure. To implement the JBI environment component, ServiceMix uses the popular open source Spring framework. You can use the Spring XML configuration to configure services within a JBI environment, which makes Java classes that need to be instantiated simple and straightforward.
In addition to implementing the JBI specification, ServiceMix bundles A number of useful preconfigured components that can be used directly in your JBI application. Recall that the 1th part of the mix of internal and external services into the JBI, you need service Engine (SE) to implement internal services such as radiology Department applications. ServiceMix provides a variety of reusable SE that you can use to build your internal services. For this article, you will use a servicemix SE called CXF Service Engine (CXFSE).
CXFSE is a wrapper for open source Apache CXF WEB Services Framework. It allows you to use the capabilities of Apache CXF in ServiceMix applications. The Apache CXF allows you to establish a WEB service application that is fully integrated with internal business logic. CXFSE has many features that make it suitable for applications such as HSB.
Apache CXF uses the concept of interceptors to integrate Web services front-end with the business logic of Web services (that is, defining interfaces in the Web Service Description Language [WSDL] file). CXF provides several ready-to-use interceptors and allows you to add your own interceptors. Interceptors engage in specific tasks, and you can configure a series of interceptors to deal with your business logic requirements. For example, you can configure the following interceptor chains:
The interceptor receives the service request from the service client and converts it to another format.
Another interceptor creates a Java object based on the request.
The third interceptor invokes the business logic and passes the Java object along with the request invocation.
Another or a few interceptors can contain actual business logic.
The fifth interceptor extracts a new Java object from the business logic application.
The sixth interceptor converts the Java object to XML format and sends a response back to the service client.
I will not discuss the specifics of establishing or configuring the CXF interceptor in this article. Instead, I will use a simple default out-of-the-box interceptor combination that invokes the radiology Department application.