The service layer comprises all services and components of the UNICORE Service-Oriented Architecture (SOA) based on WSRF 1.2, SOAP, and WS-I standards.
The Gateway is a HTTPS reverse proxy, that primarily serves as a firewall transversal point to avoid having to configure many open firewall ports. The Gateway acts as the entry point to a UNICORE site and forwards information about the connecting client (such as the client’s IP address and or SSL certificate) to the servers behind it.
The UNICORE/X server is the central component of a UNICORE installation. It accepts the client requests that are transmitted via the gateway, authenticates the request, checks authorization and invokes the appropriate service. It provides a set of service interfaces that are hosted in a container called UNICORE Services Environment (USE). These services include job submission and management, storage access, file transfer and others. The UNICORE/X server accepts jobs, submits them to the local systems via the TSI, allows to upload and download data via several protocols, and thus provides most of the functionality of UNICORE. UNICORE/X can use other resources like CDMI storage, S3, Apache Hadoop HDFS or as storage backend.
The Registry is very much like a UNICORE/X server, however it runs only a single service (the “shared registry” service), which allows clients to discover available services hosted by multiple UNICORE/X servers. A single service registry is necessary to build-up and operate a distributed UNICORE infrastructure. This service registry is contacted by the clients in order to “connect to the Grid”. Like UNICORE/X, the service registry runs in UNICORE’s WSRF hosting environment.
The workflow support in UNICORE is implemented as a two-layered architecture consisting of a workflow engine and the service orchestrator layer. The workflow engine deals with high-level workflow execution, offering a wide range of control constructs and other features.
The workflow features of UNICORE can be used from the graphical UNICORE Rich Client (URC), web portal and from the command line client (UCC). The URC offers a powerful graphical workflow editor and sophisticated workflow monitoring features.
The service orchestrator layer is responsible for executing the individual tasks in a workflow, handling job execution and monitoring on the Grid. Different brokering strategies are implemented to find the best suited resources for each workflow step. Other brokering strategies can easily be plugged-in. To increase performance and scalability of the service orchestrator layer, multiple instances can be installed.