No.15 Progress® Corticon® 5.6.1 来る!
2017.05.09 Progress Corticon
本エントリーは株式会社アシスト様が寄稿したエントリー(https://www.ashisuto.co.jp/product/category/brms/progress_corticon/column/detail/brmstech15.html)を転載したものとなります。
|
Progress Corticonの新バージョン5.6.1が米国にてリリースされました。
本バージョンでは、大小さまざまなルール開発時に便利な機能が追加されています。
また、バージョン5.5で登場したサーバ管理コンポーネントが更に使いやすくパワーアップしています。
日本国内でも皆様に使っていただけるよう本バージョンを検証中です。
バージョンアップの計画も視野に入れて、楽しみに待っていてくださいね!
それではさっそく、追加された機能を中心にProgress Corticon バージョン5.6.1を紹介していきます。
まずは、ルール開発者向けお役立ち機能からみていきましょう。
・ルールシート
・自然言語の使い勝手向上
ルールを自然言語で表示できることをご存知でしょうか?自然言語とは、ルールシート上の条件部やアクション部で記述したルールを平易な文章で表現する機能のことです。
・ルール実装画面:
|
・自然言語を記述する画面:
Corticon Studioのメニューから、ウィンドウ > ビューの表示 > 自然言語 を選択すると、次のような「自然言語」ビューが表示され、ここで、右側の欄に誰にでも分かりやすい平易な文章で業務ルールを記述します。業務担当者と会話する場合は、こちらの自然言語で表示する方が分かりやすいことでしょう。
|
以前のバージョンでは、ルールシートに記述した条件やアクションなどに説明を加えるような使い方でしたが、本バージョンからは、ルールを書く前にも自然言語を書くことができるようになりました。つまり、ルールを設計する前に、業務担当ユーザとの仕様決めの際に自然言語で記述し、仕様決めをした後で実際のルールを実装することができます。また、フィルタ設定に対しても自然言語を書けるようになりましたので、以前のバージョンよりも使う場面が広がります。
・テストシート
・想定結果との差異の視認性向上
Corticon Studioのテストシートで"想定出力"と"出力(テスト実行結果)"との差分が確認しやすくなりました。
|
差分の数と該当箇所への移動ボタンが追加され差分を確認しやすくなっています。
さらに、、、、
・想定結果との一致/不一致判定時にキー指定が可能
コレクションにエンティティを追加するといったような処理の場合に、想定結果と出力結果との間で、差異として検出されることがありました。この対応として、「キー属性の指定」ができるようになり、より正確に一致不一致を検出できるようになりました。
デフォルトの実行結果とその差分表示
|
上のテスト結果のように、コレクションに新しいエンティティを追加した場合など、順不同のコレクション内について、Corticonは不一致と判定することがあります。
このような場合に、キー属性を指定できるようになりました。
|
指定したキー属性値が一致するエンティティ内のその他の属性値に対して一致不一致を判定します。
|
コレクション内の値は順不同ですが、キー属性の指定をしたことで、属性値が一致した当該エンティティ内のその他の属性値に対して一致不一致を判定するため、デフォルトの判定よりも正しい比較結果を返します。
・デバッグ
・エラー箇所への直接移動が可能
問題ビューのエラー箇所をダブルクリックすると、構文エラーがあるファイル(.ecore、ers、ert、erfどれであっても)が開き、該当場所にフォーカスが当たるようになりました。
|
これにより、今までよりも素早くエラー箇所を特定し、修正することができます。
・メンテナンス
・語彙参照箇所の確認が可能
語彙に含まれる検索対象の属性を右クリック > ポップアップメニューから[参照を検索]
|
検索ビューに検索対象の属性を使用しているファイルと参照箇所の一覧が表示されます。
一覧から検索結果の対象をダブルクリックすると、属性を使用しているファイルが開き、フォーカスが当たります。
|
これにより、語彙の変更前に影響箇所の調査が格段に容易になりました。
・ルールフロー内の依存関係確認
ルールフロー内のルールシートやルールフロー、サービスコールアウトの関係性や、属性等の依存関係を確認する機能が追加されました。
例えば、以下のようなルールフローがあるとします。
|
それぞれのルールシートやルールフローの関係性の有無をフロー図のように見ることができる依存関係グラフはつぎの2種類を生成することができます。
|
各図形の意味は、次のとおりです。
楕円:語彙の属性
長方形:ルールシート
六角形:フロー内フロー
各ルールシート内で使用されている属性が条件として使われているのかアクションとして使われているのかが一目でわかります。
属性依存関係グラフ:
|
論理依存関係グラフ:
|
・カスタムコード
ユーザ独自のサービスコールアウトや拡張演算子が作成しやすく、また使いやすくなりました。
作成した拡張コード(jar)をルールプロジェクトごとに追加することができるようになりました。
edsファイルに同梱することができるようになりディシジョンサービス単位で異なる拡張コードを配置できます。これにより、Corticon ServerのCLASSPATHを変更することなく、サーバにデプロイすることができます。
また、ディシジョンサービス固有の拡張コードのみを配置することができます。
|
また、複数の拡張演算子のファイルをもつこともできるようになりました。
|
続いて、システム管理者にとって嬉しい(と思われる)機能についてもみていきましょう。
・Web Console
サーバ管理機能である Web Console が本バージョンでパワーアップ&リニューアルしました。
Web ConsoleはCorticon 5.5で導入された新しいコンポーネントですが、日本の皆様にはまだあまり知られていないため、ここでは、Web Console についても併せて紹介していきましょう。
Web Consoleは、これまでのServer Consoleに代わるコンポーネントであり、Serverやディシジョンサービス等を管理しモニタリングします。
|
Web Consoleでは複数のCorticon Serverを対象とすることも、複数のサーバをグループ化して管理することもできます。もちろん従来通りのように、単一のCorticon Serverを管理対象とすることもできます。
|
サーバ(グループ)の実行指標等確認する画面が、分かりやすくなりました。
|
また、複数のディシジョンサービスを1つのアプリケーションとしてまとめて管理することもできます。
|
さらに、サーバのログだけでなく、Web Consoleでの操作ログ(アクティビティログ)も取得できます。
|
・.NET版 Corticon Serverもグラフィカルに操作可能
Web Console を使用して、Java 版と同様に.NET 版もグラフィカルに稼働状況等含めて管理確認操作できるようになりました。
※ただし、Web ConsoleはIIS上では動作しないため、Web Console用にJSP/Servletを処理するアプリケーションサーバ(Tomcat等)が必要です。
・Corticon Server のセキュリティ対策
ベーシック認証と暗号化(https)を使用して、Corticon Serverやディシジョンサービスを保護することができるようになりました。
Corticon Web Console、Corticon Studio やコマンドラインツール等から、このセキュアなCorticon Serverへアクセスすることができます。
・Corticon ServerにSwaggerドキュメントを内包
Swaggerというフレームワークに対応したRESTのAPIが用意されました。このAPIを介して、Corticon Serverを管理することもできるようになりました。
|
他にも色々な改良点や拡張機能があります。
これらの詳細は、Progress社のサイト(https://www.progress.com/corticon/whats-new や https://documentation.progress.com/output/ua/Corticon/index.html#page/corticon%2Fwhat%27s-new-in-corticon.html%23 など)でご確認ください。
著者紹介
|
株式会社アシスト 情報基盤技術統括部 プログレス推進部 |