Views: 70
Peppolメッセージ応答の進化:MLRからMLSへの移行と追加機能
Peppolネットワークにおける電子文書の信頼性向上のため、Message Level Response(MLR)からMessage Level Status(MLS)への移行が検討されています。このブログ記事では、その移行に伴う機能強化について詳しく解説します。
Draft文書及び関連文書は、末尾の参考情報のリンクから確認してください。
1. MLRの限界と課題
従来のMLRにはいくつかの制約がありました:
-
通知設定:通知は技術的な受理や拒否に限定され、詳細な情報は含まれていませんでした。
-
宛先指定:通知は固定されており、柔軟性が欠けていました。
-
ステータスコード:成功または失敗のみが報告され、配信確認の詳細は提供されていませんでした。
このため、最終受信者(C4)での処理結果や受信確認状況がMLRでは反映されないという課題がありました。
2. Message Level Status(MLS)の新機能とその詳細
MLSでは、配信確認と配信状態をより詳細に伝えるために、新たな機能が追加されました。
Draft 2.1. Message Level Status message in general (DeepL 翻訳)
2.1. メッセージ・レベル ステータス・メッセージ一般
電子メッセージの作成から、1つまたは複数のトランスポート・ネットワークを経由して指定された受信者に至るトランスポート・ラインを下り、メッセージ・コンテンツの最終的な処理に至るまで、メッセージ交換の開始から終了までのフローを通じて、メッセージが通過したアクションのステータスまたは結果について、関連する関係者にアップラインで応答を与えることが必要になる場合がある。
これらの応答にはさまざまな性質があるが、この文書の目的上、以下の主要なグループに分けることができる。
トランスポート確認応答
これらはトランスポートネットワーク内で交換されるメッセージであり、メッ セージをトランスポートラインに運ぶプロセスについて通知する。 これらの応答は、ある地点への配送が成功したか否かをライン上の誰かに通知し、配送が成功しなかった理由など、関連する問題の詳細を含むことがある。
これらの応答の重要な性質は、伝送されるペイロードのコンテンツの検証結果や処理結果には一切作用しないということである。これらの応答メッセージは一般に 「acks 」と呼ばれる。
メッセージ・レベル・ステータス
メッセージがトランスポート・ラインのあるポイントに到達したとき、そのコンテンツは、コーナー4に配送する前に、合意された仕様に従って検証されることがある。
これらの検証の結果は、関係者に報告され、検証が成功したかどうか、また詳細が通知される。例えば、受信した注文メッセージが、必須フィールドがないため拒否された、関連する構文仕様で指定された通りに記載金額が加算されないため拒否された、C3での処理またはC4への配信が単に失敗したため拒否された、などが考えられる。
既存の MLR の主な特徴は、適用される技術仕様に基づき、メッセージの内容のみを報告することである。
ビジネスレベルのレスポンス
受信され、処理が承認されたメッセージは、受信者のアクションを要求する場合がある。例えば、技術的には正しい注文を受信したが、在庫切れや契約切れなどのビジネス上の理由で、受信者が注文を拒否することを決定した場合などである。
これらのレスポンスの重要な性質は、受信したメッセージインスタンスに対して下されたビジネス上の決定を報告することである。
本仕様書では、メッセージレベルステータスのみを扱う。
通知設定の柔軟化
MLSでは、`MLS_TYPE`を使用して通知の範囲を設定できます。
-
FAILURE_ONLY
:失敗時のみ通知。 -
ALWAYS_SEND
:成功、失敗、確認なしすべての状態で通知を送信。
この柔軟な設定により、ビジネスニーズに応じた応答が可能になります。
宛先指定の柔軟性
`MLS_TO`を使用することで、通知先をPeppol IDで指定できます。この機能を利用することで、特定のアクセスポイントやサブIDに通知を送信することができ、より柔軟な通知管理が可能です。
詳細な配信状態
MLSは、3つの応答コードを使い、メッセージの配信状態を詳細に伝達します。
-
AP(配信確認済み):C4からの配信確認を受け取った場合に使用されます。
-
AB(確認なしで配信):C4から確認を得られない場合。
-
RE(拒否または配信失敗):技術的な問題で配信が失敗した場合。
これにより、メッセージの配信状態をより正確に把握でき、各段階での処理状況を明確にします。
3. 追加機能がもたらすメリット
これらの新しい機能により、Peppolのメッセージ処理に次のような利点がもたらされます:
-
受信確認の可視化:従来確認できなかった配信の状況が詳細に記録され、送信者は配信ステータスを確認可能。
-
配信エラーの詳細な把握:エラーの理由が通知されるため、迅速な問題解決が可能になります。
-
業務プロセスの最適化:配信状況に基づき、ビジネスプロセスの効率化が進められます。
4. Peppolメッセージ用語の解説
以下の表では、Peppolの主要なメッセージ応答の用語を整理しています。
略語 | 用語 | 説明 |
---|---|---|
BLR |
Business Level Response |
業務レベルの検証結果を示すビジネス文書。異なる文書タイプごとに異なる応答があり、”Process ID”でメッセージ交換のオーケストレーションを識別します。 |
MLA |
Message Level Agreement |
構造化された応答メッセージに関する作業グループ。MLS仕様がその成果です。 |
MLR |
Message Level Response |
技術的な検証結果を示すビジネス文書。 |
MLS |
Message Level Status |
MLR仕様の後継として設計され、配信状態をより詳細に管理します。 |
5. Draft部分翻訳
2.2.1. メッセージの拒否または配送失敗。
受信したメッセージが最終受信者に配送されなかった(C4)
ステータスコード: RE
1.メッセージは C3 または C4 によってそれ以上処理されない。
2.MLSはメッセージが配送されなかった理由を含む:
a.列挙された適合性規則によるエラー(MLR Failure)
i.XMLスキーマ検証エラー
ii.標準準拠違反(例:UBL 2.1 で許可されない空要素)
iii.致命的エラー型のスキーマトロン検証エラー
iv.警告タイプのスキマトロン検証エラー。警告だけではビジネス文書が拒絶されてはならないが、致命的エラーに加えて報告されてもよい6。
v.ビジネス文書のバージョン違い(致命的エラーのバリデーションエラーと同様に扱われる)
b.その他、2(a)でカバーされていない、Peppol相互運用性フレームワークの成果物に対する不適合:
i.XMLファイルのサイズが仕様を超えている。
ii.XML要素が長すぎる。
iii.ウイルスまたはマルウェアが検出された
iv.MIMEタイプの不一致[例:PDFが指定されているが、画像が消耗品として提供されている]
v.不正なコンテンツ[破損したPDFや不完全なPDFなど]
c.配信の失敗: C3はメッセージを渡すことができず、C4に代わってビジネスレベルの応答を送ることができないか、許されない。
注:この応答は、C3 がビジネス上の義務を果たし、すべての契約や規制に準拠しているか否かを示唆するものではない。 MLS メッセージは、問題を検知し解決するための、障害通知としての役割のみを果たす。 MLS メッセージはビジネスレベルのレスポンスに代わるものではなく、MLS メッセージの送信によって関係者の責任が変更されることはない。
2.2.2. 確認付きメッセージ配信
受信したメッセージは最終的な受信者(C4)に正常に配送された。C3はC4からメッセージが受け入れられたという確認を受け取った。
C4 と C3 の間の通信はこの仕様の範囲外であるため、この確認応答の形式もこの仕様の範囲外であるが、このステータスは C4 と C3 の間に何らかの確認応答がある場合にのみ送信されるべきである。
ステータスコード: AP
-メッセージはC3によってそれ以上処理されてはならない[MUST NOT]。
2.2.3. 確認なしのメッセージ配送
受信したメッセージは C4 に転送されたが、C3 はそれが到着したことを確認する手段を持たない。このステータスは、C3 と C4 間の通信が、C3 が送達の成功を確認できないような性質のものである場合に使用される。
ステータスコード: AB
-メッセージは C3 によってそれ以上処理されてはならない(MUST NOT)。
-ステータスが不明な理由は、オプションで提供される:
郵便による配送
電子メールによる配送
C4からC3へのポーリングのために、ローカルストレージに配送される。
第3章. プロセスと典型的な使用例
3.1. 一般的なプロセス
[TODO] ケーパビリティ検索と SBDH シグナリングを含む完全なダイアグラムの追加
MLS メッセージは、C3 から C2 へ送信されるため、送信された元のビジネス文書に直接基づかないアドレッシングスキームを使用する。
デフォルトでは、MLS メッセージは障害が発生した場合にのみ送信され、ドキュメントを送信したサービスプロバイダの Peppol シート ID(ICDスキーム[TBD])に送信される。
しかし、C2 は C3 に対し、肯定応答(AP および AB)も送信するよう指示することができ、また C3 に対し、自身のシート ID のサブ ID 宛に応答を送信するよう指示することができる。これらの指示は、SBDH 拡張の項で規定されるように、SBDH を通して伝達される。
これにより、全プロセスは以下のようになる:
1.C3 は C2 からメッセージを受信する。
2.C3 は C2 から受信したメッセージを処理し、メッセージの配送を試みる。
3.C3 は MLS メッセージを送信すべきかどうかを決定する:
SBDH に MLS_TYPE が存在し、その値が ALWAYS_SEND の場合、C3 は常に C2 に MLS メッセージを送信する。
MLS_TYPE が SBDH に存在しないか、またはその値が FAILURE_ONLY である場合、C3 はステップ 2 での配送が失敗した場合、またはメッセージが拒否された場合のみ MLS を送信する。
4.ステップ 3 の結果、MLS メッセージを送信すべきではないと判断された場合、処理は停止する。
5.ステップ 3 の結果、MLS メッセージを送信すべきであると判断された場合、C3 は MLS メッセージの送信先アドレスを決定する:
この識別子は、送信者の Peppol Seat ID、または Peppol Seat ID から派生したサブ識別子でなければならない。
そうでない場合、アドレスは、送信者の Peppol AP 証明書の証明書サブジェクト CN(共通名)から取得した C2 の Peppol Seat ID となる。
6.C3 は、MLS 文書タイプについて、5 から識別子を SML/SMP ルックアップする。
7.C3 は、ステップ 6 のルックアップ結果で C2 にメッセージを送信する。
3.2. メッセージレベルステータスプロセス規則
メッセージ・レベル・ステータス・プロセスは、トランザクションがいつどのように発行され、送信側サービス・プロバイダーと受信側サービス・プロバイダーの間でどのように処理されるかを規定する。
まとめ
PeppolのMLSへの移行により、メッセージ応答の柔軟性が大幅に向上し、配信確認とエラー管理の精度が飛躍的に改善されました。これにより、電子取引における信頼性が向上し、効率的な業務プロセスが実現されています。MLSは、Peppolネットワークにおける電子文書のやり取りの重要な進化といえます。
参考情報
メッセージレベルの応答
-
OpenPeppol AISBL, eDelivery Community BIS Message Level Status 3.0 – Draft 2
-
三分一技術士事務所 Peppol メッセージレベルの応答 投稿日: 2021年3月21日
-
OpenPeppol AISBL, eDelivery Community BIS Message Level Response 3.0 (ホームページ)
-
OpenPeppol AISBL, eDelivery Community BIS 36A – Message Level Response(PDF)
BIS インボイス応答
-
三分一技術士事務所 BIS インボイス応答 投稿日: 2021年3月23日
-
OpenPeppol AISBL, eDelivery Community BIS Invoice Response 3.2
Peppolトランスポートレベルの応答(ACK/NACK)
-
三分一技術士事務所 Peppolトランスポートレベルの応答(ACK/NACK) 投稿日: 2021年3月22日
コメントを残す