UNICORE has special characteristics that make it unique among federation middleware systems. The UNICORE design is based on several guiding principles, that serve as key objectives for further enhancements.
- Open source under BSD license.
- Standards-based, conforming to standards from the Open Grid Forum (OGF), W3C, OASIS, and IETF, in particular the Web Services Resource Framework (WS-RF 1.2), JSDL etc.
- Open and extensible realized with a modern Service-Oriented Architecture (SOA), which allows to easily replace particular components with others and to easily add features.
- Seamless, secure, and intuitive following a vertical, end-to-end approach and offering components at all levels of a modern federated architecture from intuitive user interfaces down to the resource level. UNICORE seamlessly integrates into existing environments.
- Mature security mechanisms adequate for the use in supercomputing environments and distributed research infrastructures. HTTPS, X.509 certificates, SAML and XACML form the basis for authentication and authorisation, enhanced with a many options such as virtual organisations (VO) based access control, OpenID Connect authentication and others.
- Workflow support tightly integrated into the stack.
- Application integration mechanisms on the client, services and resource level for a tight integration of various types of applications from the scientific and industrial domain.
- Different clients serving the needs of various scientific communities, e.g. graphical clients to define complex workflows, command line tool, webbased access and RESTful APIs.
- Quick and simple to install and configure to address requirements from operational teams and to lower the barrier of adopting federation technologies. Similarly the configuration of the various services and components is easy to handle.
- Various operating and batch systems are supported on all layers, i.e. clients, services and systems; Linux, Unix, MacOS, and Windows systems as well as different batch systems are supported such as LoadLeveler, Torque, SLURM, LSF, etc.
- Implemented in Java and Python to achieve platform independence.