ejb&cdi入門:はじめてのjava eeアプリケーション開発:第3回
Post on 15-Jan-2015
1.180 Views
Preview:
DESCRIPTION
TRANSCRIPT
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
EJB & CDI 入門 はじめてのJava EEアプリケーション開発シリーズ 第3回:
日本オラクル株式会社 オラクルユニバーシティ 岡田 大輔 2014年08月27日
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
2
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Agenda
EJB (Enterprise JavaBeans) とは?
CDI (Contexts and Dependency Injection) とは?
3
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Java Platform, Enterprise Edition おさらい
• Java SE をベースにした企業システム向けのフレームワーク
–オープンなWebシステムの構築を支える機能群の標準仕様 • コミュニティ主導のエンタープライズ・ソフトウェア標準
• コンポーネント仕様とサービスアクセスのための各種APIを規定
–移植性(Write Once Run Anywhere を担保)
– Oracle などのベンダーは、Java EE に準拠した実装としてアプリケーション・サーバーを提供 • Oracle WebLogic Server
• GlassFish
4
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Java EE 6 の主な標準仕様 おさらい
標準仕様 開発領域 特徴
JSF 2.1
Webアプリケーション
• リッチなユーザインタフェースの効率的な開発を実現するWebアプリケーション・フレームワーク
Servlet 3.0 • 冗長な設定・コード記述の削減により開発生産性を向上 • 非同期ServletによるAjax対応
EJB 3.1 ビジネスロジック • 冗長な設定・コード記述の削減により開発生産性を向上 • より柔軟な制御機能の追加
JAX-RS Webサービス • 容易なサービス公開を実現するWebサービス標準仕様
CDI 全領域 • レイヤ間の疎結合化による柔軟性を向上するDIフレームワーク標準仕様
5
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
WebLogic Server
Webアプリケーション
プレゼンテーション
ビジネス・ロジック
永続化ロジック
これから作成するアプリケーション
Product Integer id; String productName; Integer price; Integer units;
開発環境
開発・ デプロイ
ProductEJB List<Product> getAllProducts() { } void create(Product entity); void remove(Product entity); void edit(Product entity);
@Named ProductController List<Product> list; String search() { } String create() { } String delete() { } String update() { }
ProductBean List<Product> list; String search() { } String create() { } String delete() { } String update() { }
search.xhtml 検索
list.xhtml 一覧
index.xhtml メニュー
create.xhtml 作成
update.xhtml 更新
delete.xhtml 削除
第2回で説明しました 第3回(今回)で説明します
第4回で説明します
6
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
今回作成するアプリケーション
index.xhtml (メニュー)
<p>商品管理</p>
<h:form> 商品の表示 <h:commandButton value="表示"
action="#{productBean.toList}" /> </h:form> ProductBean
@Inject ProductEJB productEJB; public List<Product> getList() { return productEJB.findAll(); } public String toList() { return "list"; } public String toIndex() { return "index"; }
list.xhtml (一覧)
<p><h:outputText value="商品一覧: " /></p>
<h:dataTable value="#{productBean.list}" var="c” border="1"> <h:column> <f:facet name="header"> <h:outputText value="商品番号" />
</f:facet> <h:outputText value="#{c.id}" /> </h:column> </h:dataTable> <h:form> <h:commandButton value="戻る”
action="#{productBean.toIndex}" /> </h:form>
Product
private Integer id; private Date creationDate; private String description; private Date modificationDate; private Integer price; private String productCode; private String productName; private String status; private Integer units;
ProductEJB Private List<Product> list; private List<Product> findAll() { return list; }
Stateless Session Bean
7
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
EJB(Enterprise JavaBeans)とは?
8
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Enterprise JavaBeans (EJB)
• EJBは再利用可能なビジネスロジックを提供するためのコンポーネント仕様
– Session Bean • クライアントからのリクエスト受信時に実行するビジネスロジックを記述
– Message Driven Bean • JMSメッセージ受信時に実行するビジネスロジックを記述
– Entity Bean • ORマッピングとビジネスロジック(データの操作)を記述する
• Java EE 6 ではORマッピングは JPA を使用
今回の範囲
9
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
•アプリケーションの固有機能と共通機能を分離する
• Java EE のコンポーネント
– Webアプリケーション: JSF, Serlvets, JSP
– EJB: Session Bean, Message Driven Bean
–クライアント: アプレット
コンポーネント・アーキテクチャ
コンテナ
コンポーネント
コンテナ: • クライアントに「サービス」を提
供する実行環境 • コンポーネントのライフサイクル
を管理
コンポーネント: • アプリケーション固有の機能
が実装されている • コンテナが提供するサービス
を利用 • コンテナによって管理される
10
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
コンテナが提供するサービス
• デプロイ時に宣言可能なサービス
– 永続化
– トランザクション
– セキュリティ
– インジェクション
• コンポーネント制御のためのサービス
– ライフサイクル管理
– スレッド管理
– クライアントとの通信
• コンテナ・プロバイダ固有のサービス
– クラスタリング
– 負荷分散
– フェイル・オーバー
サービスの振る舞いはデプロイメント記述子や注釈で指定
可能
アプリケーション・サーバー ごとに提供する機能が異なる
コンポーネント制御に必要なサービスは暗黙で提供される
11
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
サービスアクセスAPI コンポーネントがサービスにアクセスするには?
Java SE
Webコンテナ
JAF
JAXP JAX-RS JAX-WS JAX-RC JPA Connectors Java Mail
JMS JTA/ JTS JDBC
アプレット コンテナ
Java SE
アプリケーション クライアント コンテナ
Java SE
JMS JNDI JDBC
HTTP/HTTPS
Java SE
EJB コンテナ
JAF
JAXP JAX-RS JAX-WS JAX-RPC JPA Connectors Java Mail
JMS JTA/ JTS JDBC
HTTP/HTTPS
データベース RMI/IIOP
RMI/IIOP
12
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
EJB Lite
機能 EJB Lite EJB 3.1
No Interface view (ローカルクライアント) ◯ ◯
宣言的セキュリティ ◯ ◯
トランザクション(CMT / BMT) ◯ ◯
インターセプタ ◯ ◯
Message Driven Bean ◯
リモートクライアント ビュー ◯
EJB2.x ◯
タイマーサービス ◯
非同期メソッド呼び出し ◯
Webサービス エンドポイント (JAX-WS / JAX-RPC) ◯
13
One Point: • EJB Lite は EJB 3.1 のサブセットとして提供される • Web Profileまたは Java EE 6 フルプラットフォームのアプリケーション・サーバーにデプロイできる
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
EJBのパッケージング
• EJB 3.1 では、EJB を war ファイルに含めることができる
–デプロイメント記述子もオプションに • 使用する場合はWEB-INF配下に配置 (ejb-jar.xml / weblogic-ejb-jar.xml)
– ejb-jar ファイルとしてもデプロイ可能
14
Webアプリケーション(war)
EJB EJB
エンタープライズアプリケーション(ear)
Webアプリケーション(war)
EJB(jar)
EJB EJB
EJB (jar)
EJB EJB
Java EE 6 ではEJBを war にデプロイ可能
従来どおりejb-jar または ear としてもデプロイ可能
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Session Beanとは
•ビジネスロジックを記述するコンポーネント
–クライアントからのリクエスト受信時に実行するビジネスロジックを記述
–注釈付きのPOJO(Plain Old Java Object)として実装できる
–同期呼び出しおよび非同期呼び出しとして実装可能
–コンテナによってライフサイクルが管理される • クライアントの呼び出しを受けたコンテナによって呼び出される
• トランザクションやセキュティはデプロイ時に宣言可能なサービスとしてコンテナが提供
15
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Session Bean の種類
Session Bean 説明 注釈
Statelss Session Bean クライアントごとにインスタンスが割当てられるが、クライアントの状態を保持しない
@Stateless
Stateful Session Bean クライアントごとにインスタンスが割当てられ、クライアントごとの状態を保持する
@Stateful
Singleton Session Bean
アプリケーションで1回だけインスタンス化され、複数のクライアントがインスタンスに並行アクセスできる (JVMごとに1つだけインスタンスが存在する)
@Singleton
16
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Session Beanの振る舞い
• Stateless Session Bean • Stateful Session Bean • Singleton Session Bean
Stateless SessionBean
Stateless SessionBean
Session Object
クライアント クライアント
Stateful Session Bean
Stateful Session Bean
Session Object
クライアント クライアント
Session Object
Singleton Session Bean
Session Object
クライアント クライアント
Session Object
17
オブジェクト プーリング
オブジェクトキャッシュ
シングル インスタンス
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Session Bean の作成 (1)
One Point:
• [Enterprise JavaBeans] -> [セッションBean]を選択します
• WebアプリケーションでEJBを作成した場合はEJB用のデプロイメント記述子は生成されません (追加する場合は WEB-INF に配置)
18
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Session Bean の作成 (2)
One Point:
• セッションのタイプ: で作成するSession Beanの種類を選択します
• インタフェースを作成: にチェックを入れるとEJB クライアント用にローカル・インタフェースが生成されます
• (EJBモジュール内で作成する場合はリモート・インタフェースも選択可能)
19
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ProductEJB.java
import javax.ejb.Stateless;
@Stateless public class ProductEJB { private List<Product> list; // Add business logic below. (Right-click in editor and choose // "Insert Code > Add Business Method") public List<Product> findAll() { return list; } }
Session Bean を書いてみよう
20
NetBeansでは右クリック メニューでビジネスメソッドを定義できる
セッションのタイプ: で選択した Session Beanの注釈 (ここではStateless Session Bean)
ビジネス メソッド
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ビジネス・メソッドの追加
One Point:
• [コードを挿入 …] -> [ビジネスメソッド・の追加…] を選択するとSession Bean にビジネスメソッドを追加できます
• インタフェースを使用している場合は、 インタフェースで使用: をチェックすることでインタフェースにメソッド宣言が追加されます
21
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Session Beanのライフサイクル
• Stateless Session Bean • Stateful Session Bean • Singleton Session Bean
22
存在しない
Ready状態 (呼び出し可能)
1. DI 2.PostConstructコールバック
PreDestroy コールバック
メソッド実行
存在しない
Ready状態 (呼び出し可能)
1.DI 2.PostConstructコールバック
1.Removeメソッド またはタイムアウト 2.PreDestroy コールバック
Passive状態
存在しない
Ready状態 (呼び出し可能)
1.DI 2.PostConstruct コールバック
PreDestroy コールバック
メソッド実行
PrePassivate コールバック
PostActivate コールバック
メソッド実行
タイムアウト
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ライフサイクル コールバックメソッド
• Beanクラスではライフサイクルコールバックを処理するメソッドを実装できる
–コールバック注釈をつけたメソッドを定義する • @PostConstruct … 依存性注入完了後に、初期化処理として呼び出される
• @PreDestroy … インスタンス破棄する直前に呼び出される
• @PrePassivate … パッシベーション前に呼び出される (Stateful Session Beanのみ)
• @PostActivate … アクティベーション後に呼び出される (Stateful Session Beanのみ)
• @Remove … Stateful Session Beanの削除用メソッド
23
One Point: 上記4つの注釈をつけるメソッドは次の要件を満たす必要があります • メソッド戻り値は void • static または final ではない • チェック例外をスローしない
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
weblogic-ejb-jar.xml
One Point: SLSBのプールサイズを調整するには?
•デプロイメント記述子(weblogic-ejb-jar.xml)で指定
<?xml version="1.0" encoding="UTF-8"?> <weblogic-ejb-jar xmlns="http://xmlns.oracle.com/weblogic/weblogic-ejb-jar" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-ejb-jar http://xmlns.oracle.com/weblogic/weblogic-ejb-jar/1.0/weblogic-ejb-jar.xsd">
<weblogic-enterprise-bean> <ejb-name>ProductEJB</ejb-name> <stateless-session-descriptor> <pool> <initial-beans-in-free-pool>3</initial-beans-in-free-pool> <max-beans-in-free-pool>3</max-beans-in-free-pool> </pool> </stateless-session-descriptor> </weblogic-enterprise-bean> </weblogic-ejb-jar>
<ejb-name>はSession Beanクラスのクラス名を指定
設定は initial = max を推奨 maxの値は、 そのEJBへの最大同時 アクセス数が目安 ( < 実行スレッド数)
24
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ビジネスインタフェースとは
• Beanクラスのメソッドはビジネスインタフェースを通して公開可能
– EJBクライアントとコンポーネントの結合度を疎に保つ
–クライアントのアクセスモデルを注釈で指定 • リモートアクセス (@Remote)
• ローカルアクセス (@Local)
25
One Point: EJB 3.1 からはローカルアクセスでビジネスインタフェースを必要としないNo Interface view も使用できます (@LocalBean注釈をBeanクラスに指定するとNo Interface viewであることを明示できます )
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ビジネスインタフェースの実装
26
@Local public interface ProductEJBLocal { void method1(); }
ProductEJBLocal.java
@Stateless
public class ProductEJB implements ProductEJBLocal { @Override public void method1() { // メソッドの実装
} }
ProductEJB.java
クライアントアクセスモデルに応じた注釈を指定 (@Remote/@Local)
No Interface viewの場合は @LocalBean注釈を指定 (オプション)
ビジネスインタフェースのメソッドを オーバーライド
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
EJBの呼び出し (EJBクライアント)
• Java EE ではコンテナによるDI(依存性注入)をサポート
– Java EE 5 からサポートされているDI • @EJB … EJBのルックアップ (EJBクライアント)
• @Resource … 指定されたリソース接続ファクトリのルックアップ
@ManagedBean public class ProductBean { @EJB private ProductEJB productEJB; public List<Product> getList() { return productEJB.findAll(); } }
@Stateless public class ProductEJB { @Resource(name="jdbc/test") private DataSource ds; public List<Product> findAll() { return list; } }
JNDI
DataSource
EJBクライアント EJB
27
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
トランザクションの管理
• EJBのトランザクション管理はコンテナが提供するサービスのひとつ
–デプロイ時に宣言可能なサービス
– CMT(コンテナ管理)とBMT(Bean管理)を選択可能(@TransactionManagement) • CMT … コンテナがトランザクションを管理 (@TransactionAttributeで振る舞いを指定)
• BMT … Beanがトランザクション処理 (begin/commit を記述)
28
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
CMTのトランザクション属性
TransactionAttribute クライアント(TXなし) クライアント(TXあり)
NEVER △ × 例外発生
NOT_SUPPORTED △ △ クライアントTXはSuspend
SUPPORTS △ ○
MANDATORY × 例外発生 ○
REQUIRED ○ ○
REQUIRES_NEW ○ ○ クライアントTXはSuspend
29
×: 呼び出し不可 △:トランザクションなし ○:トランザクションあり
One Point: Message Driven Beanで指定できるTransactionAttributeはNOT_SUPPORTED と REQUIRED の2つです。
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
CDI (Contexts and Dependency Injection)とは?
30
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Context and Dependency Injection (CDI)
• Java EE 6 標準の DI 仕様
–アプリケーション・サーバー上の実行中の処理状態(Context)に関連付けて依存性を注入(Dependency Injection) • インスタンスの生成や削除(ライフサイクル)がコンテキスト上で管理される
• 利用者はCDI Beanのライフサイクルを意識しないでよい(Beanの型を知っていれば使用可能)
• 同じ注釈(@Inject)を使用して依存性を注入できる
31
@Named @Dependent public class ProductBean { @Inject private ProductEJB productEJB; }
@Stateless public class ProductEJB { @Inject @TestDS private DataSource ds; }
JNDI
DataSource
EJBクライアント EJB
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
CDI のスコープ
スコープ スコープをあらわす注釈 有効期間
request @RequestScoped HTTP リクエストを受けてからレスポンスを返すまでの間
conversation @ConversationScoped Conversation.begin()からConversation.end()を実行するまでの間
session @SessionScoped HTTP セッションが有効な間
application @ApplicationScoped Web アプリケーションが起動してから終了するまでの間
dependent @Dependent インジェクション先のライフサイクルと同じ ( デフォルト)
CDI Beanは注釈で指定された 期間で、コンテナによって インスタンス化・破棄されます
32
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
CDIを有効化するには
One Point: CDI を有効化するには、beans.xml ファイルをアプリケーションに含めます
• Webアプリケーションの場合は WEB-INF ディレクトリ配下
• その他のアプリケーションの場合は META-INF ディレクトリ配下
NetBeansでは、アプリケーション作成時に[コンテキストと依存性の注入を有効化する]をチェックします
33
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
CDI Bean の作成
One Point:
• NetBeansでJSF管理対象 Bean を作成すると、CDI Beanとして作成されます。
• 名前: CDI Beanの名前と スコープ: CDI Beanのスコープを指定します。
34
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ProducBean.java
CDI Bean の実装
import javax.enterprise.context.RequestScoped; import javax.inject.Named; @Named @RequestScoped public class ProductBean { private List<Product> list; public List<Product> getList() { // …
@Named注釈とスコープの注釈を指定 (省略すると @Dependent と同じだがなるべく省略しない)
スコープを@SessionScopedや@ConversationScopedで指定する場合は java.io.Serializable インタフェースを 実装しましょう
35
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
CDI Bean にアクセスする
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>prodMgmt</title> </h:head> <h:body> <h2> <h:outputText value="list.xhtml" /> </h2> <hr /> <p> <h:outputText value="商品一覧: " /> </p>
<h:form> <h:commandButton action="#{productBean.toIndex}" value="戻る" />
</h:form>
<h:dataTable value="#{productBean.list}" var="c" border="1"> … 途中略 …
JSFでは EL式を使って CDI Beanにアクセスできます
36
list.xhtml
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
EL 式を使ったCDI Beanのアクセス
<h:dataTable border="1" value="#{productBean.list}" var="c" >
@Named @RequestScoped public class ProductBean { private List<Product> list; public List<Product> getList() { return list; }
CDI Bean名はクラス名(先頭小文字) (@Name注釈のvalue属性で指定可能)
CDI Beanのプロパティの getterメソッドを呼び出します
ProductBean.java
37
list.xhtml JSFのEL式の構文は #{ CDI Beanの名前.プロパティ名 }
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ProductEJB.java
EJB クライアントでの CDI の使用
38
@Named @RequestScoped public class ProductBean { @Inject private ProductEJB productEJB; public List<Product> getList() { list = productEJB.findAll(); return list; } }
ProductBean.java
@Stateless @LocalBean public class ProductEJB { private List<Product> list; public List<Product> findAll() { return list; } @PostConstruct private void populateList() { // listの初期化処理
} }
@InjectでEJB への参照をDI
EJBクライアント
EJB
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
まとめ
• EJBは、ビジネスロジックを提供するコンポーネントです
– Java EE 6 の EJB は注釈ベースのかんたん開発
–コンポーネントのライフサイクル管理はコンテナによって行なわれます • コンテナが提供するサービスの振る舞いは注釈(やデプロイメント記述子)で指定¥
–トランザクションも宣言的トランザクション管理(CMT)を利用可能
• CDIは、Java EE 6 標準で提供される依存性注入機能です
– Java EE コンテキスト(スコープ)に関連づけた依存性注入が可能です • スコープに基づいてコンテナがインスタンスのライフサイクルを管理
• 同じ注釈を用いて様々な依存性を注入できる
39
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
オラクルユニバーシティからのお知らせ
40
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
オラクルユニバーシティからのお知らせ
• WebLogic Serverの管理方法やJava EE 6を使ったアプリケーション開発方法を体系的に学習したい方に最適な研修コースをご提供しています。
– Classroomトレーニングだけでなく、Live Virtual Classや『Oracle トレーニング・オンデマンド』など多様な受講形態から選択いただけます。
41
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
コース内容
■トラブルシューティング: 概要
■WebLogic Server 診断フレームワーク: 概要
■診断インストゥルメンテーション
■JVM のトラブルシューティング
■サーバーのトラブルシューティング
■アプリケーションのトラブルシューティング
■JDBC のトラブルシューティング
■ノード・マネージャのトラブルシューティング
■クラスタのトラブルシューティング
■セキュリティのトラブルシューティング
受講前提条件 ・Oracle WebLogic Server 管理 I 受講相当の知識 ・Linux の基本的な操作方法の理解
対象者 ・Oracle WebLogic Server 管理者
・サポートエンジニア
・アーキテクト
コース日程 2日間 日程の詳細は Oracle University Webサイト にてご確認ください。
受講料 定価¥152,224(税込) ※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。
アプリケーション・サーバー運用時に発生する トラブルのパターンと対処方法を知る
このコースでは、JVM、WebLogic Server、Java EE アプリケーションのデプロイメント、データソース、ノード・マネージャ、クラスタ
およびセキュリティなどWebLogic Serverの運用に不可欠な各機能について、よく発生する問題のトラブルシューティング手法について
説明します。WebLogic Server管理コンソール、モニタリング・ダッシュボード、WebLogic診断フレームワーク、およびJava Flight
Recorderなど、トラブルシューティングを支援する各種ツールを活用した問題の切り分けやデバッグ方法、およびその対処方法について
実践的な演習を通して学習することができます。
Oracle WebLogic Server 12c: トラブルシューティング ミドルウェア
開催日程 ■ 2014年 8月 28日 (木) 〜 29日 (金)
42
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
コース内容
■Java EE 6 概要
■開発環境の整備
■Webコンポーネントモデル
■JSFを使用した開発 ■CDIによる依存性注入
■JSF モバイルアプリケーションの作成
■Bean Validationの使用
■EJBコンポーネントモデル
■Java Persistence API
■トランザクションポリシーの実装 ■セキュリティポリシーの実装
■WebサービスおよびJava EE 統合技術
受講前提条件 ・SQLおよびHTML, CSSの基礎知識 ・統合開発環境(IDE)を使用したJavaプログラミング経験
対象者 ・Javaアプリケーション開発者
・システム・エンジニア
・アーキテクト
コース日程 5日間 日程の詳細は Oracle University Webサイト にてご確認ください。
受講料 定価¥374,850(税込) ※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。
開発生産性がさらに向上したJava EE 6 標準技術で作る Webアプリケーションの開発ポイントが分かる。開発者にオススメのコース
このコースでは、Java EE 6 に準拠したWebアプリケーションを開発、およびデプロイするための知識を習得することができます。
JavaServer Faces、Enterprise Java Beans、Java Persistence API をはじめとしたJava EE 6の主要な標準仕様について理解し、主にJSFテクノ
ロジーを使用した、デスクトップやモバイルWebブラウザからアクセス可能なエンドツーエンドのWebアプリケーションの開発方法
を豊富な演習を通して学習することができます。
Java EE 6 アプリケーション開発
開催日程 ■ 2014年 9月 1日 (月) 〜 5日 (金)
Java
43
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
無償セミナーのご案内 9月は WebLogic Server & Java EE を学習しよう!
• 『WLSTの使い方』 @Live Webinar (オンラインのみの開催)
WebLogic Serverのコマンドライン管理ツールであるWLST(WebLogic Server Scripting Tool)の活用方法をご紹介します。本セッションでは、WLSTを使用してWebLogic ServerのMBeanにアクセスしてドメインの設定やサーバーの起動・停止などの制御、およびモニタリングを行う方法などを紹介します。 日時: 2014年 9月 18日 (木) 18:30 〜 19:30
• 『これからはじめるJava EE』 @オラクル青山センター これから Java EE をはじめる方を対象に、Java EE とは何か? から JavaServer Faces (JSF) や 依存性の注入を行う Contexts and Dependency Injection (CDI) など Java EE 6 の標準技術を使ってWeb アプリケーションを作成するためのポイントをご紹介します。Java EE に触れたことは無いけれど興味はある、という方も大歓迎。ふるってご参加ください。 日時: 2014年 9月 24日 (水) 18:30 〜 20:00
44
お問い合せは オラクルユニバーシティ まで
http://www.oracle.com/jp/education/ Tel: 0120-155-092
お申し込みはセミナータイトル のリンクから!!
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 45
top related