elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
192 Selected Studies on Software and Information Systems<br />
wrappers are often insufficient to perform this task. The problem of having high quality<br />
ontologies influences the Semantic web generally. Hence, this is not only the problem of<br />
using SmartWeb in different domains and situations. Some problems concerning this topic<br />
are discussed in [9] which deals with creation of ontological test bases for experimental<br />
evaluation of Semantic web applications.<br />
Even if we have already described the goal in an acceptable form, there are still other<br />
problems. Despite of existing web service composition tools, the construction of an optimal<br />
composite web service can not be always achieved in sufficiently short time even if the<br />
necessary sub-services are available. This is due the complexity of this task (discussed in<br />
section 6.3.2).<br />
When composite web service is constructed, other services are required to be organized<br />
into one. Only available web services which are able to be executed can be taken into<br />
account. Here the problems of discovering suitable services mentioned in section 6.3.1 must<br />
be considered. The composition method must also deal with situation when it is not possible<br />
to build a composite service, which fully satisfies the user goal.<br />
The web services can be considered as transformations, which taking a set of input parameters,<br />
produce a set of output parameters. These can be described as ws :(i 1 ,...,i n ) −→<br />
(o 1 ,...,o m ). Before the constructed composite web service can be executed, the input parameters<br />
must be provided. The problem is that the user only defines the output parameters.<br />
It is not clear how to define the input parameters if we have described only the outputs. In<br />
example from Figure 6-12 the goal is to create forecast maps for a defined area and term.<br />
Based on this the presented composite service is constructed. This service composition is<br />
only the scheme which says in which order the services will be called and how will they shift<br />
the data between themselves.<br />
It is clear that the input for the Compute forecast service is the output of the Create meteo<br />
model service. The input for the Create meteo forecast maps service is the output of the Compute<br />
forecast service. The problem is that the inputs of the first, Create meteo model service are<br />
not provided by other service(s). From the description of the service only the type of the<br />
input parameters are known. The concrete input data for this service must be defined and<br />
provided other way. Automatic definition of these data presents a hard problem. There is<br />
no universal method how to do this. It is a domain dependent problem and often domain<br />
expert knowledge is required for this task. In the meteorological forecast map example,<br />
a meteorologist must define different parameters required to create a meteorological model<br />
from which the forecast for the specified time and area can be generated. Hence, the definition<br />
of the input data is hard to realize in automatic manner or even impossible.<br />
One possible solution may be the description of the data transformation the service<br />
performs. This means that we know what output parameters will be produced by a service if<br />
we know the input. For example a description of the web service which multiplies the input<br />
with two must explain that this service doubles the input. This still not solve the problem. The<br />
problem is solved only if we know also the inverse transformation ws −1 : (o 1 ,...,o m ) −→<br />
(i 1 ,...,i n ). In our example it means that the service description stands that the inverse<br />
transformation is the division by two. If this information is available, we are able to determine<br />
the required input parameters based on the output parameters. Problem is that it is not always<br />
possible to define the inverse function. An example is the service realizing addition of two<br />
numbers. The addition has no inverse function. Solutions for this case are not known.