3. ARCHITECTURES
For the cross query system to function, a distributed application must be implemented. To this goal we considered three architectures: Java Remote Method Invocation (RMI), web service, and web service discovery using Universal Description, Discovery, and Implementation (UDDI). These architectures are reviewed in order of increasing desirability. In choosing the architecture to implement, we used the following specifications: ease of implementation, compatibility for different network connectivity types (star, ring, etc.), and capability of collecting metrics for performance benchmarking. Overall, we found the RMI architecture met our specifications, but was not appropriate for a production environment involving web services. The RMI architecture's main failing is that it is not readily pluggable into an OGSA environment, which is our goal.
Fig. 2. RMI architecture
3.1. RMI The Java RMI architecture implementation is one that more easily allows the design of different network connectivity types for testing the cross query system without having to design, implement, and deploy web services to match the network type being considered. Through RMI, we can model the cross query system performance by using it to control how the database web services communicate with each other. In this implementation, RMI is used as a broker service between web services. By first designing a particular RMI network structure, we can see first hand what logic the web service architecture would have to perform in order to obtain similar results.
3.2. WEB SERVICE Implementing the web service architecture is the first step in achieving OGSA compatibility. Many unique challenges present themselves in applying the cross query system to this architecture. First, the database's web services must be able to update their internal data to reflect new database web services becoming available. Second, an extendible and efficient means of data transfer must be developed to allow return data, from a query, to return to the client with as little overhead as possible. From testing the RMI architecture to simulate a bidirectional array network type, we have learned that any sort of connectivity type is possible by producing a web service that supports the given type.
Fig. 3. Web service architecture
3.3. WEB SERVICE DISCOVERY This architecture is equivalent to the previous web service architecture except that the database web services do not have access to any other database web service. This architecture will use the Universal Description, Discovery, and Implementation (UDDI) directory to locate the web services of other databases listed in the UDDI. Once the requesting database web service has access to the other database web services, it then must perform like the web service architecture and propagate the user’s XQuery to all available web services.
Fig. 4. Web service discovery architecture