Skip to content
Maciej Swiderski edited this page Aug 9, 2019 · 15 revisions
Kogito logo

Overview

Kogito is cloud-native business automation for building intelligent applications, backed by battle-tested capabilities.

It originates from well known Open Source projects

  • Drools

  • jBPM

and takes advantage of the good things proves in mission critical systems around the globe. At the same time takes an opinionated view on what makes the good business automation solution. Key characteristics of Kogito are

  • cloud first cloud deployment is the first and foremost target runtime environment

  • domain specific no more leaking abstraction of the technology behind the service to your client applications

  • empower developers by offering a powerful developer experience based on battle-tested components

Latest version of Kogito 0.2.0

Requirements

Install GraalVM version 19.0.2+: https://github.com/oracle/graal/releases/tag/vm-19.0.2 The native-image executable is not bundled in the GraalVM distribution anymore. Install it manually using $GRAALVM_HOME/bin/gu install native-image.

Get it for a test drive

The easiest way to see it running is by trying the examples. Kogito comes with a set of examples that illustrates various aspects of business automation

  • onboarding example illustrates microservice orchestration that shows processes, rules and decision running on

    • Quarkus (both jvm and native image)

  • basic rule example illustrates single microservice to expose decision service running on

    • Quarkus (both jvm and native image)

  • basic process example illustrates single micoservice to expose business processes as services running on

Create your own service

Install Eclipse with modelling plugins

To be able to make use of visual modelling of your processes download Eclipse IDE and install from Market place

  • Eclipse BPMN2 Modeler plugin (with jBPM Runtime Extension)

Note
Currently the eclipse IDE is the only one that has complete support for both process and rule modelling but the team is working on bringing in Stunner based BPMN2, DMN and Scenario editors to VSCode and Eclipse Che.

Generate project

To build your own service that is powered by Kogito the best way is to start by generating project using Maven Archetype. There are two flavours - Quarkus and Spring Boot

Quarkus

mvn archetype:generate \
-DarchetypeGroupId=org.kie.kogito \
-DarchetypeArtifactId=kogito-quarkus-archetype \
-DarchetypeVersion=0.2.0 \
-DgroupId=com.company \
-DartifactId=sample-kogito

SpringBoot

mvn archetype:generate \
-DarchetypeGroupId=org.kie.kogito \
-DarchetypeArtifactId=kogito-springboot-archetype \
-DarchetypeVersion=0.2.0 \
-DgroupId=com.company \
-DartifactId=sample-kogito

Once the project is generated, import it into your Eclipse IDE. There is single process provided out of the box that allows to test the generated application. Simply build the project with maven and start the application (depending on which runtime you use)

Quarkus

mvn clean package quarkus:dev

SpringBoot

mvn clean package spring-boot:run

you can examine running service’s Swagger documentation at http://localhost:8080/docs/swagger.json

To test it, send simple REST api

curl -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{}'
http://localhost:8080/tests

That gives you a starting point where you can start adding your own business processes, rules and decisions!