Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DIL Agile Integration Workshop

DIL Agile Integration Workshop

APIの設計から実装、管理まで、APIフルライフサイクルをハンズオン形式で体験できる「DIL Agile Integration ハンズオンワークショップ」を紹介しています。
Apicurio, Microcks, 3scale, Fuse, Code Ready Workspaces, Keycloak (RH-SSO), OpenShiftなど、オープンソースをベースとした製品を活用し、APIファーストのアプローチによるAPIのライフサイクルを体験できる無償のワークショップです。

Taku Sugimoto

April 20, 2021
Tweet

More Decks by Taku Sugimoto

Other Decks in Technology

Transcript

  1. このワークショップで体験できること • APIライフサイクルの実践(設計から実装、そして管理まで) • コントラクトファーストのアプローチによるAPIの設計 • OpenID Connect (OIDC)によるAPIに対する認証・認可 •

    APIエンドポイントの管理 • API公開に必要なデベロッパーポータルのカスタマイズ • 分散したマイクロサービスのコンテナのオーケストレーション • 既存の機能やデータを再利用するためのアプローチ 対象 • アーキテクト • アプリケーション開発者 価格 • 無償 Agile Integration Workshop Day In the life Agile Integration ハンズオンワークショップについて 2
  2. Agile Integration Workshop このワークショップの構成 API開発者向けトラック OpenShift Red Hat Fuse 3scale

    API Designer Microcks SSO “Agile Integration”という考え方について Agile Integrationを実現するRed Hat製品概要 連携担当者向けトラック OpenShift Red Hat Fuse 3scale API Designer Microcks SSO 3
  3. Agile Integration Workshop ハンズオンワークショップのAgenda 13:30 - 13:50 “Agile Integration”という考え方について 概要、ユースケース、製品

    13:50 - 14:00 ハンズオンワークショップの説明 14:00 - 15:15 演習 — APIファーストの開発アプローチの実践 以下のトラックから演習を一つ選択: トラック1: APIの設計と管理 トラック2: APIの開発とセキュリティ 15:15 - 15:30 休憩(休憩は各自適宜も可能) 15:30 - 17:15 演習の続き 17:15 - 17:30 Q&Aと締め 4
  4. Agile Integration Workshop マイクロサービスと企業内の既存システム メインフレーム レガシー ERP B2B 独自 プロトコル

    データベース マイクロサービス化のプロジェクトにおいても、企業内の既存システムに散在 するデータを活用するには、既存システムとのインテグレーションが必要 HTTPによる同期処理 マイクロサービスアーキテクチャ によるアプリケーション メッセージングによる非同期処理 ローカル DB API ローカル DB API ローカル DB API 6
  5. Agile Integration Workshop マイクロサービスと企業内の既存システム Agile Integration メインフレーム レガシー ERP B2B

    独自 プロトコル データベース Agile Integrationは マイクロサービスと既存システムとの溝(ギャップ)を埋めるソリューション HTTPによる同期処理 マイクロサービスアーキテクチャ によるアプリケーション メッセージングによる非同期処理 ローカル DB API ローカル DB API ローカル DB API 7
  6. Agile Integration Workshop デジタル化を促進するためのアーキテクチャの考え方 コンシューマ API管理層 アクセス制御と セキュリティ API利用ポリシーと 流量制御

    分析と リポーティング 開発者ポータルによ るAPI仕様公開 API利用に応じた 課金と決済 Dev Tools Docs Test Tools BUILD 自動化によるデプロイ負荷軽減と高速化 インテグレーション サービス RDBMS SAP SOAP JMS + more Accounts Orders Shipping 開発者 パートナー Mobile Apps Affiliates 社内システム + more アプリケーション層 INTEGRATE MANAGE CONNECT 8
  7. 利用者: クラウド、モバイル、 IoTアプリなどの開発 提供者: サービスとAPIの 開発と管理 管理 APIとサービスの オーケストレーション と管理

    セキュア セキュリティや脆弱性 の脅威からAPIとサービ スを保護 テスト | 公開 各環境でのAPIの テストと公開 開発 EIPとクラウドネイティ ブな開発ツールを利用 したAPIとサービスの実 装 設計 APIとサービスの計画立 案、設計、プロトタイ ピング ディスカバー 開発者がAPIを容易に見 つけて開発できるよう なサポート 実装 API仕様に基づいたアプ リケーションの開発 利用 セキュリティとスケー ラビリティを考慮した AppでのAPI利用 モニタリング 分析に基づいたAPIと Appの最適化 APIとサービスの開発と管理、 リリースの高速化 モバイル、クラウド、IoT向けの セキュアなアプリケーションを高速開発 APIのフルライフサイクル 公開 利用 10 APIのフルライフサイクル Agile Integration Workshop
  8. Agile Integration Workshop APIのフルライフサイクルをカバーするRed Hatの各製品 Microcks MOCK TEST IMPLEMENT DEPLOY

    SECURE M ANAGE DISCOVER DEVELOP CONSUME MONITOR MONETIZE API Model Canvas STRATEGY DESIGN SINGLE SIGN-ON (SSO) API DESIGNER SERVICE REGISTRY CODEREADY WORKSPACES 11
  9. Agile Integration Workshop Red Hatのミドルウェア製品パッケージ AUTOMATION RUNTIMES DATA GRID 既存システムをAPI化し、分散した

    マイクロサービスを組み合わせて 連携させる製品群 INTEGRATION ビジネスプロセスの 自動化と最適化 異なるクラウドをまたがって開発、デプロイ、管理が可能 開発ツール、CI/CD、セキュリティサービスと統合 OpenShiftとKubernetesの機能に合わせて最適化 アプリケーションを開発する上で コアとなる開発ツール AMQ BROKER 12
  10. 設計 デプロイ 実装 管理 & セキュリティ モック AGILE INTEGRATIONにおけるAPIライフサイクル Agile

    Integration Workshop 15 ワークショップで使用するAPIライフサイクルのためのツール
  11. Agile Integration Workshop API設計: Apicurio (API仕様の設計) » 目的: APIの技術的な仕様をAPIのコントラクト(契約書)として作成 すること。このAPIのコントラクトにより、APIのメソッド(URI)やAPI

    で操作されるリソース(JSON)が明確に定義されます。 » ツール: ApicurioはAPIコントラクトとなるAPI仕様を簡単に設計する ことができ、ブラウザベースでOpenAPIに準拠したAPIドキュメントを作 成することができます。 » アウトプット: GitリポジトリにOpenAPIドキュメントが保存されま す。 » 効果: API設計者がAPI仕様を分かりやすい形で開発者やAPIの利用者 に配布することができます。 OpenAPI contract をGitに保存 APIコントラクトの設計 https://www.apicur.io/ 16
  12. Agile Integration Workshop APIのテスト: Microcks APIのモックサーバー機能を利用したAPIのテスト Postman、SoapUIなど様々なAPI 関連のツールに対応 ブラウザベースの分かりやすいUIで コラボレーションを促進

    コンテナ対応しているためモック サーバを容易にスケール可能 プラグインやCLIによりCI/CDのパ イプラインに組み込むことが可能 Misc. http://microcks.github.io 17
  13. Agile Integration Workshop クラウドネイティブな開発: Code Ready Workspaces Based on Eclipse

    Che 7 • Kubernetesベースの開発環境: Kubernetes上で完全に コンテナ化された開発環境を提供 • 新しいエディタ: ブラウザ上で実現する最新の開発体験 • VSCode extension compatibility: 既存のVSCode extensionを利用可能 • Devfile: 開発環境をDevfileで定義 • OpenShift VSCode Plug-in: OpenShift での開発を 更に高速に • 簡単な操作と監視: 組み込みのPrometheus, Grafana ダッシュボード 18
  14. Agile Integration Workshop マイクロサービスの連携を実現: Red Hat Fuse インテグレーションのベストプラクティスをパターン化 200+ コンポーネント

    バッチ、メッセージ ング、Webサービ ス、クラウド、API、 など JSON, XML, HL7, YAML, SOAP, Java, CSV, Custom データ変換 オープンソースを ベースとし、イン テグレーション機 能を早く簡単に 実装可能 使いやすいフレーム ワークと開発ツール ENTERPRISE INTEGRATION PATTERNS ベストプラクティス に基づいてインテグ レーションが可能 REST APIを簡単に 作成し、接続が可能 RESTのサポート 19
  15. Agile Integration Workshop APIの管理: Red Hat 3scale API Management APIを安全に公開し、APIの再利用を促進

    企業レベルでのAPIの 可視化と制御 セキュリティ, 流量制御, 分 析, APIキー管理, 開発者 ポータル 内部APIと外部APIの 一元的な管理 社内のIT部門を“APIファースト”の アプローチに変えることが可能 API開発チームはAPIで提供すべき機能 にフォーカスすることが可能 社内外のAPIに対して統一的な方法 で、一覧性を高めることが可能 20
  16. Agile Integration Workshop APIのセキュアな公開: Red Hat Single Sign-On (RH-SSO) •

    オープンソースのSSO製品Keycloakをベース • OIDC, OAuth, SAMLなどに対応 • IDブローカー機能で他のIdPによる認証機能 • LDAPベースのディレクトリサービスとのユーザーフェデレーショ ン機能 • JavaEE, Spring, NodeJS, JSなどのクライアントライブラリ 21
  17. 管理ポータル Sync / Authorize API Gateway API Manager API提供者 Mobile

    Apps Developer Apps 開発者ポータル OpenAPI Doc (Swagger) 開発者 RH-SSO Eclipse Che Gogs (repo) Apicurio Microcks ツール OpenAPI (Swagger) 3scale API Management API利用者 Fuse 連携 Agile Integration Workshop 23 演習環境の構成図
  18. Agile Integration Workshop 2つのトラックから演習を選択 このハンズオン演習で習得できること: • API設計ツールを使用したAPI設計 • MicrocksによるAPIのテスト •

    3scaleによるAPIの管理 • Red Hat SSOによるAPIのセキュアな公開 • 3scaleによるデベロッパーポータルのカス タマイズ Citizen Integratorトラック このハンズオン演習で習得できること: • APIコントラクトのレビュー • MicrocksによるAPIのテスト • FuseとCodeReady Workspacesを使用し たAPIの実装 • 3scaleによるデベロッパーポータルのカス タマイズ • Red Hat SSOによるAPIのセキュアな公開 Developerトラック 24
  19. Agile Integration Workshop Solution Explorer ▸ ユーザごとに割り当てられる演習環境への ランディングページ ▸ Red

    Hat SSOによるシングルサインオン ▸ 演習の手順をステップバイステップで解説 ▸ プロビジョニングされている各製品機能へ のリンクで必要なサービスに直ぐにアクセ ス可能 演習をスムーズに進められる仕組み 26