Merge pull request #174 from pymma/kafka

documentation work
This commit is contained in:
Nicolas Héron 2020-10-27 09:10:24 +01:00 committed by GitHub
commit bb5af86a15
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 60 additions and 0 deletions

BIN
wiki/DockerHub.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View file

@ -0,0 +1,10 @@
# Installing the platform
We provided docker containers we build.
You can find them here on [docker hub][1] :
![alt text][image-1]
[1]: https://hub.docker.com/orgs/pymmasoftware/repositories
[image-1]: DockerHub.png "Title"

View file

@ -0,0 +1,46 @@
# Kie Platform Overview
![alt text][image-1]
## Business Central
This is the authoring tool handling the complete life cycle of a drools project.
We only added two functionalities
- We added some rest services to interact with our administration console to the existing ones,
- the login end user management to use the data stored in the Mongo Database.
## Kie-server
We created a kie-server extension that
- exposes a rest interface as described in the previous part,
- implements callback listeners to trace all details happening during runtime execution,
- Post the execution trace as a json file and send the result to a Apache Kafka topic called « logging »,
- It connects to the Mongo Database to update its configuration : creating, updating or deleting a container.
## Administration Console
It allows to :
- define a drools project : a git repository containing a maven Kjar and a branch,
- define the main class used as top class for the endpoint, the jbpm process to start if needed and the name of the endpoint,
- define the list of kie-server to deploy the project on,
- deploy a project to the targeted kie-server defined before,
- update the content of guided rule template or decision tables by exporting and importing the content in Microsoft Excel format,
- get the content of the logging of rule execution by transaction id (which is a header variable of the rest request).
The administration console uses the Mongo database to store all informations concerning the configuration, tracing and content of the platform.
## Indexer
It takes the content of the Apache Kafka topic « logging ».
The indexer will stored the message content in the mongo database. In the administration console, the user can then visualize it.
## Reverse Proxy
It is the entrance door for all clients to interact with the runtime.
It listens to an Apache Kafka topic to create or update a new route. When starting, it reads its configuration from the mongo database.
When defining a project in the administration console, the reverse proxy received a message to update its configuration.
## Apache Kafka
We are using this technical component as a message broker. It is used to transmit rule execution tracing from a kie-servcer to the indexer.
## Mongo Database
It is a nosql database and contains all data manipulated by our kie platform.
[image-1]: diag1.svg "Title"

1
wiki/diag1.drawio Normal file
View file

@ -0,0 +1 @@
<mxfile host="Electron" modified="2020-10-23T12:53:20.255Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.7.9 Chrome/85.0.4183.121 Electron/10.1.3 Safari/537.36" etag="5xbPTI9U_qP27iy0qUmk" version="13.7.9" type="device"><diagram id="PngMY1HG9RSGTdJI15Fl" name="Page-1">7VtLc+MoEP41PiYlhB72MfE8q2Zqs5PDJKcpbBGbiixcSH7tr19koQcgR7KiCCe7p0ALt0T3R/dHQ0Zwutp/ZWi9/EkDHI5sK9iP4KeRbQNgefxPKjkIiWXBTLJgJBCyUnBP/sH5QCHdkADH0sCE0jAha1k4p1GE54kkQ4zRnTzsiYbyW9dogTXB/RyFuvQ3CZJlJh3bfin/hslimb8ZeJPsyQrlg8VM4iUK6K4igp9HcMooTbLWaj/FYWq93C7Z776ceFp8GMNR0uYHwZ+/t7+th5n1aIObb7bDJ3R7JbRsUbgRE55tYhLhOJ5ytQyF4tuTQ24QRjdRgFOd1gje7pYkwfdrNE+f7jgGuGyZrELeA7wptGOW4P3JzwaFMTiMMF3hhB34kPwHuf0Eghwo+rvSHcWYZcUVnpAhgYBFobo0Em8IO51hM1uz2Zf7ke2F/L23M8Zbi7T1lSSa7TgE1mlzfggJNyKDzRacZeb+MSsEaP68ODrhr03C1WAhj7OlA9x+zK5YHdq61b0ao4/fyuiwldF/oi2OdPEvvKbv2RlQdoZruWad4WjO0KyLo+AmDb+8F9HULlU74j1JHirtxzSaXLui92kvgsuxc6h07jAjfAaY5TIeog4P1U6myXbzfqnr2MuVZZ+LAy32Kx7hU6IbNsfN0SBBbIGTpkire7jiQrfGhbmM4RAlZCt/bp1fxRvuKOETKQHkyAgq0muuIpum+FU1iaiKJrIioEbZzA6aoiPMiml3R5574cjzB0QefA/IAwryOAHshjwwVhQ57qDI8zTk3QQrEpGYs6SE0JqsM6VRTDkqTTMo6Lvy4h+bZlC+ZssVjRY0mL3nJK1SJntimDKNNSv/wnyGMUekdcfo/mAcmY4rm8yzTCNzotnsO7fInsd907aCnhL/fNO2Avrm8aVkPA9RHJO5ko+LPHrtVjMp6C2NNqbHscn06ALZq77fEzFzJ+2IGfcOOlSGrdMB8RkfLFcdeCPT2GvuBfqW+yWknaZ9OZ17rPI8jfS5dsEIVd7XHneN9M1viU+j9M1Wok6h91x8OpasCMJ2+OwNQv/pAoKrWN9xDHMT0FcJId9yiUUNTi7qnldvHgably80uX6hr6QFu+v6VcuwaqJ66/V73s6/nmwUmHFb5QF5o3/tSATl2vIaOMqx94YJZNwWgdbIJAJVYtIZgY5hBOoVgG4hC7QCHzhFQU6VngasPLWlLhOj1EUBntO18qRSXq14+tbA08slZwKvI2LOA6ztXxJr9i4Jera6GWsLPdsdyxie8LxjD4s+vYzUQ9jrUHLvEUSGM6JS9YJd9/xq+cwBw5bEgV4t6xqYOJvyq8HpikuA3zI+WdcehNVNAF8jHY90LiByGa1HqdjsnDSdsXzo4PjtsHluPUrb4HgD1KNyClsB/jN6ekYa+ssiMRikSOyq57w1ZxBF4bgKH0dxc3+XZfotEjvlrkus9EYSU7es63NSQ9DoPQG1CAa22UylUuiu1wbUvRsc+NpADrpeUAiqCBz2yN9uixujO6+PAxu9aPyK4GVsu+79H2wGRc15te2mlDcGvoycFsT4pZzHIxbf072WLZsIamaZ8YeBp15JJ9HxYCr1AUNPTxyMKl45JU1khMYJo894SkOaQkLs7Z5IGCoiFJJFlMKc4yJFz21KcMkchTfiwYoEQfqaWnos37IY9cCQlbu0+fl1FUVODYrUqnV/BPm8snIDNcnXchktvFdGC4kh+5fHkI0ej6un2t2DgloTGjgo5N9d3dESfBVjtr2Eu09K7IU1NxgnL3i5/0X76pL8B7oB3/oii1F6aSv3h2HnytabVV15t/x3sGx4+V918PO/</diagram></mxfile>

3
wiki/diag1.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB