Improving Your Web Services Thorough Semantic Web Techniques - Liyanage, J.P.; Wikramanayake, G.N. (Colombo: Infotel Lanka Society, 2005)
Most of the data in the internet are markup for text and graphics in HTML format and are driven by syntax. These data are displayed to the user but the computers are concern there is no meaning of these data. If we semantically annotate data in the internet, then the computers can process these data in meaningful ways and increase the usability of the data. In this project a possible architecture for a semantics based middleware agent (broker) will be looked at, which has the capabilities to serve web service requests by searching through a larger space of web services. The matching capabilities of a semantics based broker are much higher than any of the syntax based middleware frameworks in the market today like UDDI. In this project, we will be using two of the current semantic web technologies OWL (Ontology Web Language) and OWL-Services. Once the broker receives a client request that contains the capabilities and input/output specification of a web service client wishes to invoke, it will read OWL-S descriptions of the services registered to the broker and try to find a direct match. If it is unable to find one the broker uses its powerful inference capabilities (not available in conventional syntax based middleware) to dynamically compose a set of available services together into a new service. Our IntelliBroker works as a true broker in the sense that client may even not know what the invoked services are. In executing the created composite service, the broker has the ability to exploit any parallelism between the child services and return results to the client faster. The broker will convert OWL types to SOAP messages and vice versa using XSLT (eXtensible Style Language Transformations). This paper focuses on the design and the architectural of our system. We implemented the system with Java language and used Axis framework for publishing and executing web services. Jena API was used to manipulate OWL data and the Pellet engine was used for the reasoning