Using ZIETrans EJB の翻訳版です。
HCL Z and I Emulator for Transformation の EJB について
2021年12月7日
著者: Soumya Mallappa / Senior Software Engineer at HCL Software
EJB(Enterprise java bean)は、特定のアプリケーションのビジネスロジックをまとめるためのサーバーサイドソフトウェアです。EJBを使用することで、安全で堅牢、かつ拡張性のある分散型アプリケーションを開発することができます。
ZIETrans EJBプロジェクトは、Integration Objectsでカプセル化されたホストのインタラクションへのアクセスを提供します。EJB プロジェクトには、1 つ以上の Integration Objects が含まれます。これらの統合オブジェクトは、ホスト データを EJB クライアント、つまり、別の ZIETrans アプリケーション、ユーザーが書いた Java プログラム、Web アプリケーション、または別の EJB に提供します。ZIETrans EJB プロジェクトでは、ホスト・データの収集とその表示を分離することができます。
このブログでは、アプリケーション・クライアント・プロジェクトでZIETrans EJB Beansを使用する方法を理解します。
EJB Access BeansをJavaアプリケーション・クライアントで使用するには、以下の手順に従います。
グラフィカル・ユーザー・インターフェース、アプリケーション 説明が自動的に生成される
図 1: EJB Access Bean の ZIETrans プロジェクトへのエクスポート
新しいApplication clientプロジェクトを作成し、Mainクラスと展開記述子の生成を選択する。この新しいプロジェクトを、ZIETrans EJBプロジェクトと同じエンタープライズ・アーカイブ(EARファイル)に入れます。
以下の jar ファイルをマニフェストファイルに依存する jar として追加します。
ZIETransプロジェクトのEJB .jarファイル * hatscommon.jar 4.EJB Access Beansをapplication clientプロジェクトに移動します。ZIETransプロジェクトのEJB Access Beansを格納するIntegration Objectフォルダをapplication clientプロジェクトのappClientModuleディレクトリにコピーします。
ZIETransプロジェクトのEJB Access Beansが格納されているIntegration Objectフォルダをapplication clientプロジェクトの appClientModule ディレクトリにコピーします。
コンピュータのスクリーンショット 自動生成された説明
図2:ZIETransプロジェクトからの依存関係にあるjarの追加とIntegrationオブジェクトのコピー
以下のスクリーンショットを参照してください。
図3:MainクラスでのEJBアクセスBeanのインスタンス化
詳細は以下の画面を参照してください。
図4:EJB参照名の追加
グラフィカル・ユーザー・インターフェース、テキスト、アプリケーション、電子メール 説明が自動的に生成されます。
図5:環境変数の追加
アプリケーション・クライアント・プロジェクトをエクスポートします。アプリケーション・クライアント・プロジェクトの名前を右クリックし、「エクスポート」を選択します。EAR ファイルとしてエクスポートします。
EAR ファイルを WebSphere の bin ディレクトリにコピーします。以下の場所です。
C:Program Files\WebSphere\AppServer%%bin
Application Types」→「WebSphere enterprise application」→「Install」を選択します。次へ」を選択し、以下のように 2 つのプロジェクトを追加します。
Graphical user interface, application Description automatically generated
図 6: WAS への EJB プロジェクトのインストール
JNDI 名を以下のように入力します。
com/ibm/HostPublisher/EJB/EJBProj_name
図 7:JNDI 名の入力
「次へ」をクリックし、WASにインストールします。
launchClient EAR_name -CCBootstrapPort=bootstrap_address_of_server
例: launchClient ZIETran_EAR.ear -CCBootstrapPort=2812
注:サーバーのブートストラップアドレスは、以下の場所で確認できます。
WebSphere application server > Server > communications > ports.
ZIETrans EJBについての理解を深め、EJBプロジェクトを作成するには、以下のZIETransのリンクを参照してください。
https://zietrans.hcldoc.com/help/index.jsp
参考までにアプリケーションプライアントのコードを添付しておきます。
Enabling CSRF and XSS protections in ZIETrans の翻訳版です。
HCL Z and I Emulator for Transformation での CSRF および XSS 保護の有効化
2021年12月8日
著者: Soumya Mallappa / Senior Software Engineer at HCL Software
クロスサイトリクエストフォージェリ(CSRF)とは、悪意のあるWebサイト、メール、ブログ、インスタントメッセージ、プログラムが、ユーザーのWebブラウザに、ユーザーが認証された信頼できるサイト上で望ましくないアクションを実行させることで発生する攻撃の一種です。例えば、この攻撃では、ユーザーのコンテキストで、資金の送金、パスワードの変更、アイテムの購入などが行われる可能性があります。
CSRFトークンと同一オリジンポリシーは、ZIETransでCSRF攻撃を防止する2つの異なる方法です。ユーザーは要件に応じて、これらのいずれか、または両方を選択することができます。
CSRFトークンとは、サーバーサイドのアプリケーションによって生成され、クライアントが発行する後続のHTTPリクエストに含めるためにクライアントに送信される、ユニークで予測不可能な秘密の値です。トークンが発行されると、サーバーは、クライアントからのリクエストに期待通りのトークンが含まれているかどうかをチェックします。トークンがない場合や無効な場合、そのリクエストは拒否されます。
同じオリジンポリシーにより、不正なオリジン/ウェブサイトから発信されたプロトコルを持たないURLから発信されたリクエストは破棄されます。
クロスサイトスクリプティング(XSS) は、クライアントサイドのコードインジェクション攻撃です。攻撃者は、正当なWebページやWebアプリケーションに悪意のあるコードを含めることで、被害者のWebブラウザで悪意のあるスクリプトを実行することを目的としています。ユーザーは、ZIETransプロジェクトでいくつかのXSSセキュリティパラメータを設定することで、ZIETransでこの攻撃を回避することができます。
このブログでは、ZIETransでどのようにCSRFとXSSから保護できるかを理解します。
`
図1: 同一生成元ポリシーおよびトークンベースの保護の有効化
変更内容を保存します。
「ナビゲーター」タブ >「Web Content」フォルダ >「Web-INF」フォルダを開きます。web.xml ファイルを開きます。
HatsCSRFValidationFilter」という記述を探します。target.origin "と "source.origin "のパラメータを、以下のようにお客様のZIETransのURLに更新してください。デフォルトでは、空白になっています。
<filter>
<description>このフィルターはcsrf攻撃を検証するために起動されます</description>
<display-name>HatsCSRFValidationFilter</display-name>
<filter-name>HatsCSRFValidationFilter</filter-name>
<filter-class>
com.ibm.hats.runtime.filters.HatsCSRFValidationFilter
</filter-class>
<async-supported>false</async-supported>
<init-param>
<param-name>source.origin</param-name>
<param-value>https://localhost:9083/ZIETrans/</param-value>
</init-param>
<init-param>
<param-name>target.origin</param-name>
<param-value>https://localhost:9083/ZIETrans/</param-value>
</init-param>
</filter>
URLをカンマで区切ることで、以下のようにparam-valueに複数のURLを指定することができます。
<param-value>https://localhost:9083/ZIETrans/, https://zietransapp.com/</param-value>
ZIETransのweb.xmlファイルを開き、以下のパラメータをNOからYESに更新します。デフォルトでは、これらのパラメーターはNOに設定されています。
<init-param>
<param-name>Content-Security-Policy</param-name>
<param-value>YES</param-value>
</init-param>
<init-param>
<param-name>X-XSS-Protection</param-name>
<param-value>YES</param-value>
</init-param>
<init-param>
<param-name>X-Content-Type-Options</param-name>
<param-value>YES</param-value>
</init-param>
``
新しい試みのトライアルとして、1週間分のサポート技術情報更新のインデックスを作成してみました。しばらく継続してみます。新規追加と内容更新したものが含まれています。システム上、軽微な修正であってもリストに含まれてしまいます。予めご了解ください。
HCL SafeLinx は VPN およびリバースプロキシのソフトウェアであり、HCL Nomad Web のプロキシとして重要な役割をになっています。
2021年12月2日、HCL SafeLinx 1.2.1.1 (1.2.1 IF1) をリリースしました。今回のリリースでは 11 件のバグ修正を行っています。Nomad Web に関係するものが数件含まれています。HCL Nomad Web の環境では最新のものをお使いください。障害修正リストは下記のページに記載されています。
国内最大級の IT 製品のレビューサイトである「ITreview」で以下の製品がリストアップされています。購入検討の参考情報として活用できます。また、レビューも書いていただけると助かります。
HCL Software は本日、HCL Unica Winter Release を発表しました。クラウドネイティブな統合マーケティングプラットフォームの最新版は、マーケティング担当者が市場投入までの時間を短縮し、顧客エンゲージメントを拡大するのに役立ちます。詳細は下記をご覧ください。
What's new in HCL RTist 11.1 2021.46 の翻訳版です。
HCL RTist 11.1 2021.46 の新機能
本日、HCL RTist の別のリリースを出荷しました。11.1 2021.46. いつものように、いくつかの新機能といくつかのバグフィックスがあります。その中からいくつかをご紹介します。
2つのカプセル間で頻繁にデータを送信する場合や、データが大きい場合は、イベントデータを移動するという新しい機能を利用できます。上の図は、2つのカプセル間で頻繁に送信される文字列をコピーではなく移動するテストアプリケーションで、アプリケーションのパフォーマンスが約35%向上したことを示しています。
型の型記述子には、新しい移動関数が含まれています。定義されていれば、オブジェクトへのrvalue参照がsend-statementで提供されている場合、データ・オブジェクトが移動されます。例えば、std::moveを使ってrvalueの参照を得ることができます。
pb.e1(mc).send(); // コピーによる送信
pb.e1(std::move(mc)).send(); // 移動による送信
受信したイベントのデータをトランジション関数内で移動させることもできます。これを可能にするには、rtdataパラメータを非constとして宣言する必要があります。これを実現するには、新しいトランジションプロパティ Const rtdata parameter のマークを外します。
そして、イベントデータを、例えばカプセル属性に移動させることができます。
m = std::move(*rtdata);
あるステートマシンのトランジションをコピーして、別の(または同じ)ステートマシンのステートにペーストできるようになりました。これにより、既存のステートマシンに基づいて新しいステートマシンを作成するプロセスを大幅にスピードアップすることができます。コピーしたトランジションをステートにペーストすると、最初はそのステートの自己トランジションになります。他の状態をターゲットにしたい場合は、後からステートチャート図の中でトランジションを再ルーティングすることができます。
新しい環境設定「モデリング」-「フラグメント・ファイルの自動作成」 は、新しく作成されたモデル要素をそれぞれのフラ グメント・ファイルに配置したい場合に設定できます。これは、完全に断片化されたモデルの作成を好むユーザーにとって便利です。なお、フラグメントファイルに格納されたモデル要素の名前を変更しても、フラグメントファイルの名前は自動的に変更されません。プロジェクト・エクスプローラーのコンテキスト・メニューには、フラグメント・ファイルの名前を変更するための別のコマンド Refactor - Rename file が用意されています。
環境設定 「RealTime Development」-「Build/Transformations」-「C++」-「Code compliance」-「Clang-Tidy」 では、コード内に抑制コメントを生成することで、特定の sizeof 式に対する警告も処理するようになりました。生成されたコードから警告を受けないことで、Clang-Tidyを使って手書きのコードスニペットの問題点を見つけることがより現実的になります。
このリリースの新機能については、Sprint Demo YouTube Playlist のビデオをご覧ください。
2021年11月17日、HCL Software は、Eclipse Oxygen IDE をベースにした、Webアプリケーションやリッチクライアントアプリケーションを作成するための ZIETrans 2.0 の一般提供を開始しました。HCL ZIETrans 2.0 は、IBM z Systems プラットフォーム上で動作する 3270 アプリケーションや IBM i OS プラットフォーム上で動作する5250アプリケーションのAPI統合を可能にする、使いやすいグラフィカル・ユーザー・インターフェース (GUI) を提供します。詳細は以下をご覧ください。