Skip to content

Commit

Permalink
629 - Remove inifnispan and mongodb refs from Data index
Browse files Browse the repository at this point in the history
  • Loading branch information
domhanak committed May 22, 2024
1 parent a412e50 commit 935b513
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@ The following table serves as a quick reference for commonly used configuration
a|Defines the type of persistence database. The possible values of this property include:

* `jdbc`
* `mongodb`
* `filesystem`
* `kafka`
* `infinispan`
* `postgresql`
|string
|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,24 @@
:cloud_events_url: https://cloudevents.io/
:graphql_url: https://graphql.org
:vertx_url: https://vertx.io/
:infinispan_url: https://infinispan.org/
:mongo_url: https://www.mongodb.com/
:postgresql_url: https://www.postgresql.org/
:dev_services_url: https://quarkus.io/guides/dev-services
:flyway_quarkus_url: https://quarkus.io/guides/flyway

// Referenced documentation pages
:path_resolution_url: https://quarkus.io/blog/path-resolution-in-quarkus/#defaults

In {product_name} platform there is a dedicated supporting service that stores the data related to the {workflow_instances} and their associated jobs called *{data_index_ref}* service.
This service also provides a GraphQL endpoint allowing users to query that data and perform operations, also known as mutations in GraphQL terms.
.Prerequisites
* Basic understanding of link:https://graphql.org/learn/[GraphQL].
The data processed by the {data_index_ref} service is usually received via events. The events consumed can be generated by any workflow or the xref:job-services/core-concepts.adoc[Job service] itself.
*{data_index_ref}* service is a dedicated supporting service that stores the data related to the {workflow_instances} and their associated jobs.
This service provides a GraphQL endpoint allowing users to query and modify that data.

The data processed by the {data_index_ref} service are received via events. The events that {data_index_ref} consumes can be generated by any workflow or the xref:job-services/core-concepts.adoc[Job service] itself.
This event communication can be configured in different ways as described in the <<data-index-service-communication, {data_index_ref} communication configuration>> section.

The {data_index_ref} service uses Apache Kafka or Knative eventing to consume link:{cloud_events_url}[CloudEvents] messages from workflows.
The event data is indexed and stored in the database for querying via GraphQL. These events contain information about units of work executed for a workflow.
The event data is indexed and stored in the database for access via GraphQL. These events contain information about units of work executed for a workflow.
The {data_index_ref} service is at the core of all {product_name} search, insight, and management capabilities.

The {product_name} Data Index Service has the following key attributes:
Expand All @@ -43,11 +44,9 @@ The {product_name} {data_index_ref} Service is a Quarkus application, based on l
The indexing functionality in the {data_index_ref} service is provided by choosing one of the following persistence providers:
* link:{postgresql_url}[PostgreSQL]
* link:{infinispan_url}[Infinispan]
* link:{mongo_url}[MongoDB]
====

The {data_index_ref} Service has been thought of as an application to store and query the existing workflow data. The data comes within events. The service allows multiple connection options as described in the <<data-index-service-communication, {data_index_ref} service communication configuration>> section.
The {data_index_ref} Service has been designed as an application to store and query the existing workflow data. The data comes within events. The service allows multiple connection options as described in the <<data-index-service-communication, {data_index_ref} service communication configuration>> section.

[#data-index-deployments]
== {data_index_ref} scenarios
Expand All @@ -66,8 +65,8 @@ This type of deployment requires to choose the right image depending on the pers

[#data-index-dev-service]
=== {data_index_ref} service as Quarkus Development service
It also can be deployed, transparently as a *Quarkus Development Service* when the Quarkus Dev mode is used in the {product_name} application.
When the {product_name} Process Quarkus extension is utilized, a temporary {data_index_ref} Service is automatically provisioned while the Quarkus application runs in development mode. The Quarkus Dev Service is immediately available for use.
When the Quarkus Dev mode is used in the {product_name} application, {data_index_ref} can be deployed transparently as a *Quarkus Development Service*.
When the {product_name} Process Quarkus extension is utilized, a temporary {data_index_ref} Service is automatically provisioned while the Quarkus application runs in development mode making the Quarkus Dev Service available for use.

image::data-index/data-index-dev-service.png[Image of data-index deployment an Quarkus Dev Service]

Expand All @@ -78,7 +77,7 @@ The {product_name} Process Quarkus extension sets up your Quarkus application to
For more information about Quarkus Dev Services, see link:{dev_services_url}[Dev Services guide].

=== {data_index_ref} service as Quarkus extension
It can be included as part of the same {product_name} application using the *{data_index_ref} extension*, through the provided addons.
{data_index_ref} can be included as part of the same {product_name} application using the *{data_index_ref} extension*, through the provided addons.

This scenario is specific to add the {data_index_ref} data indexing features and the GraphQL endpoint exposure inside a workflow application.

Expand Down Expand Up @@ -594,7 +593,7 @@ mp.messaging.outgoing.kogito-processinstances-events.method=POST

[NOTE]
====
*Job service* needs also to be configured to send the events to the Knative K_SINK to have them available for {data_index_ref} related triggers.
*Job service* needs to be configured to send the events to the Knative K_SINK to have them available for {data_index_ref} related triggers.
====

=== Kafka eventing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
:kogito_sw_timeouts_showcase_embedded_example_application_properties_url: {kogito_sw_timeouts_showcase_embedded_example_url}/src/main/resources/application.properties
:kogito_sw_dataindex_persistence_example_url: {kogito_sw_examples_url}/serverless-workflow-data-index-persistence-addon-quarkus

:infinispan_url: https://infinispan.org/
:mongo_url: https://www.mongodb.com/
:postgresql_url: https://www.postgresql.org/

This document describes how you add the {data_index_ref} features to your workflow. You simply need to add the {data_index_ref} extension to the workflow and
Expand All @@ -34,15 +32,11 @@ These extensions are distributed as addons ready to work with different types of

* kogito-addons-quarkus-data-index-inmemory (inmemory PostgreSQL)
* kogito-addons-quarkus-data-index-postgresql
* kogito-addons-quarkus-data-index-infinispan
* kogito-addons-quarkus-data-index-mongodb

With the same purpose, the Quarkus {data_index_ref} persistence extension can be added to any workflow application and incorporates only the {data_index_ref} indexation and data persistence functionality into the same application without needing an external {data_index_ref} service to do that.
These extensions are distributed as addons ready to work with different types of persistence:

* kogito-addons-quarkus-data-index-persistence-postgresql
* kogito-addons-quarkus-data-index-persistence-infinispan
* kogito-addons-quarkus-data-index-persistence-mongodb

In this case to interact with that data and related runtimes using GraphQL you will need an external {data_index_ref} service that makes that endpoint available.

Expand All @@ -53,7 +47,7 @@ The {data_index_ref} extensions are provided as addons for each kind of supporte

Once one of these `kogito-addons-quarkus-data-index` or `kogito-addons-quarkus-data-index-persistence` addons is added to a workflow, it incorporates the functionality to index and store the workflow data. In case of the `kogito-addons-quarkus-data-index` also incorporates the GraphQL endpoint to perform queries and management operations.

In the same way as the {data_index_ref} service, there is a specific addon for each type of persistence you want to work with. Currently, you can find {data_index_ref} addons for: link:{postgresql_url}[PostgreSQL], link:{infinispan_url}[Infinispan], and link:{mongo_url}[MongoDB]
In the same way as the {data_index_ref} service, there is a specific addon for each type of persistence you want to work with. Currently, you can find {data_index_ref} addons for: link:{postgresql_url}[PostgreSQL].

[IMPORTANT]
====
Expand Down

0 comments on commit 935b513

Please sign in to comment.