Home > 記事 > Kogito > 【Kogito】Helloアプリ例の構築 | Kogito | Example | BRMS

記事

【Kogito】Helloアプリ例の構築 | Kogito | Example | BRMS

ここでは公式サイトに記載されているHelloを返すアプリケーションの構築について解説します。

目次

  1. 1次情報について
  2. 動作環境
  3. サンプルリポジトリのCLONE
  4. ローカル開発モードでのコンパイルと実行
  5. JVMモードでのパッケージングと実行
  6. ネイティブイメージでのパッケージングと実行
  7. OpenAPIドキュメント
  8. リクエストの送信
  9. リogito Operatorによるデプロイ
  10. まとめ

1次情報について

この記事は本家のGitHub上のサンプル kogito-examples/process-scripts-quarkus を要約したものになります。

ここの情報で不十分な場合や、最新情報を確認したい場合は上記の1次情報を参考にしてください。

↑目次

動作環境

必要環境

  • Java11以上がインストールされていること
  • JAVA_HOME環境変数が設定されていること
  • Maven 3.8.1以上がインストールされていること
  • gitがインストールされていること

ネイティブイメージのコンパイルをおこなうには、追加で以下も必要

  • GraalVM 19.3以上がインストールされていること
  • GRAALVM_HOME環境変数が設定されていること
  • GraalVM ネイティブイメージ拡張が必要https://www.graalvm.org/reference-manual/native-image/
  • GraalVM ネイティブ イメージのコンパイルには他のパッケージ (glibc-devel、zlib-devel、および gcc) もインストールする必要がある。 詳細については、GraalVM インストール ドキュメントを参照

 

↑目次

サンプルリポジトリのClone

アプリ例のリポジトリをローカルのディスク上にcloneします。


git clone https://github.com/kiegroup/kogito-examples.git
        

CLONE先のリポジトリに移動します。


cd kogito-examples/kogito-quarkus-examples/process-scripts-quarkus
        

Windowsの場合


cd kogito-examples\kogito-quarkus-examples\process-scripts-quarkus
        

 

↑目次

ローカル開発モードでのコンパイルと実行

以下のコマンドを実行します。

            mvn clean compile quarkus:dev
        

Quarkus の開発モードでは、プロセス、ルール、デシジョン テーブル、Java コードなどのビジネス アセットのホット リロードを利用できるため再デプロイの必要ありません。

 

↑目次

JVMモードでのパッケージングと実行

以下のコマンドを実行します。

            
mvn clean package
java -jar target/quarkus-app/quarkus-run.jar
            
        

Windowsでは以下のようになります。

            
mvn clean package
java -jar target\quarkus-app\quarkus-run.jar
            
        

 

↑目次

ネイティブイメージでのパッケージングと実行

GRAALVM_HOME環境変数に、有効なGraalVMインストール先を 指定後以下を実行します。

            
mvn clean package -Pnative
            
        

targetフォルダ以下に生成されたネイティブ実行可能ファイルを実行するには次を実行します。

            
./target/process-scripts-quarkus-runner
            
        

 

↑目次

OpenAPIドキュメント

自動的に生成されるOpenAPI定義により、このサービスによって定義されている 使用可能な操作を確認することができるようになっています。 読みやすくするためにSwagger UIなどのUIツールを用いてOpenAPI定義ファイルを視覚化できます。

サービスと対話するクライアントはOpenAPI定義から簡単に生成することができます。

Quarkus 開発モードまたはネイティブ モードで実行する場合、利用可能な REST エンドポイントを調べてテスト リクエストを送信するために使用できる Swagger UIを公開するQuarkus OpenAPI 拡張機能も活用できます。

リクエストの送信

アプリケーションを利用するにはhttp://localhost:8080/scriptsから以下のコンテンツをリクエストします。


{
    "name" : "john"
}
        

curlコマンドを用いると以下のようになります。


curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{"name" : "john"}' http://localhost:8080/scripts
        

以下のようなレスポンスが返ってきます。


{"id":"ab5239e2-f497-4684-b337-5a44440b38dd","name":"john","message":"Hello john"}
        

Quarkusのログでは以下のエントリーを見ることができます。


"Hello john"            
        

 

↑目次

Kogito Operatorによるデプロイ

operatorディレクトリにはKogito Operatorを使用してOpenShiftにデプロイするために必要なカスタムリソースがあります。

↑目次

まとめ

単純にHelloを返すだけのAPIでしたが、大まかな操作はわかったのではないでしょうか。

↑目次

Comment on this article

コメントはまだありません。

Send comments

必須
必須  
※ メールアドレスは公開されません
任意
必須
Loading...  Please enter the letters of the image