[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として構築されています。
 *概要 [#u9de0fce]
 当サンプルは、コマンドラインから起動する単独アプリケーションとして構成されています。~
 -あらかじめファイルシステムに保存されているXMLからJavaObjectを生成し送信するプログラム
 -取引先から受信したメッセージをポーリングし受信するプログラム
 
 Hestiaへのポーリング機能等についてはJBossに依存しない実装を取っていますので、任意のアプリケーションに組込み実装することも可能です。
 
 *ソースコード [#q532fca1]
 #ref(eissample-20060208.zip)
 #ref(eissample-20060605.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ドライバを用意する必要があります。
 |lib|commons-io-1.2.jar|[[The Jakarta Project:http://jakarta.apache.org/commons/io/]]|製品CDROMにも同梱|
 |lib|getopt.jar|[[GNU Project:http://www.gnu.org/software/java/packages.html]]|製品CDROMにも同梱。|
 |lib|log4j.jar|[[Log4j Project:http://logging.apache.org/log4j/]]|製品CDROMにも同梱。|
 |lib|jbossall-client.jar|[[JBoss.com:http://www.jboss.com]]|製品CDROMにも同梱。展開後jboss-jmx.jarを抽出してください|
 |lib|hestia-1.5.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
 |lib|pipsubin.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
 |lib|pipsxsdbin.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
 |lib|cidxxsdbin.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
 |lib|rnifubin.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
 |lib|universalbin.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
 |lib|log4jext-0.1.jar|N/A|アドス提供ライブラリ。製品CDROMに同梱|
 
 *ポイント [#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として実装されています。
 [[MessageUtil:http://wiki.a-dos.com/eissamplesrc2/MessageUtil.java.html]]クラスに、[[JavaObjectのハンドリング]]で示したJava Objectのハンドリングサンプルが実装されています。
 **メッセージ送信 [#nb01237f]
 [[Sender:http://wiki.a-dos.com/eissamplesrc2/Sender.java.html]]クラスに、XMLファイルからServiceContentを含むPayloadContainerオブジェクトを生成しHestiaへ送信する機能のサンプルが実装されています。
 
 Hestiaとの接続方式(JMS/RMI)は設定ファイルによって切り替えられます。
 **メッセージ受信 [#w836418d]
 [[Receiver:http://wiki.a-dos.com/eissamplesrc2/Receiver.java.html]]クラスに、Hestiaへ定期的にポーリングを行い受信したメッセージをファイルシステムへ保存する機能のサンプルが実装されています。
 
 当サンプルでは、Hestiaからメッセージを受信した場合の簡易サンプルを提供していますが、バックエンドシステムから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.