付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という....

17
1 目次 目次 目次 目次 1.はじめに はじめに はじめに はじめに 2 1.1 研究の背 2 1.2 研究の目的 2 1.3 論文の構成 2 2.Web Web Web Web サービス サービス サービス サービスについて について について について 3 2.1 SOAP Web サービスについて 3 2.2 REST Web サービスについて 7 3.楽検索 楽検索 楽検索 楽検索システム システム システム システムの開発 開発 開発 開発 8 3.1 システムの概要 8 3.2 AmazonECS の利用 8 3.2.1 利用方法 8 3.2.2 入力パラメータについて 8 3.2.3 出力データについて 11 3.3 システムの開発 12 3.4 実行結果について 14 4.おわりに おわりに おわりに おわりに 16 16 16 16 4.1 まとめ 16 4.2 今後の課題 16 参考文献 参考文献 参考文献 参考文献 16 16 16 16 付録 付録 付録 付録

Transcript of 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という....

Page 1: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

1

目次目次目次目次

1111....はじめにはじめにはじめにはじめに 2222

1.1 研究の背景 2

1.2 研究の目的 2

1.3 本論文の構成 2

2222....WebWebWebWeb サービスサービスサービスサービスについてについてについてについて 3333

2.1 SOAP型Webサービスについて 3

2.2 REST型Webサービスについて 7

3333....楽曲検索楽曲検索楽曲検索楽曲検索システムシステムシステムシステムのののの開発開発開発開発 8888

3.1 システムの概要 8

3.2 AmazonECSの利用 8

3.2.1 利用方法 8

3.2.2入力パラメータについて 8

3.2.3出力データについて 11

3.3 システムの開発 12

3.4実行結果について 14

4444....おわりにおわりにおわりにおわりに 16161616

4.1 まとめ 16

4.2 今後の課題 16

参考文献参考文献参考文献参考文献 16161616

付録付録付録付録

Page 2: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

2

1111....はじめにはじめにはじめにはじめに

1.1 研究の背景

現在インターネットは,従来のサーバから情報を受け取るだけの受身のサービスから,自ら情報を発信する能

動的なサービスへと変わってきている.このような,新しい発想と新しい技術によって実現された次世代型の

Web サービスを総称して,Web2.0 という. 20 世紀の Web サービスを総称して Web1.0 というのならば,それは

情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった. 21 世紀に入って,個人が高性

能パソコンを用意に購入することができるようになり,ネットが高速化・低料金化すると同時に,Web 自体のプラッ

トホーム化によって,さまざまなデータを共有する仕組みが進歩した[1].

このようにパソコンがより身近になった現代,企業や組織に限らず個人レベルでも,情報の発信・受信・検索・

共有の高度な機能を容易に利用できるようになり,ネットコミュニケーションは Web2.0 といわれる新しい時代へと

進化した.

Web2.0 のコミュニケーション様式は,自らもコンテンツの提供者と成り得るn対nの横型コミュニケーションであり,

それぞれの個人がコミュニケーション可能な多数の他者の存在を常に意識することが特徴となっている.

例えば,mi xi に代表される SNS では,会員からの招待制をとっており,専門知識がなくても,容易に情報発信

が可能である.また,利用者の知識共有で成り立っている Wikipedia や,ユーザが動画データをアップロードし,

他のユーザと共有できる You Tube も,Web2.0 を象徴している.

1.2 研究の目的

Web2.0 という新しいインターネットの時代の変化に伴い,Web サービスも従来の SOAP ベースから,より簡略

化された REST 型に変わりつつある.現在,さまざまな企業がその REST 形式の Web サービスを提供してきて

いる.そのため,目的に応じて,いかに最適に効率よく,それらの Web サービス API を組み合わせ,システムと

して構築するか,という利用技術が重要となる.

本卒研では,Web2.0 時代の新しい技術を身につけるために,PHP を核にした Web プログラミング技術とシス

テム開発技術を習得し,演奏に適した楽曲を検索するための「楽曲検索システム」を開発することを目的とする.

1.3 本論文の構成

『1.はじめに』では,研究の背景を主に紹介する.『2.Web サービスについて』では,SOAP 型 Web サービス

と REST 型 Web サービスについて,それぞれの特徴を示し,2つの Web サービスの違いについて説明する.

『3.楽曲検索システムについて』では,まずシステムの概要を示し,実際に作成したphpプログラムについて説

明する.そして,実行結果を示し,解説する. 『4.おわりに』では,現在のシステムの完成状態についてまとめ,

最後に今回生じた問題点と今後の課題について記す.

Page 3: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

3

2222....WebWebWebWeb サービスサービスサービスサービスについてについてについてについて

2.1 SOAP型Webサービスについて[2]

SOAP は,Simple Object Access Protocol の略である.SOAP とは,クライアントとサービスの間でメッセージを

XML 形式でやりとりするためのプロトコルである.SOAP は,分散システム環境において構造化データを交換す

るために定義された軽量プロトコルであるということが出来る.交換されるメッセージは XML で記述され,メッセ

ージを含むフレームワークも XML の構造データとして定義されているため,特定のプログラミングモデル,実行

環境,プログラミング言語にも依存しない.

本卒研では,SOAP について理解するために,Apache-Axis による Web サービスの構築をいった.Axis とは,

本質的には SOAP エンジン--クライアント,サーバ,ゲートウェイなどの SOAP 処理装置を構築するためのフレ

ームワークである.Axis は単なる SOAP エンジンではなく,以下のものを含んでいる.

1 単純なスタンドアローンサーバ

2 Tomcat のようなサーブレットエンジンにプラグするサーバ

3 Web Service Description Language(WSDL)の広範囲に及ぶサポート

4 WSDL から Java クラスを生成する生成ツール

5 いくつかのサンプルプログラム

6 TCP/IP パケットをモニタリングするツール

次に,AXIS のインストールについて述べる.Axis のモジュール xml-axis-10.zip を解凍後,まず環境変数

AXIS_HOME と CATALINE_HOME を下記のように登録する.

AXIS_HOME = c:^\AXIS_2006_12_3

CATALINE_HOME = c:\tomcat4.1.24

その後,AXIS_HOME\webapps\ にある axis フォルダすべてを<CATALINA_HOME>\webapps\にコピーする.

更に,tomcat4 バージョンでは,

<AXIS_HOME>\webapps\WEB-INF\lib 以下のライブラリ,jaxrpc.jar と saaj.jar を

<CATALINE_HOME>\common\lib にコピーする.ただし,この2つのライブラリへのパスは,下記のように明示す

る必要がある.

saaj.jar ライブラリは,javax.xml.soap*関係のクラス・ライブラリを含むので,間違えると web サービスが一切実行

できなくなる.また,Tomcat はhttpサーバ機能を持つので,httpサーバとして Apache サーバを起動する必要

はない.OS は WindowsXP Professional を使用し,表1に利用したソフトウェアを示す.

%CATALINA_HOME%\common\lib\jarpc.jar,%CATALINA_HOME%\common\lib\saaj.jar

図1.ライブラリへのパス

Page 4: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

4

C:\tomcat-4.0.6\bin>”startup.bat” とすると,tomcat が起動する.Tomcat の起動画面を以下に示す.

次に環境変数の設定を行ったコントロールパネル→システム→詳細設定で,環境変数を選択すると,環境変

数の設定を行うことができる.環境変数の設定を行った画面を図3に,コマンドプロンプトで設定を確認した画面

を,図4に示す.

ソフトウェア名 バージョン 説明

Apache Axis 1.0 SOAP エンジン

Tomcat 4.1.24 Java Servlet/JSP エンジン

j2sdk 1.4.0 Java パッケージ

図2.Tomcat 起動

表1.利用したソフトウェア

Page 5: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

5

C:\tomcat-4.1.6\webapps\axis に,以下の内容を持つファイル名 setenv.bat を作成しておく.

Tomcat startup.bat ファイルを実行後,DOS プロンプト画面で下記を実行した.

図6のように Tomcat 起動画面が表示されれば,正常に起動していることがわかる.

@echo off

set XERCES_HOME_=D:\xerces-1_4_4

set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\axis.jar

set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\axis-ant.jar

set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\jaxrpc.jar

set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\saaj.jar

set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\commons-logging.jar

set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\commons-discovery.jar

図3.環境変数の設定画面 図4.環境変数の確認画面

図5.setenv.bat ファイル

Page 6: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

6

続いて,axis の起動を確認した.図7のような画面が表示され,正常に起動していることが分かる.そして,図7

の画面で Validate をクリックすると,図8のような Axis 実行環境に関する変数が表示される.

次に,SOAP 型 Web サービスの理解を深めるために,実際に Web サービスとその Web サービスを利用するク

ライアントプログラムを開発し,動作確認を行った.その内容について説明する.クライアントプログラムでは,自

データベースからデータを検索し,その検索データを Web サービスへの入力データとして,Web サービスサー

バに送付する.Web サービスはその入力データを検索キーとしてサーバ側のデータベースを検索して,出力結

果をクライアントに送付する.今回はサーバ,クライアントとも同一 PC 上に構成し,テストした.そのデータベース

の内容を図9に示す.ともに Accsess2000 で作成した.

図7.Axis 起動画面 図8.Axis 実行環境に関する変数

図6.Tomcat 起動画面

Page 7: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

7

具体的には,クライアント側が,「商品名」からデータベースを用いて「商品コード」を検索し,その「商品コー

ド」を SOAP メッセージとしてサーバ側の Web サービスに送信し,Web サービスはその「商品コード」を持つ「商

品取り扱いメーカ」を返す,処理を行う.実行例を図10に示す(プログラムリストは付録参照).

2.2 REST型Webサービスについて[3]

REST は,REpresentational State Transfer の略であり,URI で指定されたリソースに HTTP メソッドの GET や

POST などを適用して処理を行う形態である.その REST スタイルを利用した Web サービスを REST 型 Web サ

ービスという.これまでの SOAP 型 Web サービスとは異なり,利用形態が URI と HTTP という同じインターフェー

スで統一されるため,手軽で使いやすいことが特徴である. REST は,キーと値のペアをパラメータに指定して,

Web サービスを呼び出す.処理に必要なパラメータは,URL の一部として渡される.Web サービスは,受け取っ

たリクエストを処理し,結果を整形式の XML ドキュメントとして返す.

HTTPプロトコル

クライアントクライアントクライアントクライアント

XML形式

Yahoo

Amazon

など

HTTPプロトコル Web サービスサービスサービスサービス REST 型型型型

C:\tomcat4.1.24\webapps\axis\WedService>java TestClient2m SO903i

http://peak10:8080/axis/services/TestService2

商品名: SO903i

商品コード:1111

実行結果

入力データ

図9.データベース(localhoset)

図10.プログラム実行例

図11. REST 型 Web サービス

Page 8: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

8

3333....楽曲検索楽曲検索楽曲検索楽曲検索システムシステムシステムシステムのののの開発開発開発開発

ブラスバンドの演奏曲検索(楽譜や CD,DVD)に利用したく Amazon の Web サービスと PHP を用いて本シス

テムを開発した.

3.1 システムの概要

開発する楽曲検索システムの機能概要について説明する.

(1) 検索分野として,Amazon の音楽関係の分類に合わせて「楽譜,楽曲名,クラシック,Music, DVD」の 5 分野に

設定した.「Music」指定の場合のみ更に詳細に分野を選択可能にした.

(2) 演奏に関して,「人数構成」と「演奏の場」を選択指定可能にした.以上を検索キーワードとともに検索する.

(3) 検索結果のタイトル,価格,著者などと画像を出力し,更に詳細情報と拡大画像も表示する.

以上の機能が実現できる様に,PHPを用いて AmazonWebサービスへの入力パラメータの設定と実行,及び

出力データの解析を HTMLデータでの画面表示を行う.

3.2 AmazonECSの利用[4][5][6]

3.2.1 利用方法

Amazon ECS とは,Amazon が提供している Web サービス,Amazon E-Commerce Service の略である.

Amazon は自社の商品情報の検索,購入などの Web サービスを SOAP 型と REST 型両方で提供している.今回利

用した AmazonECS4.0 について,必要な情報を以下にまとめる.

REST リクエストで問い合わせる先の AmazonWeb サービスの URL を,表2に示す.

Amazon.co.jp http://websarvices.amazon.so.jp

JP ページ版 http://aws-beta.amazon.co.jp/onca/xml?

Amazon.com http://webservices.amazon.com/onca/xml?

今回は,日本の AmazonWeb サービスを使用した.この URL の後に,GET パラメータとして,問い合わせパラ

メータを指定した.

3.2.2 入力パラメータについて

今回使用した REST 型 Web サービスへの入力パラメータについて説明する.

すべてのリクエストに共通したパラメータを,図12に示す.

Service=AWSECommerceService&SubscriptionId=[subscription ID]&AssociateTag=[AssociateID]

このパラメータは,すべての種類のリクエストに対して必要である.Subscription ID と Associate ID は,登録し

表2.AmazonWeb サービスの URL

図12.入力パラメータ

Page 9: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

9

たときに得たキーをそれぞれ入力した.

つぎに,Operation パラメータについて説明する.Operation パラメータは,問い合わせの種類を指定するパラメ

ータである.本システムでは ItemSerch と ItemLookup を利用した.ItemSrech は商品名や曲名などのキーワード検

索の際に指定する.ItemLookup は特定商品を検索する.Operation パラメータの種類を,表3に示す.

表3.Operation パラメータ一覧

The Operation parameterThe Operation parameterThe Operation parameterThe Operation parameter :::: 問問問問いいいい合合合合わせのわせのわせのわせの種類種類種類種類

&Operation= ItemSerch (商品名,著者名などで検索)

ItemLookup(ASIN などの ItemId で,商品を検索)

ListSearch(リストマニア情報を検索)

ListLookup(リストマニア情報を ID 検索)

SimilarityLookup(関連商品の検索)

Help(HELP を表示.開発ツールなど用)

CartCreate(リモートショッピングカートを作成)

CartClear(カートをクリア)

CartAdd(カートに商品追加)

CartModify(カート内の情報変更)

CartGet(カートを取得)

TransactionLookup(US のみ)

CustomerContentSrearch(US のみ)

CustomerContentLookup(US のみ)

SellerListingLookup(US のみ)

SellerLookup(US のみ)

SellerListingSearch(US のみ)

次に,検索結果の設定を ResponseGroup パラメータで行う.コンマで区切って複数のパラメータ値を指定でき,

どのような情報を取得したいか指定する.本システムでは中程度の情報,製品状態,楽曲情報,ユーザレビューな

どを取得するために次のように指定した.

ResponseGroup=Medium,Offers, Tracks,Reviews

表4に,ResponseGroup パラメータの種類を示す.

Page 10: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

10

表4.ResponseGroup パラメータ一覧

ResponseGroupResponseGroupResponseGroupResponseGroup :::: 取得取得取得取得したいしたいしたいしたい情報情報情報情報

&ResponseGroup= Request(REST リクエストのパラメータ)

ItemIds(商品の ASIN,商品数,ページ数)

Small(最小限の情報)

Medium(中くらいの情報)

Large(沢山の情報)

ItemAttributes(商品の詳細情報)

EditorislReview(商品の紹介文)

Reviews(カスタマーレビュー)

ListmaniaLists(リストマニア)

Tracks(音楽 CD の楽曲情報)

SalesRank(売り上げランキング)

BrowseNodes(商品がリストされるカテゴリ)

Images(商品画像のイメージ)

Similarities(関連商品)

OfferFull(在庫情報や価格など)

Offers(新品か中古かなど)

OfferSummary

Accessories(デジカメなどのアクセサリの ASIN)

Variation(以下をまとめて)

VariationMinimum(シャツのサイズ違いなど関連 ASIN)

VariationSummary(最高値や最安値,出品数など)

検索したい商品の種類を SearchIndex パラメータで指定した.今回は音楽関連の商品であるので,Book,Music

Tracks,Classical ,Music5種類に限定した.SearchIndex パラメータの種類を,表5に示す.

表5. SearchIndex パラメータ

&SearchIndex&SearchIndex&SearchIndex&SearchIndex :::: 商品商品商品商品のののの種類種類種類種類

&SearchIndex= Blended(すべての商品)

Books(和書)

MusicTracks(曲名から調べる)

Classical(クラシック音楽)

Video(DVD&VHS)

DVD(DVD)

VHS(VHS)

VideoGames(ゲーム)

Electronics(家電 エレクトロニクス)

Kitchen(ホーム&キッチン)

Toys(おもちゃ&ホビー)

次に,Version を指定する必要がある.Amazon のサーバがアップデートするにしたがって,Version もあがって

いく.Version を指定しないと,Web サービスからレスポンスデータが変更された場合など,自分の開発したアプ

Page 11: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

11

リケーションに以上が出る可能性があるため,必ず指定する必要がある.今回は,&Version=2006-09-11 と指定

した.

また,楽譜を検索するために Amazon 固有の BrowseNode パラメータを利用して,楽譜に対する BrowseNode 番

号 746102 を PHP プログラム中で図 13 のように自動設定している.

具体的に,AmazonWeb サービスの実行例を図14 に示す.

http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService

&AWSAccessKeyId=KEYID&AssociateTag=AssocTag&Version=2006-09-11

&Operation=ItemSearch&ResponseGroup=Medium,Offers,Tracks,OfferFull,Reviews,Similarities

REST でのアクセスに必要なのは,このような URL だけである.URL の中には,クエリ文字列として ECS に渡

したいパラメータが『パラメータ名=データ』の形で埋め込まれており,複数のパラメータが&で接続されている

のが分かる.基本的には URL にすべての情報を埋め込んでアクセスするだけなので,非常にシンプルなリクエ

ストになる.

3.2.3 出力データについて

図10のシステム入力画面で検索条件を選択し,検索キーワードを入力して実行すると,AmazonWeb サービス

は,図15 のような XML データを出力する.

Operation=ItemSearch&SearchIndex=Books&BrowseNode=746102

図13.楽譜検索のためのパラメータ指定

図 14.AmazonWeb サービス実行例

Page 12: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

12

図15 のように,さまざまなタグによってパラメータが出力されているのがわかる.PHP プログラムでは,このよう

な XML データを解析し,必要な情報のみを抽出して画面に出力している.

3.3 システムの開発[7] [8][9]

3.3.1 入力画面設計

3.1 システム概要で述べた検索機能を実現するための入力画面を,HTML で図16のように設計した.

Title タグ

Price タグ

図15.AmazonWeb サービスからの XML 出力データ

Page 13: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

13

3.3.2 PHPプログラム処理について

次に,開発したphpプログラムについて説明する.php プログラム中に入力画面の html 部分を組み込み,指定さ

れた入力パラメータ値を抽出して,AmazonWeb サービスURLに組み込み,実行している.また AmazonWeb サー

ビスからの出力データを XML データでphpライブラリ関数を用いて受け取り, その XML データの同じくphpライブ

ラリ関数の xml パーサを利用して解析して,html データに整形し,Web ブラウザに表示している.

AmazonWeb サービス実行時には,図10に入力画面で指定されたパラメータ値を読取り,3.2 節で説明したパラメ

ータに組み込んでいる.また AmazonWeb サービスへの入力データと出力データは UTF-8 コードを使用している

ので,検索キーワードは urlencode(非 ASCII 文字列)関数を使って

$keywords = urlencode($_GET['Keywords']);

と UTF-8 コードに変換して設定している.

Amazon サーバとの通信には curl 関数を利用し,図14のような XML 出力データの解析には PEAR ライブラリ関

数を利用してタグ解析を行い,必要情報を HTML 形式で Web ブラウザに出力する PHP プログラムを開発した.そ

の出力処理部分を図17に示す.

図16.システム入力画面

Page 14: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

14

図15で示された Title タグや Price タグを,図17の PHP プログラムで抽出している(プログラムリストは付録参

照).

3.4 実行結果について

図16の実行画面で,カテゴリを『楽譜で検索』に指定し,人数構成を『大編成』に,演奏の場を『コンクール』に

それぞれ指定した.そして,有名な作曲家である Alfred Reed が作曲したブラスバンドの楽曲を検索するため,

検索キーワードには『A.リード 吹奏楽』と入力し,検索を行った.検索結果を図18に示す.

function printDetails($parsed_xml, $SearchIndex){

print("<table>");

if($SearchIndex == "Books"){

print("<tr><td><img src='".$parsed_xml->Items->Item->LargeImage->URL."'></td>");

print("<td>".$parsed_xml->Items->Item->ItemAttributes->Title);

print("<br>著者:".$parsed_xml->Items->Item->ItemAttributes->Author);

print("<br>".$parsed_xml->Items->Item->ItemAttributes->Binding);

print("<br>頁数".$parsed_xml->Items->Item->ItemAttributes->NumberOfPages." ページ");

print("<br><b>価格:".$parsed_xml->Items->Item->Offers->Offer->OfferListing->Price->FormattedPrice."</b>");

図17.出力処理部分

図18.検索結果(1)

Page 15: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

15

そして次に,検索された楽曲の詳細を確認したい時は,『詳細を見る』ボタンをクリックすると詳細情報を見る

ことができる.詳細情報の確認画面を,図19に示す.

図19.詳細情報確認画面

そして,演奏の場を『コンクール』に指定し,検索キーワードを『ルパン 吹奏楽』と入力して検索した時の実行画

面を,図20に示す.

Page 16: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

16

4444....おわりにおわりにおわりにおわりに

4.1 まとめ

今回,Web2.0 時代の新しい技術である Web プログラミング技術とシステム開発技術を習得するため,REST

型 Web サービスと PHP プログラムを使用して楽曲検索システムを開発した.具体的には,Web ブラウザから入

力パラメータを指定して取り込み,AmazonWeb サービスに入力パラメータと対応した,その入力パラメータ値を設定

し,Web サービスを実行する.更に,AmazonWeb サービスの実行結果を XML データとして受け取り,その XML

データを php ライブラリ関数を利用して,解析し,Web ブラウザに出力表示する処理を実行するというシステムを

php プログラムとして開発した.その PHP プログラムの開発は,phpの文法の理解と平行して,

・http サーバの設定と起動について,

・phpの実行設定

・複数のphpライブラリ関数の利用方法の調査

などもあり,かなり大変だったが何とか開発することができた.

4.2 今後の課題

本システムでは,さまざまな検索条件を入力し検索を行っているが,検索条件にマッチした楽曲が得られな

い場合がある.Web サービスの XML 出力データをさらに解析し,より的確な情報が検索できるようになることが

今後の課題である.

また本システムは,AmazonWeb サービスを用いて開発を行ったが,AmazonWeb サービスのデータベース

にある楽曲には限りがあり,ユーザが知りたい情報がうまく検索できない場合がある.その改善策として,複数の

検索サイトの Web サービスとのマッシュアップ,更には音楽サイトの Web サービスとのマッシュアップを行うと,

図20.検索結果(2)

Page 17: 付録 - matsue-ct.jp · Webサービスを総称して,Web2.0という. 20世紀のWebサービスを総称してWeb1.0というのならば,それは 情報提供者が1に対してユーザがn(1対n)の縦型コミュニケーションであった.

17

音楽関連の情報量が増え,実際に音楽が聞けることができるので,よりユーザにとって使いやすいシステムにな

ると考える.さらに,音楽サイトとマッシュアップを行うことにより,実際に検索した曲を視聴できたり,作曲者の詳

しい情報を取得できたりと,より充実したシステムになると思う.

参考文献参考文献参考文献参考文献

[1]大向一輝,橋本大也:Web2.0 について,情報処理,Vol.47 No.11(2006).

[2]WebServices – Axis:http://ws.apache.org/

[3]山本陽平:REST アーキテクチャ入門,WEB+DB PRESS vol.32,pp101-107(2007).

[4]Amazon(日本):http://www.amazon.co.jp/

[5]水野貴明:俺流 Amazon の作り方,株式会社 アスキー(2006).

[6]ITmedia:Amazon ECS 4.0 解説 http://itmedia.co.jp/

[7]Amazon(アメリカ): http://www.amazon.com/

[8]高島優作:PHP5 逆引き大全 500 の極意,株式会社秀和システム(2004).

[9]HTML クイックリファレンス:http://www.htmq.com/