Component-based APIs for versioning and distributed applications
Stets, R.J.; Hunt, G.C.; Scott, M.L.
Computer
Volume 32, Issue 7, Jul 1999 Page(s):54 - 61
Digital Object Identifier 10.1109/2.774919
Summary:Operating system application programming interfaces (APIs) are
typically monolithic procedural interfaces that address a single
machine's requirements. This design limits evolutionary development and
complicates application development for distributed systems. Current
APIs tend to be large, rigid, and focus on a single host machine.
Component-based APIs could solve these problems through strong
versioning capabilities and support for distributed applications.
Ideally, obsolete API calls should be deleted, and calls with modified
semantics (but unmodified parameters and return values) would remain the
same. However, since the OS must continue to support legacy
applications, obsolete calls cannot be deleted, and new call semantics
are best introduced through new calls. In addition, typical OS APIs do
not adequately address the needs of distributed applications: they have
support for intermachine communication but lack high-level support for
accessing remote OS resources. The primary omission is a uniform method
for naming remote resources, such as windows, files, and synchronization
objects
View citation and abstract |