ソリューションのアイデア
このアーティクルはソリューションのアイデアです。 このコンテンツにさらに多くの情報 (想定されるユース ケース、代替サービス、実装に関する考慮事項、価格ガイダンスなど) の掲載をご希望の方は、GitHub のフィードバックでお知らせください。
このコンシューマー向けモバイル アプリのアーキテクチャでは、Azure App Service Mobile Apps を使用して、複数のソーシャル ID プロバイダーによる認証を簡略化し、データを格納してオフライン アクセス用に同期し、プッシュ通知を送信します。
このアプリは、Visual Studio (PC または Mac) と Xamarin を使用してビルドされ、ユーザー エクスペリエンスを損なうことなく、Android、iOS、および Windows 間で C# コードが共有されます。 Visual Studio App Center を使用して、ビルドとテストが自動化され、ベータ テスターとアプリ ストアに配布されます。また、App Insights による使用状況の監視と分析も提供されます。
ソリューション アーキテクチャでは、次の Azure サービスが使用されます。
- Azure DevOps
- Visual Studio
- Visual Studio Tools for Xamarin
- Application Insights
- Visual Studio App Center
- App Service - Mobile Apps
考えられるユース ケース
組織はこのソリューションを利用して、ユーザー認証を簡略化します。
アーキテクチャ
このアーキテクチャの SVG ファイルをダウンロードします。
データフロー
- Visual Studio と Xamarin を使用して、モバイル アプリを作成します。
- Azure portal または Visual Studio で新しい Mobile Apps バックエンドを作成して構成し、Visual Studio でソリューションをバックエンドと通信するように構成します。
- ソーシャル ID プロバイダーを使用した認証を実装します。
- App Service API と SDK を使用してモデル駆動型のデータ構造を作成します。
- ネットワーク接続なしでモバイル アプリを機能させるオフライン同期を実装します。
- Visual Studio でバックエンドを作成した場合は、Visual Studio (PC または Mac) からアプリ サービスを直接発行できます。
- ソリューションのソース コードを任意のソース管理プロバイダーに格納します。
- Visual Studio App Center を使用してアプリのビルドとテストを行い、アプリを発行します。
- Application Insights を使用してアプリ サービスを監視します。
Components
- Visual Studio 2017 または Visual Studio for Mac で C# を使用して、Web フロントエンド、モバイル アプリ、およびバックエンド サービスを作成します。
- クロスプラットフォーム アプリケーションのビルド: C# と Azure SDK を使用して、iOS と Android 用のモバイル アプリを作成します。
- Visual Studio App Center:App Center は、BitBucket、GitHub、Visual Studio Team Services からコードをプルすることで、継続的インテグレーションとデプロイ ワークフローを実現します。
- App Service: クライアント アプリでは、いずれかのモバイル クライアント SDK を使用して、Azure Mobile App バックエンドに接続します。 クライアント SDK にはオフライン同期と認証のサポートが組み込まれているため、完全な機能を備えたアプリをはるかに簡単にビルドできます。
- Application Insights:Application Insights を使用して、Web アプリの問題の検出、クラッシュの診断、使用状況の追跡を行います。 開発ライフサイクル全体で、情報に基づいた意思決定を行います。
- Azure SQL Database:構造化データは、トランザクションと効率的なクエリをサポートするクラウド リレーショナル データベース サービスである SQL Database に格納されます。
- オフライン同期:Azure Mobile App クライアント SDK のオフライン データ同期機能を使用して、ネットワークに問題がある場合でも機能する、応答性と信頼性の高いアプリを作成できます。
- ID プロバイダー:App Service の認証/承認を使用して、ソーシャルまたはエンタープライズ ID プロバイダーと統合します。