1st Release Date : 2004/01/10
概要 | チェーン | リクエストハンドラ | cXML | 動作環境

Artes eConnect for Supplier の概要

Artes eConnect for Supplier (以下eConnect)は、Ariba Buyer導入企業とインターネットを経由して商取引を行うサプライヤ企業が短期間で容易にAriba cXML対応アプリケーションを開発するためのフレームワークです。

eConnectは拡張可能なチェーンアーキテクチャーを採用しており、Servlet、J2EEおよびApple WebObjectsなどのJavaベースの多くのWebアプリケーションサーバで使用可能です。標準の実装には、Profileトランザクション、Orderトランザクション、PunchOutSetupトランザクションを行うための典型的なリクエストハンドラが容易されているので、これらをそのまま、あるいは、カスタマイズして使用することによって、短期間でAriba対応のアプリケーションを開発することができます。

免責事項および使用条件

このフレームワークはAriba対応アプリケーションの開発者の方に無償で提供されるもので、ArtesWareのホームページから自由にダウンロードして使用する事ができます。また、ダウンロードしたフレームワークのソースコードを自由に変更して使用することが可能ですが、ダウンロードしてソフトウェアおよび変更を加えたソフトウェアを再配布することはできないものとします。
さらに、本ソフトウェアに含まれる設計手法、アイデア、コードを模倣または複製して、有償の製品やサービスの提供を行うことはできません。
本ソフトウェアの問題を発見し、修正を行った場合は、ArtesWareに対してフィードバックを行っていただくことが、本ソフトウェアをご利用いただく条件です。
また、本ソフトウェアのバグや不具合に起因する問題について、ArtesWareは一切の保証を負わないものとし、一切のサポートは行いません。
本ソフトウェアの使用方法については、この文書を含むソフトウェア添付のドキュメントに説明されている範囲でご理解いただくことになりますが、開発に関する指導および助言が必要な場合は別途ArtesWareとのコンサルティング契約を締結していただきます。

Artes eConnect for Supplierのアーキテクチャー

Artes eConnect for Supplier (以下eConnect)は、チェーンアーキテクチャーを採用しています。
チェーンアーキテクチャーとは、一連のリクエスト処理ロジックをリクエストハンドラとして登録して、それらを順次実行することで、クライアントからのリクエストを処理して、クライアントにレスポンスを返す構造をいいます。

チェーンはeconnect-config.xmlという名前の設定ファイルに記述されます。
設定ファイルには、グローバルオプションと呼ばれるグローバルな設定情報、リクエストハンドラの定義、チェーンを構成するリスナーの定義を記述します。

グローバルオプションは以下の形式で定義します。

<global-options>
    <option-name>option-value</option-name>
</global-options>

イタリック体の部分が開発者が定義するオプションです。option-nameは一意な名前でなければなりません。

リクエストハンドラはチェーンの中で使用されるリクエスト処理を行うコンポーネントで、以下の形式で定義します。

<handler id="handler-id">
    <class>handler.class.name</class>
    [
    <parameters>
        <parameter name="parameter-name">parameter-value</parameter>
        ....
        ....

    </parameters>

    ]
</handler>

リクエストハンドラはリスナーによってidでアクセスされるため、id属性は必須かつ一意でなければなりません。
class要素にはリクエストハンドラのクラス名を設定します。
parametersにはそのリクエストハンドラが使用する設定パラメータを必要なだけ設定することができます。

リスナーの定義はチェーンの構成を示し、以下の形式で記述します。

<listener name="listener-name">
    <handler-reference id="handler-id"/>
    または
    <handler-reference id="handler-id">
        <parameters>
            <parameter name="parameter-name">parameter-value</parameter>
            ....
            ....

        </parameters>

    </handler-reference>

        ....
        ....
    <interrupt-handler-reference id="handler-id"/>
    または
    <interrupt-handler-reference id="handler-id">
        <parameters>
            <parameter name="parameter-name">parameter-value</parameter>
            ....
            ....

        </parameters>

    </handler-reference>

        ....
        ....
</listener>

リスナーには一連のリクエストハンドラへの参照を処理順に指定します。チェーンを実行するChainDispatcherはリクエストを処理するチェーンをリスナーの名前で参照するため、name属性は必須かつ一意でなければなりません。
handler-referenceは定義済みのhandlerを参照する定義で、handler定義のに含まれるパラメータをオーバーライドすることができます。handler-referenceにパラメータを定義しない場合は、handler定義のパラメータが使用されます。
interrupt-handler-referenceには、ChainInterruptExceptionがスローされたときに実行するリクエストハンドラーへの参照を指定します。リクエストハンドラは、処理の続行が不能な場合はChainAbortionExceptionをスローしますが、何らかのレスポンスをクライアントに返す必要がある場合は、ChainInterruptExceptionをスローして、チェーン処理が中断されたことを示すエラーレスポンスをクライアントに返すことができるように実装します。

概要 | チェーン | リクエストハンドラ | cXML | 動作環境
http://www.artesware.com

                               Copyright (c) 2004-2005, ArtesWare, Inc.