2011-07-25 12 views
0

にリダイレクトI次の要件があります。Javaのソケットサーバー - Webアプリケーション(Webサービス)

は私があちこちに着信要求をlistenするソケットサーバーを作成する必要があります。ソケットクライアントはCで書かれています。クライアントはJSONデータを送ります。

クライアントの入力を別のソースにリダイレクトする必要があります。たとえば、内部または外部のWebサービス(SOAP、JAX-WS)を呼び出す必要があるかもしれません。

私の質問は、このようなコミュニケーションを達成する最良の方法は何ですか?

答えて

1

リダイレクトサービスをオブザーバとして実装し、オブザーバブル(リスンするソケットサーバ)が呼び出されたときに通知します。そのパターンに慣れていない場合は、http://en.wikipedia.org/wiki/Observer_patternをご覧ください。基本的には、リダイレクトサービスによって情報を積極的に引き出すのではなく、プロセスのチェーンの下に情報をプッシュすることによって情報フローを維持します。

あなたは、SOAP、JAX-WSなどの手助けが必要ではないと思いますが、そのようなサービスを通常どおり実装する方法には何も変わりません。 (私と同じように怠け者なら、wsimportコマンドラインアプリケーションに行ってください^^)

+0

私はスタンドアロンアプリケーションとしてソケットサーバーを実装しています)。あなたが言っていることを正しく理解していれば、このアプリケーションはWebサービスと直接対話してはいけません。私はこの観察可能なpaternを使用する場合、これは別のJavaアプリケーションとして実装する必要がありますか?それはWebサービスアプリケーションの一部であるべきですか? Webコンテナで実行する必要がありますか? – alex

+0

短い答えは:それは依存します:) ソケットサーバー(私が理解している限り)を既に持っているので、そこから始めてJSONデータの受信/マーシャル方法を変更しません。あなたはこのデータを入手したので、別のWebサービスやその他のものに送ることができます。実際にデータをオブザーバとしてWebサービスに送信するクラスを実装します。私は本当にあなたのコメントを理解していない。私はあなたがwebserviceと対話すべきではないと言ったことはありません。 – chzbrgla

+0

いいえ、私が言及したように、ソケットサーバーを作成する必要があります。私は非常に明確ではなかった、私はソケットサーバーがWebサービスと直接対話してはならない、という意味ですか?私はまだオブザーバーがどこに住んでいるべきか明確ではない。それはソケットサーバーアプリケーションの一部でなければならないのですか? – alex

関連する問題