hi. i am a beginner in web services. i am doing a project on web service composition.i have read few IEEE papers regarding composition. i got confused in the concept. web service composition means invoking multiple services by some application that is giving combined response of the web services based on the user request. Am i right? will the combined web services generates a single WSDL file ?
It may be good to get an understanding of the difference between web services and services of a Service-Oriented Architecture (SOA). They are not the same. An SOA typically consists of an application frontend, one or more business services, a service repository, and a service bus. This is an architectural structure and is primarily focused on business concepts. So the starting point of buiding a SOA should be on the Business side of an organization and at the highest levels. These are business services and the term "composite service" is referring to these types of services, not web services.
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.
thank you so much. Will composite services of soa will result in a single wsdl file ?
Joined: Apr 16, 2008
No problem. Based on your question, it looks like there is still some misunderstanding. I will try to describe the difference between "web service" and SOA-based "service".
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.
thank you so much. I need to read a lot . I have developed some web services for banking application. For satisfying a user request, i need to call more than 2 services. In most of the papers, they discussed about travel scenario. Flight services , hotel services , bus services are called to satisfy the user request. They call it as web service composition. i am planning to apply that algorithm for banking domain. I designed services such that output of one web service becomes input of other. So that is web service composition right ?
Joined: Apr 16, 2008
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.
i am doing a project on dynamic web service composition using Quality Of Service properties of web services. After reading this thread, me bit confused. Deployed web services related to travel domain. three groups of services - Flight services which gets inputs like Source, destination for a passenger and returns cost. next set of services are hotel which takes input as destination and returns cost. next set of services are cab services which takes destination as input and returns the cost. i created the database which contains source ,destination and amount . so when the client makes a request containing Source , destination ,Total budget for the trip, these different web services access the database and returns the total budget for the trip. best web services are ranked based on the response time and other qos factor. Can i say this as web service composition. i have not used BPEL ,OWLS,etc in my project. Application invokes different set of services(flight, hotel and cab services) and gives the combined response (amount for the trip) to the user. is this web service composition?
have a nice day - hema
Joined: Apr 16, 2008
What does the word "composition" mean? What does the SOA-based term "composite service" mean?
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.
i understood the term composite service. Web services just get the request from the application and queries the data base and gives the response. Database connectivity is done separately. In your last post you mentioned that composing a service, web service composition , web service formation , mean the same. Main application invokes different web services to give the response to the user. 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. Can i say this as dynamic web service composition? I understand that its not composite services.
i am doing this project based on a elsevier paper. The main idea of that algorithm mentioned in that paper is to find a sequence of web services that satisfy the user request . Web services are designed such that response of one web service becomes input to the other web service. They used the term web service composition . So am i proceeding in correct direction?
Joined: Apr 16, 2008
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.
main application gets the input like source , destination, class for travel , hotel and cab service , total budget for the entire trip from the user. I have created travel web services, hotel , cab services. I also stored qos values of those web services in a separate data base. Based on a algorithm for ranking web service , i first separately rank the web services. That is now i have three list of services- travel, hotel , cab services. I have used graph based approach for storing all possible path. Each service from the list returns cost to the application. Cost is subtracted from the total budget and given to next set of services. In that paper, they mentioned it as web service composition.
some papers on web service composition used WS-BPEL ,OWL-S, etc . In my project, Travel reservation application invokes three web services. output of one web service is given as input to other web service. do i have to use BPEL or OWL-S ?
hi i am also working on web service composition.
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?