This document introduces xal‘s concepts.
xal‘s primary concept is to develop to a session, i.e. have an unified API to manage resources that can be applied relative to session objects. Then, xal is a proof-of-concept implementation of this idea. So its internal architecture may change (improve).
Here is a summary of xal‘s internal architecture:
- a session holds a registry of resource providers.
- in order to use xal or related libraries, you have to setup a session ;
- in order to write xal-powered scripts or libraries, you receive session instance as an input argument.
- a resource provider implements high-level resource API for specific environment, typically using third-party libraries (stdlib, Fabric, ...). A resource provider is also a resource factory.
- a resource instance describes an object of the environment: a file, an user, ...