IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  WebSphere  >

WSAD vs. NET比較資料公開

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません


WebSphere, , IBM

2002年 04月 19日

Microsoft Visual Studio .NETを使用した場合とIBM WebSphereを使用した場合のWebサービスの作成に関して、Microsoftの誤解を招きやすい白書について解説します。

IBM WebSphere Studioを使用してWebサービスを正しく構築する方法

【レコードの連続的な設定】

この資料は、Microsoftの発表した、Microsoft Visual Studio .NETを使用した場合とIBM WebSphere V4.0(WebSphere)を使用した場合のWebサービスの作成に関する白書に答えるものです。Microsoftは、Webサービスを作成する場合に.NETのほうがWebSphereより利点が大きいと主張しています。Microsoftはこの主張を裏付けるため、独立コンサルティング会社に.NETとWebSphere(Microsoft自体の言葉で言えば、XMLベースWebサービスに最も高度なサポートを提供するJ2EEプラットフォーム)の両方を使用したWebサービスのベンチマーク・テストを委託しました。Microsoftは、このベンチマーク・テストの結果、.NETはWebサービスの開発のための優れたプラットフォームであるということを主張していますが、単純にそうだとは言えません。

当資料で私たちは、単にIBMがWebサービスを作成するための優れたプラットフォームを提供していることを示すだけではなく、Microsoftがどのようにお客さまに誤解を与えようとしたかについても示します。具体的には特に、ベンチマークが正しく(つまり、所定の結果を生むことを意図した方法でない方法で)行われると、WebSphereは少ないステップと少ないコード行で、かつ異機種環境(Windows環境だけでなく)で、一層高速で安価にWebサービスのサンプルを作成したことも紹介します。結局のところ、WebSphereがWebサービス開発のための優れたプラットフォームであることは間違いのないことなのです。

【Webサービスを正しい方法で構築】

Microsoftが実際に何を行ったかをお伝えする前に、Webサービスを正しく構築する方法を簡単に説明しましょう。Webサービスを正しく構築する方法について重要な点が2つあります。

  1. オープン・スタンダードを使用してプラットフォーム間の移植性を保証すること
  2. 最も高度な汎用ツールを使用して手動作成コードを削減すること

Microsoftは上記の2つとも行いませんでした。

Webサービスというのは、標準の手法でアプリケーションやデータの通信と記述を行う相互運用性の観点で重要な進歩を表す技術です。しかし大半の企業では、それ以上を、複数のプラットフォームやベンダー間でのアプリケーションへの投資を保護できるようにしたいと望んでいます。WebSphereの提供するJ2EEを選択すれば、LinuxからzOS、さらに多くの追加オペレーティング・システムや、複数のベンダー各社から得られるミドルウェア環境で動作するWebサービスを作成することができるのです。

WebSphereを使用すれば、手動作成コード行を.NETによる場合の106行から1行へ減らすことができます(99%の削減)。WebSphereには、既存のアプリケーションから高速にWebサービスを作成するための高度なWebサービス・ウィザードとXMLツールが組み込まれています。統合アプリケーション・サーバーでは、NT、Linux、iSeries、zSeriesなどの複数のプラットフォーム間で高速なテストとデバッグが可能になります。

【Microsoftが行ったこと】

Microsoftは.NETがWebサービスを作成する点でJ2EEより優れていると示したかったため、PetShopというSunのサンプルを使用しました。前述のように、[MicrosoftがIBM WebSphere 4.0を選択したのは、市場の主要なJ2EEアプリケーション・サーバーのXMLベースWebサービスに対してIBM WebSphere 4.0が最も高度なサポートを持っていると私たちIBMが信じているからです。](1)IBMでは、MicrosoftがWebサービスに対するIBMの業界最先端のサポートを認めていることに感謝しています。

Microsoftでは、Visual Studio.NETのベータ・リリースを使用して、比較的単純なWebサービスを作成しました。このWebサービスを使用すると、ブラウザー上でWebページに注文番号を入力することができます。次に、アプリケーション・サーバーはこの注文番号を使用してWebサービスをバックエンド・サーバーに呼び出します。最後に、バックエンド・サーバーはストアード・プロシージャーを実行して注文の明細を調べ、情報を返します。ミドルウェアには、MicrosoftのIISとSQL Server(もちろん、すべてMicrosoftインプリメンテーション)が含まれています。IBMインプリメンテーションの場合は、WebSphere Application Server V4.0とOracle 8iをデータベース・サーバーに使用します。どのオペレーティング・システムが使用されたかを推測する際は注意してください。

Microsoftは、データベースへのSQLコールを使用するのではなくストアード・プロシージャーを使用することによって、サービスを非常に複雑にしてしまいました。Microsoftは、おそらく、IBMアーキテクチャー用の追加ツールを要求できるようにこのアーキテクチャーを選択したと思われます。SQLコールを使用すれば、データベース・ウィザードでアプリケーションを作成できたので、Webサービスを作成する時間と労力がさらに削減されたと思われます。Microsoftでは、ストアード・プロシージャーが単純なデータ構造ではなくデータ配列を返すこともあって、サービスをさらに複雑にしてしまいました。ストアード・プロシージャー自体は移植可能な形式で書けますが、Microsoftのインプリメンテーションでは通常はベンダー固有の仕様になっています。そのストアード・プロシージャーを移行するということは、データベース間の移行というさらに困難な作業のうちの一つとなってしまいます。

IBM用のWebサービスを作成するために、Microsoftでは以下のツールを使用しました。

  • IBM WebSphere V4 Admin Console
  • IBM WebSphere Assembly Tool
  • IBM SoapEarEnabler
  • IBM WebSphere Studio V4.0(2)
  • VisualAge for Java V4.0
  • IBM Webサービス Toolkit(AlphaWorksより)
  • Oracle DBA ツール

サマリーでは、6つのツールが使用されたことを示していますが、VisualAge for Javaはリストにありません。おそらく、MicrosoftではコピーがStudioに含まれているので、VisualAge for JavaをWebSphere Studioの一部と見なしているからだと思われます。また、Microsoftがなぜ3つの個別のツールとしてWebSphere Application Server(Admin Console、Assembly Tool、SoapEarEnabler)の標準機能をリストしているかがはっきりしません。おそらく、WebSphereで開発するほうが難しいか費用がかかると誤って考えてしまうのでしょう。

Java beanからWebサービスを作成するためのWebSphere Studio V4.0では、ウィザードを使用する手法で単純なパラメーター(整数、文字列など)だけをサポートします。したがって、MicrosoftではWebサービス Description Language(WSDL)ファイルを手作業で書き、IBM Webサービス Toolkitを使用してJavaスケルトンbeanを作成し、VisualAge for Javaでインプリメンテーションのコンテンツを書き、Application Serverツールなどを使用してJ2EEアプリケーション内へJavaコードを変更入力しました。当然、このプロセスや多数の異なるツールを使用しているので、Microsoftの経験はあまり積極的なものとは言えませんでした。

IBMでは、WebSphere Studio Application Developer V4.0(WebSphere Studio)を使用するように推奨しています。たとえ調査が行われたとしても、ベータ・バージョンを自由にダウンロードでき、そのベータ・バージョンで1つのツールを使用してWebサービスを実行できたと思われます。このベータ・リリースはWebサービスウィザード(PetShop Java beanで使用される)内の配列をサポートしなかったので、以下の分析の場合より多くの手動作成コードが必要だったと思われます。に発表されたWebSphere Studioは、Webサービスの開発、導入、テスト、デバッグのための完全な統合環境を提供します。

【Microsoftの見当違い】

[Webサービスを簡単にコード化]

Microsoftは、.NETでは9ステップで4時間(238分)以内にWebサービスを作成するのに対して、WebSphereでは14ステップで9時間(550分)以上かかるというサマリー結果を出しました。しかし、WebSphere Studioを使用すると、8ステップで3時間(184分)と少々で済むのです。

さらに、Microsoftの.NETではビジネス・ロジックからWebサービスを作成するのに89行のカスタム・コードが必要でした。WebSphere Studioではカスタム・コード行が不要(つまり、0行)でした。Webサービスのコードはすべて、IBMのウィザードから作成されました。

Microsoftの.NETでは、Webサービスを使用するのにコード行が17行必要でした。WebSphere Studioでは、Webサービスを使用するのに手動作成コードを1行(文字通り、1行)しか必要としませんでした。JSPコードの1行以外のすべての行は、ウィザードから作成できました。

Webサービスを作成して使用するためのMicrosoftの.NET手動作成コードの総数: 106 Webサービスを作成して使用するためのWebSphere Studio手動作成コードの総数: 1

【手動作成コード行数をなんと99%削減!】

MicrosoftによるWebSphereの分析では、Webサービス Description Language(WSDL)ファイルの手動コーディングなど、Webサービスを構築するために非常に異なるプロセスを使用していました。以下のプロセスでは、それと同じプロセスを使用し、1つ少ないステップでそれより多くのことを行います。

【開発処理のステップ・サマリー】

ステップ説明ツール時間
1Webプロジェクト・ウィザードを立ち上げて、PetWebServiceEARプロジェクトとPetWebService Webを作成します。WebSphere Studio1分
2ビジネス・ロジックでPetWebService Classを作成して、Stored Procedureにアクセスします。WebSphere Studio90分
3WebSphere Test Server ConfigurationとInstanceを作成します。WebSphere Studio1分
4WebSphere Test Server Dataソース設定値を設定します(ストアード・プロシージャー・コールを行うため)。WebSphere Studio2分
5Webサービスウィザードを立ち上げ、WSDLファイル、SOAP配置記述子、クライアント・プロキシー・コード、サンプル・アプリケーションを作成して、WebSphere 4.0 Test Environmentに導入し、UDDI Registryに導入します。WebSphere Studio10分
6クライアント・プロキシー・コードとWebサービスからデータベースまでをテストします(Java beanビジネス・ロジックをデバッグします)。WebSphere Studio30分
7Java Bean Web Creation Wizardを使用して、Javaクラス・ファイルから入力ページと結果ページを作成します。WebSphere Studio20分
83階層すべてを使用してデバッグできるアプリケーションを構築し、テストします。WebSphere Studio30分
全8ステップ 184分

[オープンvs専用、汎用vsベータ]

以下の記述は、お客さまがWebサービスを進めるときに使用しなければならない重要な決定基準の考察時に役立つもので、IBMがWeb上に公開する最初の回答となります。IBMでは、お客さまのニーズは異機種プラットフォームとミドルウェア間で動作するオープン・スタンダードとインプリメンテーションにあると確信しています。また、ただ単にベータ版の後のベータ版、その後のさらにベータ版というものだけではなく、お客さまに「製品」の出荷を行うということについても確信しています。

私たちは、Webサービス機能の提供に関してIBMとWebSphereがリーダーであるとするMicrosoftの認識に感謝しており、レコードを連続的に設定するだけの時間を取りたいと考えています。比較は多くの点で誤解を招きやすいのですが、少なくとも「甲乙つけがたい2製品の僅差の比較(apples to apples comparison)」を行う必要があります。その代わりに、矛盾するアルファ技術、ベータ技術、汎用技術を使用します。

しかし、さらに重要なことは、インターネットとJavaがすべてビジネスの柔軟性につながる選択(つまり、ハードウェアの選択、オペレーティング・システムの選択、言語の選択、開発用プラットフォームの選択)に関する問題であることをMicrosoftが忘れてしまったようなのです。企業は、最初から再構築されない現在と将来の投資をてこ入れする必要があります。

Microsoftからの明確なメッセージは、Java、J2EE、Sun Microsystems Solaris、IBM AIX、IBM i-series、IBM z-seriesなどの業界最先端の製品とプラットフォーム上でMicrosoftのツールが動作できないということです。私たちはクタクタになるまでベンチマークをすべて見積もることができますが、最終的にはそれは専用とシングル・ベンダー対オープンとマルチベンダーとの比較の問題なのです。

測定基準Microsoft.NETIBM WebSphere
ハードウェアの選択IntelHP 9000、Intel、i-series、PowerPC、Sparc、z-series
オペレーティング・システムの選択WindowsAIX、HP-UX、Linux、OS/400、Solaris、Windows、zOS
同機種環境か異機種環境か?同機種異機種
インフラを拡張するか、最初から構築するか?初めから構築するインフラを拡張する
アルファ製品、ベータ製品、汎用製品のいずれを使用するか?ベータ製品主として汎用製品
ツール・ベンダー企業の選択は?Microsoftから.NETのみIBM、Borland、WebGain、Macromedia
JavaとJ2EEのサポートJavaサポートはほとんどなしあり。業界標準サポートを提供
C# Supportありなし

オープン・インプリメンテーションにマーケット・ニーズがあることを証明する別の例として、IBMはEclipse.orgに対してWebSphere Studio Workbenchの基礎としてEclipseソフトウェアを寄贈したことが挙げられます。Eclipseは開発ツールの新時代到来を告げ、複数のベンダー各社からツールをシームレスに統合する機能を提供するものです。

[覚えやすさ]

Microsoftは、次のように主張しています。『WebサービスはVisualStudio.NETとは切り離せないものであり、中核製品には既存のプロジェクト・テンプレートと分厚いドキュメントが付いている。また、Webサービスを作成するためのほとんどすべての作業は、ツールで自動的に処理される。したがって、習得時間は非常に少ない。』(3)、と。 ただし、実際には、.NETフレームワーク全体というのはMicrosoftが長年促進してきたCOMやDCOMのアーキテクチャーから根本的に異なるミドルウェアのセットなのです。

それに対して、WebサービスのパラダイムはWeb ApplicationsのJ2EE標準に対する小さな機能拡張にすぎません。

WebSphere Studioには、以下のセクションを持つ非常に優れたドキュメントがあります。

  • Webサービスアプリケーションなどの完全なアプリケーションの構築についてステップ・バイ・ステップ方式で説明するシナリオ・セクション。病院のシナリオでは、2つのリモート・サービスにリンクするWebサービスアプリケーションを作成する方法をユーザーに示します。
  • UDDI、WSDL、SOAP、DADXなどのWebサービスコンセプトについて説明するコンセプト・セクション。
  • Java BeanからWebサービスを作成するなどの特定のタスクを実行する方法について説明するタスク・セクション。

エンドユーザーが.NETを覚えることができるとMicrosoftが主張するのと同様に、お客さまはWebSphere Studioを使用して1日でWebサービスの作成を簡単に覚えることができます。

[この単純なWebサービスを作成するコスト]

Microsoftは、新しいツールを覚えたりWebサービスを作成する時間数に基づいて、Webサービスの作成にかかるコストを設定します。最後の2つのセクションでわかるように、WebSphere StudioではWebサービスを作成する時間を短縮し、手動作成コード行数を大幅に減らし、比較可能な習得コストとなっています。コストを比較した結果は、WebSphereのほうが有利です。

-Microsoft.NETWebSphere Studio
Webサービス構築に要する 時間合計11.97時間
(習得時間、8時間を含む)
11.02時間
(習得時間、8時間を含む)
このWebサービスのコスト$2,393
(@$200.00/時間当たり(4)
$2,203
(@$200.00/時間当たり)

単一ケースのコスト比較を行った後、Microsoftはさらに完全なプロジェクトで推定比較しています。大きいプロジェクトでは、開発者が費やす時間の大半はコーディングを行うことなので、WebSphere Studioのほうが優れて見えます。WebSphere Studioでは、書き込むコード行は99%少なくなり、タスクも25%高速に行えます。

Microsoftの比較では、Webサービスを導入するコストも追加して、サーバーのコストについて非常に誤解を招きやすい比較を使用しています。

【Microsoft .NET Frameworkのコスト】

Microsoftでは、ミドルウェのソフトウェア用のサーバー当たりわずか$3,999のコストしかかからないので、4つの8ウェイ・プロセッサーの場合のコストは$15,996であると主張しています。しかし、この主張ではMicrosoftのClient Access Licensesを考慮していません。Microsoftでは、サーバーで認証されるユーザーごとに追加料金を要求します。ペット・ショップのシナリオでは、どのユーザーでも最初にシステムにログインせずにパブリックWebサイトに行ってこの注文情報を要求できたとは思われません。そしてまた、バックエンドのWebサービスでは、どのサーバーといえども適切な認証なしにこの情報を要求できません。

Microsoftは、Client Access Licenses(CALs)のパッケージをさまざまな値段、たとえば、200人のユーザーに$9,999で提供しています。Internet Connector License Optionを$1,999で提供していますが、これを使用してインターネット・ユーザーが無制限にサーバーにアクセスできます。ここでいうインターネット・ユーザーとは、[御社に雇われている人以外の人でインターネットに接続している人、あるいは御社に商品かサービスを提供しているか、御社の代わりに商品かサービスを提供している人](5)と定義されています。したがって、このライセンスを利用するかどうかは、Pet ShopとWebサービスを要求している人々との間の関係により決まります。

4,000のアフィリエート加盟小売業者、あるいは供給業者は、200ユーザーCALパッケージを20ライセンス必要とします。Webのサービスを利用する2つのサーバー上のこれらのCALは、$399,960(2 * 20 * $9,999)の追加支払いが必要です。認証されたフロント・エンド・サーバーがいくつWebサービスにアクセスするかによって、バック・エンド・サーバー上で追加CALを要求される場合があります。

Windows 2000を実際のWeb Application Serverと比較するのも、誤解を招きやすい説明です。Gartner Groupによれば、Windows 2000は数多くの機能を提供していますが、[コア機能を完全機能型のアプリケーション・サーバーに拡張する製品であるBizTalk Server、Host Integration Server、Application Center 2000を購入しなければなりません。](6) BizTalk Server 2000とSQL Serverの結合ライセンスはプロセッサー当たり$9,749です。これをMicrosoftプレゼンテーションの4つのサーバーに追加すると、Microsoftのサーバーのコストに$311,968が加算されます。

多数の変数を使用してMicrosoft .NET環境のコストを一般化するのは非常に困難です。Client Access Licensesと増設サーバーによって、Microsoftの白書で見積もられたコストに数百万ドルのコストが簡単に加算されます。

【WebSphere Application Serverのコスト】

Microsoftは、このWebサービスアプリケーションがCPU当たり$35,000のEnterprise Editionを必要とすると主張しています。したがって、それぞれ8つのCPUを持つ4つのサーバー上では、コストが$1,112,000(4 x 8 x $35,000)になると計算しています。しかし、アプリケーションではEnterprise Editionが不要なことは確かなことです。実際に、Microsoftの白書では、Advanced Edition Single Serverがコストを$256,000(4 x 8 x $8,000)に下げたことを示しています。

【サマリー】

WebSphere Studioの要点は次の通りです。

  • 汎用性
  • オープン・ソースのプラットフォームに準拠
  • オープンJ2EE標準をサポート
  • 複数のアプリケーション・サーバーに導入可能
  • 複数のサーバーとハードウェアのプラットフォームに導入可能
  • PetShop Webサービスの作成のために必要なコードをすべて生成
  • PetShop Webサービスの利用のために必要なコード行は1行のみ

WebSphereソフトウェアのプラットフォームは、Webサービスの作成と利用に優れていることは明らかなことです。

  1. [Building Web Services using with Microsoft .NET vs. IBM WebSphere 4.0.doc] October 2001
  2. この論文は、ProfessionalとAdvanced Editionのどちらを使ったかを述べていません。
  3. [Building Web Services using with Microsoft .NET vs. IBM WebSphere 4.0.doc] October 2001
  4. もちろん、予定開発原価は開発者のスキルによってかなり異なる場合があります。
  5. 資料URL: http://www.microsoft.com/windows2000/ advancedserver/howtobuy/pricing/changes.asp
  6. 資料: [Gartner Group report, Microsoft: An Application Server Vendor?] 23 October 2001


参考文献



著者について

WebSphere, IBM




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



 


 


不充分・不完全である大変素晴らしい
 


この記事を共有する

del.icio.us del.icio.us newsing newsing FC2ブックマーク FC2ブックマーク
Choix! Choix! ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
MM/memo MM/memo CZブックマーク CZブックマーク livedoorクリップ livedoorクリップ
はてなブックマーク はてなブックマーク Buzzurl(バザール) Buzzurl(バザール)




上に戻る


    日本IBMについて プライバシー お問い合わせ