Requirements for APIs

To open the discussion about requirements for APIs, an inventory was presented encompassing complaints about the functionality of the Web, observations concerning its 'nature', general requirements for open systems development, a wish-list of desired behavioral characteristics and potential (technological) answers.
Complaints
  • lack of referential integrity
  • undetected failures
  • no control over Quality of Service
Observations
  • dynamic quality of services
  • complex interaction
Requirements
  • uniformity, openness, flexibility, orthogonality, layered, platform-independent
Behavior
  • reliable, configurable, monitoring, notification, triggering, thread-safe
Answers
  • object-oriented, components, virtual APIs, callbacks, plug-ins

slide: Requirements for APIs

It was observed by Mark Brown that requirements could not be stated without an explicit indication of a perspective, that is the kind of application for which the API is intended. In contrast, the  [W3Creference] library makes no such distinction, but tries to provide a platform for a variety of applications.