Java テクノロジ

完了

このユニットでは、さまざまな種類の Java フレームワーク、サーバー、プラットフォームを区別します。

Spring Framework

Spring Framework は、アプリケーション フレームワークであり、制御 (IoC) コンテナーの反転です。 Spring はこれまで、Enterprise JavaBeans (EJB) モデルを補完するために使用されてきました。 その主な機能は次のとおりです。

  • 依存関係の挿入
  • アスペクト指向プログラミング
  • ビジネスの抽象化

Spring Boot

Spring Boot は Spring Framework の上で実行され、自動構成が行われます。 Spring Boot アプリケーションはスタンドアロンで実行され、マイクロサービスに最適です。

Spring Data (スプリングデータはJavaアプリケーションのためのデータアクセスフレームワークです)

Spring Data を使用すると、リレーショナル データベースと非リレーショナル データベース、MapReduce フレームワーク、クラウドベースのデータ サービスのデータ アクセスが簡素化されます。

Spring Security

Spring Security は、Spring ベースのアプリケーションをセキュリティで保護するための 事実上 の標準です。 高度な認証とアクセス制御を提供します。 たとえば、Spring Security は Active Directory とうまく統合されます。

Spring Cloud

Spring Cloud は、分散システムに使用されます。 Spring Cloud には、サービスの検出、構成管理、監視、優れた開発者エクスペリエンスが付属しています。

Spring Batch

Spring Batch は、毎日の運用に不可欠な堅牢なバッチ アプリケーション用の軽量フレームワークです。

MicroProfile と Jakarta EE

MicroProfile と Jakarta Enterprise Edition (EE) は、Java EE 仕様のオープンソースのフォローアップとして確認できます。

MicroProfile は、マイクロサービス アーキテクチャの仕様のセットです。 これは、 マイクロサービス アーキテクチャ用にエンタープライズ Java を最適化するためのオープン フォーラムと呼んでいます。 MicroProfile は、複数の実装間でイノベーションを行い、共通の関心領域で共同作業を行います。

Jakarta EE は、エンタープライズ アプリケーションを構築するための一連の仕様です。 モジュール化された構造により、開発者は効率的なソフトウェア ソリューションを作成できます。 Jakarta EE アプリケーションは、EAR ファイルまたは WAR ファイルとしてパッケージ化できます。

Web プロファイルは、Web に焦点を当てたバックエンド サービス用の Jakarta EE のサブセットですが、心配しないでください。 その上にエンタープライズ プラットフォームの特定の API を追加できます。

アプリケーション サーバー

Java EE アプリケーションは、Java EE に準拠したアプリケーション サーバー (Weblogic、WebSphere、WildFly、GlassFish、Payara など) にデプロイする必要があります。

  • Apache Tomcat は、HTTP サーバーと Java サーブレット コンテナーです。 サーブレット、Java Server Pages (JSP)、Java 式言語、Java WebSocket の仕様を実装します。

  • Oracle Weblogic Server は、エンタープライズ アプリケーションを開発、デプロイ、実行するための統合および拡張可能なプラットフォームです。 Weblogic Server は、Java EE と Jakarta EE の堅牢で成熟した実装を提供します。

  • Red Hat JBoss Enterprise Application Platform (JBoss EAP) は、オンプレミスと仮想の両方の実装、またはプライベート、パブリック、またはハイブリッド クラウドのエンタープライズ レベルのセキュリティとパフォーマンスを提供します。

  • WildFly は、JBoss EAP のオープンソース アップストリームです。 このコミュニティ主導の多様性は、開発とテストに最適です。

  • IBM WebSphere Application Server (WAS) は、エンタープライズ アプリケーション向けの柔軟でセキュリティに優れた Java サーバー ランタイム環境です。 高い信頼性に重点を置いています。 マイクロサービスと標準ベースのプログラミング モデルがサポートされています。 独自のペースで最新化し、ワークロード全体の可視性を高め、エンタープライズ アプリケーションを分析し、Kubernetes への移行を進めることができます。

  • Open Liberty は、コミュニティ主導のオープン ソース バージョンの WAS です。

  • Oracle GlassFish は、多くの Java EE Web 標準 (サーブレットや JSP を含む) の参照実装です。

マイクロサービス指向アーキテクチャのその他のフレームワーク

  • Netty は、非ブロッキング I/O (NIO) クライアント/サーバー フレームワークです。 プロトコル サーバーやクライアントなどのネットワーク アプリケーションを迅速かつ簡単に開発できます。 TCP や UDP ソケット サーバーなどのネットワーク プログラミングが大幅に簡素化され、合理化されます。 Netty は、保守可能で高パフォーマンスのプロトコル サーバーとクライアントを迅速に開発するための、非同期のイベントドリブン ネットワーク アプリケーション フレームワークです。

  • Quarkus は、OpenJDK HotSpot と GraalVM 用に調整された Kubernetes ネイティブ Java スタックです。 クォークスはますます勢いを増しています。 ところで、Vert.x、Helidon、Payara Micro、KumuluzEE など、このようなパフォーマンスに重点を置いたフレームワークが増えています。

  • Micronaut は、モジュール式で簡単にテスト可能なマイクロサービスおよびサーバーレス アプリケーションを構築するための、JVM ベースの最新のフルスタック フレームワークです。 Micronaut は、リフレクションを使用しない依存関係挿入とアスペクト指向プログラミング ランタイムを備えています。これにより、Micronaut アプリケーションを GraalVM で簡単に実行できます。