oracle weblogic serverで学ぶjava ee 7アプリケーション開発とデプロイ

47
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle WebLogic Serverで学ぶ Java EE 7 アプリケーション開発とデプロイ 56WebLogic Server 勉強会@東京 日本オラクル株式会社 オラクルユニバーシティ 岡田 大輔 2016128

Upload: oracle-fusion-middleware

Post on 16-Apr-2017

1.622 views

Category:

Technology


21 download

TRANSCRIPT

Page 1: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle WebLogic Serverで学ぶ Java EE 7 アプリケーション開発とデプロイ 第56回 WebLogic Server 勉強会@東京

日本オラクル株式会社 オラクルユニバーシティ 岡田 大輔 2016年1月28日

Page 2: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

Oracleは、米国オラクルコーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

2

Page 3: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

お話すること

1. Java EE とは?

2. Java EE アプリケーションの開発

3. Java EE アプリケーションのデプロイ

3

Page 4: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java EE とは?

4

Page 5: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, 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

5

Page 6: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

1998年5 月

エンタープライズ アプリケーション

1999年12月

10 specs

堅牢 スケーラブル

2001年9月

13 specs

Web サービス

2003年11月

20 specs

かんたん開発

2006年5月

23 specs

軽量化

2009年12月

28 specs

Project JPE

J2EE 1.3

CMP, Connector

Architecture

Java EE 5

Ease of

Development, Annotations,

EJB 3.0, JPA, JSF, Updated Web Services

J2EE 1.4 Web Services

Mgmt, Deployment,

Async

Connector

Java EE 6 Pruning, Extensibility Ease of Dev,

CDI, JAX-RS

Web Profile

Servlet 3.0, EJB 3.1 Lite

J2EE 1.2 Servlet, JSP,

EJB, JMS

RMI/IIOP

Java EE 7 JBatch, Concurrency Utility, HTML5:

WebSocket,JSON-P

Web Profile

Servlet 3.1, EJB 3.1 Lite

HTML5対応 エンタープライズ ニーズへの対応

2013年6月

28 specs

Java EE の歴史

6

Page 7: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java EE

Java 標準回帰の流れ

2000年代前半頃 J2EE 1.3/1.4 をベースに開発 フレームワーク整備、 開発標準化

2014年以降 Java 標準の進化を再認識 見直しのタイミング

+ セキュリティ対策による バージョンアップの必要性

プレゼンテーション ビジネスロジック インテグレーション

Struts Spring Hibernate

JSF CDI/EJB JPA

従来 •非標準・独自技術 •複数フレームワーク を統合

Java SE

Java EE 6 • Java EE 標準技術 •事前統合済みの フレームワーク

Java SE •コア API を提供 •下位互換性の維持 • HWの進化や利用形態、 開発言語の変化への対応

7

Page 8: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

新規追加 大幅な更新 通常の更新

Connector 1.6

JPA 2.1 JTA 1.2 JMS 2.0

Managed Bean 1.0 EJB 3.2

Common Annotations 1.1

Interceptors 1.1 CDI 1.1

Portable Extensions

Servlet 3.1

JSP 2.2 JSF 2.2 JAX-RS 2.0 EL 3.0

Be

an V

alidatio

n 1

.1

Concurrency Utilities for EE

(JSR-236)

Batch Application (JSR-352)

Java API for JSON

(JSR-353)

Java API for WebSocket (JSR-356)

Java EE 7

8

Page 9: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java EE 7 の主な標準仕様

標準仕様 開発領域 特徴

JSF 2.2

Webアプリケーション

• リッチな UI の効率的な開発を実現するコンポーネントベースのWebアプリケーション・フレームワーク

Servlet 3.1 • 冗長な設定・コード記述の削減により開発生産性を向上 • 非同期 Servlet による Ajax 対応、ノンブロッキング I/O の サポート

Java API for WebSocket

• Java で WebSocket 通信を実装するための API • 注釈ベースで実装可能

EJB 3.2 ビジネスロジック • ビジネスロジックを提供する分散コンポーネント仕様 • 冗長な設定・コード記述の削減により開発生産性を向上

JPA 2.1 永続化ロジック • 標準ORマッピング・フレームワーク • Java EE だけでなく Java SE でも使用可能

JAX-RS 2.0 Webサービス • 注釈ベースで実装可能なREST スタイルの Web サービス標準仕様

CDI 1.1 全領域 • コンテキスト(スコープ) をもった依存性注入(DI) 仕様。すべてのレイヤにおいて統一された DI 方法を提供

9

Page 10: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

プレゼンテーション インテグレーション (永続化ロジック)

ビジネスロジック

10

Java EE アプリケーションと仕様

Enterprise JavaBeans

JPA

JavaServer Faces

(Servlets/JSPs)

JAX-RS

WebSocket

CDI

CDI

CDI

CDI JMS

jBatch

HTML JavaScripts

Web Storage

HTML JavaScripts

メッセージング・サービス による非同期 処理 API

Java でバッチ処理を実装するための API

ORマッピング・ フレームワーク ビジネス・ロジック

を実装するための API

従来通りの MVC モデルを使用した アプリケーション・アーキテクチャ。プレゼンテーション・レイヤー(JSF)で HTML を構成。

リッチ・クライアント対応型 アプリケーション・アーキテクチャ。 プレゼンテーション・レイヤー (JAX-RS)は REST 通信で JSON を返す。 クライアント側で HTML を構成。

HTTP

HTML

REST

JSON

ブラウザ

Page 11: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

WebLogic Server

EJB コンテナ Web コンテナ

WebLogic Server と Java EE

11

トランザクション・マネージャ

JMS サーバー

データ・ソース

JNDI

JNDI JAAS

JMS JTA

JDB

C

セキュリティ・レルム

LDAP ATN ATZ Auditor

宛先 (Queue/Topic)

JSF EJB JPA

Java EE アプリケーション

RMI

HTT

P

T3

Plug-in

データベース

Web サーバー

ブラウザ

クライアント

Page 12: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java EE アプリケーションの開発

12

Page 13: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 13

サンプル Web アプリケーション データベース表のCRUD操作

• 一覧 • 検索 • 追加 • 更新 • 削除

Page 14: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 14

サンプル Web アプリケーションの構成 (概要)

データベース ブラウザ

プレゼンテーション インテグレーション (永続化ロジック)

ビジネスロジック

コントローラー

ビュー

モデル

(JSF)

FacesServlet (Bean Validation) 入力値の検証

(JPA)

EntityManager

(CDI) マネージド

Bean

(EJB / JAX-RS) ビジネス ロジック

(JPA) エンティティ

(JSF) ページ [Facelets]

Page 15: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 15

作成するクラス

JSF ページ (Facelets)

ManagedBean (CDI)

ビジネスロジック (JAX-RS)

JAX-RS クライアント クラス

エンティティ クラス (JPA)

Page 16: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 16

Web アプリケーション・プロジェクトの作成 1. Dynamic Web Project を作成

2. [Modify …] を 押す

3. Web アプリケーションで使用するファセットを追加

追加するファセット (JavaServer Faces, JPA など) によって、ライブラリや DB 接続設定などが必要

Page 17: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

エンティティ・クラスとデータベースの関係

ID (PK) PRODUCTCODE PRODUCTNAME PRICE CREATION_DATE

1 P0001 商品01 200 2014-10-29

2 P0002 商品02 50 2014-10-29

3 P0003 商品03 500 2014-10-29

4 P0004 商品04 150 2014-10-29

Product

private Integer Id private String productCode private String productName Private Integer price private Date creationDate

public Product () public getXXX() public setXXX()

PRODUCT

ID INTEGER [PK] PRODUCTCODE VARCHAR(10) [NOT NULL] PRODUCTNAME VARCHAR(40) PRICE INTEGER CREATIONDATE DATE

<<Product>> id: 1

<<Product>> id: 3

クラスと表

インスタンスと列

17

Page 18: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 18

エンティティ・クラスの作成 (JPA)

表を選択してクラス名などマッピングを指定するとエンティティ・クラスを生成できる (事前にデータベース接続を設定する必要あり)

テーブルから エンティティを作成

Page 19: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

• WebLogic Server のデータソースを使用するように persistence.xml を修正

– <jta-data-source> は WebLogic Server で設定するデータソースの JNDI 名

19

persistence.xml の修正

<persistence-unit name="prodMgmt"

transaction-type="JTA">

<jta-data-source>

jdbc/prodMgmt/dataSource

</jta-data-source>

Page 20: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

エンティティ・クラスの構造

20

Product.java import javax.persistence.Entity;

import javax.persistence.Id;

@Entity

public class Product implements Serializable {

@Id private Integer id;

private String productCode;

private String productName;

private Integer price;

@Temporal(TemporalType.TIMESTAMP) private Date creationDate;

public Product() {

}

// …

エンティティ・クラス名は 表名と同じ

主キー

フィールド名は表の列名と同じ

時刻(日付)型のマッピング

Javax.persistence.* パッケージをインポート

引数なしのコンストラクタ

Page 21: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

ProductEntityRest.java

@Stateless

@Path("products")

@Consumes({"application/json", "application/xml" })

@Produces({"application/json", "application/xml" })

public class ProductEntityRest {

@PersistenceContext

private EntityManager entityManager;

private Class<Product> entityClass = Product.class;

@GET

@Produces({"application/xml", "application/json" })

public List<Product> findAll() {

CriteriaQuery<Product> cquery =

entityManager.getCriteriaBuilder().createQuery(entityClass);

cquery.select(cquery.from(entityClass));

return entityManager.createQuery(cquery).getResultList();

}

ビジネスロジック・クラスの作成 (EJB / JAX-RS)

21

@Session Bean 注釈 Stateless SessionBean (EJB) として宣言

エンティティの検索 (Criteria API)

Web リソースクラスとして宣言する @Path …. リソースのパス

リソースメソッド @Produces … リソースメソッドが生成する MIME タイプを指定

EJB を Web サービスとして宣言する @Path …. サービスのパス

Page 22: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

ProductClientBean.java

JAX-RS クライアント・クラス

22

public class ProductClientBean {

private static final String TARGET_URL =

"http://localhost:7001/prodMgmt/webresources/products";

private Client client;

private WebTarget target;

@PostConstruct

public void init() {

client = ClientBuilder.newClient();

target = client.target(TARGET_URL);

}

public Product[] getProducts() {

return target.request().get(Product[].class);

}

@PreDestroy

public void destroy() {

client.close();

}

Page 23: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 23

JSF ページの作成

• Java EE 7 用に namespace を修正

Java EE 6 http://java.sun.com/jsf/html Java EE 7 http://xmlns.jcp.org/jsf/html

Page 24: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

JSF ページ

<?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://xmlns.jcp.org/jsf/html">

<h:head>

<title>prodMgmt</title>

</h:head>

<h:body>

<h2>

<h:outputText value="index.xhtml" />

</h2>

<hr />

<p>商品管理</p>

<h:form>

<div>

<label>一覧</label> <span />

<span> <h:commandButton action="#{searchBean.toList}" value="表示" /> </span>

</div>

</h:form>

</h:body>

</html>

<h:outputText>

<h:commandButton>

index.xhtml

24

Page 25: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

<h:form>

検索:

<h:inputText value="#{searchBackingBean.productName}" />

<h:commandButton id="subimt" value="検索"

action="search" />

</h:form>

フォームの作成 <h:form> タグ

遷移先のJSFページを指定

入力した値は、HelloBean オブジェクトの変数 name に格納される

25

Page 26: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 26

JSF 2.2 での マークアップの改善 (HTML 5 対応)

<h:form>

検索:

<h:inputText value="#{searchBackingBean.productName}" />

<h:commandButton id="subimt" value="検索" action="search" />

</h:form>

<form jsf:id="f1">

検索:

<input type="text" id="it1"

jsf:value="#{searchBackingBean.productName}" />

<input type="submit" value="検索" jsf:action="search" />

</form>

HTMLタグに接頭辞 jsf で指定するとJSFタグとして認識される (jsf のnamespace宣言は xmlns:jsf="http://xmlnx.jcp.org/jsf")

Page 27: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 27

JSF 2.2 での マークアップの改善 (HTML 5 対応)

<form jsf:id="f1">

検索:

<input type="text" id="it1"

jsf:value="#{searchBackingBean.productName}"

p:placeHolder="商品名を入力" />

<input type="submit" value="検索" jsf:action="search" />

</form>

プレースホルダ

HTMLタグに直接出力する属性をしていするには passThroughAttribute タグを使用 (HTML 5 形式で記述する場合のnamespace宣言は

xmlns:p="http://xmlns.jcp.org/jsf/passthrough" )

<h:inputText value="#{searchBackingBean.productName}">

<f:passThroughAttribute name="placeholder" value="商品名を入力" />

</h:inputText>

Page 28: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

JSF での画面遷移

<h:commandButton id="subimt" value="送信" action="search" />

search.xhtml <h:outputText value="何かを表示します" />

index.xhtml <h:form> <h:inputText id="prodName"/> <h:commandButton id="subimt" value="送信"

action="#{searchBackingBean.toSearch}" /> </h:form>

戻り値の型がvoidのメソッドの呼び出し、または メソッドの戻り値が null の場合は呼び出し元の ページを表示

遷移先のJSFページを指定できる

SearchBackingBean public String toSearch() {

return "search"; }

遷移先のページを戻り値で指定

index.xhtml

SearchBackingBean.java

28

Page 29: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

マネージド Bean (CDI) の実装

import javax.enterprise.context.RequestScoped;

@Named("searchBean")

@RequestScoped

public class SearchBackingBean {

private Product[] list;

@NotNull(message = "商品名を入力してください")

@Size(max = 20)

private String productName;

@Inject

private ProductClientBean productClient;

public String toSearch() {

list = productClient.getProductsByName(productName());

return "search";

}

// …

@Named 注釈とスコープの注釈を指定 (スコープの注釈はできるだけ省略しない)

29

マネージド Bean には 画面遷移を行うメソッドも

記述できます

JSF では Bean Validation を使用して入力値を検証可能 (@NotNull で空白入力チェックする場合は、web.xml で

javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL を true に設定する )

SearchBackingBean.java

Page 30: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

マネージド 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://xmlns.jcp.org/jsf/html"

xmlns:f="http://xmlns.jcp.org/jsf/core">

<h:body>

<h2>search.xhtml</h2>

<h3><h:outputText value="商品一覧: " /></h3>

<h:form>

<div>

<h:commandButton action="#{searchBean.toIndex}" value="戻る" />

</div>

</h:form>

<h:dataTable value="#{searchBean.list}" var="c" border="1" >

… 途中略 …

マネージドBeanへのアクセスはEL式を使用

search.xhtml

30

Page 31: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

search.xhtml

EL 式の使い方

<h:dataTable border="1" value="#{searchBean.list}" var="c" >

JSFのEL式の構文は #{ マネージド Bean の名前.プロパティ名 }

@Named("searchBean") @RequestScoped

public class ProductBean {

private Product[] list;

public Product[] getList() {

return list;

}

マネージドBean名はクラス名(先頭小文字) (@Named 注釈の name 属性で変更可能)

マネージドBeanのプロパティのgetterメソッドを呼び出す

SearchBackingBean.java

31

Page 32: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

search.xhtml

<h:dataTable value="#{searchBean.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:dataTable>タグ

SearchBackingBean private Product[] list; public Product[] getList() { return list; }

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;

value 属性には表を生成するデータ(コレクション)を指定 var 属性には、コレクション内の各オブジェクトの参照変数を指定

表のヘッダーやフッターは <f:facet>タグで header や footerを指定

32

Page 33: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 33

テンプレートの作成

<?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:ui="http://xmlns.jcp.org/jsf/facelets"

xmlns:h="http://xmlns.jcp.org/jsf/html">

<h:head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<h:outputStylesheet name="./css/default.css"/>

<h:outputStylesheet name="./css/cssLayout.css"/>

<title>hello</title>

</h:head>

<h:body>

<div id="top" class="top">

<ui:insert name="top">Top</ui:insert>

</div>

<div id="content" class="center_content">

<ui:insert name="content">Content</ui:insert>

</div>

</h:body>

</html>

ヘッダー (top)

コンテンツ (content)

template.xhtml

Page 34: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 34

index.xhtml にテンプレートを適用する

<?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://xmlns.jcp.org/jsf/html">

<h:body>

<ui:composition template="./template.xhtml">

<ui:define name="top">

<h2>index.xhtml</h2>

</ui:define>

<ui:define name="content">

<h3>名前を入力してください。</h3>

<h:form>

<h:outputText value="名前: "/>

<h:inputText id="it1" value="#{helloBean.name}" />

<h:commandButton value="送信" action="hello" />

</h:form>

</ui:define>

</ui:composition>

</h:body>

</html>

[content]

[top]

<ui:composition>で指定したテンプレートに挿入するコンテンツを定義

index.xhtml

Page 35: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java EE アプリケーションのデプロイ

35

Page 36: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

ドメイン

アプリケーションのデプロイメント

36

マシン

管理サーバー

マシン

管理対象 サーバー

webApp.war

prodMgmt.war

設定変更

MBean

管理 コンソール

prodMgmt.war

デプロイメント・ソースファイル

dir

MBean

config.xml

設定ファイル

ステージング

1. ドメインにアプリケーションを登録 (インストール)

管理者 ブラウザ

2. 対象のサーバーでアプリケーションをアクセス可能にする (アクティブ化)

開発ツール

Page 37: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 37

IDE からのデプロイ

サーバーの制御メニューからデプロイ可能

Eclipse からのデプロイはアーカイブ形式で

Page 38: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Web アプリケーションの監視 (全体)

38

Page 39: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Web アプリケーションの監視 (アプリケーション単位)

39

JAX-RS アプリケーションを選択

Page 40: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 40

データ・ソースの設定の確認

JNDI 名は、アプリケーションがデータ・ソースのルックアップに使用する名前を指定 JPA の場合は、persistence.xml で指定する

<jta-data-souce> 要素の値

Page 41: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

オラクルユニバーシティからのお知らせ

41

Page 42: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

オラクルユニバーシティからのお知らせ

• Java EE 7 ベースのアプリケーション開発方法やWebLogic Serverの管理方法を体系的に学習したい方に最適な研修コースをご提供しています。

– Classroomトレーニングだけでなく、Live Virtual Classや『Oracle トレーニング・オンデマンド』など多様な受講形態から選択いただけます。

42

Page 43: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

コース内容

Java EE 7: 概要

JAX-RS 2.0 および JSON-P を使用したJava EE アプリケーションの開発 JSF, JSP, EL および サーブレットの新機能を使用したWebアプリケー

ションの開発

WebSocket を使用したアプリケーションの開発

EJB、CDI およびBean Validationの実装 JMS, JPA および Batch の実装

受講前提条件 ・Java SE 7 プログラミング II 受講相当の知識 ・Java EE 6 アプリケーション開発 受講相当の知識

対象者 ・Javaアプリケーション開発者

・システム・エンジニア

・アーキテクト

コース日程 2日間 日程の詳細は Oracle University Webサイト にてご確認ください。

受講料 定価¥154,224(税込) ※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。

このコースでは、Java EE 6 経験者向けに Java EE 7 の新機能を説明します。Java EE 7 で追加された WebSocket、

Batch、JSON API や JMS 2.0 や JAX-RS 2.0 などの新機能をはじめとした、開発生産性をさらに向上させながら最新技

術に対応した Java EE 7 の主な変更点と機能拡張を理解することができます。

Java EE 7: 新機能

開催日程 ■ お問い合わせください

Java

43

Java EE 7 対応 最新エンタープライズ・アプリケーション開発の エッセンスをキャッチアップ

Page 44: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

コース内容

Oracle WebLogic Server概要

ドメインの作成

Administration Console ドメインのモニタリング アプリケーションのデプロイメント

WebLogic Server セキュリティ ドメインのバックアップおよびリカバリ

WebLogic Serverのインストールおよびパッチ適用

サーバーの起動および停止

JDBCデータソースの構成

ノードマネージャ WebLogic Serverクラスタリング

トランザクション・サービスのコンフィグレーション

受講前提条件 ・Linux の基本的な操作方法の理解 ・Java EE の基礎知識(サーブレットや JSP など) ※推奨

対象者 ・Oracle WebLogic Server 管理者

・Javaアプリケーション開発者

・アーキテクト

コース日程 5日間 日程の詳細は Oracle University Webサイト にてご確認ください。

受講料 定価¥385,560(税込) ※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。

Oracle WebLogic Server 12c の運用管理スキルをしっかり習得 待望のWebLogic Server 12c(12.1.2)対応研修は絶賛提供中です。

このコースでは、アプリケーション・サーバー管理者がOracle WebLogic Server 12cのインストールおよび設定方法を習得することができま

す。管理コンソールやコマンドラインツール(WLST)などを使用してドメインを構成する方法やJava EEアプリケーションをサーバーにデ

プロイする方法についても説明します。さらに、Oracle WebLogic Server のプロキシとしてOracle HTTP Serverを設定し、WebLogic Serverク

ラスタによるアプリケーションのフェイルオーバーとロードバランシングをサポートする方法など、環境構築に必要なスキルとWebLogic

Serverのモニタリングやログ情報の収集など運用に必要なスキルを実機演習を通して習得できます。さらに、Oracle WebLogic Server 12cで

強化されたActive GridLink for RACの構成方法やWebLogic Server 12.1.2の新機能である動的クラスタなど注目の新機能もカバーします。

Oracle WebLogic Server 12c: 管理 I ミドルウェア

開催日程 ■ 2016年 2月 22日 (月) 〜 26日 (金)

44

Page 45: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 45

• 一回目で合格できなくてももう一度挑戦できる!

•オラクル認定資格 再受験無料キャンペーン

• 期間: 2016年1月22日 〜 2016年5月31日

• プロモーションコード: RETAKE16JP

• キャンペーンの詳細は ピアソン VUE の Web サイト まで。

キャンペーン。やってます

Page 46: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 46

Page 47: Oracle WebLogic Serverで学ぶJava EE 7アプリケーション開発とデプロイ