04.11.2014 Views

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Semantic Web Services 183<br />

can organize more services together into one composite. This way we can offer more complex<br />

services realizing more complex workflows. These composite services are also called web<br />

processes. Our opinion is that this term may have much wider meaning, thus we do not use<br />

it. Each step of the workflow is realized by a service, which can by atomic either composite.<br />

Atomic services are those which can not be decomposed and are immediately executable. We<br />

denote the services from which the composite is built, i.e. the union of atomic and composite<br />

services as sub-services.<br />

The process of arranging the structure of the complex service from other services is<br />

called composition of web services. Its aim is to create a scheme which describes how the<br />

sub-services are organized. More precisely, it unambiguously describes:<br />

– when the sub-service will be called – what is the previous called sub-service (if it is<br />

not one of the first), i.e. control definition,<br />

– which previously called sub-service will give the input data – to which next called<br />

sub-service will the output data be provided, i.e. data flow definition.<br />

Each sub-service must be executable. One sub-service can be called more times during<br />

execution of the composite web service (the input data may be different), if required. The<br />

web service composition can be described using the same languages (mentioned in section<br />

6.2), which contain constructs to do this. The composition scheme may contain controls like<br />

sequence, repeat-until, decisions. The individual step depicted in the composition presents the<br />

sub-services which will be called at the corresponding execution point. Figure 6-12 presents<br />

an example of a web service composition which goal is to create meteorological forecast<br />

maps. The problem is that we do not have a web service which does this. However, we<br />

have other services which can be combined to achieve the goal, because we have services for<br />

partial tasks. The whole composed process has three steps. First, the meteorological model<br />

from the gathered data is created. Second, the forecast is computed. Third, based on the<br />

forecast from the previous step, the meteorological maps are created.<br />

Create meteo<br />

model<br />

Compute<br />

forecast<br />

Create meteo<br />

forecast maps<br />

Figure 6-12. Web service composition example.<br />

Web services are specified by preconditions, effects, input and output parameters. The precondition<br />

defines the propositions for the state of the world which has to be satisfied. Effects<br />

are the postconditions which will be true after successful execution of the web service. Input<br />

and output parameters define the input data for the web service and the data produced by<br />

the service. The goal we want to reach can be related to the output parameters, effects or<br />

both. In the example above, the goal is the data of meteorological forecast maps and we do<br />

not care about the effects. There are situations when our aim is not to get data, but to affect<br />

the world. These two cases divide the services to data-centric and state-centric. Although,<br />

there are also cases, when we are interested in resulting data and also state.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!