BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

B2B Integration メッセージング アプリケーション プログラミング ガイド

 前 次 目次 索引 PDFで表示  

ビジネス メッセージ交換用 XOCP アプリケーションの開発

注意: Messaging API および XOCP ビジネス プロトコルは、WebLogic Integration の本リリースより非推奨になりました。Messaging API および XOCP ビジネス プロトコルの代替機能に関する詳細については、『WebLogic Integration リリース ノート』を参照してください。

eXtensible Open Collaboration Protocol (XOCP)は、ビジネス メッセージの交換のために WebLogic Integration によって使用されるデフォルトのビジネス プロトコルです。この付録のトピックは以下のとおりです。

 


はじめに

WebLogic Integration では、XOCP プロトコルに基づくトレーディング パートナの会話を実装するために 2 つの方法が用意されています。

このマニュアルでは、トレーディング パートナ間の会話を処理および管理する XOCP アプリケーションの作成で Messaging API を使用する方法を説明します。

このマニュアルにあるコード例の多くは、Messaging API の例から派生したものです。詳細については、『B2B Integration サンプルの使い方』の「Messaging API サンプル 」を参照してください。

注意: 以前に XOCP アプリケーションの作成で使用されていた C-Enabler API (WebLogic Integration リリース 2.0 および WebLogic Collaborate 製品)は非推奨になりましたが、依然としてサポートされています。この非推奨になった API を使用するアプリケーションを作成する方法の詳細については、次の URL を参照してください。

http://edocs.bea.com/wlintegration/v2_0/collaborate/devxocp/index.htm

XOCP アプリケーションは、WebLogic Integration リリース 2.0 の WebLogic Collaborate C-Enabler API で作成されたものも含めて、別個の Java 仮想マシン(JVM)で非永続モードで実行される必要があります。

 


主要な概念

この節では、XOCP アプリケーションに関連する以下の主要な概念を説明します。

XOCP アプリケーション

XOCP アプリケーションは、ユーザによって記述される Java アプリケーションです。このアプリケーションは、ハブ アンド スポーク コンフィグレーションでデプロイされる WebLogic Integration ノードで実行されます。このノードは、会話定義での特定のロールを実行するために XOCP アプリケーション クラスを使用します。ハブ アンド スポーク コンフィグレーションでは、トレーディング パートナの XOCP アプリケーションが、スポーク配信チャネル、または B2B スポークと関連付けられます。この XOCP アプリケーションによって、トレーディング パートナはハブ配信チャネルでコンフィグレーションされた仲介機能またはルーティング プロキシを使用して、B2B スポークにいる他のトレーディング パートナと通信をすることができます。

ユーザ記述 XOCP アプリケーションは、以下のタスクを実行します。

注意: XOCP アプリケーション クラスの完全な詳細については、『BEA WebLogic Integration Javadoc』の com.bea.b2b.protocol.xocp.application クラスを参照してください。

次の図は、配信チャネル、XOCP アプリケーション、および XOCP アプリケーションをホストする WebLogic Integration について可能な、3 つのハブ アンド スポーク コンフィグレーションを示します。

図1-1 可能なハブ アンド スポーク コンフィグレーション


 

1 つの WebLogic Integration ノードは、多数の XOCP アプリケーションをホストできます。XOCP アプリケーションで使用されるハブ アンド スポーク配信チャネルのコンフィグレーションの詳細については、『B2B Integration 管理ガイド』の「コンフィグレーション要件」を参照してください。

XOCP アプリケーション セッション

XOCP アプリケーション セッションによって、XOCP アプリケーションがコラボレーション アグリーメントおよび配信チャネルと関連付けられます。XOCP アプリケーション セッションは、トレーディング パートナと通信するためにアプリケーションによって作成されます。XOCP アプリケーションのスコープは配信チャネルによって区切られます。XOCP アプリケーションは、XOCP アプリケーション クラスの getXOCPApplicationSession メソッドを呼び出して XOCP アプリケーション セッションを作成します。

1 つの XOCP アプリケーションを複数の XOCP アプリケーション セッションと関連付けることができるので、アプリケーションは複数の会話に同時に参加できます。

Messaging API クラス ライブラリ

Messaging API クラス ライブラリは XOCP アプリケーション クラスを含み、XOCP ビジネス メッセージを交換するための API を提供します。Messaging API に含まれるパッケージを、次の表に示します。

表1-1 Messaging API クラス ライブラリのパッケージ

パッケージ名

説明

com.bea.b2b.protocol.xocp.application

XOCP アプリケーションおよび XOCP アプリケーション セッションでの処理に使用する。このパッケージは、スポーク配信チャネルでコンフィグレーションされたトレーディング パートナによって使用されるアプリケーション向けに設計されている。

com.bea.b2b.protocol.xocp.conversation.local

XOCP に基づく会話の処理に使用する。

com.bea.b2b.protocol.messaging

会話でのメッセージの処理に使用する。

com.bea.b2b.protocol.xocp.messaging

XOCP に基づく会話でのビジネス メッセージの処理に使用する。


 

これらのパッケージの詳細については、WebLogic Integration マニュアルの「BEA WebLogic Integration Javadoc」を参照するか、Windows システムでは、[スタート|プログラム|BEA WebLogic e-Business Platform | WebLogic Integration 2.1 | Javadocs] を選択してください。

XOCP ビジネス メッセージおよびメッセージ エンベロープ

XOCP ビジネス メッセージは、XOCP 会話でのトレーディング パートナ間で交換される通信の基本単位です。XOCP ビジネス メッセージは、Messaging API クラス ライブラリでは com.bea.b2b.protocol.xocp.messaging.XOCPMessage クラスによって表されます。

メッセージ エンベロープは、ビジネス メッセージのコンテナです。メッセージ エンベロープには、送信側の情報(送信側 URL など)および受信側の情報(送り先 URL など)が含まれています。メッセージ エンベロープは、Messaging API クラス ライブラリでは com.bea.b2b.protocol.messaging.MessageEnvelope クラスによって表されます。ただし、メッセージ エンベロープにプログラム的にアクセスできるのは、XOCP アプリケーションではなく、ロジック プラグインのみです。詳細については、『B2B Integration ロジック プラグイン プログラミング ガイド』の「ビジネス メッセージのルーティングとフィルタ処理」および メッセージ エンベロープの情報フロー を参照してください。

XOCP ビジネス メッセージの図

次の図は、メッセージ エンベロープと XOCP ビジネス メッセージのコンポーネントを示します。

図1-2 XOCP ビジネス メッセージのコンポーネント


 

XOCP ビジネス メッセージのコンポーネント

XOCP ビジネス メッセージは、マルチパート MIME (Multipurpose Internet Mail Extensions)メッセージです。XOCP ビジネス メッセージは、以下のコンポーネントからなります。

表1-2 XOCP ビジネス メッセージのコンポーネント

コンポーネント

説明

メッセージ ヘッダ

メッセージ属性。送信側および受信側、会話、サービス品質などについての情報を含んでいる。

ペイロード

1 つまたは複数のビジネス ドキュメント、1 つまたは複数の添付ファイル、あるいはそれら両方の組み合わせのコンテナ。ペイロード コンポーネントは、Messaging API クラス ライブラリでは com.bea.b2b.protocol.messaging.PayloadPart インタフェースによって表される。

ビジネス ドキュメント

ペイロードの XML ベースの部分にある XML ファイル。Messaging API クラス ライブラリでは com.bea.b2b.protocol.messaging.BusinessDocument クラスによって表される。

添付ファイル

ペイロードの XML ベースでない部分にある非 XML ファイル。内容はバイナリ。Messaging API クラス ライブラリでは com.bea.b2b.protocol.messaging.Attachment クラスによって表される。


 

メッセージ エンベロープの情報フロー

次の図は、メッセージ エンベロープが WebLogic Integration でどのように処理されるかの例を示します。

図1-3 WebLogic Integration でのメッセージ エンベロープの処理


 

メッセージ エンベロープの処理の流れは以下のとおりです。

  1. トレーディング パートナがビジネス メッセージを作成して、自身のスポーク配信チャネルから仲介機能のハブ配信チャネルへ送信します。このハブ配信チャネルは、送信側トレーディング パートナに配置された B2B エンジン、スタンドアロン マシン、または受信側トレーディング パートナに配置された B2B エンジンにコンフィグレーションできます。図1-1 を参照してください。

  2. ビジネス メッセージがハブ配信チャネルで受信されます。B2B エンジンは、ビジネス メッセージから特定の送信側情報および受信側情報を抽出した後に、メッセージ エンベロープでビジネス メッセージをラップします。

  3. XOCP ルータがビジネス メッセージを処理し、宛先のリストを検証および決定します。

  4. ルータは、宛先のリストにある各宛先ごとに個別のメッセージ エンベロープを作成し、各メッセージ エンベロープにビジネス メッセージの論理的なコピーを挿入してから、すべてのメッセージ エンベロープを XOCP フィルタへ転送します。

    図1-3 に示されている例では、ルータは 3 つの宛先に対するメッセージ エンベロープを作成します。

  5. XOCP フィルタ内では、各受信側トレーディング パートナに適用されるフィルタが各ビジネス メッセージを評価して、受信側へ送信すべきかを判定します。フィルタは、送信すべきと判定されたメッセージを B2B エンジンでの次の処理ステップへ転送します。

    図1-3 では、3 つのビジネス メッセージがフィルタで評価されます。2 つが送信可、1 つが送信不可とされています。

  6. B2B エンジンは宛先を検証してから、受信側トレーディング パートナへメッセージ エンベロープ内のビジネス メッセージを送信します。

  7. 受信側トレーディング パートナがビジネス メッセージを受信します。

会話開始者と会話参加者

どの XOCP 会話でも、トレーディング パートナのロールには 2 つの種類があります。

リポジトリ内の各会話定義には、最低限これらのロールが両方とも含まれています。トレーディング パートナが、関連する会話定義に関連付けられた会話を開始または参加するには、会話の適切なロールにサブスクライブされている必要があります。

通常、会話の開始者は、トレーディング パートナが登録されているロールによって決定されます。たとえば、GetQuote 会話では、バイヤのロールに登録されているトレーディング パートナが GetQuote 会話を開始するのが通例です。セラーのロールに登録されているトレーディング パートナは、GetQuote 会話では会話参加者になるのが通例です。

次の図は、会話開始者および会話参加者が実行するタスクの一部を示します。

図1-4 会話開始者と会話参加者


 

会話コーディネータ

WebLogic Integration では、実行時に会話を管理する 2 種類の会話コーディネータがサポートされています。グローバル会話コーディネータは B2B 仲介機能でアクティブな会話を管理し、ローカル会話コーディネータは B2B スポークと関連付けられて、グローバル会話コーディネータによるアクティブな会話の管理をローカルに補助します。

次の図は、グローバル会話コーディネータおよびローカル会話コーディネータが WebLogic Integration アーキテクチャのどこで動作するかを示します。

図1-5 グローバル会話コーディネータおよびローカル会話コーディネータ


 

グローバル会話コーディネータ

グローバル会話コーディネータは仲介機能と関連付けられたサービスで、ハブ配信チャネルでコンフィグレーションされます。グローバル会話コーディネータは XOCP のルールに従って会話のライフサイクルを管理し、複数の組織境界にまたがる長期の恒久会話をサポートします。グローバル会話コーディネータは、アクティブな会話のリストを保持します。

グローバル会話コーディネータは、以下のサービスを実行します。

ローカル会話コーディネータ

ローカル会話コーディネータは、B2B スポークと関連付けられているサービスです。ローカル会話コーディネータは、ローカル トレーディング パートナ(スポーク配信チャネルでコンフィグレーションされたもの)が参加している会話を管理し、アクティブな会話のリストを保持します。各 XOCP アプリケーション セッションには、個別のローカル会話コーディネータがあります。

ローカル会話コーディネータは、以下のタスクを実行します。

トレーディング パートナの状態

次の表は、トレーディング パートナが XOCP アプリケーション セッションおよび会話参加に関連するタスクを実行する際に、トレーディング パートナに関連付けられる状態を説明します。

表1-3 トレーディング パートナの状態

状態

説明

REGISTERED

接続されたトレーディング パートナは会話のロールに登録されて、会話を開始したり、会話に参加したりする準備が整っている。

ACTIVE

登録されているトレーディング パートナは少なくとも 1 つの会話に参加している(つまり、ビジネス メッセージを送信または受信している)。

DROPPEDOUT

トレーディング パートナは会話から退出している。


 

トレーディング パートナの状態の一部は WebLogic Integration B2B Console に表示されます。

セキュアなメッセージング

トレーディング パートナ間の通信のセキュリティは Secure Sockets Layer(SSL)を使用して確保されています。トレーディング パートナ間でビジネス メッセージを交換できるようにする前に、WebLogic Integration ノードはトレーディング パートナの証明書を利用して各トレーディング パートナのアイデンティティを認証しなければなりません。トレーディング パートナのアイデンティティが認証されれば、ビジネス メッセージはトレーディング パートナの間で安全に交換されます。WebLogic Integration のセキュリティの詳細については、『B2B Integration セキュリティの実装』を参照してください。

 


XOCP アプリケーションの主要なタスク

この節では、XOCP アプリケーションで実行される主要なタスクについて説明します。

XOCP アプリケーション セッションの作成

ビジネス メッセージを交換する前に、XOCP アプリケーションはトレーディング パートナおよび関連する配信チャネルのための XOCP アプリケーション セッションを作成する必要があります。

トレーディング パートナの XOCP アプリケーションが XOCP アプリケーション セッションを作成するには、次の条件が満たされる必要があります。

注意: スポーク配信チャネルと関連付けられた XOCP アプリケーションをホストするマシンが、ハブ配信チャネルと接続した後でクラッシュした場合でも、XOCP アプリケーションは通常の起動時にハブ配信チャネルと再接続できます。以前の XOCP アプリケーション セッションは破棄されて、新しい XOCP アプリケーション セッションに新しいリソースが割り当てられます。ただし、スポーク配信チャネルと関連付けられたマシンがダウンしている間、仲介機能はビジネス メッセージを配信できません。配信されなかったビジネス メッセージは、再試行の回数を超過した場合、またはビジネス メッセージや会話がタイム アウトした場合に破棄されます。

トレーディング パートナが他のトレーディング パートナとのビジネス メッセージの交換を止めるときには、XOCP アプリケーションが XOCP アプリケーション セッションをシャットダウンします。詳細についてはXOCP アプリケーション セッションのシャットダウン を参照してください。

会話でのロールの登録

XOCP アプリケーション セッションが作成されたら、トレーディング パートナは、コラボレーション アグリーメントにバインドされる会話型のメッセージ リスナを登録する必要があります。メッセージ リスナは、トレーディング パートナが会話にどのように参加するかを定義する会話型に応じて登録される必要があります。

ロールの登録では、ハブ配信チャネルと関連付けられているリポジトリの以下の情報が必要です。

これらの概念については、『B2B Integration 入門』の「概要」を参照してください。

コラボレーション アグリーメントの会話型に応じたメッセージ リスナを登録する前に、トレーディング パートナは最初に登録するための認証を受ける必要があります。認証は、仲介機能の管理者によってコンフィグレーションされ、トレーディング パートナが会話定義のどのロールにサブスクライブしているかに基づいています。

XOCP アプリケーション セッションでコラボレーション アグリーメントの特定の会話型へのメッセージ リスナの登録が試みられると、スポーク配信チャネルは仲介機能へ XOCP システム メッセージ(会話への登録)を送信します。仲介機能は、関連付けられた配信チャネルで要求される会話型についてトレーディング パートナのロールを検証します。登録が有効であれば、以後トレーディング パートナは登録された会話型と関連付けられている会話について開始および参加ができます。この時点で、トレーディング パートナは REGISTERED 状態になり、会話について開始または参加をする準備が整います。

トレーディング パートナとの会話への関与

会話のロールに登録されたら、トレーディング パートナは自身のロールに従って会話に関与できます。会話の開始および参加は、仲介機能それ自体の上で発生します。ただし、XOCP アプリケーション セッションは、自身が関係している会話の状態に関する情報の一部を保守します。

会話開始者 XOCP アプリケーションおよび会話参加者 XOCP アプリケーションは、非常に似ています。ただし、会話開始者 XOCP アプリケーションは会話を終了できますが、会話参加者 XOCP アプリケーションはできません。会話参加者 XOCP アプリケーションは、会話から退出できるだけです。

会話の開始とビジネス メッセージの送信

会話を開始するには、まず会話開始者 XOCP アプリケーションが会話を作成します。会話開始者 XOCP アプリケーションはタイムアウト値を指定することもできます。このタイムアウト値の時間が経過すると、会話は自動的に終了されます。この値は、リポジトリにある関連する会話定義で指定されているタイムアウト値をオーバーライドします。

B2B スポーク上のローカル会話コーディネータは XOCP システム メッセージ(特定のコラボレーション アグリーメントの会話を作成)を仲介機能へ送信します。仲介機能にあるグローバル会話コーディネータは、適切な配信チャネルを使用して会話を作成し、会話開始者としてトレーディング パートナを追加します。会話が作成されたら、会話開始者 XOCP アプリケーションはビジネス メッセージを作成および送信します。詳細についてはXOCP ビジネス メッセージの送信 を参照してください。

会話への参加

仲介機能にあるグローバル会話コーディネータは、会話に関して仲介機能が受信するすべてのビジネス メッセージを処理します。仲介機能が最初のビジネス メッセージを受信者トレーディング パートナ(複数可)へ配信した後で、グローバル会話コーディネータは配信先となったトレーディング パートナを会話へ追加します。トレーディング パートナが会話に追加されたら、そのトレーディング パートナは ACTIVE 状態になり、会話の中でビジネス メッセージの送信および受信ができます。

対象のスポーク配信チャネル上の XOCP アプリケーション セッションが会話で最初のビジネス メッセージを受信すると、必要な処理(会話をローカル リストに登録するなど)を済ませてから、メッセージ リスナで onMessage コールバックを呼び出します。詳細については、XOCP ビジネス メッセージの受信 を参照してください。

登録されたトレーディング パートナが会話に追加されたら、そのトレーディング パートナは ACTIVE 状態になり、会話の中でビジネス メッセージの送信および受信ができます。

会話からの退出

会話への参加が完了したら、会話参加者トレーディング パートナは会話から退出することができます。トレーディング パートナが会話から退出すると、会話コーディネータによって、参加トレーディング パートナのリストから削除されます。その会話での以後のビジネス メッセージは、退出したトレーディング パートナには送信されません。トレーディング パートナが退出した後、そのトレーディング パートナは会話が続く間 DROPPEDOUT 状態で残されます。

会話の終了

会話が終了するのは、会話開始者であるトレーディング パートナが明示的に会話を終了するか、会話がタイム アウトした場合です。どちらかが最初に発生した時点で会話は終了します。会話を開始したトレーディング パートナは、ビジネス プロセスの適切な時点で会話を終了させなければなりません。

注意: 会話の開始者のみが会話を終了できます。

会話が終了すると、会話コーディネータは参加者トレーディング パートナのすべてに XOCP システム メッセージ(終了メッセージ)を送信します。このメッセージは、B2B スポーク上の XOCP アプリケーション セッションの登録済みメッセージ リスナの間で、コールバック onTerminate として伝播されます。

XOCP アプリケーション セッションのシャットダウン

トレーディング パートナが会話でのすべてのアクティビティを終了すると、XOCP アプリケーションによって XOCP アプリケーション セッションがシャットダウンされます。XOCP アプリケーションが XOCP アプリケーション セッションをシャットダウンすると、そのスポークと関連付けられている B2B エンジンは、セッションと関連付けられているすべてのコラボレーション アグリーメントの登録を仲介機能から解除します。これにより、仲介機能は関連付けられている会話型の登録を解除します。これに応じて会話コーディネータは、XOCP アプリケーション セッションで当該のトレーディング パートナによって開始されたすべての会話を自動的に終了し、参加しているすべての会話からトレーディング パートナを削除します。

トレーディング パートナが XOCP アプリケーション セッションをシャットダウンすると、次のような結果になります。

 


実行時の情報フロー

実行時には、すべての XOCP アプリケーションが特定のタスクを同じように実行します。配信チャネルへ接続し、メッセージ リスナを登録してから、アプリケーション セッションのシャットダウンを同じ方法で行います。ただし、個々の会話の間に会話開始者および会話参加者が実行する一連のタスクは、お互いに明確な相違点がありながらも関連しています。

情報フローの図

次の図は、会話開始者と会話参加者の間の、実行時の情報フローを示します。

図1-6 会話開始者と会話参加者の間の情報フロー


 

この図は、1 つの会話と、ビジネス メッセージの最小限の交換(要求と応答)に関する簡略化された例です。実際には、メッセージ リスナを登録してから XOCP アプリケーション セッションを終了するまでに、トレーディング パートナは複数の会話に参加することもあります。さらに、1 つの会話の中で、複数のトレーディング パートナが 1 つの要求および応答にとどまらず、多くのビジネス メッセージを交換する場合もあります。

情報フローでのステップ

実行時には、複数のトレーディング パートナ間の情報のフロー(仲介機能を通じて通信する XOCP アプリケーションによるもの)は、以下の順序で進みます。

  1. 特定の配信チャネルを持つ各トレーディング パートナが、XOCP アプリケーション セッションを作成します。

  2. 各トレーディング パートナ XOCP アプリケーションは、作成された XOCP アプリケーション セッションにメッセージ リスナを登録し、次にメッセージ リスナは(ローカル会話コーディネータの補助を得て)、仲介機能によって保持されている指定されたコラボレーション アグリーメントにある、会話中のロールにトレーディング パートナを登録します。

  3. 各トレーディング パートナ XOCP アプリケーションは、コラボレーション アグリーメント ID を取得します(未知であった場合)。

  4. 会話は、会話開始者 XOCP アプリケーションによって作成された時点で開始されます。

  5. グローバル会話コーディネータは、そのグローバル会話リストに会話のインスタンスを追加し、トレーディング パートナを開始者としてマークします。

  6. 会話開始者のローカル会話コーディネータは、そのローカル会話リストに会話のインスタンスを追加します。

  7. 会話開始者の XOCP アプリケーションが、ビジネス メッセージ(要求など)を作成して送信します。

  8. 会話開始者の XOCP アプリケーション セッションは、ビジネス メッセージを仲介機能のハブ配信チャネルへ配信します。

  9. 仲介機能はビジネス メッセージを会話参加者のスポーク配信チャネルへ配信します。

  10. 仲介機能のグローバル会話コーディネータは、グローバル会話リストにある会話インスタンスのエントリに参加トレーディング パートナを追加することで、会話に参加トレーディング パートナを追加します。

  11. 仲介機能のローカル会話コーディネータは、ビジネス メッセージを受信するほか、ローカル会話リストに会話インスタンスを追加することで、ローカルな会話にトレーディング パートナを追加します。

  12. 会話参加者 XOCP アプリケーションにある onMessage の実装が呼び出されて、ビジネス メッセージを処理します。

  13. 会話参加者の XOCP アプリケーションが、ビジネス メッセージ(応答など)を作成して会話開始者へ返信します。

  14. 会話参加者と関連付けられている XOCP アプリケーション セッションが、仲介機能へビジネス メッセージを配信します。

  15. 仲介機能はビジネス メッセージを受信して、会話開始者へ配信します。

  16. 会話開始者がビジネス メッセージを受信します。

  17. 会話開始者 XOCP アプリケーションにある onMessage の実装が呼び出されて、ビジネス メッセージを処理します。

  18. 会話を終了するには、まず会話開始者 XOCP アプリケーションが会話を終了します。

    注意: 会話のタイムアウトが経過した場合は、会話が自動的に終了します。

  19. 会話開始者のローカル会話コーディネータは、仲介機能にあるグローバル会話コーディネータへ終了の通知を配信します。

  20. 仲介機能にあるグローバル会話コーディネータは、グローバル会話リストから会話参加者を削除してから、会話参加者と関連付けられているローカル会話コーディネータへ終了の通知を配信します。

  21. 会話参加者と関連付けられているローカル会話コーディネータは、終了の通知を受信してローカル会話リストから会話を削除します。

  22. 会話参加者 XOCP アプリケーションにある onTerminate の実装が呼び出されます。

  23. 仲介機能にあるグローバル会話コーディネータは、会話を終了としてマークしてから、会話開始者に会話終了の確認を送信して通知します。

  24. 会話開始者が会話終了の通知を受信します。

  25. 会話開始者のローカル会話コーディネータは、終了の通知を受信してローカル会話リストから会話を削除します。

  26. 会話開始者 XOCP アプリケーションにある onTerminate の実装が呼び出されます。

  27. 各トレーディング パートナ XOCP アプリケーションによって、それぞれの XOCP アプリケーション セッションがシャットダウンされます。

以上のステップの詳細については、XOCP アプリケーションの主要なタスク を参照してください。

 

ページの先頭 前 次