▶ an uniform communication mechanism (interoperability),
▶ well defined and published APIs (Application Program Interface),
▶ publishes interfaces to enable remote access,
▶ permitting the use of the shared resources (objects),
▶ allows access independently from specific hardware, (computer) languages and
▶ from heterogeneous sources (clients/users),
▶ and is well tested and verified regarding these requirements.