電子書籍ケーススタディ 11
Webサービスとは何か イースト株式会社 下川 和男
今、ソフトウェアの開発方法が大きく変わろうとしている。 コンピュータそのものが、パーソナル・コンピュータという計算するデバイスから、ネットワークに常時接続されたインターネット・デバイスへと衣替えの真っ最中である。 11月に炭疽菌騒動の中、ラスベガスで開催された、コムデックスというコンピュータ業界最大の展示会では、マイクロソフト社のビル・ゲーツ会長が、来年発売予定の「タブレットPC」という板型のインターネット・デバイスを9種類も紹介していた。
パソコン・ソフトの開発方法
この20数年間で、マイクロソフト系のソフトウェア開発手法は以下のような変遷をとげている。
OS 主な言語 ライブラリや実行環境 CP/M M80(マクロ・アセンブラ) マイクロソフトBASIC、F80 MS-DOS C、MASM INT21、LIB、SDK(ソフトウェア開発キット) Windows C Windows API、Windows SDK C++(Visual Studio) MFC(マイクロソフト基本クラスライブラリ) インターネット Java、Visual Basic C#、VB.NET .NET Framework
OSの欄にインターネットと書くのはおかしいかもしれない。正しくはWindows 2000やWindows XPなのだが、このような、クライアント・パソコンやサーバ・マシンのオペレーティング・システムが何であるかを超越して、インターネットの世界が構築されているので、敢えてインターネットとした。
マイクロソフトWindowsでも、最初のCとSDKの世界から、C++とMFCという環境が構築されて、やっと本当のWindowsプログラム開発が行えるようになったが、インターネット時代に入って数年が経過し、今年ようやく、.NET Framework(ドットネット・フレームワーク)という真打ちが登場した。
Webサービスとは何か
今年登場した、インターネット時代に即したソフトウェアの考え方を「Webサービス」と呼んでいる。これは、インターネットに接続されたサーバが、固有の関数(機能)を持ち、その関数を組み合わせて各種の業務を行うという考え方である。様々なハードウェアやOSが混在するインターネット環境の中で縦横無尽にコミュニケーションを行う、第三世代の技術である。
インターネット世代 サービス マークアップ言語 第一世代(1980〜) 電子メール、ftp 第二世代(1993〜) ブラウザー HTML 第三世代(2001〜) Webサービス XML
インターネットには30年近い歴史があるが、爆発的な普及が始まったのは、1993年、世界初のブラウザー「Mosaic」の登場であった。イリノイ大学の学生、マーク・アンドリーセンが開発したこのソフトウェアは、SGMLの簡易版であるHTMLというマークアップ言語を使用し、URLを叩けば、世界中の情報をビジュアルに表示できる仕組みを開発した。その後、彼はこれを事業化し、ネットスケープ社を設立した。
ブラウザーはあくまでも、人間がインターネットのサーバとコミュニケーションをとるための手段であるが、最近のRossetaNet(http://www.rosettanet.gr.jp/)に代表される電子商取引では、サーバとサーバが勝手にコミュニケーションし、商品の売り買いを自動で行っている。
このようなサーバ間やサーバとクライアントなど、コンピュータ間で会話を行うための言語が、話題のXMLであり、その会話の仕組みが、IBMが中心となって策定したSOAP(Simple Object Access Protocol)であり、このような考え方を「Webサービス」と呼んでいる。
これから登場する多くのWebサービスについて、どのようなWebサービスを誰が運営し、どうしたら使えるのか?という、WebサービスのYahoo!のような仕組みであるUDDI(Universal Description,Discover and Integration)もスタートしている。
Webサービスでのソフトウェア開発方法
OSの表とインターネット世代の表を照らし合わせると、.NET FrameworkはWebサービスを実現するライブラリなので、この部分が合致している。つまり、インターネット時代の本物の開発環境が、今年、やっと登場したことになる。
イーストは「パーソナル・コンピュータとともに」というキャッチフレーズの通り、CP/Mの時代から、パソコン向けのソフトウェア開発を行ってきた。10数年前に、MS-DOSからWindowsへのソフトウェア開発環境の変化を経験したが、今回のWebサービスは、それに匹敵する大きなソフトウェアの変革だと認識している。
言語好きの日本人は、C#(シーシャープ)ばかりに目が向いているが、言語としてのJavaを発展させたC#は、マニュアルを読めば、その制御構造などは容易に理解できる。Webサービスは、インターネット技術やXMLの上に構築されるものなので、これらを理解し、加えて、.NET Frameworkという仕組みを理解する必要がある。
10数年前、ソフトウェア開発は、「設計、製造、試験」の三工程で行われていたが、最近は、「調査、設計、製造、試験」の四工程となっている。インターネット技術はまさしくドッグイヤーで進歩しており、ハードウェアは相変わらず、「18ヶ月で倍」という急激な成長を維持している。18ヶ月で、CPUは倍の速さになり、メモリは半額になり、ハードディスクは容量が二倍になるのである。
調査工程が全体の七割を占める作業などもあるが、.NET Frameworkなどの新しい技術を早期に得とくし、今後の技術潮流に即したシステムを開発すれば、将来の機能強化に柔軟に対応でき、他システムとの連動も可能になる。
具体的には、最近、様々な雑誌に添付されている、VisualStudio.NETという開発環境を使うが、SOAPなども容易に扱えるし、Mobile Internet Toolkitという便利な仕組みも入っているので、iモードなどの携帯電話に対応した、Web配信も行える。
XMLエバンジェリスト岡部惠造氏は「XMLは規律・垂直・統制から自立・分散・協調への革命である」と自著で語られているが、このXMLを基盤としたWebサービスを使って、以下のようなシステムを開発中である。
・電子辞書「取次」システム
・電子書籍「取次」システム
・書籍情報配信システム
・海外向け、書籍情報配信システム
Webサービスによって電子書籍や電子辞書がどのように進歩していくかについては、今後の連載で具体的にご紹介する。
Kazuo Shimokawa [EAST Co., Ltd.]