The architecture designed allows Anjana Data Platform to govern different technologies, clusters and environments, and also makes it independent from each vendor's product versions: for each version there will be a microservice with the specific functions that may exist in each of them, and if needed it can be isolated to avoid incompatibilities or security issues. With this, Anjana Data Platform is the ideal tool to govern complex environments and architectures, such as multi-cloud, hybrid, big data, AI-Ready, etc., and it keeps the platform ready for new technologies and/or new uses of information technologies yet to come.
In this way, Anjana Data Platform offers a versatility and agility of growth that allows new versions with expanded capabilities to be delivered in very short periods of time, as well as full customization capability for the functionalities mentioned above.
Anjana Data Platform's technical architecture uses the Spring Cloud technology stack in its most recent versions, including the corresponding product modules (Springboot, Eureka, Config, Security). In order to achieve maximum independence from the technology/architecture, Anjana Data Platform also makes use of a repository to store files or records.
In this regard, the technology stack can be grouped into the following blocks:
Microservices based on Spring Cloud technologies
-
The Spring Cloud technologies used and the product's design make it feasible to implement high availability and load balancing at every point of the platform, many of which are de facto redundant due to the technology used and the platform's minimum requirements.
-
Thanks to Spring Cloud + Eureka as the registry and synchronization manager, a dynamic and redundant microservices structure is built, enabling a complete customization layer for the system that allows the relocation and balancing of practically all of its modules, both internal and public.
-
Through the agnostic approach offered by Spring JPA technology and the customization layer based on Spring Boot microservices, these pieces could easily be replaced by other technologies with similar functionality.
-
To monitor the microservices ecosystem, Anjana Data Platform uses a Spring Boot Admin web administration panel, through which the status and detailed metrics of each service can be known, observed, easily consumed by the user, or integrated into an external monitoring platform.
-
Regarding scalability, the use of highly efficient multi-thread technologies and the possibility of practically unlimited horizontal scaling in each of its critical components make the initial volume of concurrent users and governed datasets very high. In figures: with the recommended configuration, a volume of 700 users and 100,000 data assets can be served without the need for queuing.
Internal traffic with API gateway
-
Anjana Data Platform uses the API Gateway to redirect internal traffic in a highly efficient way. For example, the controllers responsible for performing low-level system tasks (listing tables, creating directories, etc.) are not within the backends, but are invoked by the microservices.
-
This design allows the tool to evolve; if any controller becomes obsolete, the service in question can be dismantled and replaced in the most effective way.
Front-end with Angular
-
Both the portal and the administration panel have their front-end layer built in Angular
-
The use of this technology makes it possible to generate a user-friendly interface that is fully operable by both technical and business users.
-
Fully integrable with the Back-end technology to offer all the functionalities that allow full control of Anjana Data Platform and its modules (data portal, lineage, audit, creation/modification, data marketplace, workflows, etc.)
-
Fully manageable administration portal that allows configuring Anjana Data Platform without the need to write code or access databases.
Storage technologies
-
The use of well-established open-source technologies helps reduce costs while achieving high reliability, interoperability and evolution. Anjana Data Platform uses PostgreSQL and DocumentDB for the data persistence layer and Apache SolR/OpenSearch as the search engine.
-
Since massive record storage is carried out in SolR/OpenSearch, a specific technology based on redundancy and scalability, it is practically unlimited and easily configurable.
-
Document management, configuration files and translations are stored in SeaweedFS or AWS S3, a storage server that allows storing various types of structured and unstructured data.
-
Shared cache management is carried out with Valkey, a cache manager accessible by all microservices to reduce memory load and latency.
-
Asynchronous workload management is carried out with queues in RabbitMQ, a versatile and simple queue manager to avoid unnecessarily blocking processes.
-
Distributed process coordination is carried out in an agile and reliable way thanks to Apache Zookeeper technology.
Authentication and authorization
-
Anjana Data Platform is designed so that the user can choose which provider to authenticate against, and authorization is handled through the internal database configuration, configurable from Portuno.
-
LDAP protocol: The Zeus module supports LDAP service, either with OpenLdap or Active Directory schemas.
-
OAuth2 protocol (OIDC Azure/AWS/GCP/Auth0).
-
SAML2 protocol (Azure/AWS/GCP/Auth0).
BPM under the BPMN 2.0 standard
Anjana Data Platform incorporates Activiti as an open-source BPM fully integrated into the solution, supporting the BPMN 2.0 standard, thanks to which fully customized validation workflows can be designed and implemented:
-
Workflows are based on the configured model of roles, organizational units and permissions, and are also integrated with the alerts, messages and notifications module to foster collaboration among participants.
-
Predefined workflows are available in Anjana Data Platform, but additional workflows can also be created to validate the different actions performed in Anjana Data Platform (by object type, action type, role type, business area, etc.).
-
For each workflow, all validation steps can be configured (order and role/roles that validate), as well as customizing the notifications sent to the different participants at each step, or even adding specific actions supported by the standard (running a script, triggering another action, sending an email, calling APIs, etc.).
-
Additionally, complex workflows based on the values of an object's metadata attributes can be configured (e.g. different workflows for assets that include personal data).
-
All workflows, along with all their information (workflow steps, status, actions, users involved, etc.), are tracked and can be viewed through the Anjana Data Platform UI, where you can also filter to display only the workflows of interest and access the detail of each workflow.
Integration and interoperability mechanisms
Regarding integration with various technologies, Anjana Data Platform is fully integrable and interoperable and can connect with any technology through the following methods:
-
Plugins and Agents developed by the Anjana Data Platform Product team, which offer native integrations with various technologies, covering different operating modes and configuration options (see details in the component catalog by zone, below).
-
Ad-hoc developed plugins and connectors: An SDK (software development kit) is provided that allows both customers and partners to develop their own connectors autonomously, to implement specific required functionalities and uses without needing to alter the product.
-
By making use of the different API layers provided by Anjana Data Platform, both to import and export the desired information, as well as to execute specific actions in the application. In this regard, Anjana Data Platform has 3 API layers: public, administrative and configuration; each with a specific purpose and aimed at different profiles.
-
MCP (Model Context Protocol): a module that allows an AI Agent to search, query and edit Anjana Data Platform entities, DSAs, adherences and audit logs in self-service mode (see details in AI (BETA), below).
In addition, the ability to execute custom actions in the application as well as to launch external scripts is added, thanks to the following alternatives:
-
By using an internal interceptor and its corresponding SDK, which is provided with Anjana Data Platform
-
By using the BPM module, based on Activiti, following the BPMN 2.0 standard, from which any type of workflow can be defined, in whose steps the launching of said actions and/or scripts can be defined.
-
By making use of the different API layers provided by Anjana Data, in the same way as indicated above. In this regard, the use of the APIs can be orchestrated by an internal scheduler or executed from triggers.
As for the Plugins, these allow Anjana Data Platform to execute actions on the governed systems, as well as to retrieve metadata and incorporate it into Anjana Data Platform, enabling assisted and automatic metadata import.
RESTful API with Swagger
Finally, to ensure that Anjana Data Platform is 100% interoperable, the entire solution is fully API-enabled with RESTful API and Swagger. Thus, Anjana Data Platform has three layers of APIs that serve different purposes:
-
Public: The public API layer offers user functionalities to interact with Anjana; from this API layer you can access the different modules offered by the tool, such as: object creation/modification, lineage, history, audit, alerts and notifications, and data marketplace.
-
Administrative: Through the administrative API layer, the metamodel can be managed in administrator mode, that is, modifications can be made to the metamodel (creation/modification of objects) without having to go through the validations defined for users.
-
Configuration: This API configuration layer allows managing the tool's configuration in all its dimensions:
-
Management of Organizational Units, Roles and permissions.
-
User management.
-
Management of Objects, validation workflows and attribute templates
-
Management of attributes and attribute validations.
-
Management of search filters
-
Language management
-
Dashboarding
In terms of reporting capabilities, Anjana Data Platform incorporates Grafana as an open-source self-service and reporting tool fully integrated into its architecture stack.
Dashboarding: Anjana Data Platform's data model is open, so the information contained in the tool can be extracted for use in any Dashboarding tool, such as Grafana, Azure PowerBI, Google Looker or Amazon QuickSight, among others.
Dashboarding with Grafana: Anjana Data Platform, through its native integration with Grafana, offers the ability to build custom reports and dashboards autonomously and dynamically without the need to code, using functions such as clicks and drag & drop. Additionally, Grafana provides the ability to perform time series analysis and configure real-time alerts that facilitate the monitoring and management of the implementation of data governance as well as data quality.
Solution components
The following describes how Anjana Data Platform's modules are grouped into functional zones. The underlying technologies of each have already been described in the previous sections.
Web Zone
Portuno UI
It is a web-based solution built on a microservices architecture that makes use of well-established open-source technologies to offer an administration portal, which allows users to configure the Anjana Data Platform ecosystem.
Anjana UI
It is a web-based solution built on a microservices architecture that makes use of well-established open-source technologies, offering a wide range of functionalities focused on catalog management and data self-service, characterized by a very high accessibility criterion and a simplified, collaborative usage.
Control Zone
Drittesta
This module is the tool for retrieving information about the work of the Anjana Data Platform ecosystem, in order to provide a response and support to the platform's customers. This data will be sent to an external infrastructure server.
Integrations Zone
Zeus
A module that provides service authorization. In accordance with OAuth 2.0/SAML2, the specification defines a delegation protocol that is useful for transmitting authorization decisions across a network of web-enabled applications and APIs. OAuth is used in a wide variety of applications, including providing mechanisms for user authentication.
Tot
Module in charge of integration with different technologies to perform the following tasks: creation of data structures by exporting and loading the required metadata into the corresponding data platform, provisioning of roles and groups to the identity management platform, provisioning of the necessary permissions (grants and acls) at the locations of governed datasets, and basic on-the-fly query execution for displaying data samples.
It also includes the necessary clients to automatically import and/or infer the metadata and static lineage of external information sources and load them into KERNO. In this way, the user is relieved of the manual task of entering metadata in Anjana Data Platform for all those sources and technologies for which the corresponding extractor has been developed and integrated.
As it is an external service developed with Spring Boot microservices, different extractors for different sources and technologies can be added incrementally and independently. In addition, since it is integrated with KERNO through the REST API, third-party developments can be used for this purpose and feed ANJANA CORE, provided the information is supplied in the way KERNO expects to receive it. In some cases, the execution of these processes can take too long, so these operations are defined asynchronously, to avoid unnecessary waiting for the user in the application. The execution of these processes will be carried out by sending requests to the responsible module, which will connect to the source and, once the extraction and loading of the metadata is complete, the user will be notified.
TOT Plugins
TOT plugins are used to perform the actions carried out through TOT; each plugin acts on a logical partition, resolving a connection, and can trigger several actions depending on the technologies involved, and a technology can have more than one plugin depending on its possible uses. The available plugins can be configured and/or modified for specific purposes or ad-hoc implementations, while new plugins can be developed and deployed following the standards recommended by Anjana Data Platform.
API Zone
Portuno
This is the module where all of Anjana Data Platform's configuration and the information for the Admin web front end are centralized. This module manages Anjana Data Platform's internal databases, where the instance configuration and the designed workflows that are later executed in Hermes are stored.
Hermes
This module is the validation workflow management tool and is based on the Activiti engine. Activiti is the leading lightweight, Java-centric open-source BPM engine, which supports real-world process automation needs. Following the BPMN 2.0 standard, it offers an engine for different processes, allowing different validation workflows to be configured.
Kerno
This is the basic module of the functional architecture, which includes the solution's main functionalities and the structures common to all modules.
Minerva
This module is the tool for centralizing, organizing and indexing all the metadata and audit information of the Anjana Data Platform ecosystem.
Marketplace
This module is the tool for centralizing, organizing and managing assets for access management.
Viator
Based on Spring Cloud Gateway, it is the entry point for any of Anjana Data Platform's APIs, both for any user as well as for the web front ends or internal communication between microservices.
Orchestration Zone
Horus
It is a central configuration service that serves configurations from a Secret Manager, Databases, or from git during microservice startup.
It is also based on Netflix Eureka, where microservices register at startup and from which the status of each one can be known. When a microservice needs to connect to another, Horus provides it with the hostname and current IP, so that the interaction between the architecture's microservices is self-orchestrated.
Storage Zone
Groups together the persistence, indexing, messaging and cache modules already described in the Storage technologies section above (S3/SeaweedFS, PostgreSQL/DocumentDB, SolR/OpenSearch, RabbitMQ and Valkey).
AI
MCP
Anjana Data has committed to customer self-service for consuming metadata, audit information and lineage, and even modifying them, in ADP. For this purpose, there is a Beta module that, through different tools, allows an AI Agent to search for and query entities, DSAs and audit logs, explore an entity's lineage, manage adherences to DSAs, and create, edit and submit entities for approval.