なぜJavaの世界では、Apache、Tomcat、JBoss、Jettyなどのさまざまなサーバーが非常に混乱しているのですか。.NETの世界では、IISだけがその役割を果たしています。私はそれの必要性と使用法を理解したいのですが、Java対.NETを始めていません。
いくつかの理由があります。
Java EEアプリサーバーは、分散コンポーネントのトランザクションモニターです。これは、これを達成するのに役立ついくつかの抽象化(たとえば、命名、プーリング、コンポーネントのライフサイクル、永続性、メッセージングなど)を提供します。
これらのサービスの多くは、Windowsオペレーティングシステムの一部です。Java EEはオペレーティングシステムに依存しないため、抽象化が必要です。
また、Webアプリケーションの開発には完全なJava EE仕様は必要ないことにも注意してください。リレーショナルデータベースを処理するJavaの一部であるJDBCは、Java SE本体の一部です。Java EEは、HTTPリスナーであるサーブレットと、サーブレットを生成するためのマークアップ言語であるJava Server Pagesを追加します。これらのテクノロジーとJava SEだけを使用して、完全に機能するWebアプリケーションを開発できます。TomcatとJettyは、完全なJava EEアプリサーバーを代行できる2つのサーブレット/ JSPエンジンです。
.NETにはSystem.NetモジュールにHTTPリスナーが組み込まれているという事実に注目すると、.NETがJavaからページを取得し、javax.servlet機能をフレームワークに組み込んだかのように見えます。
Spring、およびActiveMQやRabbitMQなどのメッセージング機能を追加すると、WebLogic、WebSphere、JBoss、Glassfishに頼ることなく、完全なアプリケーションを作成できます。EJBや完全なJava EE仕様は必要ありません。
更新:
Spring Bootは、フル機能のJavaアプリケーションを実行可能なJARファイルとして開発および実行する可能性を提供します。Java EEアプリサーバーは必要ありません。JDK8以降のみです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加