XML, COAS and CORBA ORB technologies are extremely complementary. However, understanding the applicability and responsibilities of each often leads to a great deal of confusion. In an effort to clarify where each technology is applied in a total middleware solution for the G-CPR project, this short paper attempts to relate the evolution of the soft drink industry to the evolution of these software technologies, particularly relative to packaging, dispensing and distribution of data.
|
The Soft Drink Factory |
The VISTA Data Factory |
|
|
Soft drinks factories are strategically located throughout the country close to dense population centers. They manufacture soft drinks for consumption by the general population. |
VA hospitals are also located around population centers to provide healthcare to our veterans. Within these hospitals are computer systems that hold vast amounts of data on each patient that visits the facility. These facilities manufacture data.
|
|
|
Non-Standard Containers |
Non-Standard Data Packaging |
|
|
Soft drinks have been around for many years. Forty to fifty years ago, producers of these drinks generally used glass bottles to package the drinks. All the bottles were different shape and sizes. They were distributed in cases to stores and restaurants so the shape and size did not really matter. |
Data stored in the clinical healthcare systems was generally created and manipulated by a process that ran on the same machine. The user accessed that data via a dumb terminal that was tied to the process. A central program manipulated the data. To manipulate the data, the program needed to know where the data resided, the physical record structure and intimate details of each data element. This did not present a problem because dispensing and distribution of the data was local to a homogeneous environment. |
|
|
A Can of Soda Pop |
Packaging Data using XML |
|
|
As time went on, it became apparent to the soft drink manufactures that they could increase their sales by dispensing these bottles via a new device called a vending machine. These machines could be put in places that were accessible 24 hours a day to serve a diverse customer base. However, it soon became obvious that something had to be done to standardize the size and shape of the containers. The vending machines simply could not be built to handle all the different sized bottles. Today the standardized aluminum pop-top can is ubiquitous as a result of that standardization. The machines used to dispense them are much simpler because of the standard size and shape. They do not have to know how to dispense different size containers.
When all the cans are the same size, how do you know which one to choose? The manufacturer simply labels or tags the can as a way of letting you know what’s inside. |
Starting in the 1990’s, the PC started appearing on everyone’s desktop. Hooking these machines together became economical and more feasible within each hospital due to Local Area Networks. Getting data out to healthcare providers that really needed it in real time became the thing to do. And then, almost overnight, the Internet opened up the possibility of easily communicating between these computers. Now sharing data between remote and often heterogeneous computer facilities was a possibility. Transmitting data between heterogeneous sites now required that the data be packaged with knowledge. If the data is transmitted to a remote site without identifying knowledge, the receiving computer’s program that manipulates the data must know the structure and content of the data. The healthcare industry created Health Level 7 (HL7) to solve that problem. HL7 provided a standardized container for the data. Knowledge of what the data is came along with the data. It could now be distributed to heterogeneous sites and they would know how to work with it.
At the end of the 1990’s, the eXtensible Markup Language (XML) evolved that provided a more generalized approach to canning data. It is a language that can create languages. The next version (V3) of HL7 will be defined using XML.
XML and HL7 simply provide a way of canning the data with knowledge for distribution. These technologies know nothing about dispensing and distribution. |
|
|
A Soda Pop Vending Machine |
The COAS Server |
|
|
The original vending machines were generally owned and operated by the individual soft drink manufactures, consequently they accommodated the different size bottles. However, as the soft drink industry grew, independent organizations took over this industry. They wanted to dispense soft drinks from different manufactures, giving their customers a choice. This lead to standard size containers that lead to standardized vending machines. Distributors wanted to make the machines easy-to-use with a common interface. Wherever the customer went, they would find a familiar, simple way of purchasing a soft drink. Put your money in, push the correct button and out drops a standardized can from a standardized user interface. |
The CORBAmed special interest group of the Object Management Group (OMG) consists of a group of people from the healthcare industry that recognized a need for a standard way to dispense data. What evolved is the Common Observation Access Service (COAS) server. Its function is to accept a selection for a particular medical observation (push the properly labeled button) and dispense the data in a standardized format (out drops the can).
The COAS specification in equivalent to the soft drink vending machine’s user interface. It provides a standard way of asking for the data. It does not specify specifically how the data is to be returned. This is left up to the implementers. |
|
|
The Soda Pop Distribution System |
The CORBA ORB |
|
|
As the industry grew, distribution of the product became a problem. A separate brokering industry responded by building distribution centers for the distribution of the soft drinks. They provided dispatching points for the products. They had knowledge of where the vending machines and stores were located. They also had the vehicles to deliver the products to the vending sites. The industry standardized on many aspects of moving their products to a point-of-sale.
|
The dispersing of data to remote, heterogeneous computer sites not only requires the data to be formatted, labeled and accessed in a standard way, it requires a standard mechanism for distributing the data to these sites. Is each computer program that provides the standard access to the data required to know where to send it, how to get it there, etc.? No, that would be totally overwhelming.
Distributing data and providing services to the client using the services falls under the responsibility of a CORBA Object Request Broker (ORB). ORBs act as dispatching centers that have knowledge of where the data is to be sent and how to get it there. They provide services to the clients asking for data and servers that are serving data.
The CORBA ORB is a standard way of moving data between sites. It provides the dispatching and transfer services needed to get data between heterogeneous sites in a standard and well-defined manner. |
|