- PR -

Web Serviceにおける ejb-jar.xml につきまして

1
投稿者投稿内容
be1300cc
ベテラン
会議室デビュー日: 2002/07/04
投稿数: 88
投稿日時: 2003-12-24 10:04
お世話になります。be1300ccと申します。
現在、AxisやSoapを使用しWeb Serviceを学習中なのですが、ejb-jar.xmlについて
質問させて頂きます。

現在着手中のアプリの中に、Javaファイルを解析する為に、ejb-jar.xmlを使用している
部分があるのですが、ejb-jar.xmlがWeb Serviceにおいては、どのような役割で、
誰がどのように使用するのかが、イマイチ分かりません。

端的で構いませんので、どなたか教えてきただけませんでしょうか?

ご享受よろしくお願いします。
たーにゃ
会議室デビュー日: 2004/01/15
投稿数: 3
投稿日時: 2004-01-16 05:04
ejb-jarファイル自体についてですが、
ejb-jarファイルはEJBコンポーネントのインタフェース情報をXMLとして記述するもので、EJBコンポーネントをWebLogic/WebSphere/JBossなどのアプリケーションサーバに配備(インストールみたいなもの)するときに利用される定義ファイルです。

Webサービスとの関係ですが、
Java向けWebサービス関連ライブラリはEJBコンポーネントをWebサービスとして公開する機能を持っていることが多く、スタブなど必要なソースコードを自動生成します。その際、EJBコンポーネントに関するインタフェース情報が必要となるため、ejb-jarファイルを利用することがあります。

まとめるとejb-jarファイルはもともとWebサービス用に作られた定義ファイルではなくアプリケーションサーバに配備するために作られたものなのですが、自動生成するために流用したという感じでしょうか。

またなぜEJBコンポーネントをWebサービスにする必要があるのかということも考えるべきですが、
まずEJBコンポーネントを利用するためには、クライアントがJNDI名前空間からEJBHomeオブジェクトを検索し、RMI-IIOPプロトコルで通信を行なう必要があります。このような特殊な方法はインターネット上でアクセスすることができず、同一LAN内など、クライアントマシンとサーバマシンの距離が近い場合にしか適用することができません。WebサービスはHTTP上でXML(SOAPエンベロープ)をやりとりすればよいわけで、EJBコンポーネントをWebサービス化すればインターネットからもアクセス可能になるため、Webサービス化する意義があるのだと思います。ただしEJBコンポーネントをWebサービス化すると、もともと近距離で使おうとしていたために起こる粒度の相違から、実際にはあまり使えないことが多いです。

長文ですいません。
be1300cc
ベテラン
会議室デビュー日: 2002/07/04
投稿数: 88
投稿日時: 2004-01-19 09:45
たーにゃさん、初めまして。
大変ご丁寧な説明をして頂きまして、ありがとうございました。
こちらを踏まえまして、再度学習を行いたいと思います。

また何かありましたら、よろしくお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)