エンタープライズ java の将来像と現状について
DESCRIPTION
エンタープライズ Java の将来像と現状について日本オラクル株式会社Fusion Middleware事業統括本部ビジネス推進本部 シニアJavaエバンジェリスト 寺田 佳央TRANSCRIPT
1 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
エンタープライズ Java の将来像と現状について
2012 年6 月29 日
日本オラクル株式会社
Fusion Middleware事業統括本部
ビジネス推進本部 シニアJavaエバンジェリスト 寺田 佳央
2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
JavaOne Tokyo 2012
3 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
4 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
クラウド対応に向けた
Java EE 6 の重要性
5 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
Java EE 6による開発生産性の向上
Java EE 6, Java SE 7 準拠による開発生産性の向上
必要Java クラス、コード/XML行数を削減し開発速度を向上
最新のプログラミング技術の導入
依存性注入(DI)、アノテーション、POJO, RESTなど最新の開発技術を標準化し提供
メジャーな開発ツールによるサポート
Eclipse, JDeveloper, NetBeans
• POJO/JPA/REST ベースのサンプルアプリでの試算
コード行数* XML行数* Java クラス数*
25% 削減
50% 削減
80% 削減
6 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
• ニーズを満たすオールインワン・パッケージ
• 軽量(起動時間の高速化、メモリフットプリント)
Java EE WebProfile版がサポートする仕様
Servlet 3.0 JPA 2.0
JSP 2.2/EL JTA 1.1
JSTL DI 1.0/CDI 1.0
JSF 2.0 Managed Bean 1.0
Bean Validation 1.0 Interceptors 1.1
EJB 3.1 Lite Common Annotations
エンタープライズ Java の標準
Java EE 6
Java EE 準拠
アプリケーションサーバー
7 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
独自技術から標準技術への移行が可能に
データ
ベース
画面デザイン
依存性注入
・
ビジネス
ロジック
データベース連携
O/R*マップ
利用者
Struts
JSF
spring
DI/CDI/
EJB
HIBER
NATE
JPA
独自技術の
組み合わせ
Java EE 標準 * Object/Relational
8 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
参考データ:フレームワーク活用のトレンド(日本)
※日本オラクル主催イベントの開発フレームワークに関する
アンケート結果 (回答数 95)
Java EE : 24%
spring : 23%
その他 : 20%
Struts : 33%
9 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
参考データ:フレームワーク活用のトレンド(世界)
Struts 1.x : 1.3 %
Struts 2.x : 1.3 %
Results of Eclipse Community Survey 2012
http://www.eclipse.org/org/press-release/20120608_eclipsesurvey2012.php
※Struts 1 は 2008年10月が最終リリース
10 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
Java EE 6 に対するユーザーの取り組み事例
• Java EE 6 を採用すべき理由
– 開発生産性・保守性の向上
– 学習コストの低減
– 移植性の向上
– ベンダー・ロックインのリスク軽減
– アプリケーション資産および
技術ナレッジの長期保護
• Java EE 6 の積極的な移行を推奨
• “新規システムの開発もさることながら、償却が終わろうとしているJ2EE1.4時代の
アプリケーションは、Java EE 6に全面移行するべき時期に来ている”
Java EE 6時代における
エンタープライズ・システムの
あり方
三菱UFJインフォメーションテクノロジー
株式会社
ITプロデュース部 部長 斉藤 賢哉 氏
11 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
12 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
Java EE 7
マルチテナンシー
サービス定義 &
オーケストレーション
Elasticity (伸縮性)
新規役割の定義
JMS 2.0 Java Message Service
Caching API
JSON API JavaScript Object Notation
CDI の拡張
& REST サポート
幅広い
業界の参加
Java EE 6 の進化
Java EE 7:設計指針
13 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
• プロビジョニング
• Elasticity (伸縮性)
• マルチテナンシー
14 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
JNDI* 名前空間
接続
ファクトリ
プロビジョニング:今までの運用方法
• サーバー管理者がリソースの準備と設定
• アプリケーション配備
管理者 宛先
メッセージ
サービス
データベース
サービス
ディレクトリ・サービス
外部リソース
* Java Naming and Directory Interface
15 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
Java EE 7: プロビジョニング
• アプリケーションの配備だけでリソースの準備と設定が完了
– プログラム(設定ファイル)上で必要なリソースを設定・準備可能
JNDI 名前空間
接続 ファクトリ
プログラマ
(配備者) 宛先
メッセージ
サービス
データベース
サービス
外部リソース
ディレクトリ・サービス
16 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
プログラム上のリソース・プロビジョニング
@JMSConnectionFactoryDefinition(
name=“java:app/MyJMSFactory” ,
resoureType=“javax.jms.
QueueConnectionFactory” ,
resourceAdapter=“jmsra” ,
initialPoolSize=5 ,
maxPoolSize=15
)
アプリケーションサーバー上で
リソースのプロビジョニング
プログラム上からリソースの
プロビジョニング
Java EE 6 まで Java EE 7 から
17 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
Java EE 7:Elasticity (伸縮性)
• リソース状況に応じた増減
• 自律サービス・レベル管理
• 1台から IaaS まで配備対象管理
継続的な伸縮性
シングルノード
Non-Elastic 動的な自己調整
SLA Driven Elasticity
Java EE マルチノード
マルチインスタンス クラスタ化
Java EE 7 のフォーカス
Java EE Cluster
Capacity on Demand
Elastic Cluster
18 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
マルチテナンシー
• 同一アプリケーションをテナント毎に分離
–各テナントに対して1アプリケーション・インスタンス
–テナント毎に分離
–マルチテナント・アプリケーションの設定
–各インスタンス毎に設定
• アプリケーションレベルでテナントを識別可能
19 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
マルチテナンシーの例
アプリケーション
専用 共有
データベース
専用
共有
20 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
クラウド対応に向けた
Java EE 6の重要性
21 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
オラクルの取り組み
• Java EE 6書籍の出版(2012年3月) – 日本の主要Java EE パートナー各社に全面協力頂き、
本格的なJava EE 6日本語書籍を刊行
• 監修にご協力頂いたパートナー企業
(五十音順)
NTT OSSセンタ
NTTデータ
新日鉄ソリューションズ
日本電気
野村総合研究所
Java EE 6 標準技術の普及活動
22 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
オラクルの取り組み
• 教育サービスの提供
– Java EE 6 + Oracle WebLogic Server 12c ハンズオン・プログラムの展開
– Oracle University Java EE 6 & Oracle WebLogic Server 12c 研修コース開設
• コンサルティングサービスの提供 –古いアーキテクチャやアプリケーションサーバーからの移行
– Java EE 6 をベースにしたアプリケーション開発
Java EE 6 利用の促進
23 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.
Java EE 特別セミナー開催
• 2012 年 8 月 23 日 (木)
– 基調講演
• Arun Gupta (オラクル Java Evangelist)
– 特別講演
• Bert Ertman (米国 Java Champion)
• Java EE 6&7 に関する最新情報提供 Java Evangelist
Arun Gupta
Java Champion
Bert Ertman
24 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.