Db2 PTF Groupの機能強化のターゲットはWebサービスと監査ジャーナル
Db2 for iデータベースがIBM i プラットフォームの心臓部であるというのは言うまでもないことです。先月、IBMが発表およびリリースした、IBM i 7.3および7.4向けの最新のテクノロジー リフレッシュでは、このデータベースに対する機能強化としてあっと驚くようなものはありませんでした。しかし、Db2 PTF Groupでリリースされたアイテムには、たとえば、RESTを介してデータベースを呼び出すための新たなHTTPコマンドや、セキュリティ監査ジャーナルを照会するための新たなSQLベースのコマンドなど、取り上げる価値のあるものがいくつかありました。(訳注:IBM i のグループPTF情報サイトは https://www.ibm.com/support/pages/ibm-i-group-ptfs-level)
Db2 for iの最大の新機能は、おそらく、Webサービスを利用するHTTP要求のための新たな関数群であると言えるでしょう。 IBMによれば、これらの新たな関数によって、SQLプログラマーは、RPGおよびCOBOL内に組み込まれたSQLを含め、直接、SQLを通じてREST(Representational State Transfer)技法およびプロトコルを使用できるようになるということです。
言うまでもなく、RESTは、SOAP(Simple Object Application Protocol)に取って代わり、インターネットを介してWebサービスを呼び出し、利用するための最も広く用いられている方式となっています。ほとんどのREST呼び出しは、JSON(Java Object Notation)でエンコードされたデータを返しますが、IBM i のREST機能も変わるところはありません。RESTおよびよく使用されているGET、PUT、POST、およびDELETEコマンドは、リモートでAPIを呼び出して、広範なWebサービスおよびマイクロサービスの世界に加わるためのデファクト スタンダードとなっており、 IBM i は、こうしたAPIの世界に見事に適合しています。
そのためにIBMは、QSYS2.HTTP_GET()、QSYS2.HTTP_POST()、QSYS2.HTTP_PUT()など、HTTPを介してDb2 for iデータベースを呼び出すための一連の関数を利用可能にしました。それらの関数のリストについては、IBMサポートWebサイトの Db2 for iの項目 で参照することができます。
IBMサポートWebページでIBMは、「これらのHTTP関数はQSYS2内にあり、SYSTOOLS HTTP関数に比べてオーバーヘッドが少なく済みます」と記しています。「QSYS2 HTTP関数のさらなるメリットとしては、HTTP認証、プロキシー サポート、構成可能なリダイレクト試行、および構成可能なSSLオプションなどがあります。」
これらの新たなREST技法は、既存のSYSTOOLSのRESTコマンドとは異なり、Javaに依存しないために高速だと、IBM i チーフ アーキテクトのSteve Will氏は述べています。
「これまでは、SQL内からWebサービスを利用したい場合は、たとえば、こうしたJSON表から選択していました」と、先月の COMMON 主催のWebプレゼンテーションでWill氏は述べています。「これは、CLOB(文字ラージ オブジェクト)で格納された一連のJSONであり、それを照会することができます。情報を取得することもできます。今回の発表以前は、このようなやり方でした。」
もちろん、開発者は従来のJava方式を引き続き使用することができます。しかし、より高速であるため、開発者は新たなQSYS2アプローチを利用するだろうとWill氏は期待しています。
新たなコマンドでは「必要とされるそうしたJavaエンジンと関連付けられているものは何もありません」とWill氏は続けます。「しかし、今まで通り、そうしたJSON CLOBファイル データ内にある情報にアクセスできます。したがって、より簡潔かつ容易であり、実際のところ、他のプラットフォームや他の言語で行われているやり方に、かなり似ています。」
これらの新たなHTTP REST関数の詳細については、 こちらで参照できます。
また、Database Group PTFには、14件の新たなIBM i サービスも含まれています。SYSTOOLSの12件は、ユーザーが監査ジャーナル システムからより多くの有用なデータを得られるようにするためのものであり、残り2件はQSYS2内のサービスです。
IBMのドキュメントによれば、新たなQSYS2ベースのIBM i サービスは、これまでユーザーがCLコマンドおよびAPIを通じて利用していたのと同様な機能を提供するということです。
たとえば、新たなQSYS2.COLLECTION_SERVICES_INFOコマンドは、パフォーマンス収集の構成(CFGPFRCOL)CLコマンドおよびRetrieve Collection Services Attributes(QypsRtvColSrvAttributes)APIとほぼ同じように、収集サービスの構成プロパティを返します。ユーザーは、このコマンドを使用して、PowerHA、セキュリティ サービスsecurity services、またはスプール サービスなど、各種コンポーネントがどこに収集を保管しているかを確認することができます。
同様に、新たなQSYS2.WORKLOAD_GROUP_INFOコマンドは、ワークロード グループの表示(DSPWLCGRP)CLコマンドおよびRetrieve Workload Groups Information(QLZRTVWC)APIで取得されるのと同じような、ワークロード グループに関する設定値を返すとIBMは述べています。これには、ワークロード グループの名前、プロセッサー制限などの値が含まれます。
新たなSYSTOOLSサービスは、SQL好きのユーザー、開発者、およびエンジニアが、作業するのが難しいことで有名な監査ジャーナルからより多くの情報を得るのに役立つはずです。「これらの変更のハイライトは監査ジャーナル関数です」とIBMは発表レターで述べています。「これらは、監査ジャーナル項目タイプに特有の表関数を提供します。これらの表関数は、基本的な監査ジャーナルの詳細情報を返すだけではなく、簡単に利用できる戻り列への項目固有の詳細情報の抽出も行います。」
IBMサポートWebサイトによると、これら12件の新たなSYSTOOLSサービスにより、ユーザーはSQLを使用して、様々な監査ジャーナル項目タイプにアクセスできるようになります。たとえば、コマンド ストリングの使用(CD)、オブジェクト作成(CO)、ユーザー プロファイル変更(CP)、削除操作(DO)、環境変数(EV)、汎用レコード(GR)、システム値に対する処理(SV)、およびDb2 Mirror操作に関連する監査ジャーナル項目タイプ(M0、M6、M7、M8、M9)などです。
これらのIBM i サービスには、Access Client Solutions(ACS)や新たなIBM i Navigatorからアクセスすることができます。また、それらは、ベンダーによる使用も可能であり、IBM i の特定のデータへのアクセスを簡素化できます。特に、新たな監査関数は、ユーザーとベンダーの両方によって利用されることができるとWill氏は述べます。
「様々な数多くのセキュリティ ベンダーが関連ツールの開発を手掛けています。また、より多くの作業を自身で行いたいと思っているクライアントもいます」とWill氏はブリーフィングで『 IT Jungle 』に述べています。「そうした両方の顧客が自身でコーディングを行いたいという場合に、より簡単にそうした情報を取得できるようにしたいと思っています。個々のAPIを使用してオブジェクトを外部へ出力するために表示するだけでも、セキュリティ ベンダーであろうと、セキュリティ ツールを使用せずに行おうとしているユーザーであろうと、いずれにしても極めて面倒であることは認識していますが、少しでも簡単に行えるようにしようとしているのです。」