SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

アイエニウェア・ソリューションズ ドキュメント翻訳(AD)

Office 2007からSOAPベースのWebサービスにアクセスする

原文: Accessing SOAP-based Web Services from Office 2007

  • このエントリーをはてなブックマークに追加

 SOAPは、クライアントのプラットフォームや目的とは関係なく、データにアクセスすることだけに的を絞ったプロトコルです。本稿では、SQL Anywhereを使用してデータベース駆動型のWebサービスを作成し、SOAP要求を受け取って応答する方法や、ExcelとWord 2007からデータにアクセスする手順を説明します。

  • このエントリーをはてなブックマークに追加

 本稿はデータベースソフトウェア「SQL Anywhere」およびデータベース全般に関する英語ドキュメントを翻訳する形で提供しています。図など、部分的に英語のままになっていますが、製品のSQL Anywhere自体は完全に日本語化されていますのでご安心ください。

はじめに

 最近の業界はサービス指向アーキテクチャ(SOA:Service‐Oriented Architecture)の話題で活気づいているようです。ITグループは情報の流れを実用的なビジネスプロセスモデルの方向へ転換しようとしており、これはデータ供給のしくみが標準化されつつあることを意味します。ここで、標準と呼ばれるものは数知れずありますが、SOAPにかなり勢いがあるように見えます。なお、SOAPは当初、ある別の頭字語を表していました。

 柔軟なデータ供給の実現ということの中には、ユーザーが手慣れた方法で簡単にデータを消費でき、それが何よりもユーザーにとって有益であるという意味合いが含まれています。しかし、こうした基準は主観的なものであり、ユーザーや状況が違えば変化します。Microsoft Officeユーザーにデータを供給し、なおかつ、おそらくプラットフォームも異なるであろう専門的なアプリケーション開発者の要求も満たすためにはどうすればよいのでしょう。ユーザーがそれぞれの目的にかなった方法でデータにアクセスできるようにするためには、ユーザーの種類ごとにある種のラッパーやアダプターを提供する必要があるのでしょうか。

 答えは、この種の多消費者型の順応性を備えた柔軟な標準を使うことです。幸い、SOAPはまさにその目的をかなえてくれます。Microsoft Officeアプリケーションで社内データにアクセスすることを求められている人々も、統一された標準的なアプリケーションを自分たちで構築しようと考えている人々も、データのプロバイダに個別的な要件を課すことなくそれぞれの目的を実現できます。これは今日の業界が求めているメンテナンスコストの低い順応性を実現するものでもあります。本稿の目的はSOAまたはSOAP自体のメリットや実装を論ずることではなく、それらの原理を現実に即して適用する方法を具体的に説明することにあります。

 以前、MicrosoftはWebサービスの統合を促進するために、SOAPツールキットだけでなく、Microsoft Office用のWeb Services Toolkitも提供していました。基本的にどのドキュメントでもWebサービスのデータを利用するには、かなり多くのVBAコードを書く必要がありました。しかし、Microsoft Office 2007とVisual Studio 2008が.NET Framework 3.5と共に登場した時点で、その提供は終了しました。SOAPデータにアクセスするしくみをOfficeドキュメントに組み込む標準的な方法として.NETによる統合が利用されることになったからです。これによって、SOAPソースから取り出したデータを一定の管理された方法で簡単に統合することが可能となります。

 本稿では、SQL Anywhere 10データベース内からSOAP/DISH Webサービスを作成し、そのWebサービスからデータを取得するコードが書かれたMicrosoft Excelワークブックを作成し、さらに、そのデータを取得するコードが書かれたMicrosoft Wordドキュメントを作成するまでの手順を具体的に説明します。ここではSQL Anywhere 10のデモデータベースを利用し、'Customer'テーブルからデータを取り出します。

概要

 データに関するクライアント側の需要は拡大する一方であり、その需要を何とか満たすために、統一されたデータアクセス手法というものが重要視されるようになっています。SOAPは、クライアントのプラットフォームや目的とは関係なく、データにアクセスすることだけに的を絞ったプロトコルです。このプロトコルは、Microsoft Office 2007ユーザーもアプリケーション開発者も等しくデータにアクセスできるという高い自由度を備えています。本稿では、SQL Anywhereを使用してデータベース駆動型のWebサービスを作成し、SOAP要求を受け取って応答する方法を説明します。さらに、ExcelとWord 2007からデータにアクセスする手順も示します。具体的にはサンプルのクライアントデータを使用してExcelワークシートとWordドキュメントにデータを読み込みます。本稿を読むためにはWebサービスやサービス指向アーキテクチャの概念を熟知していることが望まれますが、その専門家である必要はありません。ただし、Office/C#プログラミングの経験がある読者を対象としています。

要件

  • Microsoft Visual Studio 2008
  • Microsoft Office Excel 2007
  • Microsoft Office Word 2007
  • SQL Anywhere 10

次のページ
SQL Anywhere 10でSOAP/DISH Webサービスを作成する

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
アイエニウェア・ソリューションズ ドキュメント翻訳連載記事一覧

もっと読む

この記事の著者

Bryan Sachdeva(Bryan Sachdeva)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5466 2010/11/08 15:45

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング