

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# サンプルアプリケーション
<a name="sample-app"></a>

このセクションでは、リレーショナルデータベース管理システム (RDBMS) から NoSQL データベースへの移行を評価するチームにガイダンスを提供し、ターゲット NoSQL データベースとして Amazon DynamoDB NoSQL に焦点を当てます。Microsoft SQL Server から DynamoDB に移行したアプリケーションのケーススタディに基づいて、次の 2 つの課題に対処します。
+ RDBMS の複数のテーブルから DynamoDB のドキュメント構造とキーと値のコレクションへのリレーショナルデータのマッピング
+ DynamoDB で作成、読み取り、更新、削除 (CRUD) オペレーションを実行するようにアプリケーション内のデータアクセスレイヤーを変更する

説明とガイダンスには、 AWS SDK for .NET を使用して C\# で記述されたコード例が含まれています。

サンプルウェブアプリケーションは、各アプリケーション、メタデータ、検索キーワードなどで許可されたユーザーとホスト (ウェブ、モバイル、デスクトップ) など、組織で使用される数百のアプリケーションの設定を維持します。アプリケーションは、組織で使用されるさまざまなアプリケーションのさまざまなバージョンの設定メンテナンスと検索機能を提供します。設定の変更は、監査テーブルを使用して追跡されます。サンプルアプリケーションの一般的なワークフローを次に示します。

1. テストアプリケーションの設定を作成します。

1. テストアプリケーション設定を本番環境に昇格させる (つまり、本番環境アプリケーション設定を作成する）。

1. 変更を更新して監査する (監査レコードを作成し、変更されたアプリケーション設定を呼び出す）。

## 古いデータアクセスパターン
<a name="source-stack"></a>

ソーステクノロジースタックは、以下で構成されます。
+ ASP.NET Web API コントローラー 
+ ビジネスオブジェクト 
+ ASP.NET エンティティフレームワーク (EF) 
+ ADO.NET データサービス
+ Microsoft SQL Server 2016

 ![Source RDBMS technology stack and data access pattern](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modernization-rdbms-dynamodb/images/source-tech-stack.png) 

## 新しいデータアクセスパターン
<a name="target-stack"></a>

移行されたアプリケーションは、設定ファイルで提供される設定キー (`UseSqlDataSource`) に基づいて SQL Server と DynamoDB の両方をサポートします。次の図に示すように、 の値が の場合`true`、アプリケーション`UseSqlDataSource`は SQL Server に接続します。値が の場合`false`、アプリケーションは DynamoDB に接続します。

新しいテクノロジースタックは、以下で構成されます。
+ ASP.NET Web API コントローラー – さまざまな API エンドポイントで HTTP リクエストを受け入れます。
+ ビジネスオブジェクトとサービス – データベースから取得された入力とデータを処理するためのビジネスロジックを持つクラスとオブジェクト。
+ NoSQL エンティティとモデル – DynamoDB に保存されている項目にマッピングするクラス。
+ AWS SDK – DynamoDB およびその他の AWS サービスへのプログラムによるアクセスを提供します。
+ DynamoDB – アプリケーションデータを保存するためのデータベース。

 ![Target NoSQL technology stack and data access pattern](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modernization-rdbms-dynamodb/images/target-tech-stack.png) 