|
|
|
|
|
|
|
|
|
|
|
|
|
|
Discovery & Selection |
|
Support for yellow pages |
|
Preconditions/effects sufficiently expressive |
|
Invocation/interoperation |
|
Input/outputs (invocation) |
|
Execution model |
|
Asynchronous messaging |
|
Disconnected operation |
|
Transactions & integrity |
|
Error recovery |
|
Rollback vs. “fix” |
|
|
|
|
|
|
|
Composition |
|
Sufficiently expressive preconditions/effects |
|
Pervasive computing |
|
Dynamic binding |
|
User constraints & preferences |
|
Semantic brokering |
|
Compatibility with existing standards |
|
WSDL, uPnP, Corba?, … |
|
|
|
|
|
|
|
“Web of Services” |
|
Compositional architecture |
|
API mechanisms supporting modularity, reuse |
|
Distinguish API from implementation |
|
1-way reference (via URIs) |
|
Business Rules |
|
Security |
|
Compatibility with existing standards |
|
Support composition of multiple approaches |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Classes of classes |
|
E.g., powerset(C) as range of a property |
|
Properties of properties, property as range |
|
Grounding mappings |
|
Need path language, classes of classes,
properties of properties |
|
Parameter bindings |
|
Need path language (for one thing) |
|
Processes as classes (not instances) |
|
Conditions & effects! |
|
Variables, quantifiers, scope |
|
State |
|
listOfInstancesOf |
|
|
|
|
|
|
|
|
|