Web services are simple connection points between two applications. A web service is a communication mechanism located way down in the Integration tier. A web service is comparable to a message in a messaging system, e.g. JMS messages. They are a bit more flexible than JMS messages and have other benefits such as allowing applications written in different technologies to communicate with other.
Again, the term "composite services" is not referring to "web services" but the "business services" of an SOA. It is possible that some authors may get this mixed up or not clearly distinguish their message.
Note that when the application frontend portion of a SOA service is implemented with a website, this is still not a "web service." We are using a couple of the same "words", but the context is different and they do not have the same meaning. In other words, a "web" site frontend to a business service is not the same as a network (integration) "web service." The purpose of a web service is connect applications and enable them to send messages back an forth (integration), it does not implement any business functionality or provide a business function. Functionality is implemented in the applications that the web services is connecting.
An instance of Web Service Definition Language (WSDL) is for describing network (integration) web services. A WSDL instance does not describe a business service, it describes a network service. Web services is an integration technology, it is not a implementation technology.
Aside, the language for describing business services is Business Process Modeling Language (BPML). A single BPML file may describe multiple business services, which may include "composite" services.
I have developed some web services for banking application.
What exactly do the services do?
For satisfying a user request, i need to call more than 2 services.
How does a user make a request?
I designed services such that output of one web service becomes input of other.
Normal synchronous web service flow is:
Application A -----request------> Web Service X -----request------> Application X -----response------> Web Service X -----response------> Application A
The purpose of Web Service X is to allow applications to connect to Application X (integrate with it). Application X contains the implementation code and Web Service X contains the integration code.
Explain the flow of the services you are designing.
The main idea of my posts is to point out the term "composite services" has a meaning in a Service-Oriented Architecture that is different than "creating" a web service, or "composing" a web service, or "generating" a web service, or "producing" a web service, etc.
web service composition
web service creation
web service formation
web service generation
web service conception
web service constitution
All of the above mean the same thing. A composite "business" service in a SOA context is something different. You most likely are creating business services that contain functionality and are considering them to be "web services." Things can get a bit complicated because in some SOA, it is possible to have both types of services, i.e. business services and web services. Business services are never described with WSDL. Only integration services are covered with WSDL.
Below is a link to a good book published by IBM. It covers SOA foundation very nicely.
Service-Oriented Architecture (SOA) Compass: Business Value, Planning, and Enterprise Roadmap
A set of data-oriented web services that are executed independently, but within a single User action is not a "composite service."
...these different web services access the database and returns...
Did you code the database connection and query logic directly in the code of the web services? Or, do the the web services connect to another component or application and the database connection and query logic are here?
A key term in your statement is "different". A "composite service" is a single coarse-grained service. It is not a set of "different" services.
My main project finds the best sequence of web services that has to be invoked to satisfy user request based on qos values of web services.
Interesting. The concept of a random "best" sequence of web services is questionable, or in other words may be not feasible. Typically, a business operation consists of a defined process or sequence of operations. This does not change. And, to implement the operation, a defined execution path is required.
If the application is randomly changing the sequence of operations based on some perfomance metric, it is unclear on how this would still complete the business operation. If the business operation can still be executed using a randomly selected sequence of operations, then that is great. However, the most important thing is the consistent completion of the business operation, not some clever low-level algorithm that chooses a web service.
Can i say this as dynamic web service composition? I understand that its not composite services.
A more concise description would be dynamic web service execution. You are not dynamically creating the web services, they exist already. You are dynamically choosing which ones to "execute" at runtime.
Web services are designed such that response of one web service becomes input to the other web service.
I'm not sure if you can implement a web service to directly call another web service without an application in between them. It has been many years since I coded any web services, so it may be possible. I'm not sure.
I have worked with BPEL where the example tutorial places the business logic in web service itself.
Incase we say that webservice is more of a gluecode that binds business services then why should we describe the semantics of a service through OWL-S?
Does OWL-S specify the semantics of a web service or a business service?
Kindly help me.