ここでは、Java アプリケーションサーバーでの TIBCO EBX® の展開仕様について詳しく説明します。サポートされるアプリケーションサーバーと固有の制限事項に関する具体的な情報については、サポートされる環境を参照してください。
安全な展開をナビゲートする方法については、セキュリティのベストプラクティスを参照してください。
EBX® は次のコンポーネントを使用します。
ライブラリ ebx.jar
デフォルトのユーザーとロールのディレクトリ。EBX® リポジトリ内またはユーザー認証用のサードパーティシステム (LDAP、RDBMS) に統合。
EBX® の独立性と相互運用性を高めるために、独自のサードパーティライブラリが埋め込まれています。一部が変更され、競合回避されている場合も、これらは正式な Java API であるため、その他は変更しないでおく必要があります。
競合を引き起こす可能性があるのは次のとおりです。
Apache Geronimo JSON
Apache Log4j 2 API
ArcGIS API for JavaScript
Javax Activation
Javax Annotations
Javax JSON Binding
Javax SAAJ API
Javax WS RS
Javax XML Bind
LZ4 compression for Java
MicroProfile OpenAPI
Simple Logging Facade for Java (SLF4J) API
サードパーティライブラリのバージョンまたは詳細については、TIB_ebx_6.1.3_license.pdf
を参照してください。
これらのライブラリはすでに統合されているため、カスタム Web アプリケーションにこれらを新たに追加しないでください。そうでない場合は、リンケージエラーが発生する可能性があります。さらに、同じ理由で、ebx.jar
ライブラリ以外にこれらを展開しないでください。
EBX® には、いくつかのサードパーティ Java ライブラリが必要です。これらのライブラリは展開し、ebx.jar
のクラスローダーからアクセス可能にする必要があります。使用されるアプリケーションサーバーおよび Java ランタイム環境によっては、これらのライブラリがすでに存在する場合や、手動で追加する必要がある場合があります。
ebx-lz4.jar
という名前のライブラリは、ebx.jar
とは別に展開する必要があります。これには、いくつかの圧縮実装が含まれています (JNI 専用アーキテクチャライブラリと Java フォールバック)。以下の要件により、EBX® リポジトリの最適な圧縮および解凍パフォーマンスを確保できます。前提条件を検証できない場合、EBX® は Java フォールバックの安全または安全でないモードで機能しますが、パフォーマンスは低下します。ebx-lz4.jar
ライブラリのデフォルトの場所は、ebx.jar
の横にあります。
EBX® リポジトリで実際に使用されている圧縮の実装を確認するには、[管理] > [システム情報] の [リポジトリ情報] セクションで [圧縮] の値を確認してください。最適なパフォーマンスを得るには、この値が「JNI-検証済み
」である必要があります。それ以外の場合は、Java フォールバックに対して「Java[Safe|Unsafe] - 検証済み
」になります。
JNI アクセスは、次のオペレーティングシステムアーキテクチャで許可されています。i386
、x86
、amd64
、x86_64
、aarch64
または ppc64le
。この値を確認するには、[管理] > [システム情報] の [システム情報] セクションで [オペレーティングシステムアーキテクチャ] の値を確認してください。
ebx-lz4.jar
の JNI アクセスを有効にするには、ライブラリをシステムクラスローダー (アプリケーションクラスローダーとも呼ばれる) でロードする必要があります。展開は、アプリケーションサーバー固有の手順に従って行えます。
EBX® リポジトリにはデータベースが必要です。一般に、必要なドライバーは、データソースが使用されている場合は、データソースとともに構成されます。メイン構成ファイルで定義されているデータベースに応じて、次のいずれかのドライバーが必要です。どのデータベースを使用する場合でも、JDBC クライアントドライバーのバージョンは、データベースサーバーのバージョン以上である必要があることに注意してください。
H2 | バージョン 2.2.224 が検証されました。H2 は運用環境ではサポートされていないことに注意してください。 H2 リポジトリがバージョン 1.0 ドライバーで構築されている場合は、この v2 プロセスへの移行を適用する必要があります。 |
Oracle JDBC | Oracle データベース 21c は、最新のパッチセットアップデートで検証されています。 データベースサーバーのバージョンと Java ランタイム環境のバージョンに応じて、使用する必要のあるドライバーを決定します。JDK8 で |
SQL Server JDBC | すべての修正パッチとメンテナンスパッチが適用された SQL Server 2012 SP4 以降が検証されています。 古いバージョンではいくつかの問題が発生しているため、最新の JDBC ドライバーを使用してください。 使用する Java ランタイム環境のバージョンに応じて、 |
PostgreSQL | PostgreSQL Java 8 が検証されています。 データベースサーバーおよび Java ランタイム環境用にリリースされた最新の JDBC ドライバーバージョン 4.2 を追加します。 |
使用される Web アプリケーションサーバーによっては、メール管理用のライブラリ JavaMail API
がすでに提供されています。そうでない場合は、手動で追加する必要があります。
EBX® には、この API のバージョン 1.5.6 と互換性のあるライブラリが必要です。構成の詳細については、SMTP とメールの有効化と構成を参照してください。
手動インストールを容易にするために、javax.mail-1.5.6.jar
が提供され、ebx.software/lib/lib-mail
ディレクトリに配置されています。
SSL 機能のアクティベーション、構成、管理は、使用される Web アプリケーションサーバーと密接にリンクされています。したがって、適切な Web アプリケーションサーバーのドキュメントを参照する必要があります (例、Tomcat SSL/TLS Configuration How-To)。
JMS を使用する場合は、バージョン 1.1 以降が必要です。
Java EE アプリケーションサーバーまたは Servlet/Java Server Pages (JSP) 実装のどちらが使用されているかに応じて、必要なライブラリは次のとおりです。
Java EE (Java Platform Enterprise Edition) に基づくアプリケーションサーバーの場合、必要な JMS プロバイダーライブラリがデフォルトで使用可能です。詳細については、https://www.oracle.com/java/technologies/java-ee-glance.html を参照してください。
Apache Tomcat などの JavaSE (Java Platform Standard Edition) を使用した Servlet/JavaServer Pages (JSP) 実装の場合、Apache ActiveMQ などの JMS プロバイダーライブラリの追加が必要な場合があります。詳細については、https://www.oracle.com/java/technologies/java-se-glance.html を参照してください。
EBX® では、サポートされる JMS モデルは Point-to-Point (PTP) のみです。PTP システムでは、メッセージのキューが許可されます。
EBX® は、追加するカスタム EBX® モジュール Web アプリケーションがない場合に直接展開可能な、事前パッケージ化された EAR を提供します。カスタム Web アプリケーションを EBX® モジュールとして展開する場合は、ビルトイン Web アプリケーションと同一レベルでパッケージ化されたカスタムモジュールを含む EAR を再構築することをお勧めします。
/
パスコンテキストでの Web アプリケーションの展開はサポートされなくなりました。パスコンテキストは空にすることはできず、/
と等しくすることもできません。さらに、異なる深さのパスでの Web アプリケーションの展開は推奨されません。すべての Web アプリケーションパスのコンテキストは、パスの深さを同一に設定する必要があります。
詳細については、この章の末尾の EBX® EAR の再パッケージ化に関する注意事項を参照してください。
EBX® には、次のビルトイン Web アプリケーションが含まれています。
Web アプリケーション名 | 説明 | 必須 |
---|---|---|
| 起動時に初期化を処理する EBX® エントリポイント。詳細については、展開の詳細を参照してください。 | はい |
| EBX® ルート Web アプリケーション。EBX® を使用するアプリケーションでは、ルート Web アプリケーションを展開する必要があります。 | はい |
| EBX® ユーザーインターフェイス Web アプリケーション | はい |
| EBX® 認証アプリケーション | はい |
| EBX® ユーザーインターフェイス Web アプリケーション | はい |
| EBX® データモデルアシスタント。ユーザーインターフェイスによるデータモデルの作成を支援します。 注意:データモデルアシスタントでは、 | はい |
| EBX® データサービス Web アプリケーション。データサービスでは、SOAP 操作および Web サービス記述言語 WSDL 生成標準を使用するか、ビルトイン RESTful サービスを使用して、EBX® リポジトリとの外部インタラクションを許可します。 注意:EBX® Web サービスジェネレーターでは、 | はい |
EBX® モジュールの要件に準拠するカスタム Web アプリケーションを展開することにより、EBX® の動作を拡張およびカスタマイズできます。
このセクションでは、「ebx
」Web アプリケーションの展開に使用可能なさまざまなオプションについて説明します。これらのオプションは、展開記述子 (WEB-INF/web.xml
) で使用可能で、メイン構成ファイルで定義されたプロパティによって補完されます。
JBoss アプリケーションサーバーの場合、未使用のリソースはすべて WEB-INF/web.xml
展開記述子から削除する必要があります。
Web アプリケーション「ebx
」(ebx.war
としてパッケージ化) には、初期化を処理し、EBX® Web ツールの唯一のユーザーインターフェイスのエントリポイントとして機能する FrontServlet
サーブレットが含まれています。
Webアプリケーション「ebx
」のファイル WEB-INF/web.xml
で、次のエレメントを FrontServlet
用に構成する必要があります。
| EBX® の起動時に |
|
|
FrontServlet
には、ServletContext
など他のコンテキストへのアクセス許可が必要です。
たとえば、Tomcat では、この構成は、構成ファイル server.xml
の属性 crossContext
を使用して次のように実行されます。
< Context path = "/ebx" docBase = "(...)" crossContext = "true" /> |
EBX® のメイン構成でプロパティ ebx.persistence.url
が指定されている場合、以下の環境エントリは EBX® ランタイムにより無視されます。このオプションは、便宜上提供されているだけです。完全構成可能なデータソースを使用することを常にお勧めします。特に、接続プールのサイズは、同時ユーザーの数に応じて設定する必要があります。このプロパティの詳細については、EBX® リポジトリの構成を参照してください。
EBX® の JDBC データソースは、「ebx
」Web アプリケーションの展開記述子 WEB-INF/web.xml
で次のように指定されます。
予約済みリソース名 | デフォルトの JNDI 名 | 説明 |
---|---|---|
| Weblogic: JBoss: | EBX® リポジトリの JDBC データソース Java タイプ: |
EBX® のメイン構成で ebx.mail.activate
が true に設定されていない場合、またはプロパティ ebx.mail.smtp.host
が指定されている場合は、以下の環境エントリは、EBX® ランタイムにより無視されます。これらのプロパティの詳細については、EBX® メイン構成プロパティの SMTP を参照してください。
SMTP とメールは、次のように「ebx
」Web アプリケーションの展開記述子 WEB-INF/web.xml
で宣言されます。
予約済みリソース名 | デフォルトの JNDI 名 | 説明 |
---|---|---|
| Weblogic: JBoss: | EBX® からメールを送信するために使用される Java メールセッション Java タイプ: |
EBX® メイン構成がプロパティ ebx.jms.activate
で JMS を有効にしない場合、以下の環境エントリは EBX® ランタイムにより無視されます。このプロパティの詳細については、EBX® メイン構成プロパティの JMS を参照してください。
JMS 接続ファクトリーは、次のように「ebx
」Web アプリケーションの展開記述子 WEB-INF/web.xml
で宣言されます。
予約済みリソース名 | デフォルトの JNDI 名 | 説明 | 必須 |
---|---|---|---|
| Weblogic: JBoss: | アプリケーションサーバーの運用環境で構成された JMS プロバイダーとの接続を作成するために EBX® によって使用される JMS 接続ファクトリー。 Java タイプ: | はい |
JNDI 機能を備えた WildFly、JBoss、および WebLogic アプリケーションサーバーでの展開の場合、EBX.ear
または EBXForWebLogic.ear
を更新して、必要なすべてのリソース名を JNDI 名にマッピングする必要があります。
デフォルトの HTTP の代わりに JMS を使用するようデータサービスを構成するには、JMS 接続ファクトリーと、「ebx
」Web アプリケーションの WEB-INF/web.xml
展開記述子で宣言された次のキューを構成する必要があります。これは、データサービス用の JMS を構成するための唯一の方法です。
ヘッダーフィールド JMSReplyTo
が定義されている場合、SOAP リクエストを受信すると、オプションで SOAP 応答が返されます。この場合、フィールド JMSCorrelationID
および JMSType
は保持されます。
関連する EBX® の主な構成プロパティの詳細については、JMS を参照してください。
EBX® のメイン構成がプロパティ ebx.jms.activate
を介して JMS をアクティブ化しない場合、以下の環境エントリは EBX® ランタイムによって無視されます。このプロパティの詳細については、EBX® のメイン構成プロパティの JMS を参照してください。
予約済みリソース名 | デフォルトの JNDI 名 | 説明 | 必須 |
---|---|---|---|
| Weblogic: JBoss: | 他のアプリケーションによって EBX® に送信される着信 SOAP リクエストの JMS キュー。 Java タイプ: | いいえ |
| Weblogic: JBoss: | エラー時の JMS キュー。これには、エラー発生時の受信 SOAP リクエストが含まれています。これにより、必要に応じてこれらのメッセージを再生できます。 Java タイプ: 注意:このプロパティの読み取りには、メイン構成で、プロパティ | いいえ |
Web アプリケーションサーバーの起動を高速化するには、JAR ファイルスキャナーの構成を変更して、少なくとも ebx.jar
および ebx-addons.jar
ライブラリを除外する必要があります。
たとえば、Tomcat では、これは catalina.properties
ファイルの tomcat.util.scan.DefaultJarScanner.jarsToSkip
プロパティで実行する必要があります。
EBX® は、サーブレット 3.0 から 5.0 までをサポートする任意の Java EE または Jakarta EE 8 アプリケーションサーバーに展開できます。展開とインストールに関する次のドキュメントが利用可能です。
Java EE または Jakarta EE 8 アプリケーションサーバーでの EBX® インストールに関する注意事項は、各アプリケーションサーバーのネイティブドキュメントを置き換えるものではありません。
上記は一般的なインストールの推奨ではありません。インストールプロセスは、技術環境、アプリケーションの相互化、配信プロセス、組織の決定などのアーキテクチャ上の決定によって異なります。
これらの例では、追加の EBX® モジュールは展開されていません。カスタムモジュールまたはアドオンモジュールを展開するためのベストプラクティスは、他の EBX® モジュールと同じレベルの Web アプリケーションとしてモジュールを使用して EAR を再構築することです。Web アプリケーションは、Java™ 2 Platform Enterprise Edition 仕様 v1.4 で指定されているように、クラスパスの依存関係を宣言する必要があります。
J2EE.8.2 のオプションのパッケージサポート
(...)
JAR フォーマットのファイル (例、JAR ファイル、WAR ファイル、RAR ファイル) では、参照 JAR ファイルのマニフェストファイルの Class-Path ヘッダーで参照される JAR ファイルに名前を付けることで、JAR ファイルを参照できます。参照される JAR ファイルの名前は、参照 JAR ファイルの URL に相対的な URL を使用して付けられます。マニフェストファイルは、JAR ファイルでは META-INF/MANIFEST.MF という名前です。マニフェストファイルの Class-Path エントリのフォーマットは次のとおりです。
Class-Path: list-of-jar-files-separated-by-spaces
「工業化」プロセスでは、カスタム EBX® モジュール、EBX® Web アプリケーション、および必要なすべての共有ライブラリを使用して、EAR を自動的に構築するスクリプトの開発を強くお勧めします。
予期しない動作を回避するため、クラスローディングシステム内の ebx.jar
または他のライブラリの重複を回避するガイドラインに従ってください。
Oracle WebLogic サーバーに展開する場合は、モジュール構造のセクションを参照してください。