Backend Services#

The LEXIS UserOrg service was originally designed to manage relationships between users and organisations. Over time, it has evolved into a comprehensive platform that manages mappings for both LEXIS computational projects and HPC computational projects.

Technical Specification#

  • Interface: The service provides a Swagger/OpenAPI v3.0.1 interface over HTTPS. It supports the management of providers, resources, projects, and the definition of mappings between these entities (e.g. assigning resources to projects, template creation, etc.).

  • Interoperability: By utilising the Swagger standard for API definition, client libraries (SDKs) can be easily generated for a wide range of programming languages.

  • Implementation: Developed using the .NET Core framework. The service uses Entity Framework (EF Core) to map models defined in the Swagger specification to the database schema.

  • Data Storage: MSSQL is utilised for persistent data storage.

  • Validation and Auditing: The API features input request validation along with a robust system for activity auditing and logging.

Security and Access Control#

Authentication and authorisation are managed via Keycloak. Every valid request must include a Bearer token. The service verifies this token with the Keycloak authorisation server to ensure validity and enforce user permissions.

Key Functionalities#

The service enables:

  • Collection and storage of information regarding project repositories.

  • Configuration of templates for executing jobs on computational clusters.

  • Provision of general information about HPC clusters and their providers.

  • And more…

Future Outlook and Planned Features#

Development is currently underway on a new version of the system, focusing on performance enhancements, security, and expanded connectivity. Key planned innovations include:

  • Database Layer Optimisation: Increasing throughput and data processing efficiency to reduce system latency.

  • API Segmentation: Strict separation of endpoints for regular users and administrative management to enhance system security and clarity.

  • External Platform Integration: Expanding connectivity options via the STOMP protocol and other integration tools for real-time communication.

  • Expanded Provider Support: Implementation and integration of additional provider types within the FIP architecture.