![]() |
特集:効率的なデータベース開発の実践DBアクセス用のXML Webサービスとは?初音玲2009/02/06 |
|
|
業務システム構築にデータベース(以下、DB)アクセスは欠かせないが、筆者の場合、WebアプリケーションやWindowsアプリケーションからRDBMSを直接使うのではなく、間にXML Webサービスを挟んで使うような構成を提案するように心掛けている。
例えば、図1のような構成である。本稿ではこのようなXML Webサービスを活用したDBアクセスの実装について解説する。
![]() |
| 図1 XML Webサービスを中核に置いたシステム構成例 |
| DB=データベース。FW=ファイアウォール。アプリ=アプリケーション。 |
このような構成によりDBアクセスをXML Webサービスで一元管理すれば、次のような利点が生まれる。
-
DBとの接続に必要なミドルウェアの設定がXML Webサービスのサーバだけに限られるため、導入の手間も少なくて済む
-
DBアクセス・ロジックをXML Webサービスに集約することで、想定外のDBアクセス・コードを除外できる
-
UI(ユーザー・インターフェイス)部分を除外した形で実装することになるので、ロジック部分が明確になる(MVC(モデル/ビュー/コントロール)分離に近い形)
-
XML Webサービス部分の構築に比較的スキルの高い人員を配置することで、開発プロジェクト全体の人員最適化が行いやすい
-
(.NETでは)XML Webサービスの使い方は、通常のメソッド呼び出しとほぼ同じになるため、関数に対して単体テストを行う要領でXML Webサービスのテストが行え、DBアクセス回りのTDD(Test Driven Development:テスト駆動開発)が行いやすい
また、クライアントから直接DBへアクセスする際には、パフォーマンス向上を狙ってストアド・プロシージャがよく利用されるが、DBアクセスを行うXML Webサービス(以下、DBアクセスXML Webサービス)でもストアド・プロシージャと同様のパフォーマンス向上の効果が見込まれる。XML Webサービスの特徴として「HTTPプロトコル経由でメッセージ転送を行うため、送受信するデータ量が多いと速度的な問題が生じる」という欠点がよく挙げられるが、パフォーマンス改善効果により転送データ量も最適化されるので、実際に速度的な問題が発生することはあまりないだろう。
なお、本稿で取り扱うXML WebサービスはSOAP(Simple Object Access Protocol)形式である(SOAPについては「SOAPの正体、その目論見」を参照してほしい。ちなみにSOAP形式以外では、より汎用的でシンプルなREST(Representational State Transfer)形式などがある)。また本稿では、XML WebサービスをASP.NET Webサービスとして構築する(もちろんWCFサービスで同様のことが行える)。
DBはOracle Databaseを利用する(もちろん、本稿の考え方はSQL Serverに対しても適用可能だ)。本稿で利用している開発環境はVisual Studio 2008であるが、以降の説明は基本的にVisual Studio 2005以降を利用することを想定している。開発言語はVB(Visual Basic)とする。
本稿の前半では、ASP.NET Webサービスの基本的な開発方法や単体テストの方法を紹介し、後半で本稿の目的であるDBアクセスXML Webサービスを開発する手順を説明する。
| INDEX | ||
| [特集]効率的なデータベース開発の実践 | ||
| DBアクセス用のXML Webサービスとは? | ||
| 1.DBアクセス用のXML Webサービス | ||
| 2.XML Webサービスの作成 | ||
| 3.XML Webサービスの単体テストの実行 | ||
| 4.XML WebサービスのWebメソッドへのパラメータの考察 | ||
| 5.DBアクセスXML Webサービスを作成する | ||
| 6.DBアクセスXML Webサービスを使ってみる | ||
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
は.NET開発者中心に生まれ変わりました
スポンサーからのお知らせ
.NET開発者中心コーナー
- - PR -
イベントカレンダー
- - PR -



