3

Javaポータルでは、他のアプリケーションによって提供されるデータを含むポートレットを作成できます。既存のJavaポータルをDjangoアプリケーションに置き換えたいと考えています。これは、Javaポータルのポートレット表示機能を複製することを意味します。複製したい問題の2つのSun仕様は、JSR168とJSR286です。

cPythonソリューションが必要です。JythonやJavaではありません。それらのツールに反対するものは何もありません。私たちはそれらを使用しません。記録として、JythonベースのPortletpyは、私たちが目指しているのとは逆のことをします。

また、この質問は、JSR168/JSR286仕様がどのように機能するかについての私たちの誤解が原因であると思われます。JSR168 / JSR286は、ある種のコンテンツを別々のアプリケーション間で通信するための難解なプロトコルだと思いますが、Javaの世界では、SOAPなどの他の方法で行われる傾向があります。代わりに、問題は、これらのプロトコルが単にビューにコンテンツオブジェクトを表示する方法の定義であるということかもしれません。私たちがしなければならないのがSOAP呼び出しを処理し、データを表示することだけである場合、この質問全体は議論の余地があります。

以下の、私たちがやりたいと思うことの単純なアーキテクチャのイメージ:

代替テキスト

4

2 に答える 2

3

あなたがこれを行うことができるかどうかはわかりません。JSR 168から:

JSR168要求/応答処理

私が正しく理解していれば、図の既存の「Javaポータル/ポートレットコンテナ」の代わりにDjangoアプリケーションを使用する必要があります。残念ながら、ポートレットコンテナと個々のポートレット間のインターフェイスは、Webサービスとしてではなく、メモリ内API呼び出しを使用しています。Javaピースを呼び出してHTMLのチャンクを取得し、それをDjangoが提供するページに組み込むことができる、簡単なURLのようなインターフェースはありません。

JSR 286は更新であり、ポートレット間の通信、およびポートレットからのリソースの提供のためのメカニズムを改良しますが、上記のモデルを根本的に変更することはありません。

私はそれができなかったと言っているのではありません-それを行うための簡単で標準的な方法がないというだけです。

于 2009-09-05T09:36:07.567 に答える
0

これを回避する1つの方法は、WSRP(リモートポートレット用のWebサービス、Wikipediaを参照)プロデューサーを使用することです。このプロデューサーは、JSR 168/286をWebサービスに変換し、djangoから使用します。しかし、WSRPはあまり人気がなく、Pythonプラットフォームの実装を見つけることができなかったようです(部分的な作業は存在する可能性がありますが)。これに加えて、私もこのトピックに興味があります。

于 2011-03-23T12:13:58.260 に答える