-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP BXMSDOC-7153: New Getting started assembly for Kogito microservices #59
Conversation
[role="_abstract"] | ||
The primary Java frameworks that {KOGITO} microservices support are Quarkus and Spring Boot. | ||
|
||
https://quarkus.io/[Quarkus] is a Kubernetes-native Java framework with a container-first approach to building Java applications, especially for Java virtual machines (JVMs) such as GraalVM and HotSpot. Quarkus optimizes Java specifically for Kubernetes by reducing the size of both the Java application and container image footprint, eliminating some of the Java programming workload from previous generations, and reducing the amount of memory required to run those images. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor: GraalVM is not a JVM, please rephrase accordingly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also say OpenJDK HotSpot
instead of just HotSpot
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
. In the `src/main/resources` folder of your example project, instead of using a DMN file, add the following `PersonRules.drl` file: | ||
+ | ||
-- | ||
.Example `PersonRules` DRL file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Differently from DMN, this DRL file is not sufficient to have an automatically generated microservice exposing a REST endpoint. I'm not sure if this was the intent of this section, so please confirm if this is ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added the following query to the drl file:
query persons
$p : /person[ adult ]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some suggestions and questions, otherwise great job, Heena!
|
||
{KOGITO} microservices are designed to run and scale on a cloud infrastructure. You can use {KOGITO} microservices in {PRODUCT} with the latest cloud-based technologies, such as Quarkus, to increase start times and instant scaling on container application platforms, such as {OPENSHIFT}. | ||
|
||
For example, {KOGITO} microservices are compatible with the following technologies: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style]
Rather than using "for example" maybe rephrasing as below?
s/For example, {KOGITO} microservices are compatible with the following technologies:/{KOGITO} microservices are compatible with the following technologies:/Technologies that are compatible with {KOGITO} microservices include:
|
||
For example, {KOGITO} microservices are compatible with the following technologies: | ||
|
||
* *{OPENSHIFT}*, based on Kubernetes, is the target platform for building and managing containerized applications. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style] Comma and "target" appear out of place here, maybe rephrase as below?
s/, based on Kubernetes, is the target platform for building and managing containerized applications./is based on Kubernetes, and is the platform for building and managing containerized applications.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
For example, {KOGITO} microservices are compatible with the following technologies: | ||
|
||
* *{OPENSHIFT}*, based on Kubernetes, is the target platform for building and managing containerized applications. | ||
* *Quarkus* is native Java stack for Kubernetes that you can use to build applications with {KOGITO} microservices. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style] Add indefinite article "a":
s/is native Java stack for Kubernetes that you can use to build applications with {KOGITO} microservices./is a native Java stack for Kubernetes that you can use to build applications with {KOGITO} microservices.
[technical] I am unsure if the wording is correct. It suggests that {KOGITO} microservices used by Quarkus to build applications. Is this correct?
s/* Quarkus is native Java stack for Kubernetes that you can use to build applications with {KOGITO} microservices./* Quarkus is a native Java stack for Kubernetes which you can use to build applications that use {KOGITO} microservices.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, if it confusing, then I am changing it to:
Quarkus is a native Java stack for Kubernetes that you can use to build applications, using {KOGITO} microservices.
|
||
* *{OPENSHIFT}*, based on Kubernetes, is the target platform for building and managing containerized applications. | ||
* *Quarkus* is native Java stack for Kubernetes that you can use to build applications with {KOGITO} microservices. | ||
* *Spring Boot* is also supported with {KOGITO} so that you can use the Spring Framework with {PRODUCT}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style] Remove "also" and change "with" with "by".
[technical and style] Improve parallelism by adding brief description of Spring Boot as per OpenShift and Quarkus.
s/* Spring Boot is also supported with {KOGITO} so that you can use the Spring Framework with {PRODUCT}./* Spring Boot is (explanation} that you can use to configure Spring Framework with {PRODUCT}.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changing it to:
Spring Boot is an application framework that you can use to configure Spring Framework with {PRODUCT}.
[id="con-kogito-dmn-modelers_{context}"] | ||
= DMN modelers for {KOGITO} microservices | ||
|
||
{PRODUCT} provides the following extensions or applications that you can use to design Decision Model and Notation (DMN) decision models for your {KOGITO} microservices using graphical modelers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style] Avoid anthropomorphism and referring to a list that is not immediately after the containing paragraph.
s/{PRODUCT} provides the following extensions or applications that you can use to design Decision Model and Notation (DMN) decision models for your {KOGITO} microservices using graphical modelers./There are {PRODUCT} extensions and applications with graphical modelers that you can use to design Decision Model and Notation (DMN) decision models for your {KOGITO} microservices.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, changing the sentence as:
{PRODUCT} provides extensions or applications that you can use to design Decision Model and Notation (DMN) decision models for your {KOGITO} microservices using graphical modelers.
|
||
This example procedure uses curl commands for convenience. | ||
|
||
.Procedure |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style] What phrasing is normally used? "use any of the following" "perform any of the following tasks"
|
||
NOTE: On Spring Boot, you might need to modify how your application exposes API endpoints in order for these example requests to function. For more information, see the `README` file included in the example Spring Boot project that you created for this tutorial. | ||
|
||
* Add an adult person: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style] Add "to":
s/Add an adult person:/To add an adult person:
[id="proc-kogito-microservice-running-app_{context}"] | ||
= Running a {KOGITO} microservice | ||
|
||
After you design the business decisions for your {KOGITO} microservice, you can run your Quarkus or Spring Boot application in one of the following modes: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style] Add "a":
s/Spring Boot application/a Spring Boot application
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sentence contains "your"
your Quarkus or Spring Boot application.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right.
|
||
.Procedure | ||
. In a web browser, go to the https://kiegroup.github.io/kogito-online/#/download[Business Modeler Hub] download page, select the relevant *Operating System* option, and click *Download*. | ||
. Extract the downloaded `business_modeler_hub_preview___RELEASE__` binary file to a local directory. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style] Is business_modeler_hub_preview___RELEASE__
correct with the additional underscores? Can the version attribute be used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are not using attribute here, this is the original file name with Release in italics to show that release version needs to be added by the user.
$ ./Business\ Modeler\ Hub\ Preview-__RELEASE__/Business\ Modeler\ Hub\ Preview | ||
---- | ||
|
||
The *Business Modeler Hub* opens in a new window. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[style] This note can be moved to the step by adding a "+".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correction, This is wrapped with "--" so it may not be needed.
|
||
https://spring.io/projects/spring-boot[Spring Boot] is a Java-based framework for building standalone production-ready Spring applications. Spring Boot enables you to develop Spring applications with minimal configurations and without an entire Spring configuration setup. | ||
|
||
For {KOGITO} microservices, Spring Boot is supported for developers who need to use {PRODUCT} in an existing Spring Framework environment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say that the environment is related to the running application; developers can write spring boot applications and deploy them in different environments. That said, I don't see any problem with "environment" in its singular form.
See epic: https://issues.redhat.com/browse/BXMSDOC-7153
See the following JIRAs for chapter creation:
https://issues.redhat.com/browse/BXMSDOC-7581
https://issues.redhat.com/browse/BXMSDOC-7583
https://issues.redhat.com/browse/BXMSDOC-7584
Preview of new assembly - Getting started with Kogito microservices in Red Hat Process Automation Manager
Table of contents
34. Kogito microservices in Red Hat Process Automation Manager
34.1. Cloud-first priority
34.2. Kogito microservices on Quarkus and Spring Boot
35. DMN modelers for Kogito microservices
35.1. Installing and using the Kogito Business Modeler Hub
35.2. Installing the Red Hat Process Automation Manager VSCode extension bundle
35.3. Configuring the Red Hat Process Automation Manager standalone editors
36. Creating a Maven project for a Kogito microservice
37. Example applications with Kogito microservices
38. Designing the application logic for a Kogito microservice using DMN
38.1. Using DRL rule units as an alternative decision service
39. Running a Kogito microservice
40. Interacting with a running Kogito microservice