ISO/TS 23029:2020 金融サービスにおけるWebサービスベースのアプリケーションプログラミングインターフェイス(WAPI) | ページ 2

※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。

序文

ISO (国際標準化機構) は、各国の標準化団体 (ISO メンバー団体) の世界的な連合です。国際規格の作成作業は、通常、ISO 技術委員会を通じて行われます。技術委員会が設立された主題に関心のある各会員団体は、その委員会に代表される権利を有します。 ISOと連携して、政府および非政府の国際機関もこの作業に参加しています。 ISO は、電気技術の標準化に関するすべての問題について、国際電気標準会議 (IEC) と緊密に協力しています。

この文書の作成に使用された手順と、今後の維持のために意図された手順は、ISO/IEC 指令のPart 1 で説明されています。特に、さまざまな種類の ISO 文書に必要なさまざまな承認基準に注意する必要があります。この文書は、ISO/IEC 指令のPart 2 の編集規則に従って起草されました ( www.iso.org/directives を参照)

このドキュメントの要素の一部が特許権の対象となる可能性があることに注意してください。 ISO は、そのような特許権の一部または全部を特定する責任を負わないものとします。ドキュメントの開発中に特定された特許権の詳細は、序文および/または受信した特許宣言の ISO リストに記載されます ( www.iso.org/patents を参照)

このドキュメントで使用されている商号は、ユーザーの便宜のために提供された情報であり、保証を構成するものではありません。

規格の自主的な性質の説明、適合性評価に関連する ISO 固有の用語と表現の意味、および技術的貿易障壁 (TBT) における世界貿易機関 (WTO) の原則への ISO の準拠に関する情報については、以下を参照してください。 www.iso.org/iso/foreword.html .

この文書は、専門委員会 ISO/TC 68, 金融サービス、小委員会 SC 9, 金融サービスのための情報交換によって作成されました。

序章

0.1 オープニングコメント

このドキュメントの目的は、金融サービス業界の実装者がアプリケーション プログラミング インターフェイス (API) エコシステムのフレームワーク、機能、およびプロトコルを定義し、オンラインで同期された相互作用を可能にするのを支援することです。これは、金融サービスにおける API のガイダンスと標準化に対する緊急かつ重大な世界的な需要に対応するために、API エコシステムの国際的な見解を文書化したものです。

これは、金融機関がデータを共有し、顧客、クライアント、またはエンドユーザー;ビジネス プロセス間。および内部プロセス内。標準化された API が、これらの要件の多くを満たす最も安全で、開発者にとって使いやすく、効率的で、技術的に証明された方法を提供することは、広く合意されています。さらに、標準化されたアプローチは、相互運用性の促進、セキュリティの強化、イノベーションのサポートにつながる利点を解き放つことが理解されています。データの共有、およびその後の API の使用は、このドキュメントで参照されている交換に限定されません。

これらの新しい要件にもかかわらず、現在、国際レベルで標準化されたアプローチはありません。さらに、金融サービスで API を開発するためのさまざまな考慮事項をカバーする有益なドキュメントはありません。特に、一部のコンポーネントが成熟していることを考えると (たとえば、いくつかはドラフト段階です)このドキュメントは、市場に存在するこれらの現在および将来の要件を満たすために作成されました。このドキュメントでは、API の実装を指定しませんが、代わりに国際的な見解と参照を採用し、必要に応じて、ガイダンスの説明を目的として特定の実装シナリオを示します。

0.2 このドキュメントへのアプローチ方法

このドキュメントは、金融サービスで API を開発するためのベスト プラクティス フレームワークとしてアプローチする必要があります。この意味で、ドキュメントのいくつかの側面は、他の側面よりも成熟しています。ドキュメントは、存在する余地があるwhere に規範的です。成熟度の低い領域については、ベスト プラクティスに関する解説が提供され、考慮事項が示されています。

大まかに言えば、このドキュメントは次の論理と順序を採用しています。

  • 条項 3: ドキュメントで使用される用語と定義。
  • 条項 4: API の設計に関する最初の考慮事項。
  • 箇条 5: さまざまな技術オプションの概要と解説。
  • 条項 8: WAPI 技術仕様に基づく API に関する具体的なガイダンス。

付録 A では、特定のビジネス領域/目的の API 機能に応じてドキュメントにアプローチする方法の例を示します。

1 スコープ

このドキュメントは、オンラインで同期された相互作用を可能にする API エコシステムのフレームワーク、機能、およびプロトコルを定義します。具体的には、ドキュメント:

  • 変換ルールを含む、API を開発するための論理的かつ技術的な階層化アプローチを定義します。特定の論理モデル (ISO 20022 モデルなど) は含まれていませんが、ガイダンス目的で特定のシナリオのコンテキストで参照されます。
  • 主に RESTful 設計の観点から検討されますがwhere 他の設計図やシナリオが提供される代替のアーキテクチャ スタイル (WebSocket や Webhook など) を検討します。
  • API の API エコシステムの設計原則、Web サービスベースの API のルール、データ ペイロード、およびバージョン管理を定義します。
  • API エコシステムのセキュリティ、ID, および登録に関連する考慮事項を設定します。特定の技術的ソリューションは定義されませんが、ガイダンス目的で特定のシナリオのコンテキストで参照されます。
  • 高度な既存のビジネス モデルをサポートするために、パブリッシュ/サブスクライブに向けたクエリ/レスポンスの非同期メッセージングを超えたアーキテクチャの使用法を定義します。

このドキュメントには、次の内容は含まれていません。

  • 金融サービスにおける API 実装の特定の技術仕様。
  • PAIN, CAMT, PACS など、ISO 20022 固有のメッセージ形式に基づく JSON API の開発。
  • 特定の法的枠組みによって定義または決定される技術仕様。

2 参考文献

このドキュメントには規範的な参照はありません。

3 用語と定義

このドキュメントでは、次の用語と定義が適用されます。

ISO および IEC は、次のアドレスで標準化に使用する用語データベースを維持しています。

3.1

アプリケーションプログラミングインターフェース

API

アプリケーションソフトウェアがサービスを呼び出すためにプログラミング言語の機能とともに使用する、明確に定義されたメソッド、関数、プロトコル、ルーチン、またはコマンドのセット

注記 1: Web ベースのシステム/エコシステムを含むさまざまな種類のソフトウェアで API を利用できます。

3.2

冪等性

冪等性

操作が複数回呼び出されても追加の効果がないことを意味する操作機能

注記 1:冗長アクセスを制限するのが難しいため、冪等操作は Web ベースのシステムの設計によく使用されます。

3.3

JavaScript オブジェクト表記

JSON

オープンでテキストベースの交換フォーマット

注記 1: JSON 形式で送信されるデータにより、読み書き (人間の場合)、解析および生成 (コンピューターの場合) が容易になります。

3.4

代表的な状態の転送

残り

RESTful

分散型ハイパーメディア システムのソフトウェア アーキテクチャ スタイル
注記 1: 2000 年に Roy Fielding が博士論文で導入し、定義した。

3.5

リソースホップ

リソース タイプと識別子に基づいて構築されたリソース ロケータ。最後のリソースを除いて必須

注記 1リソース パスは、1 つまたは複数のリソース ホップのチェーンです。

3.6

RESTful API 記述言語

人間と自動機械処理の両方に役立つ RESTful Web API の構造化された記述を提供するように設計された言語

3.7

単純なオブジェクト アクセス プロトコル

石鹸

コンピュータ ネットワークでの Web サービスの実装において、構造化された情報を交換するためのメッセージング プロトコル仕様。

3.8

WebSocket

制御された環境で信頼できないコードを実行しているクライアントと、そのコードからの通信にオプトインしたリモート ホストとの間の双方向通信を可能にするプロトコル。

3.9

ウェブフック

リポジトリへのコードのプッシュやブログへのコメントの投稿などのイベントによってトリガーされるユーザー定義の HT​​TP コールバック

3.10

XML

W3C によって作成されたデータ形式標準である eXtensible Markup Language

参考文献

1ISO 20022-1, 金融サービス — ユニバーサル金融業界メッセージ スキーム — Part 1: メタモデル
2ISO 20022-3, 金融サービス - ユニバーサル金融業界メッセージ スキーム - Part 3: モデリング
3ISO 20022-4, 金融サービス — ユニバーサル金融業界メッセージ スキーム — Part 4: XML スキーマ生成
4JSON スキーマ ドラフト 4 仕様 https://tools.ietf.org/html/draft-handrews-json-schema-01
5JSON API V1.0, http://jsonapi.org/about/
6XML V1.0, https://www.w3.org/TR/2008/REC-xml-20081126/
7XML V1.1, https: //www.w3.org/TR/2006/REC-xml11-20060816/
8オープンAPI仕様V3 .0.2 、 https: //swagger.io/specification/

Foreword

ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO member bodies). The work of preparing International Standards is normally carried out through ISO technical committees. Each member body interested in a subject for which a technical committee has been established has the right to be represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization.

The procedures used to develop this document and those intended for its further maintenance are described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the different types of ISO documents should be noted. This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives ).

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO shall not be held responsible for identifying any or all such patent rights. Details of any patent rights identified during the development of the document will be in the Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents ).

Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement.

For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and expressions related to conformity assessment, as well as information about ISO's adherence to the World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT), see www.iso.org/iso/foreword.html .

This document was prepared by Technical Committee ISO/TC 68, Financial services, Subcommittee SC 9, Information exchange for financial services.

Introduction

0.1 Opening comments

The purpose of this document is to help implementers in the financial services industry define the framework, function and protocols for an application programming interface (API) ecosystem, enabling online synchronised interactions. It documents an international view of an API ecosystem in response to an urgent and significant world-wide demand for guidance and standardisation of APIs in financial services.

This has been driven by a number of emerging requirements – market-, corporate- and regulatory-driven – from different communities and jurisdictions for financial institutions to share data and enable functionality, such as between third parties acting on behalf of the customer, client or end user; between business to business processes; and within internal processes. It has been widely agreed that standardised APIs provide the most secure, developer-friendly, efficient, technically proven way of meeting many of these requirements. Moreover, it is understood that a standardised approach would unlock benefits conducive to promoting interoperability, enhancing security and supporting innovation. The sharing of data, and the subsequent use of APIs, is not limited to exchanges referenced in this document.

Despite these emerging requirements, there is currently no standardised approach at an international level. Moreover, there is no informative documentation covering the various considerations for developing APIs in financial services, especially given the maturity of some of its components (e.g. some are in draft). This document has been developed in response to meet these current and foreseen requirements that exist in the market. This document does not specify implementations of APIs, but instead takes an international view and references, as appropriate, specific implementation scenarios for illustrative purposes for guidance.

0.2 How to approach this document

This document should be approached as a best-practice framework for developing APIs in financial services. In this sense, some aspects of the document are more mature than others. The document is prescriptive where there is room to be. Where areas are less mature, commentary on best practice has been provided and the considerations set out.

Broadly speaking, this document adopts the following logic and order:

  • Clause 3: terms and definitions used in the document;
  • Clause 4: the initial considerations for the design of the API;
  • Clause 5: overview and commentary on the different technology options;
  • Clause 8: specific guidance on APIs under WAPI technical specification.

In Annex A, we set out an example of how to approach the document depending on a specific business area/desired API functionality.

1 Scope

This document defines the framework, function and protocols for an API ecosystem that will enable online synchronised interaction. Specifically, the document:

  • defines a logical and technical layered approach for developing APIs, including transformational rules. Specific logical models (such as ISO 20022 models) are not included, but they will be referenced in the context of specific scenarios for guidance purposes;
  • will primarily be thought about from a RESTful design point of view, but will consider alternative architectural styles (such as WebSocket and Webhook) where other blueprints or scenarios are offered;
  • defines for the API ecosystem design principles of an API, rules of a Web-service-based API, the data payload and version control;
  • sets out considerations relevant to security, identity and registration of an API ecosystem. Specific technical solutions will not be defined, but they will be referenced in the context of specific scenarios for guidance purposes;
  • defines architectural usage beyond query/response asynchronous messaging towards publish/subscribe to support advanced and existing business models.

This document does not include:

  • a specific technical specification of an API implementation in financial services;
  • the development of JSON APIs based on the ISO 20022 specific message formats, such as PAIN, CAMT and PACS;
  • a technical specification that is defined or determined by specific legal frameworks.

2 Normative references

There are no normative references in this document.

3 Terms and definitions

For the purposes of this document, the following terms and definitions apply.

ISO and IEC maintain terminological databases for use in standardization at the following addresses:

3.1

application programming interface

API

set of well-defined methods, functions, protocols, routines or commands which application software uses with facilities of programming languages to invoke services

Note 1 to entry: An API is available for different types of software, including Web‑based system/ecosystem.

3.2

idempotency

idempotence

operation feature which means there is no additional effect if the operation is called more than once

Note 1 to entry: Idempotent operations are often used to design a Web-based system since it is hard to restrict redundancy access.

3.3

JavaScript object notation

JSON

open and text-based exchange format

Note 1 to entry: Data transmitted in JSON formats make it easy to read and write (for humans), parse and generate (for computers).

3.4

representational state transfer

REST

RESTful

software architectural style for distributed hypermedia systems
Note 1 to entry: It was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation.

3.5

resource hop

resource locator built on resource type and identifier, mandatory except for the last resource

Note 1 to entry: A resource path is a chain of one or more resource hops.

3.6

RESTful API description language

language designed to provide a structured description of a RESTful Web API that is useful both to humans and for automated machine processing

3.7

simple object access protocol

SOAP

messaging protocol specification for exchanging structured information in the implementation of Web services in computer networks

3.8

WebSocket

protocol which enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code

3.9

Webhook

user-defined HTTP call-backs triggered by an event such as pushing code to a repository or a comment being posted to a blog

3.10

XML

eXtensible Markup Language, a data format standard created by W3C

Bibliography

1ISO 20022-1, Financial services — Universal financial industry message scheme — Part 1: Metamodel
2ISO 20022-3, Financial services — Universal financial industry message scheme — Part 3: Modelling
3ISO 20022-4, Financial services — Universal financial industry message scheme — Part 4: XML Schema generation
4JSON Schema draft 4 specification https://tools.ietf.org/html/draft-handrews-json-schema-01
5JSON API V1.0, http://jsonapi.org/about/
6XML V1.0, https://www.w3.org/TR/2008/REC-xml-20081126/
7XML V1.1, https://www.w3.org/TR/2006/REC-xml11-20060816/
8OpenAPI Specification V3.0.2, https://swagger.io/specification/