2012-04-09 5 views
1

私はweb2pyで実行できるかどうかはわかりませんが、私はJava 1.6、Python2.7、web2pyを持っています。 、Eclipseがインストールされています。web2pyアプリケーションコードでJavaコードを使用できますか?

ユースケースは次のとおりです。

私はweb2pyのアプリケーションで一つのボタンを作成し、ボタンをクリックすると、それはJavaオブジェクトをインスタンス化し、さらにリモートマシンに接続することをJavaオブジェクトの特定のメソッドを呼び出す必要があります。

疑問は以下のとおりです。

  1. 我々は、サーバーので、web2pyのアプリケーションが簡単にアクセスできるweb2pyのために、特定のJavaクラスを展開することはできますか?

  2. Pythonコードからそのクラスをインポートすることはできますか?

  3. PythonコードからJavaオブジェクトをインスタンス化するにはどうすればいいですか?

  4. そして、PythonコードからJavaメソッドを呼び出す方法は?

よろしく、 Piks

答えて

2

私はWebサービスに探して検討します。 javaからurlを公開することができれば、それはロジックが実行されるjavaのメソッド/関数にルーティングされ、jsonオブジェクトを返します。 web2py urllib2では、リクエストを作成し、そのjsonをネイティブのPython辞書にデコードすることができます。 手掛かりは、オブジェクトのすべてのメソッドを公開し、オブジェクトをjsonとして前後に渡す必要があるということです。ほとんどのプログラミング言語で怖がらないでください。オブジェクトは、いくつかの特別な性質を持つhash_arrays /辞書です。したがって、オブジェクトを直列化して逆シリアル化してapriopriateのURLを公開することができればうまくいくでしょう。

また、jythonにweb2pyの実装があります。しかし、スタック全体がJVMに入り、私はもっと複雑に動作するかもしれません。

+0

私はあなたが言っていることを理解しました。私はそれを達成するために多くの余分な作業をする必要があるようです。したがって、Webサービスの実装に行くと、JAVAコードが必要です。別の方法で私のユースケースをもう一度入れます: 1. web2pyアプリケーションは、Webクライアントが稼働する1台のマシン上にあり、DBもそこにあります。 – piks

+0

私はWebサービス実装のために行って、いいえJavaコードが必要ですどのようにそれを達成するために必要ですか?別の方法で私のユースケースをもう一度入れます: 1. web2pyアプリケーションは、Webクライアントが稼働する1台のマシン上にあり、DBもそこにあります。 2.ユーザーは、リモートマシンからのURLを使用してweb2pyアプリケーションにアクセスし、DBに保存されたコンテンツにアクセスしてユーザーに表示することができます。 3.サーバーは、Webサービスサーバーがインストールされている1つのリモートシステムと通信し、そこから必要なデータをフェッチしてDBに保存できます。 私はウェブサービスの新しい蜂ですので、達成するための基本的な考え方を教えてください。 – piks

+0

本の中には、web2pyの中からwebサービスを公開する方法についての説明が書かれています。私はjavaに精通していませんが、URLアドレスとして特定の機能を公開し、基本的な投稿と取得を提供するいくつかのマイクロフレームワークがあると確信しています。 あなたがしなければならないことは、それらの関数がjsonsを返すようにしてから、urllibを使ってリクエストすることです。私はそれが価値があるならば自分自身に答えるだろう...私はあなたがそれをJavaスタックとの闘争よりも速く書き直すだろうと思っているいくつかの簡単なクラスのために。 –

0

javaがすべてリモートマシンに接続している場合は、Pythonで再実装することを強くお勧めします。それは実質的な何かをやっている場合は、その前にWebインターフェイスを置くことを検討

(私はこれのためにsparkマイクロフレームが好き)、あなたはrequestsモジュールを使用して、それに話すことができます(ピップ経由でそれを得ます)。

関連する問題