Web Service API and the Semantic Web "For Semantic Web services to become a reality, a markup language must be descriptive enough that a computer can automatically determine meaning. Following is a list of tasks such a language would require:
I Need to Find a Service (Discovery)
A program must first be able to automatically find, or discover, an appropriate Web service. Neither WSDL nor UDDI allows for software to determine what a Web service offers to the client. A Semantic Web service describes its properties and capabilities so that software can automatically determine its purpose.
I Need to Run a Service (Invocation)
Software must be able to automatically determine how to invoke or execute the service. For example, if executing the service is a multistep procedure, the software needs to know how to interact with the service to complete the necessary sequence. A Semantic Web service provides a descriptive list of what an agent needs to be able to do to execute and fulfill the service. This includes what the inputs and outputs of the service are.
I Need to Use a Few Services Together (Composition)
Software must be able to select and combine a number of Web services to complete a certain objective. The services have to interoperate with each other seamlessly so that the combined results are a valid solution. In this way, agent software can create entirely new services by combining existing ones on the Web.
I Need to Know What is Happening After I Run the Service (Monitoring)
Agent software needs to be able to verify the service properties as well as monitor its execution. Some services may take some time to complete, and the agent should have the ability to monitor the status of a process."