Services Breakout:
Expressiveness
Challenges
&
Industry Trends
| 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 | ||
5 (cont.) Espressiveness challenges
| 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 | ||