First, we have the traditional service design where the wire protocols of the interfaces are explicitly defined. For example, many recent directory services can be accessed using the LDAP wire protocol. In addition to this protocol there will be APIs, data formats, schema, authentication and privacy, which complete the design of the interface. A second style of service design is emerging where the interface is defined by objects that can be shared with the user of the service, and that hide the underlying protocols that are used to access the service. In general this paper will focus on the more traditional style, but we believe that the simplicity and better abstraction provided by Jini technology-embedded services will become increasing important in the world of millions of services and billions of devices.
Most services have more than one interface by which they are accessed.
Each is functionally distinct with its own APIs, protocols, and so on. For example, the interface used to manage and monitor a service is very different from the one that end users would access. Some services also present their primary function in different ways through different interfaces. While network services provide functionality through their interfaces, they also consume other network services. In fact, the primary users of many network services are other network services.