IBM WebSphereアプリケーション・サーバー(以下WAS)は、J2EE準拠のアプリケーション・サーバーです。Webサービスは、ApacheSOAPをベースとしたランタイムによりWebコンテナ(サーブレット・エンジン)の上で稼動します。
製品名 | IBM WebSphereアプリケーション・サーバー V4.0 |
WebページURL | http://www.ibm.com/jp/software/websphere/ |
製品構成 | J2EE準拠サーバー機能においてSOAPサーバー ApacheSOAP-API によるクライアント機能 プライベートUDDI 稼動環境 |
動作OS(プラットフォーム) | Windows NT/2000、Linux/Intel、AS/400、AIX、OS/390、Linux/390、HP-UX、Sun Soralis |
推奨マシンスペック | プラットフォーム、業務規模によって変動 |
価格 | IBMへお問い合わせください。 |
お試し版の有無(ダウンロードサイト) | http://www-6.ibm.com/jp/software/websphere/download.html |
SOAP対応 | SOAP v1.1対応(ApacheSOAP v2.2実装) |
SOAP実装 | SOAP-RPC、メッセージング、SOAP添付、SOAP電子署名 基本型、ストリング、配列、複合型、Enumeration、Javaコレクションクラス他 |
トランスポート | HTTPーSOAP、HTTP-GET、HTTP-POST、HTTPS、SMTP、HTTPR、MQ |
UDDI | UDDI v1.0仕様:IBM DB2 UDB V7.2+IBM WebSphere Private UDDI Registry V1.0
Preview の追加で稼動可能 UDDI v2.0仕様:IBM DB2 UDB V7.2+IBM WebSphere UDDI Registry V1.1 の追加で稼動可能 |
WSDL | IBM WebSphere Studio シリーズでWSDL自動生成、プロキシー生成、スケルトン生成が可能 |
ebXMLのサポート | なし |
セキュリティ | SSL、基本認証、電子署名が利用可能 Tivoli と組み合わせることでより強固なセキュリティ管理機能を提供 |
フロー定義 | なし |
その他の分散オブジェクトとの連携 | WSIFによるJavaBean、EJB、CORBAとの連携、J2EEによるメインフレームとの連携 |
負荷分散 | 簡易負荷分散のほか、Edgeサーバーを組み合わせて超大規模システムに対応 |
開発言語 | フロントエンドにJavaを使うほか、PL/I、COBOL、RPG、C/C++など |
開発環境 | IBM WebSphere Studio シリーズ IBM WebSPhere Classic Studio+VisualAge for Java |
ツール郡 | 下記ソフトウェアの他、alphaWorksから入手 |
チュートリアル等のドキュメント | 上記Webサイト http://www.ibm.com/jp/software/webservices/ 翔泳社「Webサービス完全解説」 技術評論者「WebSphere Studio Webアプリケーション開発入門」 |
DB2は、IBMのリレーショナル・データベースです。DB2ではWORF(WebServices Object Runtime Framework)を提供しており、DB2の中の表形式のデータベースをプログラミングなしに、簡単にWebサービス化することができます。SOAPメッセージングとして、DB2表データをXMLに変換して取り出すことができます。自動生成されるXMLは、自動生成される形式のほか、XMLエクステンダーと組み合わせることで、自由なXML形式(DTD、XML Schemaを利用)に整形して出力することができます。
IBM WebSphere UDDI Registry は、プライベートUDDI サイトを構築するためのソフトウェアです。DB2上にUDDI のデータベースを構築し、以下の用途にUDDI を利用することができます。
IBM WebSphere Studio Application Developer(以下StudioAD)は、Java/J2EEアプリケーションを開発するための統合開発環境です。Javaサーブレット、JSP、EJB、JMS、J2C、DB2などのJava/J2EEアプリケーションを効率よく開発できます。Webサービスを開発するための各種ウィザード、XMLアプリケーションを開発するための数多くのエディター類、WebSphereやTomcatのインライン・デバッグを可能にする機能などを提供しています。
IBMでは発表前のプロトタイプ・ソフトウェアを多数公開しています。
IBMミドルウェアは多くのプラットフォームで提供されているため、プラットフォームによってインストール方法や前提ソフトウェアが異なります。前提システム、前提ソフトウェア、詳細な手順は、製品に付属するマニュアルを参照してください。ここでは、Windows版に限定して説明します。
前提として、以下のシステムを利用していると仮定します。
システム:インテル系 PC/CPU Pentium4 1GHz程度、メモリー 1GB程度 オペレーティング・システム:Microsoft Windows 2000+SP2 |
また、ここでは以下の製品を使用してWebSphereでWebサービスを稼動させる方法をご紹介します。
IBM WebSphere Studio Application Developer V4.03 |
製品は通常CD-ROMで配布されています。CD-ROMをドライブにマウントするとインストールが始まります。自動的に始まらないときは、setup.exeを実行してください。インストールのウィザードは特になにもせずに進めてかまいません。
以下の Java プログラムをWebサービス化します。
public class TestService { public String getMessage() { return "HelloWorld!"; } } |
StudioAD は、エクリプスと呼ばれるオープン・ソースのワークベンチ上で稼動します。ワークベンチ上にはたくさんの小さなウィンドウが開きます。これをビューといいます。ビューはいくつかの種類の組み合わせで同時ワークベンチ上に表示され、組み合わせを切り替えて作業することができます。組み合わせの単位のことを「パースペクティブ」といいます。
パースペクティブは、ワークベンチの左側にある「ショートカットバー」と呼ばれるボタンで切り替えることができます。
StudioADでは、開発を「プロジェクト」という単位(フォルダー)で管理します。必ずプロジェクトを作成する必要があります。
StudioADでは、Webサービス・アプリケーションをJ2EEのWebアプリケーションとして構築します。Webアプリケーションとして稼動させるには「EARファイル」の単位となる「エンタープライズ・アプリケーション」プロジェクトと「WARファイル」の単位となる「Web」プロジェクトを作る必要があります。
このファイルをWebサービスにするには、Webサービスのウィザードを使います。簡単なプログラムなので余計な設定は必要ありません。
上記の状態ですでにWSDL、SOAPのサービスとして公開されていますが、他のマシンからアクセスする場合には若干注意が必要です。
サービス記述WSDL | http://localhost:8080/wsadWeb/wsdl/TestService-service.wsdl |
バインディングWSDL | http://localhost:8080/wsadWeb/wsdl/TestService-binding.wsdl |
SOAPエンド・ポイント | http://localhost:8080/wsadWeb/wsdl/soap/rpcrouter |
ここで、「wsadWeb」の部分はコンテキスト・ルートといい、J2EEのWebアプリケーションのインストール単位で決まる任意名です。
外部からアクセスする場合、localhostの部分をホスト名に変更すればいいのですが、サービス記述WSDLから <import> 要素でバインディングWSDLを参照している部分がlocalhostになってしまっており、正しくアクセスできません。他のマシンからアクセスする場合には、WSDLファイルの<import>要素のURLを適切に修正してください。複合オブジェクトや配列を使うメソッドの場合は、バインディングWSDLが <import> 要素でXSD(XMLスキーマ・データ)を参照しますので、それも修正します。
以下の手順でWAS V4.0で稼動させることができます。
WAS アドバンスド版以上では、「リモート・サーバー」としてWASを登録することにより、StudioADから直接インストールすることも可能です。
Javaクライアントからアクセスする場合は、proxyパッケージの下にプロキシークラスが自動生成されますので、それを利用します。インスタンス化し、メソッドをアクセスするだけです。HTTPプロキシーの通過、基本認証へのログイン方法は、IBM のサイトに情報があります。