Azure と Microsoft 365 によるリアルタイム コラボレーション

Microsoft Entra ID
Microsoft Graph
Azure App Service
Microsoft 365

ソリューションのアイデア

このアーティクルはソリューションのアイデアです。 このコンテンツにさらに多くの情報 (想定されるユース ケース、代替サービス、実装に関する考慮事項、価格ガイダンスなど) の掲載をご希望の方は、GitHub のフィードバックでお知らせください。

このソリューションでは、ライブラリと Azure サービスを使用してカスタムのコラボレーション要件を満たす方法を示します。 このソリューションでは、リアルタイム コラボレーションに加えて、ユーザー プレゼンスの状態もサポートされています。 ユーザーはカスタム アプリで連携してアイデアを収集し、新しいアイデアの追加、変更、削除をリアルタイムで確認して、コラボレーション セッション中のデータの競合を回避できます。

アーキテクチャ

Diagram that shows an architecture for real-time collaboration.

このアーキテクチャの PowerPoint ファイルをダウンロードします。

データフロー

  • アプリケーションは、Microsoft Graph Toolkitの Login コンポーネントを使って、ユーザーがサインインできるようにします。 Login コンポーネントは、MSAL プロバイダーを使って、ユーザーの資格情報を Microsoft Entra ID に対して検証します。
  • ユーザーがサインインすると、クライアント Web アプリは Fluid Framework を使って Fluid Relay に接続し、コラボレーション セッションを作成します。
  • その他のユーザーがサインインし、コラボレーション セッションに参加します。 Fluid Framework は、各クライアントで送受信されたデータをマージして、すべてのユーザーに対して同期されるようにします。 この同期を確実に行うために、トータル オーダー ブロードキャスト アルゴリズムと最終的な整合性が使用されます。
  • ユーザーが共同作業を続ける間、Fluid Relay によってコラボレーション データが自動的に格納されます。
  • 新しいユーザーがコラボレーション セッションに参加すると、各ユーザーのクライアントは、以前に格納されたデータを取得し、セッション内の他のユーザーと同期されるようにします。

Components

  • Fluid Framework は、共有状態を分散および同期するためのクライアント ライブラリのコレクションです。 これらのライブラリを使用すると、ローカル データの操作に使用されるのと同様のコーディング パターンを使って、複数のクライアントで共有データ構造を同時に作成して操作できます。
  • Fluid Relay は、Fluid Framework の管理サービスです。 これは、開発者がリアルタイムのコラボレーション エクスペリエンスを構築し、接続されている JavaScript クライアント間で状態をリアルタイムでレプリケートするのに役立ちます。
  • Microsoft Entra ID は、Microsoft のクラウドベースの ID およびアクセス管理サービスであり、従業員のサインインやリソースへのアクセスを支援します。
  • Microsoft Graph Toolkit は、Microsoft Graph にアクセスして操作するための、フレームワークに依存しない再利用可能なコンポーネントおよび認証プロバイダーのコレクションです。
  • Azure Static Web Apps は、コード リポジトリから Azure にフル スタックの Web アプリを自動的にビルドしてデプロイするサービスです。

シナリオの詳細

コラボレーションは、ビジネスの効率性と生産性にとって重要です。 Microsoft Teams などのツールでは、チャット、音声、動画を使ってコラボレーションする優れた方法が提供されます。 Word、Excel、PowerPoint Online を使用すると、さまざまな種類のドキュメントとスプレッドシートで世界中の同僚や顧客と簡単に共同作業できます。

市販の既製ソリューションと同様に、Azure サービスを使用して、カスタム アプリケーションにリアルタイムのコラボレーション機能を追加できます。 このソリューションでは、ライブラリと Azure サービスを使用してカスタムのコラボレーション要件を満たす方法を示します。 このソリューションでは、リアルタイム コラボレーションに加えて、ユーザー プレゼンスの状態もサポートされています。 ユーザーはカスタム アプリで連携してアイデアを収集し、新しいアイデアの追加、変更、削除をリアルタイムで確認して、コラボレーション セッション中のデータの競合を回避できます。

これらの要件を満たすために、このソリューションでは、Fluid Framework と Azure Fluid Relay が使用されます。 Microsoft Graph Toolkit および Microsoft Authentication Library (MSAL) プロバイダーの Login コンポーネントを使用して、Microsoft Entra ID に対してユーザーを認証します。

考えられるユース ケース

このソリューションは、以下を必要とするカスタム アプリケーション ソリューションを構築する企業に適用されます。

  • セキュリティで保護されたアプリケーション アクセス。
  • 複数のユーザー間でのリアルタイムのデータ コラボレーション。
  • 組み込みのコラボレーション データ ストレージ機能。

このシナリオのデプロイ

このシナリオを示すコード サンプルを取得してください。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Dan Wahlin | プリンシパル クラウド デベロッパー

次のステップ

このソリューションで使用されるテクノロジの詳細については、次の記事を参照してください。