このページの内容

Awesome Integration

Integrationを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次


プロジェクト

AIゲートウェイ

AIゲートウェイの目的、機能、適用範囲を説明する概要です。

  • agentgateway (⭐4.2k) - アグエントAIの接続を可能にするオープンソースデータプレーン。アグエント間(MCP)およびアグエント間(A2A)の通信において、セキュリティ、可視性、および治理を提供する。
  • Bifrost (⭐7.2k) - Go言語で構築された高性能AIゲートウェイ。20以上のモデルプロバイダーを1つのOpenAI互換APIで統合し、フェイルオーバー、負荷分散、意味論的キャッシュ、および治理を実現する。
  • Docker MCP Gateway (⭐1.5k) - MCPサーバーを、権限制限付きの隔離コンテナとして実行し、管理されたシークレットを用いてAIクライアントに1つのゲートウェイエンドポイントを通じて公開する。
  • Envoy AI Gateway (⭐1.9k) - Envoy Proxyに基づくオープンソースゲートウェイ。アプリケーションクライアントからのリクエストトラフィックを、GenAIサービスに統一APIアクセスと使用制限を適用して管理する。
  • IBM ContextForge (⭐4.2k) - MCP、A2A、RESTサービスを1つのエンドポイントに統合し、治理と可視性を提供するAIゲートウェイ、レジストリ、プロキシ。
  • Kong AI Gateway - Kongゲートウェイに基づくマルチLLMAIゲートウェイ。専用プラグインを通じて意味論的キャッシュ、プロンプトセキュリティ、AI可視性を提供する。
  • LiteLLM (⭐56k) - 100以上のモデルプロバイダーをOpenAI互換APIで統一して公開するLLMゲートウェイ。支出トラッキング、フォールバック、レート制限を備える。
  • MCPJungle (⭐1.1k) - 自前でホストするMCPゲートウェイとレジストリ。複数のMCPサーバーを1つのエンドポイントに集中して管理する。
  • Obot (⭐937) - サーバーホスティング、レジストリ、ゲートウェ連携、チャットクライアントを統合したオープンソースMCPプラットフォーム。アクセス制御とログ審査を提供する。
  • Portkey AI Gateway (⭐12k) - 250以上のLLMにルーティングする高速AIゲートウェイ。ガイドライン、キャッシュ、リトライ、負荷分散を1つのAPIを通じて実現する。

⬆ 目次へ戻る

API管理

API管理の目的、機能、適用範囲を説明する概要です。

  • Akana API Management Platform - 包括的なライフサイクル管理を提供し、マルチクラウド環境における迅速なデジタル変革と強固なコンプライアンスを実現する。
  • Amazon API Management - AWSのスケーラビリティとセキュリティを活用し、APIの作成、監視、管理を効率的に実行する。
  • Amplify API Management Platform - オープンで柔軟なAPI管理アプローチを提供し、強力な統合と柔軟な展開オプションを備える。
  • Anypoint Platform - API設計、統合、管理を1つの統合プラットフォームに統合し、接続性と開発を簡素化する。
  • Apigee - Googleから提供される企業向けAPI管理における強力な分析、セキュリティ、スケーラビリティを提供する。
  • Azure API Management - ハイブリッドマルチクラウドソリューション。APIライフサイクル管理を簡素化し、包括的なセキュリティと分析を提供する。
  • Boomi API Management - Boomi Enterprise PlatformにおけるクラウドネイティブAPI管理。環境間での集中制御を備えた全ライフサイクルをカバーする。
  • DigitMarket API Manager - エンドツーエンドライフサイクド管理と強化された運用洞察を通じて、APIを戦略的ビジネスツールへ変換する。
  • Gravitee.io API Management (⭐439) - 軽量でオープンソースのプラットフォーム。柔軟なAPI治理、強固なセキュリティ、シンプルな設定を提供する。
  • IBM API Connect - クラウド間でAPIの作成、管理、収益化を行うスケーラブルで安全で直感的な環境を提供する。
  • IBM webMethods API Management - APIライフサイクル管理に必要な包括的なソリューションを提供し、オンプレミスとクラウドシステムをシームレスに統合します。
  • Kong Enterprise - 豊かなプラグインアーキテクチャにより、APIの接続性、マイクロサービスのオーケストレーション、セキュリティを強化するクラウドネイティブかつ企業向けのソリューションです。
  • Layer7 API Management - 継続的なライフサイクル管理と高度な統合機能により、安全かつ効率的なAPI開発を実現します。
  • Red Hat 3scale API Management - クラウドネイティブアプローチと強力なスケーリング能力により、APIの収益化とガバナンスを簡易化します。
  • Sensedia API Management - 高度なセキュリティ、パフォーマンスモニタリング、スムーズな統合を備えた、APIライフサイクル全体をカバーするソリューションを提供します。
  • Traefik API Management - DevOpsおよびプラットフォームエンジニアリングチームが「クリックオペレーション」を減らし、「Gitオペレーション」を重視するAPIライフサイクルワークフローに最適化されたAPIマネジメントアズコードプラットフォームを提供します。
  • Tyk API Management - 柔軟性、強固なセキュリティ、スケーラビリティに焦点を当てた、高性能なオープンソースAPIマネジメントプラットフォームを提供します。
  • WSO2 API Manager (⭐1k) - 強固なガバナンス、柔軟なデプロイメント、コミュニティによるイノベーションを提供する完全なオープンソースAPIプラットフォームです。
  • Zuplo API Management - 開発者中心の軽量プラットフォームで、GitOps統合、迅速なエッジデプロイメント、広範なOpenAPIサポート、スムーズな収益化を実現します。

⬆ 目次へ戻る

API設計

API設計の目的、機能、適用範囲を説明する概要です。

  • Apicurio Studio (⭐1k) - WebベースのオープンソースAPI設計ツールで、OpenAPI仕様を活用します。
  • Dredd (⭐4.2k) - バックエンド実装とAPI説明ドキュメントを言語に依存しないCLIツールで検証します。
  • Kiota (⭐3.7k) - Microsoftから提供されるコマンドラインジェネレーターは、OpenAPIの説明を多数の言語にわたる軽量かつ型安全なAPIクライアントに変換します。
  • oasdiff (⭐1.3k) - OpenAPI仕様を比較し、破壊的な変更を検出し、複数の出力フォーマットで変更ログを生成します。
  • OpenAPI Diff (⭐1k) - OpenAPI仕様をバージョン管理と比較し、HTMLまたはMarkdown形式で差分を可視化します。
  • OpenAPI Generator (⭐26k) - この強力なOpenAPI仕様ツールにより、APIクライアントライブラリ、サーバースタブ、ドキュメント、設定ファイルの自動生成を実現します。
  • OpenAPI Style Validator (⭐236) - 組織の基準を満たすように、OpenAPI仕様を検証するための柔軟かつカスタマイズ可能なスタイルバリデーターを提供します。
  • OpenAPI-GUI (⭐1.4k) - この直感的なグラフィカルユーザーインターフェースにより、OpenAPI仕様の作成と検証を簡単に実行できます。
  • Redocly CLI (⭐1.4k) - 設定可能なルールセットとプラグインで、OpenAPI説明をLint、バンドル、プレビューします。
  • Spectral (⭐3.1k) - OpenAPI 3.0および2.0、AsyncAPIをサポートするJSON/YAMLファイルのエラーを検出し、修正するためのリントツールを提供します。
  • Swagger Editor (⭐9.4k) - このオープンソースエディタにより、OpenAPIベースのAPIの作成、説明、ドキュメント化を簡単に実行できます。
  • vacuum (⭐1.1k) - 超高速のOpenAPIリントツールおよび品質分析ツール。Spectral規則セットと互換性がある。
  • Zally (⭐945) - このリントツールにより、OpenAPI仕様の品質を確保。詳細な分析とフィードバックを提供。

⬆ 目次へ戻る

API文書

API文書の目的、機能、適用範囲を説明する概要です。

  • Bump.sh - OpenAPIおよびAsyncAPI定義からホスティングされたAPIドキュメンテーションおよび変更履歴を生成。自動的に破壊的変更を検出。
  • DapperDox (⭐416) - OpenAPI/Swagger仕様から、カスタマイズが容易で自動更新可能な、美しくインタラクティブなAPIドキュメンテーションを生成。
  • Fern (⭐3.7k) - OpenAPIまたは自社API定義形式からSDKおよびインタラクティブAPIドキュメンテーションを生成。
  • OpenAPI Explorer (⭐352) - OpenAPI仕様から、直感的でインタラクティブなユーザーインターフェースを作成し、APIの探索とテストを簡素化。
  • RapiDoc (⭐1.8k) - レスポンシブデザインと豊かな設定オプションを備えた、高度にカスタマイズ可能なインタラクティブAPIドキュメンテ及を生成。
  • ReadMe - ホスティングされた開発者ハブ。OpenAPI定義をインタラクティブでパーソナライズされたAPIドキュメンテーションに変換し、使用状況メトリクスを提供。
  • Redoc (⭐25k) - 高度なテーマ設定、多言語対応、シームレスな統合を備えた、クリーンで現代的なドキュメンテーションを提供。
  • Scalar (⭐15k) - OpenAPI/Swaggerドキュメントから、統合されたAPIクライアントおよび幅広いフレームワーク統合を備えた、現代的でインタラクティブなAPIリファレンスをレンダリング。
  • Slate (⭐36k) - マークダウンを、直感的なナビゲーションと明確なコード例を備えた、スタイリッシュな静的APIドキュメンテーションに変換。
  • SpectaQL (⭐1.2k) - GraphQLスキーマ向けに静的かつカスタマイズ可能なドキュメンテーションを生成し、複雑なAPI構造を理解しやすくする。
  • Stoplight Elements (⭐2.4k) - 包括的なAPIリファレンスおよびチュートリアルドキュメンテーションの構築に必要な、モジュラーかつ魅力的なUIコンポーネントを提供。
  • SwaggerHub - API設計およびドキュメンテーションを統合したハブ。チームの協力、バージョン管理、自動テストを強化。
  • Swagger UI (⭐28k) - OpenAPI仕様からAPIを視覚化・テストできる、ブラウザ内でのインタラクティブツールを提供。
  • Zudoku (⭐575) - OpenAPIに基づいたカスタマイズ可能なフレームワーク。品質ドキュメンテーションを通じて、開発者体験を最適化。

⬆ 目次へ戻る

APIゲートウェイ

APIゲートウェイの目的、機能、適用範囲を説明する概要です。

  • Apinto (⭐1.6k) - Golangベースのゲートウェイ。現代アーキテクチャ向けに動的ルーティング、マルチテナント、強固なAPIアクセス制御を提供。
  • Ambassador Edge Stack - KubernetesネイティブのAPIゲートウェイ。高スケーラブル環境向けに、柔軟なルーティングと高度なセキュリティ機能を備える。
  • Apache APISIX (⭐16k) - 高パフォーマンスで動的なゲートウェイ。リアルタイムトラフィック管理と強力なプラグイン統合を備える。
  • Apache ShenYu (⭐8.8k) - Javaベースのゲートウェイ。プロトコル変換、サービスプロキシ、包括的なAPIガバナンスにおいて優れたパフォーマンスを発揮。
  • Envoy Gateway (⭐2.9k) - CNCF Envoyベースのゲートウェイで、Gateway API、mTLS、JWTなど、内蔵機能を備えたもの
  • Higress (⭐9k) - EnvoyおよびIstioをベースとした次世代クラウドネイティブゲートウェイ。高性能で使いやすく、豊富なプラグイン拡張性を提供
  • kgateway (⭐5.6k) - KubernetesネイティブのAPIゲートウェイであり、Kubernetes Gateway APIを基盤として構築されたCNCF Envoyベースのもの。Glooオープンソースプロジェクトの後継となるもの
  • Kong API Gateway (⭐43k) - スケーラブルでクラウドネイティブなゲートウェイ。広範なプラグインサポートとスムーズなマイクロサービス統合によりAPI管理を簡素化
  • KrakenD API Gateway (⭐2.6k) - 効率的なミドルウェア設定、強固なセキュリティ、スムーズなスケーリングを備えた超高性能ゲートウェイ
  • Ocelot (⭐8.7k) - .NETベースのゲートウェイで、直感的なルーティングと軽量なAPI管理への容易な統合を提供
  • Spring Cloud Gateway (⭐4.9k) - Springエコシステムを活用し、マイクロサービス向けに強固なルーティング、フィルタリング、セキュリティを提供
  • Traefik API Gateway (⭐64k) - Traefik Proxyを組み合わせ、完全に宣言型アプリケーションプロキシを提供。企業レベルのアクセス制御、分散セキュリティ、プレミアム統合を備える
  • Tyk API Gateway (⭐10k) - REST、GraphQL、TCP、gRPCをサポートする企業レベルのオープンソースゲートウェイ。高度なレート制限と分析機能を備える

⬆ 目次へ戻る

APIテスト

APIテストの目的、機能、適用範囲を説明する概要です。

  • API clients
    • Bruno (⭐46k) - gitに最適化されたワークフローを想定した高速なオフラインAPIクライアント。スムーズなテストを可能にする
    • curl (⭐42k) - 複数プロトコル間のデータ転送に必要なコマンドラインツール。APIテストに必須
    • curlie (⭐3.7k) - curlの現代的で使いやすいフロントエンド。シンプルさと強力なパフォーマンスを融合
    • gRPC UI (⭐5.9k) - gRPC API向けのインタラクティブなウェブベースツール。ブラウザベースのインターフェースでgRPCサービスのテストと探索を可能にし、動的フォーム生成を提供
    • grpcurl (⭐12k) - gRPCサーバーとのインタラクションを可能にするコマンドラインツール。RPCメソッドの検証および呼び出しを可能にし、サーバーリフレクションおよびプロトコルバッファーファイルをサポート
    • Hoppscotch (⭐80k) - 軽量でウェブベースのAPI開発ツール。直感的なインターフェースとリアルタイムテストを提供
    • HTTPie (⭐38k) - 直感的なCLI HTTPクライアント。APIリクエストの作成とレスポンスの確認を簡素化
    • HttpMaster - 無料かつ軽量のデスクトップツール。HTTPテストとデバッグに最適
    • Insomnia (⭐39k) - RESTおよびGraphQLサービスのAPIデバッグとテストを簡易化するマルチプラットフォームクライアント
    • posting (⭐12k) - 効率的かつスムーズなAPI相互作用を目的とした現代的なテールベースAPIクライア及
    • Postman - API開発およびテストにおける業界標準ツール。自動化、モックサーバー、協働ドキュメンテーションを備える
    • Requestly (⭐6.7k) - 軽量でGit対応のAPIクライアント。現代開発者向けに構築されたAPIクライアント。
    • resty (⭐2.6k) - curlを用いて実装された、コマンドラインのRESTクライアント。ターミナルからAPIを迅速に探索できるための便利なシェル関数。
    • SoapUI (⭐1.7k) - SOAPおよびRESTのウェブサービスを包括的にテストできるオープンソースソリューション。自動化機能が豊富。
    • Wombat (⭐1.4k) - マルチプラットフォーム対応のデスクトップgRPCクライアント。プロトコルの自動解析、TLS対応、そしてユニタリー、ストリーミング、バイディレクショナルgRPCリクエストのテストに適した直感的なUIを備えている。
    • xh (⭐8k) - 高速かつ使いやすいCLI HTTPクライアント。HTTPieの設計を再実装し、パフォーマンスを向上させ、HTTP/2対応、および内蔵のcurl変換機能を備えている。
    • Yaade (⭐1.9k) - チーム間の共有を目的とした、セルフホスト型の協働API開発環境。マルチユーザー対応、永続ストレージ、REST、WebSockets、Markdownドキュメンテーションに対応。
    • Yaak (⭐18k) - REST、GraphQL、WebSocket、サーバー送信イベント、gRPCに対応するプライバシーを重視したデスクトップAPIクライアント。オフライン優先設計で、TauriとReactで構築。
  • Contract testing
    • Pact - 消費者ドリブンな契約テストの標準。主な言語に実装され、チーム間の契約共有を可能にするブローカーを備えている。
    • Specmatic (⭐393) - OpenAPI、AsyncAPI、gRPC仕様を実行可能な契約に変換し、契約ドリブン開発およびテストに活用。
    • Spring Cloud Contract (⭐732) - JVMアプリケーション向けの消費者ドリブン契約テスト。GroovyまたはYAMLの契約定義からテストとスタブを生成。
  • MQ clients
    • JMSToolBox (⭐235) - 幅広い互換性を備えたユニバーサルJMSクライアント。さまざまなブローカー間でのメッセージテストを簡便に可能にする。
    • kcat (⭐5.7k) - Apache Kafka(元名:kafkacat)向けの軽量コマンドラインツール。メッセージの生成と消費を効率的に実行できる。
    • MQTT Explorer (⭐4k) - 構造化されたトピック可視化と直感的なデバッグを提供する詳細なMQTTクライアント。
    • Offset Explorer - Apache Kafkaクラスタの管理を包括的に支援するGUI(元名:Kafka Tool)で、ユーザーに親しみやすいモニタリングおよび管理ツールを備えている。
    • Service Bus Explorer (⭐2.2k) - Azure Service Bus向けの高度なGUI。トピック、キュー、サブスクリプションの詳細なテストとスムーズな管理を可能にする。
  • Mocking tools
    • Hoverfly (⭐2.5k) - 軽量なAPIシミュレーションツール。HTTP(S)サービスの迅速な仮想化を可能にし、効率的なテストを実現。
    • Imposter (⭐414) - REST、OpenAPI、SOAPなどに対応する柔軟なモックサーバー。多様なAPI動作をシミュレーションできる。
    • Microcks (⭐2k) - KubernetesネイティブのAPIモックツール。AsyncAPI、OpenAPI、Postman Collectionsに対応。
    • Mock Service Worker (MSW) (⭐18k) - ブラウザおよびNode.js向けのシームレスなAPIモックライブラリ。ネットワークレベルでリクエストをインターセプトする。
    • Mockable - カスタムHTTPレスポンスを作成できる、簡単に設定可能なサービス。急速なプロトタイピングおよびテストに最適。
    • Mockbin (⭐140) - HTTPリクエストのテストにリアルタイムログとフィードバックを提供するシンプルなエンドポイントジェネレータ
    • Mockoon (⭐8.3k) - ユーザーに親切なツールで、リアルタイムシミュレーションと簡単な設定を備えたモックREST APIの設計・実行が可能
    • MockServer (⭐4.9k) - HTTP/HTTPSベースのサービスをモックする強力なソリューションで、統合テストをスムーズに
    • Mocky (⭐2k) - 無料のオンラインサービスで、カスタムHTTPレスポンスを生成し、APIエンドポイントのテストに使用
    • Prism (⭐5k) - APIの動作を再現するオープンソースHTTPモックサーバーで、早期のテストと検証に使用
    • WireMock (⭐7.3k) - 信頼性の高いリアルタイムシミュレーションを提供し、包括的なテストを実現する強力で柔軟なAPIモックツール
  • Testing tools and frameworks
    • Apache JMeter (⭐9.5k) - 多様なウェブアプリケーションとサービスにおける負荷テストおよびパフォーマンス分析に特化した機能豊富なツール
    • Artillery (⭐9k) - HTTP、WebSocket、Socket.io、gRPCなどに対応し、AWS LambdaおよびFargukiでのクラウドネイティブサーバレススケーリングをサポートする完全な負荷テストプラットフォーム
    • Gatling (⭐6.9k) - 開発者に親切なDSLを備えた強力な負荷テストフレームワークで、詳細なパフォーマンスメトリクスを提供
    • Hurl (⭐19k) - シンプルなテキスト構文でHTTPリクエストを実行できるコマンドラインツールで、APIテストおよびCI/CD統合に最適であり、チェーン処理、値のキャプチャ、包括的なアサートをサポート
    • Keploy (⭐18k) - eBPFを用いて実際のトラフィックからテストとデータモックを自動生成する開発者中心のAPIおよび統合テストツールで、コード変更なしに任意の言語に対応
    • ghz (⭐3.3k) - さまざまな負荷スケジュール、並列制御、詳細なパフォーマンスメトリクスをサポートするシンプルなgRPCベンチマークおよび負荷テストツール
    • Grafana k6 (⭐31k) - CI/CD向けのオープンソース、JSスクリプト可能な負荷テストツール
    • Karate (⭐8.9k) - API自動化、モック、パフォーマンステストを統合したシンプルで表現力の高いテストフレームワーク
    • Pyresttest (⭐1.1k) - YAML/JSON駆動のREST APIテストおよびマイクロベンチマークを提供するPythonベースのテストツール
    • REST Assured (⭐7.1k) - 直感的な構文とCIパイプラインへのスムーズな統合を実現するJava DSLによるREST APIテストツール
    • RESTler (⭐2.9k) - OpenAPI仕様からプロダクターコンシューマーの依存関係を知的に推論し、セキュリティおよび信頼性のバグを自動的に発見する状態を持つREST APIのフュージングツール
    • Schemathesis (⭐3.5k) - APIスキーマの性質ベーステストを実行するPythonライブラリで、強固なエッジケース検出により信頼性を確保
    • Taurus (⭐2.1k) - 直感的な設定と統合サポートを備えたオープンソース自動化フレームワークで、継続的なテストを簡易化

⬆ 目次へ戻る

B2B統合

B2B統合の目的、機能、適用範囲を説明する概要です。

  • OpenAS2 (⭐235) - HTTPを介した安全かつ署名・暗号化されたドキュメント交換を可能にする、JavaベースのオープンソースAS2プロトコル実装
  • phase4 (⭐234) - 挿入可能な、軽量なJavaライブラリでAS4メッセージプロトコルを実装しており、PeppolおよびCEF/eDeliveryプロファイルを含む
  • Smooks (⭐417) - EDI、XML、CSV、JSONなどの構造化データの処理および変換に用いられる拡張可能なJavaフレームワーク

⬆ 目次へ戻る

ビジネスルールエンジン

ビジネスルールエンジンの目的、機能、適用範囲を説明する概要です。

  • Drools (⭐6.2k) - Eclipse IDEとの統合を可能にし、高度な決定モデルと記述(DMN)をサポートするオープンソースエンジン
  • FICO Blaze Advisor - ビジネスおよび技術ユーザーが直感的なインターフェースを用いて迅速にルールを作成・管理できるエンタープライズ級の決定エンジン
  • IBM ODM - ルールの作成、テスト、更新をスムーズにし、コンプライアンスと柔軟性を確保するスケーラブルな決定管理システム
  • NxBRE (⭐133) - マイクロソフト環境に最適化された、専門の.NETオープンソースルールエンジン
  • OpenL Tablets (⭐201) - ビジネスルールおよび決定表の定義と実行を簡素化する柔軟なオープンソース決定管理システム
  • Progress Corticon - モデル駆動型のBRMSにより、高パフォーマンスかつ保証された整合性を持つ自動決定を迅速に、ノコードで作成可能
  • ZEN Engine (⭐1.8k) - Rustで書かれた、プラットフォームを越えたオープンソースビジネスルールエンジン。JSON決定モデルを決定表、関数、表現の相互接続グラフを介して実行

⬆ 目次へ戻る

ビジネスプロセス管理

ビジネスプロセス管理の目的、機能、適用範囲を説明する概要です。

  • Appian BPM Suite - ITおよび市民開発者に向けた低コードBPMプラットフォームで、プロセスおよびケース中心のアプリケーションを迅速に構築可能
  • IBM Business Automation Workflow - ワークフロー自動化とBPMを統合したプラットフォームで、運用プロセスおよび意思決定を最適化
  • Oracle BPM Suite - 包括的なソリューションで、強固なプロセスモデリング、ワークフロー自動化、リアルタイム分析を提供し、運用の優秀さを実現
  • Pega Platform - 高度なBPMおよびRPAプラット開発により、業務プロセスの自動化と従業員分析を実現し、運用を効率化
  • TIBCO BPM Enterprise - エンタープライズ級BPMソリューションで、プロセス自動化、ドキュメンテーション、予測分析を提供し、パフォーマンスと意思決定を向上

⬆ 目次へ戻る

変更データキャプチャ

変更データキャプチャの目的、機能、適用範囲を説明する概要です。

  • AWS Database Migration Service - データベース、データウェアハウス、データラクの同期を維持するCDCサポートを備えたマネージド移行およびレプリケーションサービス
  • Debezium (⭐13k) - 既存のデータベースをイベントストリームに変換し、リアルタイムデータ統合を可能にするオープンソース分散プラットフォーム
  • IBM Data Replication - ソースシステムへの影響を最小限に抑え、遅延を低く保つエンタープライズ級CDCソリューション
  • Maxwell’s daemon (⭐4.2k) - MySQL向けオープンソースCDCツールで、データベースのbinlogを読み取り、行レベルの変更をJSON形式でKafka、Kinesis、またはその他の宛先へストリーミング
  • Oracle GoldenGate - 異質なデータベースおよびクラウドプラットフォーム向けに包括的なCDC機能を提供するエンタープライズ級リアルタイムデータ統合およびレプリケーションソリューション
  • PeerDB (⭐3.2k) - Postgresを主軸としたCDCプラットフォームで、PostgreSQLからデータウェアハウス、キュー、ストレージへの高速かつシンプルなレプリケーションを実現
  • Qlik Replicate - ユニバーサルなデータレプリケーションソフトウェアで、現代のデータアーキテクチャおよび分析に実時間CDC機能を提供する。
  • Sequin (⭐2.1k) - PostgreSQLの変更データキャプチャプラットフォームで、行レベルの変更をKafka、SQS、Redis、NATS、RabbitMQ、HTTPエンドポイント、検索インデックスへストリーミングし、正確に1回処理を行う。
  • Striim - データベースからクラウド分析ターゲットへまでのログベースCDCによるリアルタイムデータ統合およびストリーミングプラットフォーム。

⬆ 目次へ戻る

データ統合

データ統合の目的、機能、適用範囲を説明する概要です。

  • Airbyte (⭐21k) - 柔軟でオープンソースのデータ統合プラットフォームで、多様なソースから現代のターゲットへELTパイプラインを構築する。
  • Apache InLong (⭐1.4k) - 大量データのワンストップ、フルシナリオ統合フレームワークで、データイングリッシュ、同期、サブスクリプションおよびリアルタイムETL機能を提供する。
  • Apache NiFi (⭐6.1k) - 視覚インターフェースを備えた自動データ統合ツールで、システム間をスムーズにデータを抽出・変換・配信する。
  • Apache SeaTunnel (⭐9.5k) - 高パフォーマンスかつ分散型のデータ統合プラットンで、数百のコンネクタを介してバッチおよびストリーミング同期をサポートする。
  • CloverDX - 企業向けETLソリューション(以前はCloverETLと呼ばれていた)で、スケーラブルな統合に必要な強力なデータ変換およびワークフローのオーケストレーションを提供する。
  • Conduit (⭐605) - Go言語で書かれた軽量データ統合ツールで、システム間のデータをインストールまたはスタンドアローンコンネクタを使ってストリーミングし、Kafka Connectとの互換性を持つ。
  • dlt (⭐5.7k) - データパイプラインをコードとして構築するためのオープンソースPythonライブラリで、スキーマの進化およびインクリメンタルロードが標準で提供される。
  • Estuary Flow (⭐960) - 柔軟かつスケーラブルなプラットフォームで、リアルタイムおよびバッチデータ統合をETLおよびELTパイプラインに提供する。
  • Fivetran - 管理型ELTで、700以上のソースをデータウェアハウスに同期する。
  • Hevo - ノーコードで完全自動化されたデータパイプラインプラットフォームで、広範な統合をサポートし、複雑なデータワークフローを簡素化する。
  • IBM DataStage - 強力なプラットフォームで、データをクリーンアップ・変換・配信し、企業に信頼できる洞察を提供する。
  • Informatica PowerCenter - 企業向けソリューションで、大規模データおよびクラウド分析を包括的なデータ統合管理で簡易化する。
  • Meltano (⭐2.5k) - 宣言型・コードファーストデータ統合エンジンで、バージョン管理されたパイプライン構成でSingerのタップとターゲットを実行する。
  • Microsoft SSIS - SQL Serverを用いた企業環境におけるスケーラブルETLプロセスの構築に向けた確立されたデータ統合ソリューション。
  • Oracle Data Integrator - バッチロード、リアルタイムプロセス、SOA対応サービスを含む包括的なプラットフォームで、端末から端末までデータ管理をカバーする。
  • Pentaho Data Integration (⭐8.3k) - 直感的な視覚ETLツールで、複数のソース間のデータイングリッシュ、ブレンド、クリーンアップを重複しないコードで簡素化する。
  • SAS Data Management - 強力なソリューションで、データを変換・統合・セキュリティ化し、企業全体のデータ品質と信頼性を向上させる。
  • Singer (⭐1.3k) - データの移動を司るスクリプトを書くためのオープンソース標準。抽出「タップ」とロード「ターゲット」の間でJSONベースのプロトコルを定義する。
  • Sling (⭐885) - データベース、ファイル、クラウドストレージの間を多数のコンネクタで結ぶ高速ELTコマンドラインツールおよびGoライブラリ。
  • Stitch - 多数のソースからデータを抽出し、データウェアハウスに移動させ、分析をスムーズに進める、開発者向けのSaaS型ETLサービス。
  • Talend Data Integration - 多様なデータソースを統合し、意思決定に活かせる実行可能な洞察を提供する、柔軟性の高いプラットフォーム。

⬆ 目次へ戻る

データマッピング

データマッピングの目的、機能、適用範囲を説明する概要です。

  • Altova MapForce - 任意のデータソースから任意のデータ形式への変換を可能にするグラフィカルなデータマッピングソリューション。複雑性を低減し、統合プロジェクトを加速する。
  • AtlasMap (⭐213) - Java、XML、CSV、JSONデータソース間のマッピングをシンプルに実行する、インタラクティブなウェブベースツール。直感的なインターフェースを備える。
  • DataSonnet (⭐37) - Jsonnetに基づいたテンプレートベースのデータ変換ライブラリ。システム統合に特化した構成。
  • JOLT (⭐1.6k) - JSON変換ライブラリ。Javaベースで、仕様駆動アプローチにより、JSONからJSONへの変換を容易に実現。
  • JSLT (⭐698) - jqおよびXPathにインスパイアされた強力なJSONクエリおよび変換言語。データ操作を迅速かつ柔軟に行うために設計。
  • JSONata (⭐2.6k) - JSONデータ用の軽量なクエリおよび変換言語。
  • Kaoto (⭐112) - Apache Camel向けの視覚データマッパー。ドラッグアンドドロップインターフェースを備え、XML、JSON、CSV、XSLT変換をサポート。AtlasMapの継承。

⬆ 目次へ戻る

エンタープライズサービスバス

エンタープライズサービスバスの目的、機能、適用範囲を説明する概要です。

  • Anypoint Platform - 強力な統合ソリューション。堅牢なESB機能を活用し、異なったシステムを接続・オーケストレーションする。
  • CData Arc - アプリケーション間のデータを同期し、パートナーとの接続を簡素化し、EDIおよびMFTワークフローを自動化する統合プラットフォーム(以前はArcESB)。
  • IBM App Connect - 多様なアプリケーションおよびプロトコルを接続し、企業全体でのデータフローをスムーズに保つ、堅牢な統合ソリ連。
  • IBM webMethods Integration - 異質なシステム間の接続を簡素化し、アプリケーション統合を加速する包括的なプラットフォーム。
  • NServiceBus (⭐2.1k) - 開発者向けの.NETベースのサービスバス。メッセージングを簡素化し、サービス統合を効率的にオーケストレーションする。
  • Oracle Service Bus - サービス間の相互作用を仮想化・管理し、統合の複雑性を低減する強力なESBソリューション。
  • Oracle SOA Suite - サービスを複合アプリケーションにオーケストレーションし、業務プロセス統合を効率化する包括的なSOAプラットフォーム。
  • Red Hat build of Apache Camel - Red HatがサポートするApache Camel(Red Hat Fuseの継承)の配布版。クラウドネイティブ統合の構築に適した。
  • TIBCO BusinessWorks - 信頼性の高いデータ交換を実現する、プローブされたハイブリッド統合パターンを採用するエンタープライズ級統合プラットフォーム。
  • UltraESB - 高パフォーマンスを実現したESBで、ゼロコピープロキシとブロッキングIOのない技術を採用し、極限のスループットを達成。
  • WSO2 Integrator: MI (⭐258) - WSO2 Integratorプラットフォームの構成駆動型統合リターンタイムが、中央化およびコンテナ化展開において企業向け統合パターンをサポート。

⬆ 目次へ戻る

統合フレームワーク

統合フレームワークの目的、機能、適用範囲を説明する概要です。

  • Apache Camel (⭐6.2k) - データベース、メッセージング、API、クラウドサービス、企業システムなど300以上のコンネクタを備えた統合フレームワーク。Spring BootおよびQuarkusのリターンタイムをサポートし、A2AおよびMCPプロトコルを用いてAIエージェントの相互運用を実現。
  • Ballerina (⭐3.8k) - ネットワークサービスおよびAPIの簡単な作成と統合を可能にするための革新的なプログラミング言語。
  • Frank!Framework (⭐165) - 構成可能なXML設定により、システムの接続性とデータ統合を簡易化する低コードJavaメッセージングフレームワーク。
  • MassTransit (⭐7.7k) - .NET向けの分散アプリケーションフレームワークで、RabbitMQ、Azure Service Bus、Amazon SQSなどのトランスポート上に一貫したメッセージング抽象を提供。
  • Spring Cloud Stream (⭐1k) - Kafka、RabbitMQなどへのバインダー抽象を用いて、共有メッセージングシステムに接続されたイベント駆動型マイクロサービスを構築するためのフレームワーク。
  • Spring Integration (⭐1.6k) - プローブされた企業統合パターンを用いて、即時的に統合機能を提供するSpringエコシステムの拡張。
  • Wolverine (⭐2.3k) - RabbitMQおよびKafkaなどのトランスポートを内蔵した、低儀礼のメッセージングおよびコマンドバスフレーム及。

⬆ 目次へ戻る

Integration Platform as a Service

Integration Platform as a Serviceの目的、機能、適用範囲を説明する概要です。

  • Anypoint Platform - API管理と統合を1つのプラットフォームに統合し、多様なアプリケーション間のシームレスな接続を実現。
  • Azure Logic Apps - MicrosoftのiPaaSで、クラウドおよびオンプレミスシステムに数百の事前構築されたコンネクタを用いて自動化されたワークフローを構築。
  • Boomi Enterprise Platform - クラウドネイティブで知能を備えたプラットフォームで、システム間の接続を容易にし、統合プロセスを自動化。
  • Camel K (⭐926) - Apache Camelに基づく軽量なKubernetesネイティブ統合プラットフォームで、KubernetesおよびOpenShift上でクラウドネイティブサーバレスサービスとして統合ルートを直接実行。
  • Celigo Integration Platform - 迅速なSaaS間統合と直感的なドラッグアンドドロップ設計を提供する、ユーザーフレンドリーなiPaaS。
  • Jitterbit Harmony - 事前構築されたワークフローおよび自動化テンプレートを提供する包括的な統合ソリューションで、ビジネスプロセスを加速。
  • IBM Cloud Integration - AIを活用した次世代プラットフォームで、統合の簡素化、スケーラビリティの向上、およびデプロイのスピードアップを実現。
  • IBM webMethods - アプリケーションを統合し、プロセスを簡素化し、全体の効率を高める1つの統合プラットフォーム。
  • Informatica Intelligent Cloud Services - クラウドデータ管理ツールのセットで、生産性を加速し、アプリケーションおよびデータ統合を簡素化。
  • OpenText Alloy - 基本的な統合を行動可能な洞察およびスマートな意思決定に変換する企業向けデータ管理ソリューション。
  • Oracle Integration Cloud Service - SaaSおよびオンプレミスアプリケーション向けに事前構築された接続を備えた強固なプラットフォームで、統合プロセスを簡素化。
  • SAP Integration Suite - クラウドネイティブソリューションで、事前構築されたアダプタ、API管理、イベントブローカーを提供し、端末から端末までの一貫した接続を実現します。
  • SnapLogic Intelligent Integration Platform - AIを駆使したプラットフォームで、アプリケーションとデータを迅速に接続し、効率的かつスケーラブルな統合を実現します。
  • TIBCO Cloud Integration - 柔軟でAPI中心、イベント中心のプラットフォームにより、ほぼすべてのシステムを迅速に統合できます。
  • Tray.ai - 低コード自動化プラットフォームで、ドラッグ&ドロップインターフェースにより、スケーラブルな統合とワークフローの構築が簡単です。
  • Workato - 統合およびワークフロー自動化ソリューションで、複雑なプロセスを簡素化し、運用効率を向上します。

⬆ 目次へ戻る

Messaging as a Service

Messaging as a Serviceの目的、機能、適用範囲を説明する概要です。

  • Amazon MQ - 完全に管理されたメッセージブローカーで、Apache ActiveMQおよびRabbitMQをサポートし、信頼性とセキュリティの高いメッセージングを実現します。
  • Amazon MSK - 管理されたApache Kafkaサービスで、クラスタの設定、スケーリング、リアルタイムデータストリーミングを簡易に実現します。
  • Amazon SQS - 信頼性の高い、完全に管理されたキューングサービスで、マイクロサービスを分離し、分散アプリケーションをスムーズにスケーリングできます。
  • Amazon SNS - 管理されたpub/subメッセージングサービスで、サブスクリーバーに柔軟に通知し、さまざまな配信プロトコルをサポートします。
  • Alibaba Cloud Message Queue for Apache Kafka - 高スループットのKafkaサービスで、アリババクラウドとの統合により、リアルタイムデータ処理を実現します。
  • Alibaba Cloud Message Queue for RabbitMQ - スケーラブルなRabbitMQソリューションで、低遅延と高スループットを提供し、分散メッセージングを実現します。
  • Alibaba Cloud Message Service - 分散メッセージングサービスで、分離されたシステム間のデータ転送を確実に保ちます。
  • AlibabaMQ for Apache RocketMQ - 強固なメッセージキューサービスで、非同期通信をサポートし、高い可用性と耐久性を確保します。
  • Anypoint MQ - 企業向けメッセージングサービスで、Anypoint Platformと統合され、柔軟かつ信頼性の高いメッセージオーケストレーションを実現します。
  • Azure Event Hubs - 高スループ度の完全に管理されたイベントインジェスト(発行・購読)サービスで、Kafkaプロトコルを本体でサポートします。
  • Azure Service Bus - 複数のパターンおよびプロトコルをサポートするクラウドメッセージングソリューションで、強固な企業向け統合を実現します。
  • CloudAMQP - 管理されたRabbitMQサービスで、直感的なウェブコンソール、高度な分析、スムーズなスケーリングを備えています。
  • Confluent Cloud - 完全に管理されたKafkaサービスで、スキーマレジストリ、コンネクタ、ガバナンスなどの企業向け機能を提供します。
  • Google Cloud Managed Service for Apache Kafka - Google Cloud上でKafkaのデプロイと管理を簡易にし、リアルタイムストリーミングアプリケーションをサポートします。
  • Google Cloud Pub/Sub - 高スループットのメッセージングサービスで、イベント駆動アーキテクチャと柔軟な配信モデルをサポートします。
  • Huawei Cloud Distributed Message Service - 完全に管理されたメッセージングサービスで、アプリケーション間の安全かつスケーラブルで信頼性の高い通信を確保します
  • Huawei Cloud Distributed Message Service for Kafka - 管理されたKafkaソリューションで、スケーリングと管理を簡素化しつつ、高いパフォーマンスとセキュリティを実現します
  • IBM MQ on Cloud - クラウド環境におけるアプリケーション間の安全かつ信頼性の高いデータ転送を提供するエンタープライズメッセージングサービス
  • IronMQ - エラスティックでクラウドネイティブなメッセージキューで、高量のメッセージをスケーラブルかつ信頼性の高い処理が可能です
  • Oracle Cloud Streaming - サーバレスでリアルタイムイベントストリーミングプラットフォームで、Apache Kafkaの互換性により効率的なデータ処理が可能です
  • Solace PubSub+ Cloud - 統合されたイベントストリーミングプラットフォームで、データパイプラインの完全な可視性と制御を提供します
  • Yandex Message Queue - Amazon SQS APIと互換可能なクラウドメッセージングサービスで、既存システムとの容易な統合が可能です
  • Yandex Managed Service for Apache Kafka - 完全に管理されたKafkaサービスで、自動スケーリング、監視、メンテナンスが自動化され、スムーズなストリーミングが実現します

⬆ 目次へ戻る

マネージドファイル転送

マネージドファイル転送の目的、機能、適用範囲を説明する概要です。

  • Axway Managed File Transfer - 強固なプラットフォームで、高度なセキュリティと企業システム間の効率的かつ信頼性の高いデータ転送を提供します
  • CData Arc MFT - エンタープライズレベルのMFTソリューション(以前はArcESB)で、直感的なインターフェースと強力な自動化により、ファイル交換をスムーズに実現します
  • GlobalSCAPE EFT - 強化されたファイル転送サーバーで、端末から端末まで暗号化、自動化、コンプライアンスを確実に確保し、重要なデータを保護します
  • GoAnywhere MFT - 包括的なソリューションで、中央集約型かつ安全なファイル転送を実現し、自動化と完全なログ記録を提供します
  • IBM Sterling Secure File Transfer - スケーラブルかつ高性能なMFTプラットフォームで、安全かつ高速かつ信頼性の高いファイル交換を実現します
  • IBM webMethods MFT - ハイブリッド環境における柔軟なデプロイメントをサポートする統合された管理ファイル転送ソリューションです
  • JSCAPE MFT Server - セキュリティとプロトコルに依存しないプラットフォームで、自動化とコンプライアンスを提供します
  • Oracle Managed File Transfer - エンタープライ連のファイル交換と管理を安全に簡素化する包括的なプラットフォームです
  • Progress MOVEit - 規制業界向けの確実な配信、暗号化、コンプライアンスツールを備えた自動化されたファイル転送ソリューションです
  • TIBCO Managed File Transfer - 多様なファイル転送シナリオをサポートする強固な自動化とセキュリティ機能を備えた中央集約型MFTプラットフォームです
  • Titan MFT Server - 高可用性、フェイルオーバー機能、大規模ファイル自動化を備えたエンタープライズレベルのMFTサーバーです

⬆ 目次へ戻る

マスターデータ管理

マスターデータ管理の目的、機能、適用範囲を説明する概要です。

  • IBM InfoSphere Master Data Management - 企業規模のデータガバナンスを中央集約し、企業全体の一貫性と正確性を確保する包括的なプラットフォームです
  • Informatica Multidomain MDM - すべての領域におけるマスターデータの管理および統制を統合したソリューションで、全体のデータ品質を向上させる
  • Oracle Enterprise Data Management - 意思決定および運用の柔軟性を高めるために、マスターデータを中央に集約する強固なツール
  • Reltio - クラウドネイティブで、データ品質、統制、リアルタイム分析を統合したマルチドメインMDMプラットフォームで、360度の視点を提供
  • SAP Master Data Governance - マスターデータを中央に統合し、統一性と高品質を確保する中央集約型ソリューション
  • SAS MDM - 多様なソースからのデータを正確なマスターレコードに統合する統一プラットフォームで、効率を向上させる
  • Stibo MDM - データの透明性と統制に焦点を当てた、証明済みのマルチドメインMDMソリューションで、単一の事実源を提供
  • Teradata MDM - 正確な参照データを維持することで、分析の基礎を一貫性を持たせ、ROIを向上させる
  • TIBCO EBX - 共有データ資産の統制および管理を行う包括的なプラットフォームで、一貫性を確保し、スマートな意思決定を可能にする

⬆ 目次へ戻る

メッセージブローカー

メッセージブローカーの目的、機能、適用範囲を説明する概要です。

  • Apache ActiveMQ (⭐2.4k) - JMSを実装したオープンソースブローカーで、同期と非同期メッセージ間のシームレスな変換を実現
  • Apache ActiveMQ Artemis (⭐1k) - 複数の業界標準プロトコル(AMQP 1.0、MQTT 3.1.1、MQTT 等)をサポートするマルチプロトコルメッセージブローカー
  • Apache EventMesh (⭐1.7k) - アプリケーションのデカップリングとバックエンドブローカーを実現する、サーバーレスイベントミドルウェアとして機能する動的イベント駆動アプリケーションランタイム
  • Apache Iggy (⭐4.4k) - Rustで構成されたパーソナリティメッセージストリーミングプラットフォームで、QUIC、TCP、HTTPトランスポートをサポートし、高いスループットと低い遅延を実現
  • Apache Kafka (⭐33k) - リアルタイムデータストリーミングおよび障害耐性処理を目的とした分散型、高スループットシステム
  • Apache Pulsar (⭐15k) - 現代アプリケーション向けにスケーラブルで低遅延なメッセージを提供する、多様なpub/subおよびストリーミングプラットフォーム
  • Apache Qpid (⭐70) - AMQPに準拠したメッセージツールで、企業レベルのメッセージ配信を多言語でサポート
  • Apache RocketMQ (⭐22k) - 低遅延かつ高スループットを実現する高性能分散メッセージプラットフォーム
  • AutoMQ (⭐10k) - 状態を持たない、Kafkaと互換性のあるブローカーで、S3クラスのオブジェクトストレージ上で実行され、エラスティックスケーリングとコスト削減を実現
  • BlazingMQ (⭐3.2k) - 現代のワークフローニーズに効率性と信頼性を重視した分散メッセージキューングシステム
  • Centrifugo (⭐10k) - オンラインユーザーへのイベント配信の遅延を最小限に抑えるスケーラブルなリアルタイムメッセージサーバー
  • Eclipse Mosquitto (⭐11k) - 低消費電力デバイス向けに最適化されたMQTTブローカーで、強固な暗号化と認証を提供
  • ElasticMQ (⭐2.9k) - Amazon SQSに互換性のあるメモリ内メッセージキュー。独立したデプロイや埋め込みデプロイに対応し、オプションでUIとキューの永続化を提供。
  • EMQX (⭐16k) - IoTおよび産業用途向けの高パフォーマンスMQTTブローカー。スケーラブルなメッセージ配信を実現。
  • HiveMQ (⭐1.2k) - 大規模なIoTメッセージ送信に特化したMQTTブローカー。オープンソースコミュニティエディションと豊かな拡張システムを備える。
  • IBM MQ - 企業レベルのメッセージングソリューション。強固な機能、高い可用性、複数プロトコル対応を提供。
  • KubeMQ - Kubernetesネイティブのメッセージブローカーおよびキューシステム。スケーラビリティ、高い可用性、そしてスムーズなクラウド統合を実現。
  • LavinMQ (⭐987) - AMQP 0-9-1およびMQTTプロトコルを実装した高パフォーマンスメッセージキューサーバー。Crystalで構築され、高いスループットと最小のリソース使用を実現。
  • Magistrala (⭐2.6k) - 複数プロトコン(HTTP、MQTT、WebSocket、CoAP)をサポートする分散型イベント駆動インフラストラクチャ。強固なセキュリティとIoT機能を備える。
  • NATS (⭐20k) - マイクロサービスおよびクラウドネイティブアーキテクチャに最適な軽量かつ高パフォーマンスなメッセージングシステム。
  • NSQ (⭐25k) - スケーラブルに動作するリアルタイム分散型メッセージプラットフォーム。毎日数十億のメッセージを処理する分散トポロジーを備える。
  • Oracle AQ - Oracleデータベース内に統合されたメッセージングソリューション。信頼性と効率的なメッセージ配信を提供。
  • RabbitMQ (⭐13k) - AMQPを実装する人気のあるオープンソースブローカー。信頼性、クラスタリング、使いやすさで知られている。
  • Red Hat AMQ - オープンソース技術に基づく企業向けメッセージングプラットフォーム。スケーラブルかつ信頼性の高いメッセージ配信を提供。
  • Redpanda (⭐12k) - Zookeeperを削除したKafkaに互換性のあるストリーミングプラットフォーム。高いパフォーマンスと低遅延を実現。
  • RMQ (⭐1.6k) - Goで記述されたRedisベースのメッセージキュー。柔軟なキュー管理、バッチコンシューマー、効率的な配信パターンを提供。
  • TIBCO Enterprise Message Service - アプリケーション間のメッセージ交換を効率的かつ堅牢に実現する、標準に基づくJMS実装。
  • VerneMQ (⭐3.6k) - 現代環境におけるスケーラブルかつ効率的なメッセージ配信を実現する、高パフォーマンス分散型MQTTブローカー。
  • ZeroMQ (⭐10k) - 高パフォーマンスの非同期メッセージングライブラリ。分散アプリケーション向けのブローカーなし、ソケットベースのメッセージングパターンを提供。

⬆ 目次へ戻る

ロボティックプロセスオートメーション

ロボティックプロセスオートメーションの目的、機能、適用範囲を説明する概要です。

  • Automation Anywhere - 高度なRPA機能によりビジネスプロセスを最適化し、エラーを減少させるスマートな自動化エコシステム。
  • Blue Prism - ノーコードプラットフォーム。強固でスケーラブルな自動化を提供し、手動タスクを最小限に抑え、生産性を向上。
  • OpenRPA (⭐3k) - 企業レベルのオープンソースロボティックプロセス自動化ソリューション。
  • Robot Framework (⭐11k) - オープンソースの自動化フレームワークで、人間が使いやすいキーワード構文を備え、技術者や非技術者もコスト効率よくテストスクリプトを作成し、ビジネスプロセスを自動化できる。Web、API、モバイル、データベースの自動化を、豊富なライブラリと統合によりサポート。
  • TagUI (⭐6.3k) - 20以上の言語で自然言語によるスクリプトを用いるオープンソースRPAツールで、非プログラマでもウェブ、デスクトップ、データタスクの自動化が可能であり、PythonやRを介してAI/ML機能を統合し、知能あるプロセス自動化を実現。
  • Tungsten RPA - AIを活用したノコード自動化ソリューションで、ワークフロー全体の正確性、効率性、コンプライアンスを向上させる。
  • UiPath - 包括的なRPAプラットフォームで、日常的なタスクを自動化し、企業全体のスケーラブルなデジタルトランスフォーメーションを実現。
  • WorkFusion - 企業向け自動化ソリューションで、RPAと知能ある自動化を組み合わせ、複雑なワークフローを効率化。

⬆ 目次へ戻る

スキーマレジストリ

スキーマレジストリの目的、機能、適用範囲を説明する概要です。

  • Apicurio Registry (⭐902) - API設計およびスキーマのオープンソースリジストで、Avro、Protobuf、JSON Schema、OpenAPI、AsyncAPIのアーテファクトをサポートし、設定可能な互換性ルールを提供。
  • AWS Glue Schema Registry - マネージドリジストで、ストリーミングデータスキーマの検証と進化を制御し、MSK、Kinesis、Flinkと統合。
  • Azure Schema Registry - Azure Event Hubsにホストされたスキーマリジストで、イベント駆動アプリケーションのスキーマ管理とガバナンスを中央集約。
  • Confluent Schema Registry (⭐2.4k) - Kafkaに広く使用されているリジストで、RESTフルインターフェースとAvro、JSON Schema、Protobufスキーマの互換性チェックを提供。
  • Karapace (⭐625) - Confluent Schema RegistryおよびKafka REST APIのオープンソース、即時置き換え可能なリジスト。

⬆ 目次へ戻る

セルフサービス統合

セルフサービス統合の目的、機能、適用範囲を説明する概要です。

  • Activepieces (⭐23k) - オープンソースで、セルフホスト可能な自動化プラットフォームで、ノコード視覚ビルダーと数百のコネクタ(“ピース”)を備え、Zapierの代替として位置づけている。
  • Automatisch (⭐13k) - オープンソースのビジネス自動化ツールで、人気サービスを接続し、第三者にデータを共有しない。
  • Huginn (⭐49k) - サービスの監視を行い、あなたの代わりに行動するエージェントを構築できるセルフホストシステムで、IFTTTのハッキング版のようなもの。
  • IFTTT - ウェブサービスをシンプルな条件文で接続できる使いやすいプラットフォームで、カスタムワークフローの作成を可能にする。
  • Make (Integromat) - 低コード自動化ツールで、視覚インターフェース、高度なデータ変換、モジュラーワークフローの実行を備える。
  • Microsoft Power Automate - クラウドベースのサービスで、直感的なインターフェースにより、さまざまなアプリをスムーズに統合する自動化ワークフローを作成できる。
  • n8n (⭐200k) - 400以上のコネクタを備えたオープンソースワークフロー自動化ツールで、データと統合の完全なコントロールを提供。
  • Node-RED (⭐23k) - 低コード、フローベースのプログラミングツールで、ブラウザベースの視覚エディタでハードウェアデバイス、API、オンラインサービスを接続する。
  • Pipedream (⭐11k) - 開発者中心の統合プラットフォームで、Node.js、Python、Go、Bashのコードレベル制御を備えた数千の事前構築されたトリガーとアクションを組み合わせる。
  • Zapier - 数百のウェブサービスを接続できる直感的なプラット窓で、効率的かつコードなしの自動化を実現。

⬆ 目次へ戻る

ストリーム処理

ストリーム処理の目的、機能、適用範囲を説明する概要です。

  • Apache Beam (⭐8.6k) - バッチとストリームパイプラインに共通するプログラミングモデル。Flink、Spark、Google Cloud Dataflowなどのランナーに跨って使用可能。
  • Apache Flink (⭐26k) - スケーラブルな分散ストリーム処理フレームワーク。状態付き計算、正確1回のセマンティクス、イベントタイム処理を実現。
  • Apache Spark (⭐43k) - スパーカルSQLエンジンに搭載された統一された分析エンジン。Structured Streaming APIにより、スケーラブルかつ障害耐性のあるストリーム処理が可能。
  • Arroyo (⭐4.9k) - Rustネイティブのストリーム処理エンジン。SQLでリアルタイムパイプラインを構築できるように設計されており、サーバレス環境で動作可能。
  • Bytewax (⭐2k) - Timely Dataflowに基づくPythonストリーム処理フレーム及。PythonのエコシステムとRustのパフォーマンスを組み合わせたもの。
  • Kafka Streams - Apache Kafkaに直接上に構築されたストリームアプリケーションやマイクロサービスを構築するためのクライアントライブラリ。
  • ksqlDB (⭐314) - Kafka上でストリーム処理アプリケーションに特化したデータベース。SQLでクエリ可能。
  • Numaflow (⭐2.8k) - Kubernetesネイティブで、サーバレスなプラットフォーム。大量並列ストリームおよびデータ処理を可能にし、正確1回のセマンティクスと言語に依存しないユーザーコードを提供。
  • Redpanda Connect (⭐8.7k) - システム間のデータ変換およびルーティングを行う、宣言型ストリームプロセッサおよびコンネクタツールキット(以前はBenthos)。
  • RisingWave (⭐9.2k) - イベントストリーム上のインクリメンタルなリアルタイムマテリアルビューを提供する、Postgres互換のストリーミングデータベース。

⬆ 目次へ戻る

Webhook基盤

Webhook基盤の目的、機能、適用範囲を説明する概要です。

  • Convoy (⭐2.8k) - リトライ、レート制限、管理ダッシュボードを備えたオープンソースのウェブホークゲートウェイ。
  • Hookdeck - ウェブホークやその他のイベントトラフィックを受信、キュー、変換、再実行するためのマネージドイベントゲートウェイ。
  • Svix (⭐3.3k) - ウェブホークプロバイダー向けに署名、リトライ、エンドポイント管理を処理するオープンソースサーバーを備えたウェブホーク送信サービス。

⬆ 目次へ戻る

ワークフローエンジン

ワークフローエンジンの目的、機能、適用範囲を説明する概要です。

  • Activiti (⭐10k) - 軽量でJava中心のBPMNエンジン。シンプルさを重視したビジネスワークフローの効率的な実行を可能にする。
  • Apache Airflow (⭐46k) - プログラムでワークフローを構築・スケジュール・監視できるプラットフォーム。複雑なデータパイプラインの管理に最適。
  • Argo Workflows (⭐16k) - Kubernetesベースのクラウドネイティブ環境で並列ジョブをオーケストレーションするためのコンテナネイティブワークフローエンジン。
  • AWS Step Functions - AWSサービスおよびカスタムロジックを視覚的なステートマシンワークフローに組み合わせるためのサーバレスオーケストレーションサービス。
  • Azkaban (⭐4.5k) - 大規模データ処理環境におけるジョブの依存関係を管理するための分散スケジューラ。
  • Bonita (⭐174) - Postgres互換のストリーミングデータベース。
  • Cadence (⭐9.4k) - オープンソースのBPMNエンジン。デザイナーインターフェースを備え、複雑なビジネスプロセスの構築と自動化が可能。
  • Camunda (⭐4.2k) - Zeebeエンジンに構築された、水平スケーリングが可能なプロセスオーケストレーションプラットフォームで、完全なBPMNおよびDMNサポートを備えている。
  • Conductor (⭐32k) - Netflixで元々開発された、現在は元のリポジトリがアーカイブされた後、コミュニティが維持している、持続可能なワークフローオーケストレーションエンジン。
  • Dagster (⭐15k) - データオーケストレータで、データパイプラインの構築と観察を行うための宣言型、資産ベースのプログラミングモデルを備えている。
  • Elsa Core (⭐7.8k) - .NET Coreライブラリで、アプリケーションにシームレスに統合され、ワークフローの実行と管理が可能になる。
  • Flowable (⭐9.4k) - 企業のワークフローを自動化・スケーリングするための、コンパクトかつ効率的なオープンソースエンジンセット。
  • Google Cloud Workflows - サーバレスオーケストレーションにより、Google CloudサービスとHTTPベースのAPIを信頼性の高い、状態を持つワークフローに統合する。
  • Inngest (⭐5.7k) - 既存サービス内で信頼性の高いステップ関数を実行する、イベント駆動型の持続可能な実行プラットフォーム。
  • jBPM (⭐1.7k) - ビジネスプロセスおよび意思決定の自動化に加え、強固なワークフロー管理機能を備えた包括的なツールキット。
  • Kestra (⭐27k) - イベント駆動型の宣言型オーケストレータで、ワークフローはYAMLで定義され、データおよびインフラ自動化に数百のプラグインを備えている。
  • LittleHorse (⭐392) - Kafka Streamsに構築された、高スループット・低遅延のマイクロサービスオーケストレーションエンジンで、複数の言語にSDKを提供。
  • Prefect (⭐23k) - データパイプラインおよび複雑なワークフローに最適化された、現代的で開発者フレンドリーなオーケストレーションツール。
  • Restate (⭐4.2k) - 持続可能な実行エンジンで、頑健なワークフロー、イベント駆動型サービス、状態を持つハンドラーをシンプルなコードとして構築可能。
  • StackStorm (⭐6.5k) - センサー、トリガー、ワークフローを組み合わせた強固な自動化エンジンで、複雑なITプロセスをオーケストレーション。
  • Temporal (⭐22k) - 信頼性・スケーラビリティ・障害耐性を備えたアプリケーション開発に特化した、ワークフ連携コードプラットフォーム。
  • Windmill (⭐17k) - Python、TypeScript、Goなどによるスクリプトをワークフロー、内部UI、スケジュールジョブに変換するオープンソース開発プラットフォーム。

⬆ 目次へ戻る

統合パターン

統合パターンの目的、機能、適用範囲を説明する概要です。

エンタープライズ統合パターン

エンタープライズ統合パターンの目的、機能、適用範囲を説明する概要です。

  • Aggregator - 個別のが関連するメッセージの結果をどう組み合わせれば、それらを全体として処理できるか?
  • Canonical Data Model - 異なるデータフォーマットを使用するアプリケーションを統合する際に、依存関係を最小限に抑える方法は?
  • Channel Adapter - アプリケーションをメッセージシステムに接続し、メッセージを送受信できるようにする方法は?
  • Channel Purger - メッセージチャンネルに残る「余り」メッセージがテストや実行中のシステムを妨げないよう、どう保つか?
  • Claim Check - システム間で送信されるメッセージのデータ量を減らすが、情報内容を損なわない方法は?
  • Command Message - メッセージを用いて、別のアプリケーション内のプロシージャを呼び出す方法は?
  • Competing Consumers - メッセージクライアントが複数のメッセージを同時に処理できる方法は?
  • Composed Message Processor - 複数の要素から構成されたメッセージを処理する際、それぞれの要素が異なる処理を必要とする場合に、全体のメッセージフローを維持する方法は?
  • Content Enricher - メッセージの発信者が必要なデータ項目すべてを用意できない場合、他のシステムとどのように通信するか?
  • Content Filter - 大きなメッセージの中から特定のデータ項目だけを扱いたい場合、その処理を簡略化する方法は?
  • Content-Based Router - 1つの論理関数(例:在庫確認)の実装が複数の物理システムに分散されている場合、どのように対応するか?
  • Control Bus - 複数のプラットフォームおよび広い地理的範囲にわたるメッセージシステムを効果的に管理する方法は?
  • Correlation Identifier - 応答を受け取ったリクエスターは、その応答がどのリクエストに対応するかをどのように判別するか?
  • Datatype Channel - アプリケーションがデータ項目を送信する際に、受信側がそれをどのように処理するかを認識できるようにする方法は?
  • Dead Letter Channel - メッセージを配達できない場合、メッセージシステムはどのように対応するか?
  • Detour - 検証、テスト、デバッグなどの機能を中間ステップを通じて実行するために、メッセージをルートする方法は?
  • Document Message - アプリケーション間のデータを転送するためにメッセージをどのように使用するか?
  • Durable Subscriber - アプリケンスがメッセージを受信していない間、メッセージを漏らさないための方法は?
  • Dynamic Router - ルーターがすべての可能な宛先に依存しないようにし、同時に効率性を維持する方法は?
  • Envelope Wrapper - 既存のシステムが、メッセージフォーマットに特定の要件(例:メッセージヘッダー項目や暗号化)を課すメッセージ交換に参加できる方法は?
  • Event Message - 1つのアプリケーションから別のアプリケーションへイベントを伝送するためにメッセージをどのように使用するか?
  • Event-Driven Consumer - アプリケーションがメッセージが可用になった際に自動的にメッセージを消費できるようにする方法は?
  • Format Indicator - メッセージのデータフォーマットを設計する際、将来の変更を考慮できるようにする方法は?
  • Guaranteed Delivery - 送信者がメッセージがメッセージシステムに失敗した場合でも、メッセージが配達されることを保証する方法は?
  • Idempotent Receiver - メッセージ受信者が重複したメッセージをどのように扱うか?
  • Invalid Message Channel - メッセージ受信側が意味のないメッセージを受信したとき、どのようにして丁寧に処理できるか?
  • Message - メッセージチャネルで接続された2つのアプリケーションが、情報のやり取りを行う方法は?
  • Message Dispatcher - 1つのチャネルに接続された複数の消費者が、メッセージ処理をどのように協調できるか?
  • Message Expiration - 送信側が、メッセージが古くなった(陳腐になった)と判断するタイミングをどのように示せるか?
  • Message Translator - データフォーマットが異なるシステム間で、メッセージを使ってどのように通信できるか?
  • Message Broker - メッセージの受信先を送信側から分離し、メッセージの流れを中央で制御できる方法は?
  • Message Bus - アプリケーション間が分離された状態で協働できるアーキテクチャはどのようなものか?アプリケーションを簡単に追加・削除できるようにし、他のアプリケーションに影響を与えないようにする方法は?
  • Message Channel - 1つのアプリケーションが別のアプリケ或をメッセージを使ってどのように通信できるか?
  • Message Endpoint - アプリケーションがメッセージチャネルに接続して、メッセージを送受信できる方法は?
  • Message Filter - コンポーネントが興味のないメッセージを受信しないようにする方法は?
  • Message History - 緩い結合のシステムにおけるメッセージの流れを効果的に分析・デバッグできる方法は?
  • Message Router - 個別の処理ステップを分離し、条件に応じてメッセージを異なるフィルタに渡す方法は?
  • Message Sequence - メッセージが任意の大きさのデータを伝送できる方法は?
  • Message Store - メッセージ情報に対して報告を行うことのできる方法は?メッセージの緩い結合性と一時性を損なわないようにする方法は?
  • Messaging Bridge - 複数のメッセージシステムを接続し、あるシステムに存在するメッセージが他のシステムにも存在するようにする方法は?
  • Messaging Gateway - アプリケーションの他の部分からメッセージシステムへのアクセスをどのように封じ込めるか?
  • Messaging Mapper - ドメインオブジェクトとメッセージインフラストラクチャの間のデータをどのように移動させるか?また、両者を独立に保つ方法は?
  • Normalizer - 意味的に同等なメッセージが、異なるフォーマットで到着する場合、どのように処理できるか?
  • Pipes and Filters - メッセージに対して複雑な処理を行うことができるが、独立性と柔軟性を維持できる方法は?
  • Point-to-Point Channel - 呼び出し側が、正確に1つの受信者にドキュメントや呼び出しを送信・実行できるようにする方法は?
  • Polling Consumer - アプリケーションが準備ができているときにメッセージを消費する方法は?
  • Process Manager - 必要な処理ステップが設計時には不明であり、順序も必ずしも連続でない場合に、メッセージを複数の処理ステップを通じてルートする方法は?
  • Publish-Subscribe Channel - 送信者がすべての関心を持つ受信者にイベントをブロードキャストする方法は?
  • Recipient List - メッセージを動的に指定された受信者リストにルートする方法は?
  • Request-Reply - アプリケーションがメッセージを送信したとき、受信者から応答を取得する方法は?
  • Resequencer - 複数の要素を含むメッセージが関連性はあるが順序がずれている場合、正しい順序に戻すためのストリームを取得する方法は?
  • Return Address - 応答を送る際、リプレイアがどこに送るべきかをどう知るか?
  • Routing Slip - 設計時には処理ステップの順序が不明であり、各メッセージごとに異なる場合に、メッセージを連続的に処理ステップを通じてルートする方法は?
  • Scatter-Gather - メッセージを複数の受信者に送信し、それぞれが応答を送る必要がある場合、全体のメッセージフローを維持する方法は?
  • Selective Consumer - メッセージ消費者が受け取るべきメッセージをどれを選ぶかをどう決定するか?
  • Service Activator - アプリケーションが、さまざまなメッセージング技術および非メッセージング技術を介してサービスを呼び出すように設計する方法は?
  • Smart Proxy - サービスが要請者の指定したリターンアドレスに応答メッセージを公開する場合、メッセージのトレースをどう行うか?
  • Splitter - メッセージに複数の要素が含まれており、それぞれが異なる方法で処理が必要な場合、そのメッセージをどう処理するか?
  • Test Message - しかし、コンポーネントがメッセージを積極的に処理している際に、内部の障害により送信メッセージが誤って生成される場合、どうなるか?
  • Transactional Client - クライアントがメッセージングシステムとの取引をどう制御するか?
  • Wire Tap - 点対点チャネルを通じて移動するメッセージをどう確認するか?

⬆ 目次へ戻る

統合アーキテクチャパターン

統合アーキテクチャパターンの目的、機能、適用範囲を説明する概要です。

⬆ 目次へ戻る

マイクロサービスAPIパターン

マイクロサービスAPIパターンの目的、機能、適用範囲を説明する概要です。

  • Foundation

    • Frontend Integration - クライアント側のエンドユーザーインターフェースがサーバー側のビジネスロジックおよびデータストレージと物理的に分離されている場合、計算結果、データソース内の検索結果セット、およびデータエンティティに関する詳細情報をどのようにフィルタリングし、更新するか?アプリケーションフロントエンドがバックエンドにアクティビティを呼び出し、データをアップロードする方法は?
    • Backend Integration - 独立して構築され、別々にデプロイされた分散アプリケーションおよびその部分が、システム内部の概念的整合性を維持しつつ、不要な結合を導入せずに、データを交換し、相互のアクティビティをトリガーする方法は?
    • Public API - 組織外に存在する、グローバル・ナショナル・および/または地域的に分散された、無限および/または不明な数のAPIクライアントにAPIを提供する方法は?
    • Community API - APIの可視性およびアクセスを、単一の組織単位ではなく、複数の法的実体(企業、非営利/非政府組織、政府など)にわたる閉鎖されたユーザーグループに制限する方法は?
    • Solution-Internal API - APIへのアクセスおよび使用を、アプリケーション(たとえば、同じまたは別の論理層および/または物理階層のコンポーネント)に限定する方法は?
    • API Description - APIプロバイダーとそのクライアントの間で、どのような知識を共有すべきか?その知識をどのように文書化すべきか?
  • Responsibility

    • Endpoint Roles
      • Processing Resource - APIプロバイダーが、そのクライア及にアクションをトリガーさせる方法は?
      • Information Holder Resource - ドメインデータをAPIに公開するが、その実装を隠す方法は?APIがデータエンティティを公開し、APIクライアントがこれらのエンティティを同時にアクセス・または変更できるようにし、データの整合性と品質を損なわない方法は?
    • Operation Responsibilities
      • State Creation Operation - APIプロバイダーが、そのプロバイダーが知らなければならないイベントをクライアントが報告できるようにする方法は?
      • Retrieval Operation - 遠隔側の当事者(APIプロバイダー)から入手可能な情報を、エンドユーザーの情報ニーズを満たすために、またはさらにクライアント側の処理を可能にするために取得する方法は?
      • State Transition Operation - クライアントが処理アクションを開始し、プロバイダー側のアプリケーション状態を変更する方法は?APIクライアントとAPIプロバイダーが、ビジネスプロセスおよびそのアクティビティの実行と制御に必要な責任を共有する方法は?
      • Computation Function - クライアントがプロバイダー側で、入力から結果を計算するための副作用のないリモート処理を呼び出す方法は?
    • Information Holder Types
      • Operational Data Holder - APIが、業務データを表すドメインエンティティのインスタンスを生成・読み取り・更新・削除できるようにする方法は?業務データは短命で、日々の業務運営中に頻繁に変化し、多数の外部関係を持つ。
      • Master Data Holder - 長期間にわたって存在し、頻繁に変化せず、多数のクライアントから参照されるマスターデータにアクセスできるAPIを設計する方法は?
      • Reference Data Holder - 多数の場所で参照され、長期間にわたって存在し、クライアントに対して変更不可能なデータは、APIエンドポイントにおいてどのように扱うべきか?このような参照データは、処理リソースまたは情報保持リソースへのリクエストおよび応答においてどのように使用されるか?
      • Link Lookup Resource - メッセージ表現が、他の、おそらく多数かつ頻繁に変化するAPIエンドポイントおよび操作を参照することができるが、メッセージ受信者をこれらのエンドポイントの実際のアドレスに結合しない方法は?
      • Data Transfer Resource - 2つ以上の通信参加者が、互いに知らず、同時に利用可能ではない、かつデータが受信者に知られることの前にすでに送信された場合でも、データを交換する方法は?
  • Structure

    • Representation Elements
      • Atomic Parameter - APIクライアントとAPIプロバイダー間で、シンプルかつ非構造化データ(数値、文字列、ブール値、またはバイナリデータのブロック)をどのように交換するか?
      • Atomic Parameter List - 複数の関連する原子パラメータを、表現要素に組み合わせることで、それぞれがシンプルなままに保ちつつ、その関連性をAPIの説明および実行時のメッセージ交換において明確に示す方法は?
      • Parameter Tree - 複雑な表現要素を定義し、実行時におけるその関連要素を交換する際に、包含関係をどのように表現できるか?
      • Parameter Forest - 複数のパラメータツリーをAPI操作のリクエストまたはレスポンスペイロードとしてどのように公開できるか?
    • Element Stereotypes
      • Data Element - APIクライアントとAPIプロバイダー間で、プロバイダー内部のデータ定義を公開せずに、ドメイン/アプリケーションレベルの情報をどのように交換できるか?APIクライアントとプロバイダーは、データ管理の観点からどのように解離できるか?
      • Metadata Element - メッセージに追加情報を付加することで、受信側がメッセージの内容を正しく解釈できるようにし、データの意味に関する前提をハードコードせずに実現する方法は?
      • Id Element - 設計時および実行時において、API要素をどう区別できるか?ドメインドリブンデザインを適用する場合、公開言語の要素をどのように特定できるか?
      • Link Element - APIエンドポイントおよび操作を、リクエストおよびレスポンスメッセージペイロードに参照させることで、リモートで呼び出せるようにする方法は?
    • Special Purpose Representations
      • API Key - APIプロバイダーがクライアントおよびそのリクエストをどのように識別・認証できるか?
      • Error Report - APIプロバイダーがクライア及処理の障害についてクライアントに通知する方法は?この情報は、どの通信技術やプラットフォーム(たとえば、プロトコルレベルのヘッダーによるステータスコード)に依存せずに、どのように独立させられるか?
      • Context Representation - API消費者とプロバイダーが、特定のリモートプロトコルに頼らず、コンテキスト情報をどのように交換できるか?リクエストに含まれる識別情報および品質特性が、会話の次のステップにどのように見えるようになるか?
  • Quality

    • Reference Management

      • Embedded Entity - 受信側が複数の関連情報要素について洞察を必要とする場合、複数のメッセージを送信するのを回避する方法は?
      • Linked Information Holder - APIが複数の相互参照する情報要素を扱う場合でも、メッセージのサイズを小さく保つ方法は?
    • Data Transfer Parsimony

      • Pagination - APIプロバイダーが、クライアントを過剰に負担させないよう、大量の構造化データを順次提供する方法は?
      • Wish List - APIクライアントが実行時において、関心のあるデータをAPIプロバイダーに通知する方法は?
      • Wish Template - APIクライアントが関心のあるネストデータをAPIプロバイダーに通知する方法は?このような好みを柔軟かつ動的に表現する方法は?
      • Conditional Request - 頻繁に呼び出されるAPI操作が、ほとんど変化しないデータを返す場合、不要なサーバー側処理および帯域使用を回避する方法は?
      • Request Bundle - リクエストとレスポンスの数を減らして、通信効率を高める方法は?
    • Quality Management and Governance

      • Pricing Plan - APIプロバイダーがAPIサービスの消費量を計測し、それに費用を請求する方法は?
      • Rate Limit - APIプロバイダーがAPIクライアントの過剰なAPI使用を防止する方法は?
      • Service Level Agreement - APIクライアントがAPIおよびそのエンドポイント操作の特定の品質サービス特性を学習する方法は?これらの特性およびそれらを満たさない場合の影響を、測定可能な形で定義・伝達する方法は?
  • Evolution

    • Version Identifier - APIプロバイダーが、現在の機能を示すとともに、クライアントに不適合な変更が存在する可能性を示し、クライアントの誤解による機能障害を防止する方法は?
    • Semantic Versioning - ステークホルダーがAPIのバージョンを比較し、即座に互換性があるかどうかを検出できる方法は?
    • Two In Production - プロバイダーが既存のクライアントを破壊せずに、かつ大量のAPIバージョンを運用せずに、APIを徐々に更新できる方法は?
    • Aggressive Obsolescence - APIプロバイダーが、全体のAPIまたはその部分(エンドポイント、操作、メッセージの表現など)を維持する際の負担を減らす方法は?
    • Experimental Preview - プロバイダーが、新しいAPIまたは新しいAPIバージョンの導入をクライアントにとってリスクを低減し、API設計を早期に凍結せずに早期採用者のフィードバックを得られる方法は?
    • Limited Lifetime Guarantee - プロバイダーが、クライアントが公開されたAPIバージョンに頼ることができる期間を明確に伝える方法は?
    • Eternal Lifetime Guarantee - プロバイダーが、すべての新しいAPIバージョンへの移行を無理または拒否しているクライアントを支援できる方法は?

⬆ 目次へ戻る

SOAパターン

SOAパターンの目的、機能、適用範囲を説明する概要です。

  • Foundational Inventory Patterns

    • Canonical Protocol - サービス間の共通の通信プロトコルを定義し、相互運用性と解耦を実現する。
    • Canonical Schema - サービス間のデータ交換に用いる標準データモデルとフォーマットを定義する。
    • Domain Inventory - 特定のドメイン内のサービスの種類を特定し、分類する。
    • Enterprise Inventory - 特定のドメイン内のサービスを一元的に管理する企業全体のサービスインベントリを構築し、再利用と再構成を最大化する。
    • Logic Centralization - ビジネスロジックをサービスレイヤーに集中させることで、冗長性を減らし、一貫性を促進する。
    • Service Layers - サービスを、内部に包むロジックの種類に基づいて論理的な層に分類する。
    • Service Normalization - インベントリ内のサービス境界が重複しないように確保し、冗長な機能を回避する。
  • Logical Inventory Layer Patterns

    • Entity Abstraction - データエンティティを抽象化し、データアクセスを簡素化し、結合を減らす。
    • Process Abstraction - プロセスを抽象化し、再利用性と維持性を向上させる。
    • Utility Abstraction - 共通のユーティリティを抽象化し、重複を減らし、一貫性を促進する。
    • Micro Task Abstraction - タスクをより細かく、粒度の高いタスクに分割し、管理を容易にする。
  • Inventory Centralization Patterns

    • Policy Centralization - ポリシーを集中させることで、重複を減らし、一貫性を向上させる。
    • Process Centralization - プロセスを集中させることで、再利用性と維持性を向上させる。
    • Rules Centralization - ビジネスルールを集中させることで、重複を減らし、一貫性を促進する。
    • Schema Centralization - データスキーマを中央化することで、重複を減らし、一貫性を高める
  • Inventory Implementation Patterns

    • Canonical Resources - サービス間で共通機能を実現するための標準的なリソースセットを定義する
    • Cross-Domain Utility Layer - 複数のドメインインベントリに共有される共通ユーティリティサービスレイヤーを構築する
    • Dual Protocols - サービスインベントリが2つの通信プロトコルをサポートすることで、相互運用性とパフォーマンスのバランスを取る
    • Inventory Endpoint - インベントリリソースへのアクセスを標準化したエンドポイントを定義する
    • Service Grid - サービスの管理およびスケーリングを実現するフレームワークを提供する
    • State Repository - サービスの状態情報を格納・管理する
    • Stateful Services - サービス呼び出し間で状態情報を維持する
    • Augmented Protocols - プロトコルに追加機能を付加する
  • Inventory Governance Patterns

    • Canonical Expression - インベントリデータに対する標準的な表現言語を定義する
    • Canonical Versioning - インベントリリソースに対する標準的なバージョニングスキームを定義する
    • Metadata Centralization - メタデータを中央化することで、重複を減らし、一貫性を高める
  • Foundational Service Patterns

    • Agnostic Capability - サービスの機能を抽象化することで、柔軟性を高める
    • Agnostic Context - サービスのコンテキストを抽象化することで、柔軟性を高める
    • Functional Decomposition - サービスを小さな、より管理しやすいコンポーネントに分割する
    • Non-Agnostic Context - 一時的に一部のサービス状態データを遅延することで、メモリおよびリソース消費を最適化する
    • Service Encapsulation - 関連性のあるデータのみを検証することで、パフォーマンスを向上させる
  • Service Implementation Patterns

    • Partial State Deferral - サービスの複数バージョンを実装することで、柔軟性を高める
    • Partial Validation - サービスの機能を抽象化することで、保守性を高める
    • Redundant Implementation - サービスの状態情報を一時的に遅延することで、メモリおよびリソース消費を最適化する
    • Service Data Replication - 複数のサービス間でデータを複製することで、パフォーマンスを向上させる。
    • Service Façade - 複雑なサービスに簡易なインターフェースを提供することで、使いやすさを向上させる。
    • UI Mediator - ユーザーインターフェースと基盤サービスの間を中間として機能させることで、使いやすさを向上させる。
    • Reference Data Centralization - 参照データを中央化することで、重複を減らし、一貫性を高める。
    • Microservice Deployment - サービスを独立した、自律的な単位としてデプロイすることで、スケーラビリティと耐障害性を向上させる。
    • Containerization - 高パフォーマンスの回復とスケーラビリティ要件を持つサービスに、環境が最大限のサポートを提供する方法は?
  • Service Security Patterns

    • Exception Shielding - 例外の適切な処理を通じて、セキュリティの脆弱性を防止する。
    • Message Screening - メッセージに悪意のあるコンテンツをフィルタリングする。
    • Service Perimeter Guard - サービスの境界を守り、不正アクセスを防ぐ。
    • Trusted Subsystem - サブシステム間の信頼を確立することで、セキュリティを向上させる。
  • Service Contract Design Patterns

    • Concurrent Contracts - サービス契約の複数バージョンが同時に存在できるようにする。
    • Contract Centralization - サービス契約を中央化することで、一貫性を高め、重複を減らす。
    • Contract Denormalization - サービス契約に冗長な機能を含めるようにすることで、データ交換要件が異なる消費者に対応できる。
    • Decoupled Contract - サービス契約を実装から分離することで、柔軟性を向上させる。
    • Validation Abstraction - バリデーションロジックを抽象化することで、再利用性と維持性を向上させる。
  • Legacy Encapsulation Patterns

    • File Gateway - 古いファイルベースシステムへのアクセスを可能にするゲートウェイを提供する。
    • Legacy Wrapper - 古いシステムをサービスとして公開するためのラッピングを行う。
    • Multi-Channel Endpoint - 古いシステムへのアクセスを提供する複数の通信チャネルを提供する。
  • Service Governance Patterns

    • Compatible Change - サービスの変更を実行しても、既存のクライアントが破壊されないよう可能にする。
    • Decomposed Capability - サービス機能を小さな、より管理しやすい部分に分解する。
    • Distributed Capability - サービス機能を小さな、より管理しやすい部分に分解する。
    • Proxy Capability - リモートサービス機能へのプロキシを提供して、パフォーマンスを向上させ、ネットワークの負荷を減らす。
    • Service Decomposition - 一体的なサービスを小さな、より管理しやすい部分に分解する。
    • Service Refactoring - サービスの設計とパフォーマンスを改善するためにリファクタリングを行う。
    • Termination Notification - サービスの終了をクライアントに通知する。
    • Version Identification - サービスのバージョンを特定する。
  • Capability Composition Patterns

  • Service Messaging Patterns

    • Asynchronous Queuing - メッセージキューを使用してサービス間を分離し、スケーラビリティと信頼性を向上させる。
    • Event-Driven Messaging - イベントを使用してサービス呼び出しをトリガーし、結合を減らす。
    • Intermediate Routing - 中間ルーティングノードを使用してパフォーマンスと柔軟性を向上させる。
    • Messaging Metadata - メタデータを使用してサービスメッセージを記述・管理する。
    • Reliable Messaging - 分散環境におけるメッセージの配信と信頼性を確保する。
    • Service Agent - リモートサービスへのプロキシとして機能して、パフォーマンスを向上させ、ネットワークの負荷を減らす。
    • Service Callback - コールバックを使用してサービス間の通信を行う。
    • Service Instance Routing - サービスインスタンスに基づいてメッセージをルーティングしてパフォーマンスとスケーラビリティを向上させる。
    • Service Messaging - サービス間の通信を記述する。
    • State Messaging - メッセージを使用して分散環境における状態情報を管理する。
  • Composition Implementation Patterns

  • Service Interaction Security Patterns

  • Transformation Patterns

  • REST-inspired Patterns

    • Entity Linking - 関連リソースをリンクしてナビゲーションと発見を可能にする
    • Lightweight Endpoint - リソースアクセスに用いる軽量エンドポイントを提供する
    • Reusable Contract - 共通の契約を再利用して一貫性を高め、重複を減らす
    • Content Negotiation - クライアントとサーバー間のコンテンツフォーマットを交渉する
    • Endpoint Redirection - クライアントを代替エンドポイントにリダイレクトする
    • Idempotent Capability - 同じアクションを複数回実行してもシステム状態が変わらないようにする

⬆ 目次へ戻る

資料

資料の目的、機能、適用範囲を説明する概要です。

API仕様

  • API Blueprint (⭐8.6k) - APIを設計および記述するための強力な高レベル言語で、ソフトウェアエンジニアが簡単に協力し、効率的なAPIを作成できる
  • Arazzo Specification (⭐459) - API呼び出し(ワークフロー)およびその依存関係を記述するための標準的な、プログラミング言語に依存しない表現
  • AsyncAPI (⭐5.2k) - イベント駆動アーキテクチャ(EDA)の開発に不可欠なツールで、エンジニアがより良いツールエコシステムを構築できる
  • CloudEvents (⭐5.8k) - サービス、プラットフォーム、システム間の相互運用性を実現するために、イベントデータを共通フォーマットで記述する仕様
  • GraphQL (⭐14k) - 効率的なAPIを構築するための高度なクエリ言語およびランタイムで、エンジニアが既存システムからデータを簡単に取得できる
  • JSON:API (⭐7.7k) - APIを構築するための標準化された仕様で、リソース、関係、メタデータの表現を簡略化し、ソフトウェアエンジニアが効率的なAPIを構築しやすくなる。
  • OpenAPI (ex.Swagger) (⭐31k) - ソースコードやドキュメンテーションなしで、人間およびマシンがサービスの機能を理解できるようにする、言語に依存しないRESTful APIの作成仕様。
  • RAML (⭐3.8k) - リソース、エンドポイント、相互作用をモデル化することで、ソフトウェアエンジニアが効率的なRESTful APIを設計・構築できるRESTful APIモデリング言語。
  • Standard Webhooks (⭐1.7k) - ウェブ훅を安全かつ確実に送信するためのオープンソースツールとガイドライン。
  • TypeSpec (⭐5.8k) - APIデータの形状やプロトコルを記述するための高度に拡張可能な言語で、OpenAPI、JSON Schema、Protobufなどにコンパイル可能。
  • WSDL - SOAPベースのサービスに用いる、強力なXMLベースのインターフェース記述言語で、ソフトウェアエンジニアがウェブサービスの機能を記述し、クライアントコードの自動生成を可能にする。

⬆ 目次へ戻る

APIスタイルガイド

  • API Stylebook - Atlassian、Cisco、Zalandoなどの企業から公開されているAPI設計ガイドラインのコレクションで、Arnaud Lauretがキュレーション。
  • Google API Improvement Proposals - GoogleのAPI設計決定をコード化した設計ドキュメントで、リソース指向API向けに番号付き、引用可能なガイドを提供。
  • Google Cloud API Design Guide - ネットワークAPIの一般設計ガイドで、Google内部でgRPCおよびREST APIに使用されている。
  • Microsoft REST API Guidelines (⭐23k) - Microsoftが提唱する企業全体のREST API設計ガイドラインで、Microsoft Graphに特化した追加ガイドも含まれる。
  • Zalando RESTful API and Event Guidelines - RESTful APIおよびイベントスキーマ設計に向けた包括的かつ意見のあるガイドラインで、他の組織でも広く再利用されている。

⬆ 目次へ戻る

記事

⬆ 目次へ戻る

書籍

  • API Design Patterns - JJ Geewaxが提供するリソース指向API向けの設計パターンカタログで、名前付け、ページネーション、バージョニングなどを含む。
  • Building Event-Driven Microservices - Adam Bellem及が、イベント駆動アーキテクチャを用いて組織データをスケールで活用するためのガイド。
  • Designing Data-Intensive Applications - Martin Kleppmannが、信頼性、スケーラビリティ、維持性のあるデータシステムの背後にあるアイデアについて深く掘り下げ、複製、パーティショニング、ストリーム処理を含む。
  • Enterprise Integration Patterns - Gregor HohpeとBobby Woolfが提供する65のメッセージングパターンカタログ;非同期統合の基礎となる書籍。
  • Flow Architectures - James Urquhartがストリーミング、イベント駆動統合の未来とそのビジネスへの影響について述べている。
  • Patterns for API Design - オラフ・ツィマーマンと共著の『Microservice API Patterns』の書籍に付随するガイドブックで、緩やかに結合されたメッセージ交換との統合を簡素化する方法を解説.
  • Principles of Web API Design - ジェームズ・ヒギンボスのウェブAPI設計におけるプロセス中心アプローチ。要件からドキュメンテーションまで、価値を提供するAPI設計の全プロセスを解説.

⬆ 目次へ戻る

認定資格

API Academy
  • API Designer - API設計の基本とベストプラクティスを理解しているかを検証.
  • API Product Manager - APIを製品として管理するスキルを示す.
  • API Security Architect - 現代のアーキテクチャを用いてAPIをセキュリティで保護する専門性を検証.
APIsec University
  • API Documentation Best Practices - 2時間のコースは、開発者、パートナー、ユーザーが愛するAPIドキュメンテーションを作成・自動化・公開するための必要なすべての知識をカバー。また、APIドキュメンテーションが強固なガバナンス、効果的なAPIセキュリティ、およびAPIビジネス目標達成の基礎である理由についても学べます.
  • API Penetration Testing - APIパーセンテーションテストコースは、APIセキュリティプロフェッショナルになるためのすべての重要なトピックをカバー。実践的なコースで12時間以上のライブインストラクションを提供し、APIハッキング技術や脆弱性を発見するための詳細な実験を提供します.
  • API Security for PCI Compliance - この60分のコースは、新しいPCI DSS 4.0要件を検討し、APIセキュリティ義務について詳細に説明。DSS 及4.0は、これまでにないAPIセキュリティの懸念を導入したため、組織への影響を理解するために登録してください.
  • API Security Fundamentals - 90分のコースは、APIの主な脅威とその防止方法を深く解説。OWASP APIセキュリティトップ10を学び、現実のAPI攻撃を検証し、APIセキュリティの3つの柱を理解します.
  • Certified API Security Analyst - CASA試験は、APIセキュリティの脅威、リスク、ベストプラクティスに関する専門性を検証するための試験。受験者は、CASA認定を取得する前にOWASP API Security and Beyond!コースを修了していることが求められます.
  • OWASP API Security Top 10 - 90分のコースは、2023年版のOWASP APIセキュリティトップ10の詳細を深く掘り下げ、トップ10に含まれなかった重要な概念をカバーします.
  • Securing API Servers - APIサーバーを安全に保つための重要な概念を学ぶ。CORSからエラーハンドリング、レート制限までを含む。
Apollo
  • Apollo Graph Developer - Associate Certification - この認定を取得した開発者は、GraphQLとApolloツールセットの基礎知識を有しており、スキーマ設計、Apollo Server 4の実行、およびフロントエンドでのApollo Client 3によるクエリ実行を行うことができる。

  • Apollo Graph Developer - Professional Certification - この認定を取得した開発者は、Apollo Federationの概念に強い理解を有しており、それらを活用してフェデレーション超グラフを構築するか、既存のモノリスグラフをフェデレーションに移行できる。

Boomi
  • Associate Administrator Certification - 個人のボミープラットフォームの運用・管理に関する基礎知識とスキルを検証。特にプラットフォームの監視、トラブルシューティング、セキュリティに焦点を当てる。
  • Associate Developer Certification - 候補者がボミープラットフォームを用いて統合プロセスの設計・展開を行う際の基本的な理解を示す。設計パターン、展開、エラーハンドリングを含む。
  • Associate EDI for X12 Certification - 個人がボミーを用いてX12標準に基づく電子データ交換(EDI)統合の設計・開発・運用を行う際のプロフェッショナリズムを検証。EDIドキュメント構造や取引パートナー管理などの基本概念をカバー。
  • Associate Flow Essentials Certification - 候補者がボミーフローを用いてビジネスアプリケーションの作成と管理に関する知識を示す。ワークフロー設計、ユーザーインターフェース、データ統合に重点を置く。
  • Associate Master Data Hub Certification - 候補者がボミーマスターデータハブを用いて、システム間のデータ品質と一貫性を確保する理解を示す。データモデリング、ガバナンス、同期に焦点を当てる。
  • Development and Application Architecture Certification - Boomiプラットフォーム上で複雑な統合ソリューションとアプリケーションアーキテクチャを設計・実装し、ベストプラクティスと性能最適化を適用する専門性を確認する認定
  • Professional API Design Certification - ボミーを使用したAPIの設計、開発、管理に関する候補者の能力を示す。RESTful APIの原則、APIセキュリティ、バージョニングを含む。
  • Professional API Management Certification - ボミープラットフォーム上でAPIのライフサイクル全体(APIのデプロイ、監視、分析を含む)を管理する個人の専門性を検証する。
  • Professional Developer Certification - ボミーを使用した統合プロセスの開発、デプロイ、管理に関する候補者の深い知識とスキルを認識する。特に高度なデータ変換およびエラー処理技術に焦点を当てる。
  • Professional Flow Developer Certification - ボミーフローを使用したビジネスアプリケーションの設計、開発、管理に関する個人の高度な能力を示す。複雑なワークフロー設計、カスタムUIコンポーネント、外部システムとの統合を含む。
  • Professional Linux Operational Administrator Certification - Linuxシステム上でボミーを管理・運用する能力を確認する。システムインストール、設定、セキュリティ、パフォーマンス最適化を含む。
  • Professional Windows Operational Administrator Certification - Windowsシステム上でボミの管理・運用に関する個人の専門性を検証する。システムインストール、設定、セキュリティ、パフォーマンス最適化を焦点とする。
IBM
Gravitee
Kong
  • Kong Gateway Certified Associate - Kong Gatewayに関する入門レベルの知識とスキルを検証する。開発者、DevOps、アーキテクトに向けたもの。
Mulesoft
  • MuleSoft Certified Developer - Level 1 - MuleSoftを使用して、基本的なAPIおよび統合の設計、構築、テスト、デバッグ、デプロイ、管理を行う知識とスキルを検証する。
  • MuleSoft Certified Developer - Level 2 - 生産環境に適したMuleアプリケーションにおいて、監視、パフォーマンス、維持性、信頼性、セキュリティといった重要な非機能要件を考慮し、バランスを取る能力を検証する。
  • MuleSoft Certified Integration Architect - Level 1 - 機能要件および非機能要件を統合インターフェースおよび実装に変換する知識とスキルを検証する。
  • MuleSoft Certified Platform Architect - Level 1 - 組織全体におけるAPIリード接続を経て、個別の統合ソリューションから有効なアプリケーションネットワークの形成を指揮する能力を検証する。Anypoint Platformを使用する。
Oracle
Red Hat
SAP
SnapLogic
  • SnapLogic Administrator Certification - SnapLogicインスタンスの管理タスクを処理できる能力を評価します。
  • SnapLogic Architect Certification - SnapLogicプラットフォームにおける統合リファレンスアーキテクチャおよび主要戦略(SnapLogicアーキテクチャ、Snaplex要件、パイプラインライフサイクル管理、高度なデータ変換、API管理、中断可能なパイプライン、ベストプラクティスなど)に関する知識を評価します。
  • SnapLogic Developer Certification - SnapLogic SDKの使用、Snap機能のさまざまな部分の実装、カスタムSnapsの構築に関する専門性をテストします。
  • SnapLogic Integrator Accreditation - 業界や事業部門におけるさまざまな統合ニーズに対応するためのすべての核心的なSnapLogicコンセプトの専門性を高めるために設計されています。
  • SnapLogic Integrator Certification - 初心者トレーニング、超タスク、パイプライン移行、さまざまな統合エンドポイントをカバーするユーザー支援動画などに関するトピックに焦点を当てる。
TIBCO
  • TIBCO BusinessWorks Associate - Business StudioおよびTIBCO Cloud Integrationの理解を検証し、アプリケーションコンポーネント(モジュール、WSDL、REST API)の設計、統合アプリケーションの開発、テスト、デプロイ、運用を評価します。
  • TIBCO BusinessWorks Certified Professional - 平均的な複雑度のTIBCO BusinessWorksアプリケーションの設計、開発、デプロイ、監視、運用を行う能力を最小限の監督下で検証します。
  • TIBCO BusinessWorks Container Edition Certified Professional - 平均的な複雑度のTIBCO BusinessWorks Container Editionアプリケーションの開発、デプロイ、運用を行う能力を最小限の監督下で検証します。
  • TIBCO BPM Enterprise Associate - TIBCO BPMの機能と能力、ビジネスプロセスの開発および運用、プロセスアプリケーションのデプロイおよびテストに関する理解を検証します。
  • TIBCO BPM Enterprise Certified Professional - TIBCO BPM Enterprise Suiteを用いてビジネスプロセスの設計、開発、デプロイ、運用を行う能力を検証します。
  • TIBCO Cloud Associate Certification - TIBCO Cloudとの作業に必要なスキルおよび知識(主要なコンポーネントおよび機能)を検証します。
  • TIBCO Cloud API Management Associate - API定義の作成およびテスト、APIキー認証、開発者ポータルおよびI/Oドキュメントの使用に関するトピックをカバーします。
  • TIBCO Cloud API Management Certified Professional - TIBCO Cloud Meshの実装、OAuthベースのセキュリティ、SOAPサービスの管理に関する能力を検証します。
  • TIBCO Cloud Integration Associate - TIBCO Cloud Integrationとの作業に必要なスキルおよび知識(Connect、Develop、Integrate機能)を検証します。
  • TIBCO Cloud Integration - Connect Associate - TIBCO Cloud IntegrationのConnect機能の使用、オンプレミスエージェントのインストール、接続および統合アプリの作成、フローの設定を検証します。
  • TIBCO Cloud Integration - Connect Certified Professional - TIBCO Cloud Integrationにおける接続の作成および管理、接続セキュリティの確保、接続関連の問題のトラブルシューティングを検証します。
  • TIBCO Cloud Integration Certified Professional - カパビリティやメリットに関する知識を確認し、アプリケーションの統合・開発・接続、APIモデルナーとモック機能を用いたAPIの作成などを行う。
  • TIBCO Messaging Associate - TIBCO Enterprise Message Service (EMS)、TIBCO FTL、TIBCO eFTL、Apache Kafka、Apache Pulsar、Eclipse Mosquittoなどのメッセージング技術に関するトピックをカバー。
  • TIBCO Messaging Certified Professional - TIBCO Messagingおよびそのコンポーネント(TIBCO Enterprise Message Service (EMS)、TIBCO FTL、TIBCO eFTL)との作業に必要なスキルおよび知識を検証。
Workato
WSO2

⬆ 目次へ戻る

コネクター

  • JCA - Jakarta EEアプリケーションコンポーネントがEnterprise Information Systemsに接続するための標準アーキテクチャを定義。以前はJava EE Connector ArchitectureおよびJ2EE Connector Architectureと呼ばれていた。
  • Kafka Connect - Apache Kafkaとその他のシステム間でスケーラブルかつ信頼性の高いデータをストリーミングするためのツール。

⬆ 目次へ戻る

データ形式

  • Apache Arrow (⭐17k) - 言語に依存しない列形式のメモリ内フォーマットで高速データ交換を実現。Arrow IPCフォーマットおよびFlight RPCを含む。
  • Apache Avro (⭐3.2k) - 構造化データのコンパクトかつ高速かつ効率的なシリアル化を提供するデータシリアル化システム。スキーマの進化をサポートし、効率的なデータ圧縮を可能にし、ビッグデータ処理フレームワークとの良好な互換性を設計。
  • Apache Fory (⭐4.4k) - 高速マルチ言語シリアル化フレームワーク。Just-in-timeコンパイルおよびゼロコピー技術を用い、キャッシュに優しい行形式を採用。以前はApache Furyと呼ばれていた。
  • Apache Thrift (⭐10k) - Facebookで開発された最初のシリアル化およびRPCフレームワーク。1つのインターフェース定義ファイルから複数の言語に接続を生成する。
  • BSON - JSONに似たドキュメントのバイナリエンコードされたシリアライゼーションフォーマットで、軽量かつ効率的な設計を採用。豊富なデータ型をサポートし、NoSQLデータベース(例:MongoDB)において広く使用されている。
  • Cap’n Proto (⭐13k) - 極めて高速なデータ交換フォーマットおよびRPCシステムで、ゼロコピーエンコーディングは通信フォーマットおよびメモリ内表現の両方として使用される。
  • CBOR - コンパクトなバイナリオブジェクト表現(RFC 8949)は、小さいメッセージサイズおよび制限されたデバイス向けに設計されたJSONに似たデータモデルを持つバイナリデータフォーマットである。
  • CSV - シンプルで広く使用されているデータフォーマットで、テーブルデータをプレーンテキストで保存する。読み書きが容易で、ほとんどのプログラミング言語で処理可能。
  • EDI standards for exchanging business documents between trading partners.
    • UN/EDIFACT - 国際連合のEDI標準で、行政、商業、輸送分野において、北アメリカ以外で主流である。
    • X12 - ANSIが認定したEDI標準で、北アメリカにおいて注文、請求書、医療保険請求などの取引に広く使用されている。
  • FlatBuffers (⭐26k) - グーグルが開発した効率的かつプラットフォームを越えたシリアライゼーションライブラリで、パースやアンパッキングを介さずにシリアル化データに直接アクセスできる。
  • JSON - 軽量かつ読みやすいデータフォーマットで、データ交換に広く使用されている。豊富なデータ型をサポートし、多くのプログラミン言語と互換性がある。
    • NDJSON (⭐843) - ストリームプロトコルにおけるJSONオブジェクトを区切り指定するための標準。大きなJSONデータセットの効率的な処理を可能にし、ビッグデータ処理において広く使用されている。
    • JSON Lines - 構造化データを1行1レコードで保存するテキストフォーマット。
    • JSON Text Sequence - RFC 7464で定義されたもので、個々のJSONテキストのシーケンスを送信または保存するための特定のフォーマットを記述している。
  • MessagePack (⭐7.4k) - 効率的なバイナリシリアライゼーションフォーマットで、JSONのような複数の言語間でデータを交換できるが、サイズが小さく、速度が速い。
  • Protocol Buffers (⭐71k) - 言語中立かつプラットフォーム中立のシリアライゼーションメカニズムで、極めて効率的かつ拡張性を備えている。豊富なデータ型をサポートし、分散システム(例:gRPC、Apache Kafka)において広く使用されている。
  • XML - 柔軟かつ広く使用されているマーカーフォーマットで、構造化データの保存と交換に使用される。豊富なデータ型をサポートし、多くのプログラミング言語と互換性がある。
  • YAML (⭐497) - 人間が読みやすい、読み書きが容易なデータシリアライゼーションフォーマットで、設定ファイルやデータ交換に広く使用されている。豊富なデータ型をサポートし、ほとんどのプログラミング言語と互換性がある。

⬆ 目次へ戻る

統合方式

  • File Transfer - アプリケーション間でファイル交換を通じてデータが交換される。
  • Messaging - アプリケーションはメッセージインフラストラクチャを介してメッセージを交換する。
  • Remote Procedure Invocation - アプリケーションはネットワークを介してリモートサーバー上の関数またはプロシージャを呼び出す。
  • Shared Database - 複数のアプリケーションが共通のデータベースを介してデータにアクセスし、操作する。

⬆ 目次へ戻る

市場分析

⬆ 目次へ戻る

プロトコル

  • A2A - AIアグエント間の相互運用性を実現するアグエント間プロトコル。アグエントが互いに発見し、メッセージを交換し、フレームワークやベンダー間でタスクを委任できるようにする。グーグルが開発し、Linux Foundationによって管理されている。
  • AMQP 0-9-1 - メッセージキューのプロトコルで、アプリケーションやシステム間のメッセージの交換を可能にする。AMQP 0-9—1は、複雑なメッセージングシナリオを扱うために信頼性、セキュリティ、柔軟性を提供する。
  • AMQP 1.0 - 広く採用されているメッセージキューのプロトコルで、システム間の信頼性があり、相互運用性および効率的なメッセージングを提供する。AMQP 1.0は、幅広いメッセージングシナリオをサポートし、複雑な企業レベルアプリケーションに最適である。
  • AS2 - EDIおよびその他のビジネスドキュメントをHTTP/Sを介して安全かつ信頼性の高い方法で送信・受信するためのプロトコル。署名および暗号化にはS/MIMEを使用する。
  • AS4 - ebMS 3.0のOASISプロファイルで、安全なウェブサービスベースのB2Bドキュメント交換を定義。e-政府ネットワーク(例:Peppol)において広く義務付けられている。
  • CoAP - インターネット・オブ・シングス(IoT)エコシステムにおける制約されたデバイス向けに設計されたアプリケーションプロトコル。CoAPは、リソース制限のあるデバイスをサポートする軽量かつ低負荷の通信機構を提供する。
  • gRPC - 高性能でオープンソースのRPCフレームワーク。HTTP/2およびProtocol Buffersを使用し、ストリーミング、プラグイン可能なロードバランシング、認証をサポートする。
  • HTTP - ウェブサーバーとクライアント間の通信を促進する広く使われているプロトコル。HTTPはインターネット上でデータの送受信を可能にし、ウェブアプリケーションのスムーズな動作を実現する。
  • JSON-RPC - シンプルで軽量なリモートプロシージャ呼び出しプロトコル。システム間のJSONデータを使用して通信を可能にする。JSON-RPCは状態無関係の通信を提供し、リソース制限のあるデバイスに適している。
  • MCP - AIアグエントとツール間の接続用のモデルコンテキストプロトコル。AIアグエントが外部ツール、データソース、APIと発見・相互作用する方法を標準化する。Anthropicによって作成され、Linux Foundationによって管理されている。
  • MQTT - 軽量かつ効率的なパブリッシュ・サブスクリプションプロトコルで、デバイス間のメッセージングをサポートする。MQTTは低負荷の通信を可能にし、IoTおよびモバイルアプリケーションに最適である。
  • OpenMessaging (⭐287) - クラウドネイティブであり、ベンダー中立の分散メッセージング用のオープン規格。
  • Server-Sent Events - WHATWGが定めた、サーバーからクライアントへシンプルなHTTPを介したテキストベースイベントストリームを送信する標準。
  • SOAP - システム間の通信をXMLで可能にするメッセージプロトコル。SOAPは、分散計算や企業アプリケーションなど、幅広いメッセージングシナリオをサポートする。
  • STOMP - システム間のシンプルかつテキストベースの通信を提供するメッセージプロトコル。STOMPは、低遅延・高性能なメッセージングシナリオに最適である。
  • WebSocket - TCP接続を介して、両方向のフルダブル通信チャネルを提供するプロトコル。リアルタイムアプリケーションに最適である。

⬆ 目次へ戻る

標準API

  • FHIR - HL7のFast Healthcare Interoperability Resources標準で、医療データの交換に用いるRESTフルAPIおよびリソースフォーマットを定義する。
  • JDBC - JavaベースのAPIで、関係データベースへのユニバーサルなデータアクセスを提供する。JDBCはデータのアクセスおよび操作を一貫的かつ効率的に実現し、開発者にとって人気がある。
  • JMS - Javaアプリケーションがメッセージを送受信できるようにするメッセージAPI。JMSは信頼性のあるメッセージングを提供し、企業レベルアプリケーションで広く使用されている。
  • ODBC - さまざまなデータベース管理システムからデータを標準化してアクセスできるAPI。ODBCはデータへの一貫したインターフェースを提供し、データベースアプリケーションの開発を容易にする。
  • OData - クエリ可能で相互運用性のあるREST APIの作成と消費を可能にするオープンプロトコル。ODataはREST APIの開発を簡素化し、データへの標準化されたアクセス方法を提供する。
  • Open Banking - UK標準で定義された、銀行が認可された第三者プロバイダーに口座および決済データを共有できるセキュアなAPI。

⬆ 目次へ戻る

構造と検証

  • JSON Schema (⭐5.1k) - JSONデータの構造を検証するための強力なツール。JSONスキーマは開発者にJSONデータが特定の構造に従っていることを確認する手段を提供し、データの処理や操作を容易にします。
  • Schematron - ビジネスルール、データ報告、品質管理、その他の検証シナリオを定義および検証できるルールベースの検証言語。SchematronはXMLドキュメントの検証に柔軟な方法を提供します。
  • XML Schema - XMLドキュメントの構造を記述し、そのコンテンツを制限できる機能を備えたスキーマ言語。XMLスキーマは開発者にXMLデータが特定の構造に従っていることを確認し、データの処理や操作を容易にします。

⬆ 目次へ戻る

コントリビューション

コントリビューションを歓迎します。最初にコントリビューションガイドラインを確認してください。

著者について

このリストは、エンタープライズ統合とAPIアーキテクチャに携わるソリューションアーキテクトStanislav Deviatovが保守しています。API管理、iPaaS、ESB、統合フレームワーク、メッセージブローカーなどのニュースを扱うLinkedInニュースレターAPI & Integration Digestも発行しています。