Robert Zaremba
In the application under consideration it is necessary to enable communication between Index Cells which are separated by a network. A hospital must be able to receive status updates from the patient, and the patient must be able to receive queries and maintenance information from the hospital. In addition, a hospital will consist of a number of nurses and doctors as well as other staff who will need to communicate with one another. In order to facilitate this communication both parties will publish Web Services which will allow for communication between Index Cells which are separated by a network. In the system that I propose a Remote Message Manager will be responsible for the passing and receiving of all remote messages via Web Services.
When an Index Cell system is first initialized, all local Index Cells which can receive a message from a remote Index Cell will have a Web Service published by the Remote Message Manager. When a Web Service is invoked the Remote Message Manager will construct and send a message to the appropriate local Index Cell. All remote Index Cells to which a message can be sent should be constructed locally to act as a stub. The only action of these stub Index Cells is to pass the appropriate message to the Remote Message Manager, which will in turn invoke the Web Service which has been specified.
When two systems are initially bound together by users, such as when a patient selects a new hospital, the two Remote Message Managers will exchange an XML file which specifies the URIs and ports to which its Web Services have been bound as well as any other information required to invoke the Web Services. If a binding changes then this XML file must be resent. Alternatively, a UDDI registry could be searched for the appropriate Web Services to invoke, but I feel that this may be cumbersome as a UDDI registry would have to be implemented for all instances of the application, including the patient's.
At this time I believe that J2EE's Java API for XML Web Services (JAX-WS), in conjunction with an application server, will be sufficient to implement the desired functionality. For the initial version I intend to implement a very simple server in order to demonstrate the concept. (I will make sure the XML documents are compatible with other parts of the system. The compatibility ensures traceability. The easiest way to provide traceability is to provide links or URL between the documents.)