  The automatic composition of web services refers to how services can be used
in a complex and aggregate manner, to serve a specific and known functionality.
Given a list of services described by the input and output parameters, and a
request of a similar structure: the initially known and required parameters; a
solution can be designed to automatically search for the set of web services
that satisfy the request, under certain constraints. We first propose two very
efficient algorithms that solve the problem of the automatic composition of the
web services as it was formulated in the competitions organized in 2005 and
2008. The algorithms obtain much better results than the rest of the
participants with respect to execution time and even composition size.
Evaluation consists of running the previous and the proposed solutions on given
benchmarks and generated tests. Further, we design two new models to match
service's parameters, extending the semantic expressiveness of the 2008
challenge. The initial goal is to resolve some simple and practical use-cases
that cannot be expressed in the previous models. We also adhere to modern
service description languages, like OpenAPI and especially schema.org.
Algorithms for the new models can solve instances of significant size.
Addressing a wider and more realistic perspective, we define the online version
of the composition problem. In this regard, we consider that web services and
compositions requests can be added and removed in real-time, and the system
must handle such operations on the fly. It is necessary to maintain the
workflows for users who actively run the compositions over time. As for the new
semantic models, we propose new algorithms and provide comprehensive evaluation
by generating test cases that simulate all corner cases.
