kaldesai commented on code in PR #604:
URL: 
https://github.com/apache/incubator-kie-kogito-docs/pull/604#discussion_r1542479281


##########
serverlessworkflow/modules/ROOT/pages/use-cases/advanced-developer-use-cases/getting-started/create-your-first-workflow-project.adoc:
##########
@@ -0,0 +1,187 @@
+= Creating a Quarkus Workflow Project
+
+As a developer, you can use {product_name} to create an application and in 
this guide we want to explore different options and provide an overview of 
available tools that can help in that purpose.
+
+We will also use Quarkus dev mode for iterative development and testing.
+
+As a common application development, you have different phases: Analysis, 
Development and Deployment. Let's explore in detail each phase and what 
{product_name} provides in each case:
+
+* <<proc-analysis-phase,Analysis and taking decisions phase>>
+** <<proc-adding-persistence,Adding persistence?>>
+** <<proc-adding-eventing,Adding eventing?>>
+** <<proc-adding-data-index-service,Adding Data Index service?>>
+** <<proc-adding-job-service,Adding Job service?>>
+
+* <<proc-development-phase,Development phase>>
+** <<proc-boostrapping-the-project,Bootstrapping a project, Creating a 
workflow, Running your workflow application and Testing your workflow 
application >>
+** <<proc-logging-configuration,How to configure logging>>
+** <<proc-dev-ui, Refine your workflow testing with Dev-UI>>
+* <<proc-deployment-phase,Deployment phase>>
+
+
+.Prerequisites
+* You have setup your environment according to the 
xref:getting-started/preparing-environment.adoc#proc-advanced-local-environment-setup[advanced
 environment setup] guide.
+
+For more information about the tooling and the required dependencies, see 
xref:getting-started/getting-familiar-with-our-tooling.adoc[Getting familiar 
with {product_name} tooling].
+
+ifeval::["{kogito_version_redhat}" != ""]
+include::../../pages/_common-content/downstream-project-setup-instructions.adoc[]
+endif::[]
+
+
+[[proc-analysis-phase]]
+== Analysis phase
+
+Start by analyzing the requirements for your {product_name} application. This 
will enable you to make decisions about persistence, eventing, security, 
topology and component interaction needs of your application.
+
+[[proc-adding-persistence]]
+=== Adding persistence?
+Service orchestration is a relevant use case regarding the rise of 
microservices and event driven architectures. These architectures focus on 
communication between services and there is always the need to coordinate that 
communication without the persistence addition requirement.
+
+{product_name} applications use an in-memory persistence by default. This 
makes all the {workflow_instance} information volatile upon runtime restarts. 
In case of this guide, when the workflow runtime is restarted.
+As a developer, you need to decide if there is a need to ensure that your 
workflow instances remain consistent in the context.
+
+If your application requires persistence, you need to decide what kind of 
persistence is needed and configure it properly.
+Follow the {product_name} 
xref:use-cases/advanced-developer-use-cases/persistence/persistence-core-concepts.adoc[persistence
 guide] for more information.
+
+You can find more information about how to create an application which writes 
to and reads from a database following 
link:https://quarkus.io/guides/getting-started-dev-services[Your second Quarkus 
application] guide.
+
+[[proc-adding-eventing]]
+=== Adding eventing?
+
+Quarkus unifies reactive and imperative programming you can find more 
information about this in the 
link:https://quarkus.io/guides/quarkus-reactive-architecture[Quarkus Reactive 
Architecture] guide.
+
+In this phase we need to decide how the Event-Driven Architecture needs to be 
added to our project.
+As an event-driven architecture, it uses events to trigger and communicate 
between services. It allows decoupled applications to asynchronously publish 
and subscribe to events through an event broker. The event-driven architecture 
is a method of developing systems that allows information to flow in real time 
between applications, microservices, and connected devices.
+
+This means that applications and devices do not need to know where they are 
sending information or where the information they are consuming comes from.
+
+If we choose to add eventing, {product_name} supports different options like:
+
+* *Kafka Connector* for Reactive Messaging. See 
xref:use-cases/advanced-developer-use-cases/event-orchestration/consume-producing-events-with-kafka.adoc[]
 for more details.
+* *Knative* eventing.  See 
xref:use-cases/advanced-developer-use-cases/event-orchestration/consume-produce-events-with-knative-eventing.adoc[]
 for more details.
+
+You need to choose how the different project components will communicate and 
what kind of communication is needed. More details about 
link:https://quarkus.io/guides/quarkus-reactive-architecture#quarkus-extensions-enabling-reactive[Quarkus
 Extensions enabling Reactive]

Review Comment:
   ```suggestion
   You must choose how the different project components will communicate and 
what kind of communication is needed. More details about 
link:https://quarkus.io/guides/quarkus-reactive-architecture#quarkus-extensions-enabling-reactive[Quarkus
 Extensions enabling Reactive]
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to