!!!Java EE 5 概要 http://java.sun.com/javaee/ http://java.sun.com/javaee/5/docs/tutorial/doc/bnaad.html !![[Web層|JavaEE5 Web層]] *JavaEE5 Java Servlet *JavaEE5 JavaServer Pages(JSP) *JavaEE5 JavaServer Pages Standard Tag Library (JSTL) *JavaEE5 JavaServer Faces *JavaEE5 Web アプリケーションの国際化とローカライズ !!Webサービス *JavaEE5 The Java API for XML-based Web Services (JAX-WS) *JavaEE5 The Java API for XML Binding (JAXB) *JavaEE5 The Streaming API for XML (StAX) *JavaEE5 The SOAP with Attachments API for Java (SAAJ) !!Enterprise Bean !Enterprise Bean *Enterprise beanは、EJB(Enterprise JavaBeans)を実装した、JavaEEのコンポーネント *アプリケーションサーバーのEJBコンテナ上で動作する *アプリケーション開発者にとって、EJBコンテナが提供するトランザクションやセキュリティのようなシステムレベルのサービスは透過的である *これらのサービスをEnterprise beanに速やかに開発し組み込むことが可能 {{ref_image jee_cnt.jpg}} ::Enterprise Beanとは? *Enterprise Beanは、アプリケーションのビジネスロジックをカプセル化したサーバ側のコンポーネント ::なぜ使うか? *大きく、分散されたアプリケーションの開発をシンプルにする *EJBコンテナーがトランザクションやセキュリティなどシステムレベルサービスを提供するため、開発者はビジネスの解決に専念できる *Beanにビジネスロジックを持たせることで、クライアント開発者はプレゼンテーションに専念できる *クライアント開発者は、ビジネスルールやデータベースアクセスなどのルーチンコードを実装する必要がない *結果として、クライアントは軽量化され、小さなデバイスでも動くようになる *Enterprise Beanは可搬性のあるコンポーネントであり、新たなアプリケーションを既存のBeanから組み立てることを可能にする *アプリケーションは、JavaEE標準に適合したサーバーで動作させることができる ::いつ使うか? Enterprise Beanを利用する場合、アプリケーションが以下の要件に該当するか考えること *アプリケーションはスケーラブルである必要がある。 **ユーザの増加に対応させるため、アプリケーションのコンポーネントを複数のマシンに分散配置させる必要が出てくるだろう **アプリケーションのEnterprise Beanを異なったマシンで実行するだけでなく、ロケーションはクライアントに透過的である。 *トランザクションはデータの完全性を保障する必要がある **Enterprise Beanはトランザクションをサポートする。メカニズムはオブジェクト共有への同時アクセスを管理する。 *アプリケーションは、様々な種類のクライアントを持つ **たった数行のコード、リモートクライアントは簡単にEnterprise Beanを見つけることができる。クライアントは、軽量、多様、多数にすることができる。 !Enterprise Beanのタイプ ,タイプ,目的 ,[[Session|JavaEE5 Session Bean]],クライアントへのタスクを実行する。随意でWeb Serviceを実装できる。 ,[[Message-Driven|JavaEE5 Message-Driven Bean]],Java Message Service APIのような、特定のメッセージタイプへのリスナーとして活動する。 !!永続化 *JavaEE5 Java 永続化 API *JavaEE5 Web層でのJava 永続化 *JavaEE5 EJB層でのJava 永続化 *JavaEE5 Java 永続化問い合わせ言語 !!サービス *JavaEE5 セキュリティ *JavaEE5 Java メッセージサービス *JavaEE5 トランザクション *JavaEE5 リソースコネクション *JavaEE5 Java EE Connector Architecture