Information Technology Reference
In-Depth Information
parameters in the initial composite web service, a x , a y . All the previous steps are
repeated for the altered composite web service C until no common part exists between
its' parameters. Then, C is returned, as was formed from the procedure and represents
a composition having sequence , split and split-join control constructs that functionally
represents the data flow among the participating simple web services.
After the completion of Join , the null parameters of the functional representation
created so far are cleared and the pointless control constructs are removed, e.g. the
expression split ( A ) becomes A . Finally, the duplicate references to control constructs
are eliminated This means, that the expression seq ( seq ( A , B ), C ) is transformed to the
equivalent one seq ( A , B , C ).
Fig. 3. Composition example
A short example of the whole procedure is given to clarify its workings. In Fig. 3 a
web services composition plan is depicted in a graphical way. The clear service is
only the service A , so the result of the Basic algorithm, before calling the algorithm
Join , will be seq ( A , split ( seq ( B , D ), seq ( C , D ))). The Join algorithm will notice that the
parameters seq ( B , D ) and seq ( C , D ) have the service D as a common part, so the split
control construct can be replaced by a split-join one. By removing the common part
from each parameter, the results are the representations seq ( B , null ) and seq ( C , null )
and they are added as parameters in a new split-join control. Since the common part is
not in a split expression in none of the two parameters, the resulting common part is
just the service D and the new sequence representation is constructed as follows:
seq ( split-join ( seq ( B , null ), seq ( C , null )), D ). This representation replaces the split of the
initial expression and the result is the representation seq ( A , seq ( split-
join ( seq ( B , null ), seq ( C , null )), D )).
After the completion of the clearing algorithm the functional representation is
transformed to seq ( A , seq ( split-join ( B , C ), D )) which finally becomes seq ( A , split-
join ( B , C ), D ) at the last step, which is an accurate functional representation of the
composition.
3.2 Creating OWL-S Descriptions
Up to this point, a functional representation has been constructed that supplies suffi-
cient information on the data flow of the composition. But, for the procedure to be
complete so as to provide the user with a new semantic web service ready for execu-
tion, the OWL-S description has to be constructed. This is done based on this repre-
sentation. The descriptions that are constructed by the algorithm are the process and
the profile descriptions. The OWL-S API, which can be found at [11], was used for
their creation. This OWL-S API is a JAVA library providing functions that facilitate
the creation of OWL-S descriptions.
First, the process file is created by the algorithm 4, OWLSProcess . The algorithm
takes as input parameter the composite web service representation C , as formed by the
Search WWH ::




Custom Search