Services

Services provide for remote execution of code in a way that is scalable, fault-tolerant, dynamic and language-independent. Services can be written in a variety of languages and do not need to be compiled or linked with DataSynapse code. There are client-side APIs to create Service Sessions using Java, C++, COM, R, and .NET. A Service object on a client can create and use a Service implemented in the same or another language. In the Service model, requests on the client are routed over the network, ultimately resulting in invocations on a remote machine, and response values make the reverse trip.

With GridServer, Services are virtualized; rather than send a request directly to the remote machine hosting the Service Session, a client request is sent to the GridServer Manager, which enqueues it until an appropriate Engine is available. The Manager selects which Engine services a request. The first Engine to dequeue the request hosts the Service Session. Subsequent requests can be routed to the same Engine or can result in a second Engine running the Service concurrently. For information about how this decision is made see the TIBCO GridServer® Administration. If an Engine hosting a Service Session becomes unavailable, another takes its place. This mechanism, in which a single virtual Service Session is implemented by one or more physical Sessions (Engine processes) provides for fault tolerance and essentially unlimited scalability.

See Creating Services for details how to implement Services; Accessing Services explains how to use Services in your application.