6

Java が言語であることは知っていますが、ASP.NET で作成した Web アプリと連携する Web アプリケーションを作成できるかどうか尋ねられました。XML を提供する Web サービスを実装しているので、言語に依存しません。

ただし、Java ルートをたどることが理にかなっているのかどうかは、100% 確信が持てません。PHP または ASP.NET のサーバー側コードに Ajax/JavaScript を使用するか、JScript を使用したより重いクライアント JavaScript プログラムを使用することを期待していました。

Web アプリケーションに付属する場合の基本的な Java 環境について誰か説明してもらえますか? 私は次のことを推測しました - 私は正しい木を吠えていますか?

  • ASP.NET のように実行される Java は JSP と呼ばれます
  • JavaBeans は .NET フレームワークに少し似ています。つまり、再利用可能なコンポーネントのライブラリです。
  • Java EE は、サーバー上に Web ページを構築するためのフレームワークであるという点で、ASP.NET に少し似ています。
  • Java はクライアントでも実行できますが、Java VM のインストールが必要です。

クライアントで Java を実行する場合、JavaBeans を使用できますか? フレームワークはありますか? JScriptも使えますか?JScript は JavaScript ライブラリであるため、そうは思いません。

サーバー上で Java を実行しても問題ありませんが、これは比較的小さなアプリケーションであるため、Java は少しやり過ぎのように思えます。PHP または ASP.NET の方が適していると感じます。

しかし、ブラウザーの Java アプレットにアクセスする必要はないと思います。必要のない複雑さが増します。

4

7 に答える 7

11

いくつかの用語を定義してみましょう (必ずしも 100% 正確ではありませんが、理解できます)。

  • Java: 言語、JVM、プラットフォーム、アイデアなど、さまざまなことが考えられます。
  • Java SE: Java Standard Edition: デスクトップ アプリケーションの実行に使用される「通常の」Java。これは、以前は「Java 2 SE」および「J2SE」と呼ばれていました。
  • Java EE: Java エンタープライズ版。Web アプリケーションやその他のより複雑な機能を開発するためのエンタープライズ レベルのスタック (大量のコンポーネントを含む)。これは、以前は「Java 2 EE」および「J2EE」と呼ばれていました。
  • JSP: Java サーバー ページ。HTML/XML コンテンツを Java スクリプトレットと混合できる言語。ASP.NET とほとんど同じです。
  • Java Beans (注: 「JavaBeans」ではありません): プロパティとメソッドを自動的に検出できるようにクラスを記述する方法を記述した、かなり軽量な仕様です。Enterprise Java Beans (EJB) と混同しないでください。
  • Enterprise Java Beans / EJB: Java Beans の兄弟である、はるかに複雑な Java Beans。アプリケーションの一部をカプセル化できます。ひどく複雑で使いにくい (最近のバージョンでは少し改善されましたが、その変更は遅れているようです)。

JScript は JavaScript の Microsoft の方言であり、Java とはまったく関係ありません。

ちなみに、JavaScript も Java とは何の関係もありません。唯一の類似点は、名前の最初の 4 文字と、構文の表面的な類似性です。

つまり、基本的には、単純に XML を提供するアプリケーションとインターフェースをとる Java アプリケーションを作成したい場合、Java は間違いなくこれに適しています。これには Java EE テクノロジーは必要ありません。これには Java SE で十分です。

編集:(小規模な)WebアプリケーションにJava EEスタック全体を使用しないことは、かなり一般的な方法であることに注意してください。具体的には、広く使用されているApache Tomcatは完全な Java EE サーバー (Java EE 仕様で要求されている) ではなく、JSP およびサーブレット標準 (Java EE の 2 つのコア部分) の実装です。Java EE のより複雑な機能を使用していないため、非常に多くの便利な Java Web アプリケーションを問題なく実行できます。

于 2009-08-05T12:27:35.980 に答える
4

ASP.NET のように実行される Java は JSP と呼ばれます

これは事実です。従来の JSP ページは従来の ASP ページによく似ています。ASPX のような「分離コード」はありません。

Java の大きな違いは、Web フレームワークがサーブレットと呼ばれるものに基づいていることです。サーブレットは、生の HTTP 要求 (get、post など) を処理し、応答を吐き出すという点で、ASP.NET の "axd" に少し似ています。

そのサーブレットの「ベース」の上には、他の多くのフレームワークがあります。JSP はその 1 つです (JSP は最終的にサーバーによってサーブレットにコンパイルされます)。JSF、Struts、Tapestry、およびその他の多くも、このベースに基づいて構築されています。.NET の世界では、ASP.NET (分離コードを含む .aspx ページ) または .NET MVC の 2 つの選択肢があります。ほとんどの Java Web フレームワークは .NET MVC に似ていますが、(私が理解しているように) JSF は ASP.NET に似ています。

JavaBeans は .NET フレームワークに少し似ています。つまり、再利用可能なコンポーネントのライブラリです。

あまり。あなたが考えているのは、すべての Java アプリケーションが構築される基本的なフレームワークである J2SE です。コレクション クラス、ソケット、セキュリティなどがあります。ゲッターとセッターなど)

Java EE は、サーバー上に Web ページを構築するためのフレームワークであるという点で、ASP.NET に少し似ています。

これは多かれ少なかれ正しいです。J2EE は、Web 開発を行うための J2SE の拡張機能です (.NET に直接同等のものがないまったく別のワックスの玉である EJB も同様です)。

Java はクライアントでも実行できますが、Java VM のインストールが必要です。

ええそれはそうです。.NET を使用してデスクトップ アプリケーションや Web アプリケーションを開発できるのと同じように、Java を同じ方法で使用できます。どちらの場合も、ランタイムが必要です (それが Java VM か .NET フレームワークかに関係なく)。

Java と PHP と .NET の使用に関するあなたの評価については、私はそれらすべてを使用してきましたが、Java は最も複雑ですが、非常に大規模なアプリケーションには非常に強力であると言えます。PHP は最も簡単で、小さなアプリには最適ですが、規模が大きくなると面倒になる可能性があります。ASP.NET はかなりバランスが取れています。PHP よりもかなり複雑ですが、はるかに強力です。

于 2009-08-05T12:37:20.400 に答える
1

それは風景のかなり良い概観のようです。

クライアントで本当に複雑な処理が必要な場合は、アプレット アプローチの評価に同意します。それ以外の場合は、JavaScript で拡張された HTML で問題ありませんが、ブラウザー間で移植できるようにするための作業もあります。

サーバー側の側面は非常に興味深いものです。Web サービスを使用する人が既に Java に堪能であり、おそらく既に Web アプリ インフラストラクチャを導入している場合、Java の使用について心配する必要はありません。

したがって、彼らがそれを書いている場合は、彼らにやらせてください。

一方、.Net プログラマーは Java のスキルアップを求められています。それは自明ではないと思います (そして、私は Blue コアに対して Java です)。フィールドの状況 php やSmashなどを使用します

JE の意味での Java の利点、または本格的な .Net アプローチであると思われるのは、スケーラブルで、分類しやすく、管理しやすい (それは言葉ですか?) ソリューションが得られることです。関数が小さくて簡単だからといって、頻繁に使用されるとは限りません。

于 2009-08-05T12:32:08.853 に答える
0

本当にJavaである必要がありますか?おそらく、ASP.NETWebサービスを使用するJRubyまたはGroovyを使用して小さなWebアプリを作成できます。JRuby、Groovy、およびプレーンな古いJavaには、WSDLを使用してその場でクライアントを作成できるツール(つまり、Apache CFX)があります。

そうは言っても、このJavaクライアントがどのように使用されるのかを正確に知らずに良い提案をするのは難しいです。それは実際のユーザーとのインターフェースになるのでしょうか、それともバッチジョブのようなものでしょうか?

後者の場合は、JavaまたはJRuby/Groovyを使用してすばやくノックアウトできます。後のテクノロジーはjarにコンパイルできるため、JVMで実行できます。

ユーザーが直面する場合は、Webクライアントまたはシッククライアントを作成する必要があります。

前者の場合、JRuby / Groovyルートに移動して、小さなWebアプリを作成し、それを簡素化されたJetty / GlassFish/Tomcatアプリサーバーにデプロイできます。または、Javaの方法で、多くのフレームワークの1つを使用することもできます。

JVM言語の選択とは関係なく、シッククライアントよりもWebアプリを作成する方がはるかに簡単です。残念ながら、優れたUIデザインを備えたJavaを使用して重要なGUIクライアントを作成することは簡単な作業ではありません。私はWebクライアントとシッククライアントの両方を使用してきましたが、それが私の経験です(YMMV)。

Webコンテナを使用するオーバーヘッドについて考えるのはそれほど心配していません。約500mgのコンテナーで無駄のないWebアプリを実行できます(サーバーの場合は水滴になります)。

また、JSPを使用せずにプレーンサーブレットに固執する場合(つまり、サーブレットがHTML出力を作成する場合)、1MB未満で実行できるTJWSLWSWinstoneなどの非常に意味のある無駄のない小さなサーブレットコンテナを使用できます。

それが役に立てば幸い。

于 2010-04-03T22:12:03.180 に答える
0

あなたがウェブサービスを書いているのか、それともすでに書かれていて誰かがそれを使いたいだけなのか、私には完全にはわかりません。

彼らがあなたのウェブサービスに電話をかけたいだけなら、それは言語に依存しないので、彼らがどの言語/ライブラリを使用するかは問題ではないはずです。

Webサービスを作成している場合も、どの言語を使用するかは問題ではありません。使い慣れた、優れたライブラリを備えた言語を選択するだけです。

Javaを使用することにした場合、私はAxis2の経験があり、Javaが何をしているのかを理解すれば、とてもシンプルです。POJO(Plain Old Java Object)を記述して、公開したいものをAxisに伝えることができます。それをTomcatまたは同様のものにロードすれば、準備は完了です。

于 2009-08-05T12:54:23.720 に答える
0

-- あなたが聞いていない質問に対する短い答え:) -- Java は正常に動作するはずです。Java があなたのクライアント、パートナー、または最も快適に使用できるものである場合は、Java を使用させてください。

具体的には:

  • WSDL を使用して通常の SOAP Web サービスを作成したことがある場合、Java アプリはそれと通信するのに問題はないはずです。私は、.NET Web サービスと通信する Java クライアントと、Java Web サービスと通信する .NET クライアントを作成しました。常に少し手間がかかりますが、サービスが埋め込みバイナリ オブジェクトなどを送信していない限り、深刻な問題はありません。そのような非標準。

  • HTTP 経由で未加工の XML を提供するものを作成したばかりであれば、Java は .NET よりも問題を抱えていないはずです。

Jettyのような軽量サーバーを使用する場合、Java は必ずしも PHP や ASP.NET よりも重いわけではありません。ブラウザ アプレットを使用する必要はありません。また、Java には、Web サービスと通信するための堅牢で安定したライブラリがあります。(PHP もそうですが、Java のほうがそれほど頻繁に実行されていなければ、私は驚かれることでしょう。)

その他の質問については、ウィキペディアの記事「.NET Framework: .NET vs. Java and J2EE」を参照してください。


* 彼らがあなたに Web サービスの終わりを書いてほしいと思っいるなら、それはまったく別の球技です。おそらく、彼らは本当に、本当に再利用する必要のある既存の Java インフラストラクチャを持っている可能性があり ます。それが彼らがあなたに使わせるべきものです。Microsoft が気に入らない場合は、Monoで実行することを伝えてください。

于 2009-08-05T13:50:14.247 に答える
0

物事をうまく処理しているようですね。

小さな Web アプリケーションに J2EE を使用することをためらうのは正しいことです。この .NET/J2EE機能の比較は役に立ちました。特に、Microsoft と Sun によって開発されたテスト プロジェクトのコストと複雑さの 2 番目のグラフの比較に注意してください。

Java は非常に強力ですが、大規模な Web アプリケーションに適しています。この場合、ASP/.NET に対するあなたの好みに同意する傾向があります。

于 2009-08-05T12:28:16.433 に答える