[ADOS] ADOS Developer's Site - XML Stadium
ADOS Company slogan - XML Total Solution
RIGHT:[[目次>Hestia Hacks#SDKDevDuide]]|[[前>高水準API]]|[[次>HestiaCommander上への実装]]

#contents

*はじめに [#t2db8ac7]
当サンプルについては、(株)アドスが動作を保障するものではありません。開発者は、内容を自由に改変し利用することができます。

*動作環境 [#u9de0fce]
当サンプルは、JBoss4.0.3 SP1上で動作するMBeanServerとして構築されています。

Hestiaへのポーリング機能等についてはJBossに依存しない実装を取っていますので、任意のアプリケーションに組込み実装することも可能です。

*ソースコード [#q532fca1]
#ref(eissample-20060208.zip)

*ビルド環境 [#j4897456]
以下のライブラリが必要になります。

|Location|名称|入手先|備考|h
|lib/compile|commons-logging.jar|[[The Jakarta Project:http://jakarta.apache.org/commons/logging/]]|製品CDROMにも同梱|
|lib/compile|jboss-jmx.jar|[[JBoss.com:http://www.jboss.com]]|製品CDROMにも同梱。展開後jboss-jmx.jarを抽出してください|
|lib/compile|jboss-system.jar|[[JBoss.com:http://www.jboss.com]]|製品CDROMにも同梱。展開後jboss-system.jarを抽出してください|
|lib/runtime|hestia.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
|lib/runtime|cidxxsdbin-1.5.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
|lib/runtime|pipsxsdbin-1.5.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
|lib/runtime|repository-1.5.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
|lib/runtime|rnifubin-1.5.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
|lib/runtime|universalbin-1.5.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
|lib/runtime|schema-1.0.jar |N/A|アドス提供ライブラリ。製品CDROMに同梱|
|lib/runtime|bcmail-jdk15-130.jar|[[bouncycastle.org:http://www.bouncycastle.org]]|製品CDROMに同梱|
|lib/runtime|bcprov-jdk15-130.jar|[[bouncycastle.org:http://www.bouncycastle.org]]|製品CDROMに同梱|
|lib/runtime|commons-io.jar|[[jakarta commons:http://jakarta.apache.org/commons/index.html]]|製品CDROMに同梱|
|lib/runtime|commons-collections.jar|[[jakarta commons:http://jakarta.apache.org/commons/index.html]]|製品CDROMに同梱|
|lib/runtime|commons-configuration.jar|[[jakarta commons:http://jakarta.apache.org/commons/index.html]]|製品CDROMに同梱|
|lib/runtime|commons-lang.jar|[[jakarta commons:http://jakarta.apache.org/commons/index.html]]|製品CDROMに同梱|
|lib/runtime|jbossall-client.jar.jar|[[JBoss.com:http://www.jboss.com]]|製品CDROMにも同梱。展開後jboss-jmx.jarを抽出してください|
|lib/runtime|mysql-connector-java.jar|[[MySQL:http://www.mysql.com/]]|製品CDROMに同梱|
|lib/runtime|postgresql.jdbc2ee.jar|[[PostgreSQL:http://www.postgresql.org/]]|製品CDROMに同梱|
|lib/runtime|xercesImpl.jar|[[xml.apache.org:http://xerces.apache.org/]]|製品CDROMに同梱|
|lib/runtime|xml-apis.jar|[[xml.apache.org:http://xerces.apache.org/]]|製品CDROMに同梱|
|lib/runtime|xmlParserAPIs.jar|[[xml.apache.org:http://xerces.apache.org/]]|製品CDROMに同梱|
その他DBMSにOracleを利用する場合、バージョンに合ったJDBCドライバを用意する必要があります。

*ポイント [#ucfccde7]
**ユーティリティクラス [#cc9d7044]
[[MessageUtil:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/common/util/MessageUtil.java.html]]クラスに、[[JavaObjectのハンドリング]]で示したJava Objectのハンドリングサンプルが実装されています。
**低水準API [#jcaa7a97]
***EIS実装 [#nb01237f]
[[SampleExchanger:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/exchanger/jmx/SampleExchanger.java.html]]が低水準APIを利用したEIS実装です。JBoss MBeanServerとして実装されています。

Hestiaとの接続方式(JMS/RMI)は設定ファイルによって切り替えられます。

当サンプルでは、Hestiaからメッセージを受信した場合の簡易サンプルを提供していますが、バックエンドシステムからHestiaへのメッセージ送信についてはユーザ要件に合わせて実装してください。

***メッセージポーリング [#bfaeffde]
[[Exchanger:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/exchanger/daemon/Exchanger.java.html#eissample44]]スレッドにてHestiaへの定期ポーリングを実装しています。

***リスナ実装 [#i731333d]
[[Exchanger:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/exchanger/daemon/Exchanger.java.html#eissample73]]  スレッドに、[[SDKが提供するリスナ:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/sdk/message/MessageExchangerListener.html]]の実装があります。

当サンプルでは、受信したServiceContentおよびAttachmentをファイルシステムにダイレクト保存するサンプル実装を提供しています。開発者は要件にあわせトランザクションモニタ等との連携機能をリスナのコールバックメソッドへ実装することができます。
**高水準API [#n38e153c]
***EIS実装 [#tf42eac9]
[[SampleSessionManager:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/session/jmx/SampleSessionManager.java.html]]が高水準APIを利用したEIS実装です。JBoss MBeanServerとして実装されています。

Hestiaとの接続形式(JMS/RMI)およびSessionManagerが利用するDBMS定義は設定ファイルにより切り替えられます。

当サンプルでは、[[SessionManager:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/sdk/session/SessionManager.html]]からアクティブなセッションを取り出すところまでが実装されています。メッセージの抽出およびHestiaへのメッセージ送信については[[低水準API>#jcaa7a97]]および[[JavaObjectのハンドリング]]を参考に実装してください。
***メッセージポーリング [#g6c38801]
SessionManager自体がポーリングを行いますので、EIS実装ではSessionManagerから処理対象となるセッションオブジェクトを定期的に抽出し処理を行う必要があります。

[[SessionManagerDaemon:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/session/daemon/SessionManagerDaemon.java.html#eissample49]]に該当部分のサンプル実装があります。
***SessionProcessorの構築 [#m250451c]
EIS側でSessionManagerを利用する際、まずローカルにSessionオブジェクト格納用のDBMSを構築する必要がありますが、[[SDKが提供するユーティリティ:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/sdk/session/SessionProcessorPredefined.html]]により該当処理を担う[[SessionProcessor:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/sdk/session/SessionProcessor.html]]を構築することが出来ます。

[[SampleSessionManagerImplクラス:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/session/jmx/SampleSessionManagerImpl.java.html#sampleeis42]]に該当部分のサンプル実装があります。


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Copyright 2005-2008. ADOS Co., Ltd. All Rights Reserved.