The e-services initiative is based on a distributed, object-oriented development and deployment framework called e-speak. The object model supports e-service providers and consumers. E-service providers register and describe their wares to an e-speak server–referred to as a logical machine–and then wait for a prospect to call. Prospects–requestors for e-service in e-speak jargon–connect to a server to find a provider for a specific e-service need. The server plays matchmaker by returning a list of candidate providers that satisfy the requirement. The requestor selects one, contracts with the e-service provider and initiates the request, which can be fulfilled either inline or asynchronously. Upon completion of the transaction, the requestor and e-service provider part company and the cycle repeats itself.
The above grossly understates the capabilities of the environment. Essentially, e-speak establishes a universal open service platform on the internet. It can make existing computing resources–files, printers, Java objects or legacy applications–available as e-services and foster the extension of that model to any network-enabled resource in the future.
E-speak provides the basic building blocks for e-service creation and includes:
-
Private access to e-services.
-
Creation, advertisement and discovery of e-services.
-
Mechanisms to negotiate and find the e-service for a specific need.
-
Monitoring, billing and management of e-services.
-
Independence of operating system, programming language and device.
All access to resources, which is the software object that implements an e-service, is mediated. E-service descriptions are virtualized. It can be implemented as native e-speak services application programming interfaces (API) or proprietary e-services can be wrapped. E-speak maps between virtual and actual references. It maintains a separate name space for each client. It sees all requests for resources and names for resources as shared by convention.
E-speak is written in Java and can run on any platform supporting a Java virtual machine (JVM). It is supported on HP-UX, Linux, Chai JVM and Windows NT and will be certified for other operating systems such as Solaris, AIX, UnixWare, OS/390 and OS/400. The e-speak service APIs are written in Java, with Python and Perl libraries planned.