Cover Image

HCL Z and I Emulator for Transformation の EJB について

2021/12/8 - 読み終える時間: 6 分

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を使用する方法を理解します。


Javaアプリケーション・クライアントでのZIETrans EJB Access Beansの使用

EJB Access BeansをJavaアプリケーション・クライアントで使用するには、以下の手順に従います。

  1. 1つまたは複数のマクロ、Integration Objects、およびその他のリソースを含むZIETrans EJBプロジェクトを作成します。Integrationオブジェクトを右クリックし、以下のようにEJB AccessビーンをZIETransプロジェクトにエクスポートします。

グラフィカル・ユーザー・インターフェース、アプリケーション 説明が自動的に生成される

図 1: EJB Access Bean の ZIETrans プロジェクトへのエクスポート 画像の説明

  1. 新しいApplication clientプロジェクトを作成し、Mainクラスと展開記述子の生成を選択する。この新しいプロジェクトを、ZIETrans EJBプロジェクトと同じエンタープライズ・アーカイブ(EARファイル)に入れます。

  2. 以下の jar ファイルをマニフェストファイルに依存する jar として追加します。

    • ZIETrans EJB プロジェクトの EJB .jar ファイル。
    • hatscommon.jar
  3. 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オブジェクトのコピー 画像の説明

  1. EJB Access Bean をインスタンス化して実行するコードを実装して、アプリケーション・クライアントで生成された Main クラスでテスト・クライアントを構築します。

以下のスクリーンショットを参照してください。

図3:MainクラスでのEJBアクセスBeanのインスタンス化 画像の説明

  1. EJB参照と環境変数をクライアント展開記述子に追加します。
  • META-INF\application-client.xmlを開きます。
  • Application Client Descriptor Editorの Design タブで以下の操作を行います。
    • Add をクリックして、環境変数の追加を選択します。
      • Name: EJB Access Bean の HPUBEJB2_REFERENCE 文字列の最後の部分の値をこのフィールドにコピーします。例えば、「HPUBEJB2_REFERENCE1318657356」というようになります。
      • Type: java.lang.String
      • Value: ejb/ejb_project_name, ejb_project_nameはZIETransのEJBプロジェクトの名前です。
    • Add をクリックして、EJB リファレンスの追加を選択します。
      • EJB Reference name: ejb /ejb_project_name, where ejb_project_name is the name of your ZIETrans EJB project.
      • EJB Reference type: Session
      • Home: com.ibm.HostPublisher.EJB.HPubEJB2Home
      • Remote: com.ibm.HostPublisher.EJB.HPubEJB2
      • EJB link: ejb_project_name, ejb_project_name は ZIETrans EJB プロジェクトの名前です。

詳細は以下の画面を参照してください。

図4:EJB参照名の追加 画像の説明

グラフィカル・ユーザー・インターフェース、テキスト、アプリケーション、電子メール 説明が自動的に生成されます。

図5:環境変数の追加 画像の説明

  1. ワークスペースを保存し、プロジェクトをクリーンアップします。


WebSphere Server 上でのアプリケーション・クライアントの実行
  • アプリケーション・クライアント・プロジェクトをエクスポートします。アプリケーション・クライアント・プロジェクトの名前を右クリックし、「エクスポート」を選択します。EAR ファイルとしてエクスポートします。

  • EAR ファイルを WebSphere の bin ディレクトリにコピーします。以下の場所です。

    C:Program Files\WebSphere\AppServer%%bin

  1. この EAR を WebSphere サーバーにインストールします。WAS の管理コンソールを開き、以下を選択します。

Application Types」→「WebSphere enterprise application」→「Install」を選択します。次へ」を選択し、以下のように 2 つのプロジェクトを追加します。

Graphical user interface, application Description automatically generated

図 6: WAS への EJB プロジェクトのインストール 画像の説明

  1. JNDI 名を以下のように入力します。

    com/ibm/HostPublisher/EJB/EJBProj_name

図 7:JNDI 名の入力 画像の説明

「次へ」をクリックし、WASにインストールします。

  1. コマンドプロンプトを開き、ear がコピーされた bin フォルダにディレクトリを変更します。以下のコマンドを実行します。

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

参考までにアプリケーションプライアントのコードを添付しておきます。

アプリケーションクライアント


Cover Image

HCL Z and I Emulator for Transformation での CSRF および XSS 保護の有効化

2021/12/8 - 読み終える時間: 3 分

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から保護できるかを理解します。


ZIETransでCSRF保護を有効にする手順
  • ZIETrans ツールキットを開きます。
  • Project settings > other tab > Client settingsに移動します。
  • 要件に応じて「Enable same origin policy protection」または「Enable token based protection」を選択します。

`画像の説明

図1: 同一生成元ポリシーおよびトークンベースの保護の有効化

  1. 変更内容を保存します。

  2. 「ナビゲーター」タブ >「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のXSS保護機能を有効にする手順

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>
``

サポート技術情報: 2021/11/29-12/5 更新

2021/12/7 - 読み終える時間: 9 分

新しい試みのトライアルとして、1週間分のサポート技術情報更新のインデックスを作成してみました。しばらく継続してみます。新規追加と内容更新したものが含まれています。システム上、軽微な修正であってもリストに含まれてしまいます。予めご了解ください。


HCL SafeLinx 1.2.1.1 (1.2.1 IF1) をリリースしました

2021/12/3 - 読み終える時間: ~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 の環境では最新のものをお使いください。障害修正リストは下記のページに記載されています。


ITreview (製品レビューサイト) で HCL 製品のレビューを閲覧、投稿ができます

2021/12/2 - 読み終える時間: ~1 分

国内最大級の IT 製品のレビューサイトである「ITreview」で以下の製品がリストアップされています。購入検討の参考情報として活用できます。また、レビューも書いていただけると助かります。


ニュース: HCL Unica Winter Release を発表 市場投入までの時間を短縮し、顧客エンゲージメントを最適化可能に

2021/12/2 - 読み終える時間: ~1 分

HCL Software は本日、HCL Unica Winter Release を発表しました。クラウドネイティブな統合マーケティングプラットフォームの最新版は、マーケティング担当者が市場投入までの時間を短縮し、顧客エンゲージメントを拡大するのに役立ちます。詳細は下記をご覧ください。


Cover Image

HCL RTist 11.1 2021.46 の新機能

2021/12/2 - 読み終える時間: 2 分

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 のビデオをご覧ください。


ニュース: メインフレームソフトウェア ZIE for Transformation SOLUTION の最新版をリリース

2021/12/2 - 読み終える時間: ~1 分

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) を提供します。詳細は以下をご覧ください。


このブログについて

HCL Japan の Software 部門の複数担当者で HCL Software 全般について記しています。

Tags

Academy Accelerate Accelerator Actian Aftermarket Cloud Ambassador AoC AppDev Pack AppScan ASoC BigFix BigFix Workspace CAA CDP Clara Client Applicatin Access Cloud Native Commerce Common Local License Server Compass Connections Connnections CVE-2021-44228 DevOpes Velocity DevOps DevOps Code ClearCase DevOps Code RealTime DevOps Deploy DevOps.Launch.AppScan DevOps Model RealTim DevOps Model RealTime DevOps Plan DevOps Test DevOps Velocity Digital Experience Discover Domino Domino Leap Domino Volt Domino管理者アップデート認定試験対策 DQL DRYiCE DX Enterprise Integrator event General HCAA HCL Ambassador HCL Ambassadors HCL Domino REST API HCL OneTest Embedded HCL Z and I Emulator HCL Z and I Emulator for Transformation HCLSoftware U Hero history HTMO iAutomate iControl iNotes IZSAM KEEP Launch Launch.DevOps Leap Link MarvelClient Model Realtime nds2019 ndv12beta Nippon Noets/Domino Nomad Nomad Mobile Nomad Web notes Notes/Domino notes-domino-9-10-limited-supportability-as-of-202204 Notes/Domino V12 Notes/Domion notescons Now OneDB OneTest OnTime REST RTist SafeLinx Sametime SoFy Total Experience Traveler Traveler for Microsoft Outlook Unica Unica Discover Unica Interact UrbanCode Deploy UrbanCode Velocity Velocity Verse VersionVault Volt Volt MX Volt MX Go Volt MX サンプルアプリ Wordload Automation Workload Automation youtube Z Z Abend Investigator Z and I Emulator Z and I Emulator for Transformation Z and I Emulator for Web Z and I Emulator for Web Client Z Asset Optimizer Z Data Tools Z Software Asset Manager ZAI ZAO ZIE ZIE for Transformation ZIE for Web ZIE for Windows ZIET ZIETrans ZIEWeb イベント ガイド クラウド サポート サポート技術情報 サポート終了 セキュリティ セキュリティー セキュリティー脆弱性 テクてく Lotus 技術者夜会 ニュース ノーツコンソーシアム パートナー ライセンス 九州地区 Notes パートナー会 出荷日 研修