- - PR -
Web Serviceの初歩的な質問
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-09-23 23:14
サーバはUnix+Javaで構築して、クライアントは VBなどで作ったWindowsアプリケーションで、Web Serviceを利用するシステム構築を検討しているのですが、的はずれでしょうか?
Web Serviceが提供する関数は、クライアントがどのOSにかかわらず、利用できると思っております。 少し調べたところでは、上記のような場合は、postやgetからのみしかWebServiceを利用できなく、WEB参照のような(comを利用するような)機能は、同一のプラットフォーム(クライアントもサーバ側も .NET のような)でなければ利用できない印象を持ったのですが、そうでしょうか? 将来サーバ側も Windowsにした場合に、クライアントのアプリケーションはそのまま使用でき、サーバ側のWeb Serviceだけ手直しで済ませることができないかを考えているのです。 Web Serviceはプラットフォームに関係ないと聞いています。 初心者ですがよろしくお願いします。 | ||||||||
|
投稿日時: 2003-09-23 23:28
こんにちは。米山@クロノスです。
的外れではないでしょう。 Visual Studio .NETでクラスライブラリの新規作成時に「Web参照の追加」でWebサービスのWSDLファイルを指定してやればいいだけだと思います。
Webサービスと言う言葉自体の定義はいろいろな広い意味で使われていますが、SOAPを使ったRPCと言う意味であればプラットフォームには依存しませんね。 リクエストとレスポンスのメッセージにはXMLを用い、通信には既存の標準プロトコル(HTTPなど)を利用できるので。 | ||||||||
|
投稿日時: 2003-09-24 12:55
中込です。
まず、Webサービスの目指すところは何で、現状はどこまで来ていて、今後どのように推移する兆しがでているかといったことを十分に把握なさるとよろしいと思います。 >>将来サーバ側も Windowsにした場合に、クライアントのアプリケーションはそのまま使用でき、サーバ側のWeb >>Serviceだけ手直しで済ませることができないかを考えているのです。 >>Web Serviceはプラットフォームに関係ないと聞いています。 >SOAPを使ったRPCと言う意味であればプラットフォームには依存しませんね。 私には、たてまえと実際を混同されているように感じられます。 Webサービスのインターオペラビリティは、「プラットフォームには依存しません」などと一言で 済ませられるレベルにまで到達していません。むしろ、実装によりまちまちですと申し上げたほうが より実情に近いと感じることすらあります。 このサイトでも、以下のような記事が掲載されました。 http://www.atmarkit.co.jp/fxml/tanpatsu/29wsitool/01.html このような記事から読み取っていただきたいことは、 「Webサービス基盤環境製品は出揃った。今後は先送りにしてきた相互運用性の向上に真剣に取り組む段階にきた。」 という隠されたメッセージです。(ちなみに、私はこの記事の著者と同じチームで、Webサービスの相互運用に取り組んでいます。) 単純に、異なるプラットフォーム間のSOAPによるRPCの実現というとことに的を絞ってみましても、 可能かどうかということについては、それをサポートする各基盤製品と、稼動する個々のサービスのインタフェースに依存することになります。 逆説的に申しますと、「どういった基盤製品をどのように使うか」ということと、「どのようなインターフェイスにするか」ということに十分留意しておけば、インターオペラビリティーが確保できると申し上げることが可能です。 以下などをご参考に、慎重にご検討されることをお勧めします。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1373&forum=9 [ メッセージ編集済み 編集者: nakagome 編集日時 2003-09-24 13:05 ] | ||||||||
|
投稿日時: 2003-09-24 13:33
こんにちは。クロノス@米山です。
そうですね。インターオペラビリティの部分で、現実にはそんなに単純ではないですね。 机上のテストレベルでは簡単にJavaとVBの連携はできますが、実運用に耐えることのできるシステムとなると話は別ということを付け加えておくべきでしたか。。。 ただ、horiakiさんの発想自体は、大きく的を外れているということはないと思いますので、中込さんの言われるように、「どういった基盤製品をどのように使うか」「どのようなインターフェイスにするか」をもう少し出していただければ具体的な回答もできますね。 | ||||||||
|
投稿日時: 2003-09-24 20:21
中込さん、米山さんご返答ありがとうございました。
紹介していただいた記事も読ませていただきました。 記事は相当難しく、道のりは長いことを実感しました。 皆さんの意見などから判断して、可能性はあると判断しました。 実際にこれから試験的に作っていこうと思います。 | ||||||||
|
投稿日時: 2003-09-25 18:26
中込です。
ServerをApache AXIS、クライアントをWin32のVB6.0アプリケーションという環境でソリューションを提供したことがあります。実際にはプロダクトの機能の一部としてバンドルしました。クライアント側のSOAP環境はPocketSOAPを使い、インプロセスCOMサーバとしてパッケージングしました。 その際、相互運用性を考慮したインタフェースに検討において、「Documentリテラルにする」か、「単純型に限定したRPCにするか」という議論が持ち上がりました。結論として、後者をとりました。 基本的にすべての引数を単純型にし、戻り値はxsd:string固定にしました。戻り値として、複合要素などを返したい場合は stringの中身をXML document(CDATA)にしました。 ご参考までに・・・。 |
1