Uploaded image for project: 'Kogito'
  1. Kogito
  2. KOGITO-7766

Data Index as Quarkus extension


    • False
    • None
    • False
    • ---
    • ---
    • 2022 Week 44-46 (from Oct 31), 2022 Week 47-49 (from Nov 21), 2022 Week 50-02 (from Dec 12), 2023 Week 03-05 (from Jan 16)

      Data Index functionally to persist and retrieve data using its GraphQL API currently requires users to run a separate instance of the service, connecting the runtime via Kafka using cloud events so that information is replicated across. This approach is beneficial, especially when you have multiple Kogito runtimes producing data to a single Data Index where information from all processes can be correlated. In specific scenarios, however, this architecture can be an extra overhead when there is a need to only store and retrieve data from a single runtime execution. To achieve this, we can provide Data Index features as Quarkus extensions to be colocated with the Kogito runtime, removing the need for an extra deployment and Kafka messages.

      By allowing Data Index to be used as a Quarkus extension, any process and task execution will automatically be persisted using the Data Index extension storage in use. This requires that different storage type of the extension to be provided so users can choose it from.

      For instance, the initial supported list will be:

      • kogito-addons-quarkus-data-index-infinispan
      • kogito-addons-quarkus-data-index-mongodb
      • kogito-addons-quarkus-data-index-inmemory
      • kogito-addons-quarkus-data-index-postgresql


      By adding the extension to the runtime, indexing of the data starts to happen automatically, and the GraphQL endpoint becomes available to retrieve this data. In there, it will be possible to retrieve data from processes and tasks.


      Note: The Data Index Quarkus extension offers a subset of the schema available when compared to using the Data Index service. For instance, domain specific and jobs related queries are not available. Also, any GraphQL mutation target as Gateway API is also not supported. 


            cnicolai@redhat.com Cristiano Nicolai
            cnicolai@redhat.com Cristiano Nicolai
            Marian Macik Marian Macik
            0 Vote for this issue
            1 Start watching this issue