Abstract:
Applications that use directory services or relational databases operate in client-server mode where a client requests information from a server, and the server returns a response to the client. Communication between each client-server application is achieved by using separate custom built front-ends with non-portable data formats. A need exists to access information from different heterogeneous client-server systems in a standard message request-response format. This research proposes a generic XML document that presents a common request-response interface to the client from which they can access network protocol or database information. The XML component is easily adaptable to accessing any new client-server type protocol or database data that may be added to a server. The approach in determining the XML elements is, firstly review each systems command and data structure separately, and then determine if there are any commonalities within each protocol that would allow for a common representation of both the data and command structure. For the purposes of this project, three different data sources that are typically used in an Internet application were analysed, namely: -- a TCP based server program; -- a relational type database; and -- a directory service. The solution was implemented using Linux as the operating system, Java as the programming language, MySQL as the relational database, openLDAP as the directory server and a proprietary TCP based server application. Initially the complete system was developed for the proprietary TCP-based application. The other systems were added with minimum additional work. The result of the implementation was that it is relatively easy to add new protocols (for e.g. LDAP) on an as needed basis with minimal changes required on the server side. A client will receive XML responses that the client can either adapt (typically using a separate style-sheet) to their specific needs or use the existing front-ends if they are suitable. After the design was implemented and tested, the performance of XML and non-XML messages was evaluated. As expected the increased verbosity of XML results in a larger footprint that requires more processing time and resources. This means that any implementation using XML has to carefully weight the benefits of flexibility, extensibility and standard message formats against reduced performance. After evaluating XML type messages in an Internet type environment that involved human-computer interaction, it was concluded that the slower response times is not that significant to negate the benefits of a common message interface provided by using XML.