一般に
- Webサービスレベルは、複数のアプリケーションの一般的なデータ要求の再利用を促進します
- Webサービスは、アプリケーションレベルの開発から生じる多くの問題を回避するバージョン管理でセットアップできます。たとえば、既存のアプリケーションを使用するプロジェクトを初めて使用する場合、既存のデータベースソースを使用するようにアプリケーションを構成するための適切なモデルとして使用します。
- Webサービスは、シンプルなURIを使用することにより、JSONなどの一般的な形式でリクエストを送信し、応答結果を取得するための柔軟なオプションを可能にするように進化しました。
私はASP.NET Web Apiをじっと見つめ始めており、最初にデータサービスを作成することを計画しています。
私は最近、エンティティフレームワークを使用した.NET MVC Webアプリケーションに焦点を当てています。
- すでにMVCを使用している場合、Web APIはApiコントローラーでMVCも使用するため、サービスを構築するための学習曲線はかなり簡単です。
私は最近、もともとOracleのストアドプロシージャに基づいて構築していたMVC Webアプリの不満に悩まされていました。Oracle 9またはそれ以前の元のバージョンでは、Visual Studio 2012に別の問題があり、Web構成接続とTNS名に基づいて使用する適切なdllファイルをロード時間アセンブリで検索するという、より新しい接続ファクトリアプローチが採用されていました。
データベースへの接続試行は、「サポートされなくなりました」というエラーメッセージが表示されて失敗しました。好奇心から、Oracle 12cをダウンロードして、TNS名とロードアセンブリdllでうまく機能するアプリケーションレベルの接続をいくつか作成しましたが、Oracleで問題なく作業できました。
古いバージョンのOracleへの接続で機能するWebサービスがいくつか構築されていました。それらは、選択されたテーブルに明確にマップされたメソッドを使用して作成されましたが、残念です。自分で書く必要があります。
Oracleデータベースの保守を担当するグループは、クライアントインターフェースとビジネスロジックレイヤーを抽象化するために使用していた古いストアドプロシージャを置き換える新しいストアドプロシージャを作成することになると言われました。
したがって、私が最初に考えたのは、ドロップダウンリストへの入力や企業全体のデータでのオートコンプリートなどの一般的なデータリクエストはすべて、Oracleストアドプロシージャを呼び出すデータサービスを通じて行われるということでした。アプリケーションごとにそのプロセスを繰り返し、各開発者が構成とバージョン/ロードアセンブリ、TNSの問題に苦労するのはなぜですか?
そう....
- SQL Serverのデータ使用に通常EFを使用している可能性のある.NET MVCアプリケーションでOracleストアドプロシージャを使用するなど、複数のデータベースサーバーの問題については、それらの頭痛の種を、構成の問題を分離できるWeb APIサービスメソッドまで押し上げてください。
- この場合も、クライアントインターフェイスは、JavaScript、JQuery、およびJSONを使用して実行できます。これは、Web APIを使用してSQL Serverデータ要求を行う場合に既に使用しているものです。
私はDBAではなくアプリケーション開発者/アナリストなので、私の見方は、データベースツールが進化するときにアプリケーションを絶えず変更しなければならないという終わりのないフラストレーションの経験からのものです。