Web Service Research Issues
-
Composition -
How a Web services put together to form processes?
Goal: Better tools for assisting human designers/developers
and greater automation.
-
Languages and Specifications -
WSFL, XLANG, BPEL4WS, DAML-S.
-
Static vs. Dynamic -
In static, composition is established at design time before
the Web process is run. In dynamic, some Web services are
selected as need while the process is running.
-
Matching -
Find candidate Web services using a matching algorithms that
compares "service requests" with "service advertisements".
Matching based on keywords and or the types of inputs/outputs
supported in UDDI. Semantic matching ...
-
Mapping -
Select/transform outputs from one Web service into inputs for
another Web service. Facilitate code generation of service
call from one Web service to the next.
-
Global Optimization -
Optimize overall properties of a Web process.
-
Enactment -
How is the enactment/execution a Web process managed.
Goal: Flexible and effective enactment of Web processes.
What to do if something goes wrong.
-
Infrastructure -
Web servers, application servers, servlets, EJB, ...
-
Centralized vs. Distributed -
A centralized implementation is straightforward as the
process can be coded as a script (e.g., in Perl or Python)
or program (e.g., in Java or C#).
Advantages of a distributed implementation include ...
-
Exception Handling -
A Web service should also indicate the exceptions it throws.
-
Recovery -
If a failure occurs at some point in the execution of a
process instance, what can be done: alternative services,
compensation services, backward recovery, forward recovery, ...
-
Transactions -
Support for atomicity (and isolation?). Commit protocols.
Nested Transactions.
-
Performance Improvement -
How can the performance of Web processes be improved.
Goal: Produce better designs or adapt running Web processes.
-
Performance Evaluation -
Collecting timing data on each of the Web services.
-
Monitoring -
Observing the current state of the Web process (e.g., graphically).
-
Simulation -
Explore what-if questions about actual or potential Web processes.
-
Quality of Service -
Time (service time, waiting time, total time), Cost (invocation charge,
leasing charge), Reliability (failure rate, exception rate).
-
Application to Bioinformatics -
Bioinformatics is a complex, data intensive discipline in which
integration/interoperability of data and computational services
are problematics, thus making it well suited for the adoption of
Web services.
-
Wrapper Generation -
Tools for creating wrappers for database or computational service
which turn them into Web services.
-
Data Integration -
Ability to combine information from multiple data sources/databases.
Combining multiple XML documents.