web-dev-qa-db-ja.com

すべての要約Java EE仕様

私はすべての明確な説明を探していますJava EEテクノロジスタック。

私のように、多くのサイト/チュートリアルで検索したが、Java EEで使用されている技術とそれらの利点の正確なリストを見つけられなかった人はたくさんいると思います。

私は誰かがすべてのコミュニティーに役立つようにシンプルでわかりやすく説明してくれることを願っています。

25
V. Sambor

重要:この答えはまだvalidですが、Java EE 8、9月21日にリリースst 2017.これを見てください answer


Java EE 7テクノロジー

以下に、Java EE 7テクノロジーの仕様のリストを示します。詳細については、JSRページを確認してください。

  • Java EEプラットフォーム

    • JSR 342 :Java Platform、Enterprise Edition 7(Java EE 7)
  • Webアプリケーションテクノロジー

    • JSR 356 :Java WebSocket用API
    • JSR 35 :Java JSON処理用API
    • JSR 34 :Javaサーブレット3.1
    • JSR 344 :JavaServer Faces 2.2
    • JSR 341 :式言語3.0
    • JSR 245 :JavaServer Pages 2.3
    • JSR 52 :JavaServer Pages(JSTL)1.2の標準タグライブラリ
  • Enterprise Application Technologies

    • JSR 352 :Javaプラットフォーム用のバッチアプリケーション
    • JSR 236 :Java EE 1.0の同時実行ユーティリティ
    • JSR 346 :Java 1.1のコンテキストと依存性注入
    • JSR 3 :Java 1.0の依存性注入
    • JSR 349 :Bean Validation 1.1
    • JSR 345 :Enterprise JavaBeans 3.2
    • JSR 318 :インターセプター1.2
    • JSR 322 :Java EEコネクタアーキテクチャ1.7
    • JSR 338 :Java永続性2.1
    • JSR 25 :Java Platform 1.2の一般的な注釈
    • JSR 34 :Java Message Service API 2.0
    • JSR 907 :Java Transaction API(JTA)1.2
    • JSR 919 :JavaMail 1.5
  • Webサービステクノロジー

    • JSR 339 :Java RESTful Webサービス用API(JAX-RS)2.0
    • JSR 109 :エンタープライズWebサービス1.3の​​実装
    • JSR 224 :Java XMLベースのWebサービス用API(JAX-WS)2.2
    • JSR 181 :JavaプラットフォームのWebサービスメタデータ
    • JSR 101 :Java API for XML-Based RPC(JAX-RPC)1.1
    • JSR 67 :Java XMLメッセージング1.3のAPI
    • JSR 9 :Java API for XML Registry(JAXR)1.0
  • 管理およびセキュリティ技術

    • JSR 196 :Java Containers 1.1の認証サービスプロバイダーインターフェース
    • JSR 115 :Javaコンテナ1.5の承認契約
    • JSR 88 :Java EE Application Deployment 1.2(オプション)
    • JSR 77 :J2EE Management 1.1
    • JSR 45 :他の言語1.0のデバッグサポート
  • Java SEのJava EE関連の仕様

    • JSR 222 :Java XMLバインディングのアーキテクチャ(JAXB)2.2
    • JSR 206 :Java XML処理用API(JAXP)1.3
    • JSR 221 :Javaデータベース接続4.0
    • JSR :Java Management Extensions(JMX)2.0
    • JSR 925 :JavaBeans Activation Framework(JAF)1.1
    • JSR 17 :Streaming API for XML(StAX)1.0

詳細はこちら ページ をご覧ください。

Java EEスタック

Arun Guptaが Java EE 7 Essentials というタイトルの本で述べたように、以下に示すように、さまざまなコンポーネントが連携して統合スタックを提供します。

The Java EE stack

したがって、次のようになります。

  • さまざまなコンポーネントを論理的に3つの層(バックエンド層、中間層、およびWeb層)に分割できます。これは単なる論理的な表現であり、コンポーネントはアプリケーションの要件に基づいて異なる層に制限できます。

  • JPAとJMSは、データベースアクセスやメッセージングなどの基本的なサービスを提供します。 JCAは、レガシーシステムへの接続を許可します。バッチは、非対話型のバルク指向のタスクを実行するために使用されます。

  • マネージドBeanとEJBは、POJOを使用して基本的なサービスを使用する簡略化されたプログラミングモデルを提供します。

  • CDI、インターセプター、および共通アノテーションは、タイプセーフな依存性注入、インターセプターを使用した分野横断的な問題への対処、および共通のアノテーションセットなど、さまざまなコンポーネントに適用できる概念を提供します。並行処理ユーティリティを使用して、マネージスレッドでタスクを実行できます。 JTAは、任意のPOJOに適用できるトランザクションインターセプターを有効にします。

  • CDI拡張機能を使用すると、標準的な方法でプラットフォームを既存の機能を超えて拡張できます。

  • JAX-RSおよびJAX-WS、JSF、JSP、およびELを使用するWebサービスは、Webアプリケーションのプログラミングモデルを定義します。 Web Fragmentsを使用すると、非常に自然な方法でサードパーティのWebフレームワークを自動登録できます。 JSONは、Web層でJSON構造を解析および生成する方法を提供します。 WebSocketを使用すると、単一のTCP=接続で双方向の全二重通信チャネルをセットアップできます。

  • Bean Validationは、制約を宣言し、さまざまなテクノロジーにわたってそれらを検証するための標準的な手段を提供します。

各テクノロジーの説明

上記の主なテクノロジーの詳細については、 Java EE 7チュートリアル を確認してください。そして、主要なテクノロジーの優れた概要は、この page にあります。ここで引用するだけです:

エンタープライズJavaBeansテクノロジー

Enterprise JavaBeans(EJB)コンポーネント、またはエンタープライズBeanは、ビジネスロジックのモジュールを実装するためのフィールドとメソッドを持つコードの本体です。エンタープライズBeanは、Java EEサーバーでビジネスロジックを実行するために単独で、または他のエンタープライズBeanと共に使用できるビルディングブロックと考えることができます。

エンタープライズBeanは、セッションBeanまたはメッセージ駆動型Beanのいずれかです。

  • セッションBeanは、クライアントとの一時的な会話を表します。クライアントの実行が完了すると、セッションBeanとそのデータは失われます。

  • メッセージ駆動型Beanは、セッションBeanとメッセージリスナーの機能を組み合わせて、ビジネスコンポーネントがメッセージを非同期で受信できるようにします。一般的に、これらはJavaメッセージサービス(JMS)メッセージです。

Java EE 7プラットフォームでは、Enterprise Beanの新しい機能には以下が含まれます。

  • EJB Liteの非同期ローカルセッションBean

  • EJB Liteの非永続タイマー

Java EE 7プラットフォームにはEnterprise JavaBeans 3.2およびInterceptors 1.2が必要です。Interceptors仕様はEJB仕様の一部です。

Javaサーブレットテクノロジー

Javaサーブレット技術を使用すると、HTTP固有のサーブレットクラスを定義できます。サーブレットクラスは、ホストアプリケーションが要求/応答プログラミングモデルを介してアクセスするサーバーの機能を拡張します。サーブレットはあらゆるタイプの要求に応答できますが、一般的にはWebサーバーがホストするアプリケーションを拡張するために使用されます。

Java EE 7プラットフォームでは、新しいJavaサーブレットテクノロジーの機能は次のとおりです。

  • ノンブロッキングI/O

  • HTTPプロトコルのアップグレード

Java EE 7プラットフォームにはサーブレット3.1が必要です。

JavaServer Facesテクノロジー

JavaServer Facesテクノロジーは、Webアプリケーションを構築するためのユーザーインターフェイスフレームワークです。 JavaServer Facesテクノロジの主なコンポーネントは次のとおりです。

  • GUIコンポーネントフレームワーク。

  • さまざまな種類のHTMLやさまざまなマークアップ言語やテクノロジーでコンポーネントをレンダリングするための柔軟なモデル。 Rendererオブジェクトは、コンポーネントをレンダリングするためのマークアップを生成し、モデルオブジェクトに格納されているデータをビューで表現できるタイプに変換します。

  • HTML 4.01マークアップを生成するための標準のRenderKit

以下の機能がGUIコンポーネントをサポートします。

  • 入力の検証

  • イベント処理

  • モデルオブジェクトとコンポーネント間のデータ変換

  • マネージドモデルオブジェクトの作成

  • ページナビゲーション構成

  • 式言語(EL)

このすべての機能は、標準のJava APIおよびXMLベースの構成ファイルを使用して利用できます。

Java EE 7プラットフォームでは、JavaServer Facesテクノロジーの新機能は次のとおりです。

  • HTML5フレンドリーなマークアップ

  • Faces Flows

  • リソースライブラリ契約

Java EE 7プラットフォームには、JavaServer Faces 2.2およびExpression Language 3.0が必要です。

JavaServer Pagesテクノロジー

JavaServer Pages(JSP)テクノロジーを使用すると、サーブレットコードのスニペットをテキストベースのドキュメントに直接挿入できます。 JSPページは、2種類のテキストを含むテキストベースのドキュメントです。

  • HTMLまたはXMLなどのテキストベースの形式で表現できる静的データ

  • ページが動的コンテンツを構成する方法を決定するJSP要素

JSPテクノロジの詳細については、The Java EE 5 Tutorialat http://docs.Oracle.com/javaee/5/tutorial/doc /

Java EE 7プラットフォームでは、以前のリリースとの互換性のためにJavaServer Pages 2.3が必要ですが、新しいアプリケーションの表示テクノロジーとしてFaceletsを使用することをお勧めします。

JavaServer Pages標準タグライブラリ

JavaServer Pages標準タグライブラリ(JSTL)は、多くのJSPアプリケーションに共通のコア機能をカプセル化します。 JSPアプリケーションで多数のベンダーのタグを混合する代わりに、単一の標準的なタグセットを使用します。この標準化により、JSTLをサポートする任意のJSPコンテナーにアプリケーションをデプロイでき、タグの実装が最適化される可能性が高くなります。

JSTLには、フロー制御を処理するためのイテレータタグと条件付きタグ、XMLドキュメントを操作するためのタグ、国際化タグ、SQLを使用してデータベースにアクセスするためのタグ、一般的に使用される関数のタグがあります。

Java EE 7プラットフォームにはJSTL 1.2が必要です。

Java Persistence API

Java Persistence API(JPA)は、永続化のためのJava標準ベースのソリューションです。永続化は、オブジェクト/リレーショナルマッピングアプローチを使用してオブジェクト間のギャップを埋めます指向モデルおよびリレーショナルデータベース。Java Persistence APIは、Java以外のSEアプリケーションでも使用できますJava = EE環境Java持続性は、次の領域で構成されています。

  • Java Persistence API

  • クエリ言語

  • オブジェクト/リレーショナルマッピングメタデータ

Java EE 7プラットフォームにはJava Persistence API 2.1が必要です。

Java Transaction API

Java Transaction API(JTA)は、トランザクションの境界を定めるための標準インターフェースを提供します。Java EEアーキテクチャは、トランザクションのコミットとロールバックを処理するデフォルトの自動コミットを提供します。自動コミットとは、データを表示している他のすべてのアプリケーションが、データベースの読み取りまたは書き込み操作のたびに更新されたデータを参照することを意味します。ただし、アプリケーションが互いに依存する2つの個別のデータベースアクセス操作を実行する場合は、JTA APIを使用して両方の操作を含め、トランザクション全体が開始、ロールバック、コミットする場所を区別します。

Java EE 7プラットフォームにはJava Transaction API 1.2。

RESTful Webサービス用のJava API

Java RESTful Webサービス用API(JAX-RS))は、Representational State Transfer(REST)アーキテクチャスタイルに従って構築されたWebサービスの開発用のAPIを定義します。JAX-RSアプリケーションはWeb必要なライブラリとともに、WARファイルにサーブレットとしてパッケージ化されたクラスで構成されるアプリケーション。

Java EE 7プラットフォームにはJAX-RS 2.0が必要です。

マネージドBean

マネージドBean、最小限の要件を持つ軽量のコンテナー管理オブジェクト(POJO)は、リソースインジェクション、ライフサイクルコールバック、インターセプターなどの基本的なサービスの小さなセットをサポートします。マネージドBeanは、JavaServer Facesテクノロジーによって指定されたマネージドBeanの一般化を表し、Webモジュールだけでなく、Java EEアプリケーションのどこでも使用できます。

マネージドBeanの仕様は、Java EE 7プラットフォーム仕様(JSR 342)の一部です。Java EE 7プラットフォームには、マネージドBeans 1.0が必要です。

Java EEのコンテキストと依存性注入

Java EE(CDI)のコンテキストと依存性注入は、Java EEコンテナによって提供されるコンテキストサービスのセットを定義します。これにより、開発者はエンタープライズを簡単に使用できます。 Beanは、WebアプリケーションのJavaServer Facesテクノロジーとともに使用されます。CDIはステートフルオブジェクトで使用するように設計されており、さまざまな用途に使用できるため、開発者はさまざまな種類のコンポーネントを疎結合ではあるがタイプセーフな方法で統合できます。

Java EE 7プラットフォームにはCDI 1.1が必要です。

Javaの依存性注入

Javaの依存性注入は、注入可能なクラスで使用するための標準的な注釈のセット(および1つのインターフェース)を定義します。

Java EEプラットフォームでは、CDIはDependency Injectionをサポートしています。具体的には、CDI対応のアプリケーションでのみ注入ポイントを使用できます。

Java EE 7プラットフォームでは、Java 1.0。

Beanの検証

Bean Validation仕様では、JavaBeansコンポーネントのデータを検証するためのメタデータモデルとAPIを定義しています。データの検証をブラウザーやサーバー側などの複数のレイヤーに分散する代わりに、検証制約を1か所で定義して、異なるレイヤー間で共有することができます。

Java EE 7プラットフォームにはBean Validation 1.1が必要です。

Java Message Service API

Javaメッセージサービス(JMS)APIは、Java EEアプリケーションコンポーネントがメッセージを作成、送信、受信、および読み取ることを可能にするメッセージング標準です。疎結合、信頼性、非同期の通信。

プラットフォームでは、JMSの新機能は次のとおりです。

  • 新しい簡略化されたAPIは、以前のAPIに代わるより単純な代替手段を提供します。このAPIには、Connectionの機能とJMSContextを組み合わせたSessionオブジェクトが含まれています。

  • Closeメソッドを持つすべてのオブジェクトはJava.lang.Autocloseableインターフェースを実装しているため、Java SE 7 try-with-resourcesステートメントで使用できます。

Java EE 7プラットフォームにはJMS 2.0が必要です。

Java EEコネクタアーキテクチャ

Java EE Con​​nector Architectureは、ツールベンダーおよびシステムインテグレーターが、任意のプラグイン可能なエンタープライズ情報システムへのアクセスをサポートするリソースアダプターを作成するために使用されますJava EE製品。リソースアダプタは、Java EEアプリケーションコンポーネントがEISの基盤となるリソースマネージャにアクセスして対話できるようにするソフトウェアコンポーネントです。リソースアダプタはそのリソースマネージャに固有であるため、通常、データベースまたはエンタープライズ情報システムのタイプごとに異なるリソースアダプターが存在します。

Java EEコネクタアーキテクチャは、既存の機能を備えたJava EEプラットフォームベースのWebサービスのパフォーマンス指向、安全、スケーラブル、およびメッセージベースのトランザクション統合も提供します同期または非同期のいずれかのEIS。Java EE Con​​nector Architectureを通じてJava EEプラットフォームに統合された既存のアプリケーションおよびEISは、XMLベースとして公開できます。 JAX-WSおよびJava EEコンポーネントモデルを使用したWebサービス。したがって、JAX-WSおよびJava EEコネクタアーキテクチャは、エンタープライズアプリケーション統合(EAI )およびエンドツーエンドのビジネス統合。

Java EE 7プラットフォームにはJava EEコネクタアーキテクチャ1.7が必要です。

JavaMail API

Java EEアプリケーションは、JavaMail APIを使用して電子メール通知を送信します。 JavaMail APIには2つの部分があります。

  • メールを送信するためにアプリケーションコンポーネントが使用するアプリケーションレベルのインターフェース

  • サービスプロバイダーインターフェイス

Java EEプラットフォームには、アプリケーションコンポーネントがインターネットメールを送信できるようにするサービスプロバイダーを備えたJavaMail APIが含まれています。

Java EE 7プラットフォームにはJavaMail 1.5が必要です。

コンテナーのJava承認契約

Java Authorization Contract for Containers(JACC))仕様は、Java EEアプリケーションサーバーと許可ポリシープロバイダーの間の契約を定義します。すべてJava EEコンテナはこの契約をサポートしています。

JACC仕様では、Java EE承認モデルを満たすJava.security.Permissionクラスが定義されています。この仕様では、コンテナアクセスの決定とこれらのアクセス許可クラスのインスタンスの操作へのバインディングを定義しています。セマンティクスを定義していますJava EEプラットフォームの承認要件に対処するために新しい許可クラスを使用するポリシープロバイダーの役割(定義と役割の使用を含む)。

Java EE 7プラットフォームにはJACC 1.5が必要です。

コンテナー用のJava認証サービスプロバイダーインターフェイス

Javaコンテナーの認証サービスプロバイダーインターフェイス(JASPIC)仕様は、メッセージ認証メカニズムを実装する認証プロバイダーをクライアントまたはサーバーのメッセージ処理コンテナーに統合できるサービスプロバイダーインターフェイス(SPI)を定義します。ランタイム。このインターフェースを介して統合された認証プロバイダーは、呼び出し側コンテナーによって提供されたネットワークメッセージで動作します。認証プロバイダーは、送信メッセージを変換して、各メッセージの送信元を受信側コンテナーで認証し、メッセージの受信者を認証できるようにします。認証プロバイダーは、各着信メッセージを認証し、メッセージ認証の結果として確立されたIDを呼び出し側コンテナーに返します。

Java EE 7プラットフォームにはJASPIC 1.1が必要です。

WebSocket用のJava API

WebSocketは、TCPを介した2つのピア間の全二重通信を提供するアプリケーションプロトコルです。 Java API for WebSocketにより、Java EEアプリケーションは、エンドポイントの構成パラメーターを指定し、そのライフサイクルコールバックメソッドを指定するアノテーションを使用してエンドポイントを作成できます。

WebSocket APIは、Java EE 7プラットフォームの新機能です。Java EE 7プラットフォームには、Java WebSocket 1.0のAPIが必要です。

JSON処理用のJava API

JSONは、JavaScriptから派生したテキストベースのデータ交換フォーマットであり、Webサービスおよびその他の接続アプリケーションで使用されます。 Java JSON処理用API(JSON-P))は、Java EEアプリケーションがオブジェクトモデルまたはストリーミングモデルを使用してJSONデータを解析、変換、およびクエリできるようにします。

JSON-Pは、Java EE 7プラットフォームの新機能です。Java EE 7プラットフォームには、JSON-P 1.0が必要です。

Java EEの同時実行ユーティリティ

Java EEの同時実行ユーティリティは、次のタイプのオブジェクトを介してJava EEアプリケーションコンポーネントに非同期機能を提供するための標準APIです:管理された実行サービス、管理されたスケジュールされた実行プログラムサービス、マネージスレッドファクトリ、およびコンテキストサービス。

Java EEの同時実行ユーティリティは、Java EE 7プラットフォームの新機能です。Java EE 7プラットフォームには、 Java EE 1.0。

Javaプラットフォーム用のバッチアプリケーション

バッチジョブは、ユーザーの操作なしで実行できるタスクです。 Javaプラットフォーム仕様のバッチアプリケーションは、Javaアプリケーションでのバッチジョブの作成と実行をサポートするバッチフレームワークです。バッチフレームワークは、ランタイム、XMLに基づくジョブ仕様言語、Javaバッチランタイムと対話するためのAPI、およびJavaバッチアーティファクトを実装するためのAPI.

Javaプラットフォームのバッチアプリケーションは、Java EE 7プラットフォームの新機能です。Java EE 7プラットフォームにはバッチアプリケーションが必要ですJava Platform 1.0。

こちらもご覧ください

以前のJava= EEバージョンのテクノロジーを確認するには、次のリンクを参照してください。

51
cassiomolin

Java EE 8テクノロジー

Java EE 8はJava EE 7(詳細は 以前の回答 を参照)に基づいて構築されており、多くの業界標準のサポートを最新化し、エンタープライズ対応APIの簡素化を継続しています。

機能強化には次のものがあります。

  • HTTP/2をサポートするJavaサーブレット4.0 API
  • 新しいJSONバインディングAPIを含む拡張JSONサポート
  • 新しいREST Reactive Client API
  • 非同期CDIイベント
  • 新しいポータブルセキュリティAPI
  • サーバー送信イベントのサポート(クライアントおよびサーバー側)
  • Java SE 8の新機能のサポート(例:Data&Time API、Streams API、アノテーションの機能強化))

次のJSRはnewまたはupdatedin Java EE 8:

  • Java EEプラットフォーム

    • JSR 366 :Java EE 8プラットフォーム
  • Webアプリケーションテクノロジー

    • JSR 367 :Java JSONバインディング用API(JSON-B)1.0
    • JSR 374 :Java JSON処理用API(JSON-P)1.1
    • JSR 369 :Javaサーブレット4.0
    • JSR 372 :JavaServer Faces(JSF)2.3
  • Enterprise Application Technologies

    • JSR 365 :コンテキストと依存性注入(CDI)2.0
    • JSR 38 :Bean Validation 2.0
    • JSR 338 :Java永続性2.2
    • JSR 25 :Common Annotations 1.3
    • JSR 919 :JavaMail 1.6
  • Webサービステクノロジー

    • JSR 37 :Java RESTful Webサービス用API(JAX-RS)2.1
  • 管理およびセキュリティ技術

    • JSR 375 :Java EE Security API 1.0

詳細はこちら ページ をご覧ください。

各テクノロジーの説明

上記の主なテクノロジーの詳細については、 Java EEチュートリアル を確認してください。そして、主要なテクノロジーの優れた概要は、この page にあります。ここで引用するだけです:

エンタープライズJavaBeansテクノロジー

Enterprise JavaBeans(EJB)コンポーネント、またはエンタープライズBeanは、ビジネスロジックのモジュールを実装するためのフィールドとメソッドを持つコードの本体です。エンタープライズBeanは、Java EEサーバーでビジネスロジックを実行するために単独で、または他のエンタープライズBeanと共に使用できるビルディングブロックと考えることができます。

エンタープライズBeanは、セッションBeanまたはメッセージ駆動型Beanのいずれかです。

  • セッションBeanは、クライアントとの一時的な会話を表します。クライアントの実行が完了すると、セッションBeanとそのデータは失われます。
  • メッセージ駆動型Beanは、セッションBeanとメッセージリスナーの機能を組み合わせて、ビジネスコンポーネントがメッセージを非同期で受信できるようにします。一般的に、これらはJavaメッセージサービス(JMS)メッセージです。

Java EE 8プラットフォームにはEnterprise JavaBeans 3.2およびInterceptors 1.2が必要です。Interceptors仕様はEJB仕様の一部です。

Javaサーブレットテクノロジー

Javaサーブレット技術を使用すると、HTTP固有のサーブレットクラスを定義できます。サーブレットクラスは、ホストアプリケーションが要求/応答プログラミングモデルを介してアクセスするサーバーの機能を拡張します。サーブレットはあらゆるタイプの要求に応答できますが、一般的にはWebサーバーがホストするアプリケーションを拡張するために使用されます。

Java EE 8プラットフォームでは、新しいJavaサーブレットテクノロジーの機能には以下が含まれます。

  • サーバープッシュ
  • HTTPトレーラー

Java EE 8プラットフォームにはServlet 4.0が必要です

JavaServer Facesテクノロジー

JavaServer Facesテクノロジーは、Webアプリケーションを構築するためのユーザーインターフェイスフレームワークです。 JavaServer Facesテクノロジの主なコンポーネントは次のとおりです。

  • GUIコンポーネントフレームワーク。
  • さまざまな種類のHTMLやさまざまなマークアップ言語やテクノロジーでコンポーネントをレンダリングするための柔軟なモデル。 Rendererオブジェクトは、コンポーネントをレンダリングするためのマークアップを生成し、モデルオブジェクトに格納されているデータを、ビューで表すことができるタイプに変換します。
  • HTML 4.01マークアップを生成するための標準的なRenderKit。

以下の機能がGUIコンポーネントをサポートします。

  • 入力の検証
  • イベント処理
  • モデルオブジェクトとコンポーネント間のデータ変換
  • マネージドモデルオブジェクトの作成
  • ページナビゲーション構成
  • 式言語(EL)

このすべての機能は、標準のJava APIおよびXMLベースの構成ファイルを使用して利用できます。

Java EE 8プラットフォームでは、JavaServer Facesテクノロジーの新機能は次のとおりです。

  • 新しい<f:websocket>タグによるWebSocketの直接サポート
  • 新しい<f:validateWholeBean>タグによるクラスレベルのBean検証
  • CDI互換の@ManagedPropertyアノテーション
  • 拡張されたコンポーネント検索式フレームワーク

Java EE 8プラットフォームには、JavaServer Faces 2.3およびExpression Language 3.0が必要です。

JSF 2.3の新機能の優れた要約については、 https://javaserverfaces.github.io/whats-new-in-jsf23.html を参照してください。

JavaServer Pagesテクノロジー

JavaServer Pages(JSP)テクノロジーを使用すると、サーブレットコードのスニペットをテキストベースのドキュメントに直接挿入できます。 JSPページは、2種類のテキストを含むテキストベースのドキュメントです。

  • HTMLまたはXMLなどのテキストベースの形式で表現できる静的データ
  • ページが動的コンテンツを構成する方法を決定するJSP要素

JSPテクノロジの詳細については、Java EE 5チュートリアル http://docs.Oracle.com/javaee/5/tutorial/doc/ を参照してください。

Java EE 8プラットフォームでは、以前のリリースとの互換性のためにJavaServer Pages 2.3が必要ですが、新しいアプリケーションの表示テクノロジーとしてFaceletsを使用することをお勧めします。

JavaServer Pages標準タグライブラリ

JavaServer Pages標準タグライブラリ(JSTL)は、多くのJSPアプリケーションに共通のコア機能をカプセル化します。 JSPアプリケーションで多数のベンダーのタグを混合する代わりに、単一の標準的なタグセットを使用します。この標準化により、JSTLをサポートする任意のJSPコンテナーにアプリケーションをデプロイでき、タグの実装が最適化される可能性が高くなります。

JSTLには、フロー制御を処理するためのイテレータタグと条件付きタグ、XMLドキュメントを操作するためのタグ、国際化タグ、SQLを使用してデータベースにアクセスするためのタグ、一般的に使用される関数のタグがあります。

Java EE 8プラットフォームにはJSTL 1.2が必要です。

Java Persistence API

Java Persistence API(JPA)は、永続化のためのJava標準ベースのソリューションです。永続化は、オブジェクト/リレーショナルマッピングアプローチを使用してオブジェクト間のギャップを埋めます指向モデルおよびリレーショナルデータベース。Java Persistence APIは、Java以外のSEアプリケーションでも使用できますJava = EE環境Java持続性は、次の領域で構成されています。

  • Java Persistence API
  • クエリ言語
  • オブジェクト/リレーショナルマッピングメタデータ

Java EE 8プラットフォームにはJava Persistence API 2.2が必要です。

Java Transaction API

Java Transaction API(JTA)は、トランザクションの境界を定めるための標準インターフェースを提供します。Java EEアーキテクチャは、トランザクションのコミットとロールバックを処理するデフォルトの自動コミットを提供します。自動コミットとは、データを表示している他のすべてのアプリケーションが、データベースの読み取りまたは書き込み操作のたびに更新されたデータを参照することを意味します。ただし、アプリケーションが互いに依存する2つの個別のデータベースアクセス操作を実行する場合は、JTA APIを使用して両方の操作を含め、トランザクション全体が開始、ロールバック、コミットする場所を区別します。

Java EE 8プラットフォームにはJava Transaction API 1.2。

RESTful Webサービス用のJava API

Java RESTful Webサービス用API(JAX-RS))は、Representational State Transfer(REST)アーキテクチャスタイルに従って構築されたWebサービスの開発用のAPIを定義します。JAX-RSアプリケーションはWeb必要なライブラリとともに、WARファイルにサーブレットとしてパッケージ化されたクラスで構成されるアプリケーション。

Java EE 8プラットフォームでは、新しいRESTful Webサービス機能には以下が含まれます:

  • リアクティブクライアントAPI:ターゲットリソースの呼び出しの結果を受信すると、Java SEの完了段階APIの拡張により、これらの結果のシーケンスを指定、優先、結合、または連結し、例外を処理する方法。
  • サーバー送信イベントのサポートの強化:クライアントは、長時間実行される接続を使用して、サーバー発行のイベント通知をサブスクライブできます。新しいメディアタイプ、テキスト/イベントストリームのサポートが追加されました。
  • JSON-Bオブジェクトのサポート、およびCDI、サーブレット、Bean検証テクノロジーとの統合の改善

Java EE 8プラットフォームにはJAX-RS 2.1が必要です。

マネージドBean

マネージドBean、最小限の要件を持つ軽量のコンテナー管理オブジェクト(POJO)は、リソースインジェクション、ライフサイクルコールバック、インターセプターなどの基本的なサービスの小さなセットをサポートします。マネージドBeanは、JavaServer Facesテクノロジーによって指定されたマネージドBeanの一般化を表し、Webモジュールだけでなく、Java EEアプリケーションのどこでも使用できます。

マネージドBeanの仕様は、Java EE 8プラットフォーム仕様(JSR 366)の一部です。Java EE 8プラットフォームには、マネージドBeans 1.0が必要です。

Java EEのコンテキストと依存性注入

Java EE(CDI)のコンテキストと依存性注入は、Java EEコンテナによって提供されるコンテキストサービスのセットを定義します。これにより、開発者はエンタープライズを簡単に使用できます。 Beanは、WebアプリケーションのJavaServer Facesテクノロジーとともに使用されます。CDIはステートフルオブジェクトで使用するように設計されており、さまざまな用途に使用できるため、開発者はさまざまな種類のコンポーネントを疎結合ではあるがタイプセーフな方法で統合できます。

Java EE 8プラットフォームでは、CDIの新機能は次のとおりです。

  • Java SE 8でCDIコンテナーをブートストラップするためのAPI
  • 特定のイベントのオブザーバーメソッドが呼び出される順序を決定するオブザーバーの順序付けのサポート、および非同期でのイベントの発生のサポート
  • CDIオブジェクトを動的に定義および変更するために使用されるコンフィギュレーターインターフェイス
  • 組み込みの注釈リテラル、注釈のインスタンスを作成するための便利な機能など

Java EE 8プラットフォームにはCDI 2.0が必要です。

Javaの依存性注入

Javaの依存性注入は、注入可能なクラスで使用するための標準的な注釈のセット(および1つのインターフェース)を定義します。

Java EEプラットフォームでは、CDIはDependency Injectionをサポートしています。具体的には、CDI対応のアプリケーションでのみ注入ポイントを使用できます。

Java EE 8プラットフォームでは、Java 1.0。

Beanの検証

Bean Validation仕様では、JavaBeansコンポーネントのデータを検証するためのメタデータモデルとAPIを定義しています。データの検証をブラウザーやサーバー側などの複数のレイヤーに分散する代わりに、検証制約を1か所で定義して、異なるレイヤー間で共有することができます。

Java EE 8プラットフォームでは、新しいBean Validation機能には以下が含まれます:

  • Date = Time APIなどのJava SE 8の新機能のサポート
  • 新しい組み込みBean検証制約の追加

Java EE 8プラットフォームにはBean Validation 2.0が必要です。

Java Message Service API

Javaメッセージサービス(JMS)APIは、Java EEアプリケーションコンポーネントがメッセージを作成、送信、受信、および読み取ることを可能にするメッセージング標準です。疎結合、信頼性、非同期の通信。

Java EE 8プラットフォームにはJMS 2.0が必要です。

Java EEコネクタアーキテクチャ

Java EE Con​​nector Architectureは、ツールベンダーおよびシステムインテグレーターが、任意のプラグイン可能なエンタープライズ情報システムへのアクセスをサポートするリソースアダプターを作成するために使用されますJava EE製品。リソースアダプタは、Java EEアプリケーションコンポーネントがEISの基盤となるリソースマネージャにアクセスして対話できるようにするソフトウェアコンポーネントです。リソースアダプタはそのリソースマネージャに固有であるため、通常、データベースまたはエンタープライズ情報システムのタイプごとに異なるリソースアダプターが存在します。

Java EEコネクタアーキテクチャは、既存の機能を備えたJava EEプラットフォームベースのWebサービスのパフォーマンス指向、安全、スケーラブル、およびメッセージベースのトランザクション統合も提供します同期または非同期のいずれかのEIS。Java EE Con​​nector Architectureを通じてJava EEプラットフォームに統合された既存のアプリケーションおよびEISは、XMLベースとして公開できます。 JAX-WSおよびJava EEコンポーネントモデルを使用したWebサービス。したがって、JAX-WSおよびJava EEコネクタアーキテクチャは、エンタープライズアプリケーション統合(EAI )およびエンドツーエンドのビジネス統合。

Java EE 8プラットフォームにはJava EEコネクタアーキテクチャ1.7が必要です。

JavaMail API

Java EEアプリケーションは、JavaMail APIを使用して電子メール通知を送信します。 JavaMail APIには2つの部分があります。

  • メールを送信するためにアプリケーションコンポーネントが使用するアプリケーションレベルのインターフェース
  • サービスプロバイダーインターフェイス

Java EEプラットフォームには、アプリケーションコンポーネントがインターネットメールを送信できるようにするサービスプロバイダーを備えたJavaMail APIが含まれています。

Java EE 8プラットフォームにはJavaMail 1.6が必要です。

コンテナーのJava承認契約

Java Authorization Contract for Containers(JACC))仕様は、Java EEアプリケーションサーバーと許可ポリシープロバイダーの間の契約を定義します。すべてJava EEコンテナはこの契約をサポートしています。

JACC仕様では、Java EE承認モデルを満たすJava.security.Permissionクラスが定義されています。この仕様では、コンテナアクセスの決定とこれらの権限クラスのインスタンスでの操作とのバインディングを定義しています。セマンティクスを定義していますJava EEプラットフォームの承認要件に対処するために新しい許可クラスを使用するポリシープロバイダーの役割(定義と役割の使用を含む)).

Java EE 8プラットフォームにはJACC 1.5が必要です。

コンテナー用のJava認証サービスプロバイダーインターフェイス

Javaコンテナーの認証サービスプロバイダーインターフェイス(JASPIC)仕様は、メッセージ認証メカニズムを実装する認証プロバイダーをクライアントまたはサーバーのメッセージ処理コンテナーに統合できるサービスプロバイダーインターフェイス(SPI)を定義します。ランタイム。このインターフェースを介して統合された認証プロバイダーは、呼び出し側コンテナーによって提供されたネットワークメッセージで動作します。認証プロバイダーは、送信メッセージを変換して、各メッセージの送信元を受信側コンテナーで認証し、メッセージの受信者を認証できるようにします。認証プロバイダーは、各着信メッセージを認証し、メッセージ認証の結果として確立されたIDを呼び出し側コンテナーに返します。

Java EE 8プラットフォームにはJASPIC 1.1が必要です。

Java EEセキュリティAPI

Java EE Security API仕様の目的は、共通のアプローチとメカニズムを同時に確立し、開発者のビューからより複雑なAPIを可能な限り削除することにより、セキュリティAPIを最新化および簡素化することです。Java EE Securityでは、次のAPIが導入されています。

  • SecurityContextインターフェイス:アプリケーションが呼び出し元データの側面をテストし、リソースへのアクセスを許可または拒否できるようにする、共通の均一なアクセスポイントを提供します。
  • HttpAuthenticationMechanismインターフェース:Webアプリケーションの呼び出し元を認証し、サーブレットコンテナーでの使用のみを指定します。
  • IdentityStoreインターフェイス:IDストアの抽象化を提供し、ユーザーの認証と呼び出し元グループの取得に使用できます。

Java EE 8プラットフォームにはJava EE Security API 1.0が必要です。

WebSocket用のJava API

WebSocketは、TCPを介した2つのピア間の全二重通信を提供するアプリケーションプロトコルです。 Java API for WebSocketにより、Java EEアプリケーションは、エンドポイントの構成パラメーターを指定し、そのライフサイクルコールバックメソッドを指定するアノテーションを使用してエンドポイントを作成できます。

Java EE 8プラットフォームにはJava API for WebSocket 1.1が必要です。

JSON処理用のJava API

JavaScript Object Notation(JSON)は、Webサービスやその他の接続アプリケーションで使用されるJavaScriptから派生したテキストベースのデータ交換フォーマットです。 Java JSON処理用API(JSON-P))は、Java EEアプリケーションがオブジェクトモデルまたはストリーミングモデルを使用してJSONデータを解析、変換、およびクエリできるようにします。

Java EE 8プラットフォームでは、JSON-Pの新機能には以下のサポートが含まれます。

  • JSONポインター:JSONドキュメント内の特定の値を参照するための文字列構文を定義します。 JSONポインターには、ターゲットドキュメントから値を抽出し、それらを変換して新しいJSONドキュメントを作成するためのAPIが含まれています。
  • JSONパッチ:JSONドキュメントに適用される一連の操作を表現するためのフォーマットを定義します。
  • JSONマージパッチ:ターゲットドキュメントの特定のコンテンツに基づいて、JSONドキュメントに操作を適用するためのフォーマットと処理ルールを定義します。

  • 基本的なJSONドキュメント処理への編集および変換機能の追加。

  • Java SE 8で導入されたStream APIの機能を活用するJSONコレクターと呼ばれるヘルパークラスとメソッド。

Java EE 8プラットフォームにはJSON-P 1.1が必要です。

JSONバインディング用のJava API

Java API for JSON Binding(JSON-B))は、JavaオブジェクトをJSONメッセージとの間で変換するためのバインディングレイヤーを提供します。JSON-Bは、 Javaアノテーションを特定のフィールド、JavaBeanプロパティ、タイプ、またはパッケージに使用するか、またはプロパティ命名戦略の実装を提供することにより、このバインディングレイヤーで使用されるデフォルトのマッピングプロセスをカスタマイズします。

JSON-Bは、Java EE 8プラットフォームの新機能です。Java EE 8プラットフォームには、JSON-B 1.0が必要です。

Java EEの同時実行ユーティリティ

Java EEの同時実行ユーティリティは、次のタイプのオブジェクトを介してJava EEアプリケーションコンポーネントに非同期機能を提供するための標準APIです:管理された実行サービス、管理されたスケジュールされた実行プログラムサービス、マネージスレッドファクトリ、およびコンテキストサービス。

Java EE 8プラットフォームでは、Java EE 1.0。

Javaプラットフォーム用のバッチアプリケーション

バッチジョブは、ユーザーの操作なしで実行できるタスクです。 Javaプラットフォーム仕様のバッチアプリケーションは、Javaアプリケーションでのバッチジョブの作成と実行をサポートするバッチフレームワークです。バッチフレームワークは、ランタイム、XMLに基づくジョブ仕様言語、Javaバッチランタイムと対話するためのAPI、およびJavaバッチアーティファクトを実装するためのAPI.

Java EE 8プラットフォームでは、Java Platform 1.0。

17
cassiomolin