Suche senden
Hochladen
ついに始まるJava EE 7時代のアプリケーション開発
•
Als PPTX, PDF herunterladen
•
13 gefällt mir
•
5,342 views
Takakiyo Tanaka
Folgen
Developers Summit 2015の発表資料です。
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 56
Jetzt herunterladen
Empfohlen
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
Takakiyo Tanaka
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
Takakiyo Tanaka
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Takakiyo Tanaka
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
Takakiyo Tanaka
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
Takakiyo Tanaka
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere Liberty
Takakiyo Tanaka
JJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめよう
Norito Agetsuma
Open Liberty / WebSphere Liberty
Open Liberty / WebSphere Liberty
Takakiyo Tanaka
Empfohlen
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
Takakiyo Tanaka
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
Takakiyo Tanaka
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Takakiyo Tanaka
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
Takakiyo Tanaka
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
Takakiyo Tanaka
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere Liberty
Takakiyo Tanaka
JJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめよう
Norito Agetsuma
Open Liberty / WebSphere Liberty
Open Liberty / WebSphere Liberty
Takakiyo Tanaka
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Chihiro Ito
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
Takakiyo Tanaka
Java EE 再入門
Java EE 再入門
minazou67
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界
Takakiyo Tanaka
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Masatoshi Tada
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
decode2016
Java EEの話(仮)
Java EEの話(仮)
Satoshi Kubo
1st step LogicFlow
1st step LogicFlow
Tomoyuki Obi
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
Takakiyo Tanaka
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
Shigeru Tatsuta
20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azure
Takayoshi Tanaka
Java8でhttpサーバを実装してみた
Java8でhttpサーバを実装してみた
夕人 江熊
Springの今
Springの今
Kazuyuki Kawamura
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
maruyama097
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
Toshiaki Maki
Java on Microsoft Azure
Java on Microsoft Azure
Yoshio Terada
Java 20年史 (JJUG CCC 2015 春 基調講演)
Java 20年史 (JJUG CCC 2015 春 基調講演)
Kazuyuki Kawamura
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
オラクルエンジニア通信
JavaScript.Next
JavaScript.Next
dynamis
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019
Kazuki Takai
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
Masuji Katoda
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB
Tsunenaga Hanyuda
Weitere ähnliche Inhalte
Was ist angesagt?
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Chihiro Ito
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
Takakiyo Tanaka
Java EE 再入門
Java EE 再入門
minazou67
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界
Takakiyo Tanaka
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Masatoshi Tada
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
decode2016
Java EEの話(仮)
Java EEの話(仮)
Satoshi Kubo
1st step LogicFlow
1st step LogicFlow
Tomoyuki Obi
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
Takakiyo Tanaka
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
Shigeru Tatsuta
20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azure
Takayoshi Tanaka
Java8でhttpサーバを実装してみた
Java8でhttpサーバを実装してみた
夕人 江熊
Springの今
Springの今
Kazuyuki Kawamura
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
maruyama097
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
Toshiaki Maki
Java on Microsoft Azure
Java on Microsoft Azure
Yoshio Terada
Java 20年史 (JJUG CCC 2015 春 基調講演)
Java 20年史 (JJUG CCC 2015 春 基調講演)
Kazuyuki Kawamura
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
オラクルエンジニア通信
JavaScript.Next
JavaScript.Next
dynamis
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019
Kazuki Takai
Was ist angesagt?
(20)
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
Java EE 再入門
Java EE 再入門
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
Java EEの話(仮)
Java EEの話(仮)
1st step LogicFlow
1st step LogicFlow
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azure
Java8でhttpサーバを実装してみた
Java8でhttpサーバを実装してみた
Springの今
Springの今
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
Java on Microsoft Azure
Java on Microsoft Azure
Java 20年史 (JJUG CCC 2015 春 基調講演)
Java 20年史 (JJUG CCC 2015 春 基調講演)
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
JavaScript.Next
JavaScript.Next
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019
Andere mochten auch
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
Masuji Katoda
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB
Tsunenaga Hanyuda
BTS/ITSの近況とあれこれ 2015
BTS/ITSの近況とあれこれ 2015
minazou67
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門
minazou67
第2回webデザイナー向けcake php勉強会
第2回webデザイナー向けcake php勉強会
Shusuke Otomo
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
TechGardenSchool
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
Shumpei Shiraishi
はじめてのJPA
はじめてのJPA
kawaba
NashornとServerSideJavaScript
NashornとServerSideJavaScript
Mizuho Sakamaki
EJB3 ABC
EJB3 ABC
bose999
CakePHP PHP Framework
CakePHP PHP Framework
ryota ichie
Cake Php開発事例
Cake Php開発事例
柴田 篤志
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
Tomohiko Himura
Java EE 7技術アップデート & 逆引き JSF 2.2
Java EE 7技術アップデート & 逆引き JSF 2.2
Hirofumi Iwasaki
Slick入門
Slick入門
chibochibo
Oracle talk 20131213
Oracle talk 20131213
Arshal Ameen
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
Toshiaki Maki
CakePHP を使ってよかったこと
CakePHP を使ってよかったこと
Wataru Terada
これからのNashorn
これからのNashorn
Logico
Andere mochten auch
(19)
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB
BTS/ITSの近況とあれこれ 2015
BTS/ITSの近況とあれこれ 2015
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門
第2回webデザイナー向けcake php勉強会
第2回webデザイナー向けcake php勉強会
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
はじめてのJPA
はじめてのJPA
NashornとServerSideJavaScript
NashornとServerSideJavaScript
EJB3 ABC
EJB3 ABC
CakePHP PHP Framework
CakePHP PHP Framework
Cake Php開発事例
Cake Php開発事例
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
Java EE 7技術アップデート & 逆引き JSF 2.2
Java EE 7技術アップデート & 逆引き JSF 2.2
Slick入門
Slick入門
Oracle talk 20131213
Oracle talk 20131213
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
CakePHP を使ってよかったこと
CakePHP を使ってよかったこと
これからのNashorn
これからのNashorn
Ähnlich wie ついに始まるJava EE 7時代のアプリケーション開発
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウド
Takashi Kanai
Windows Server 2012 で管理をもっと自動化する
Windows Server 2012 で管理をもっと自動化する
junichi anno
20021007
20021007
小野 修司
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
tomotoshi
110409 slintky lt
110409 slintky lt
Takayoshi Tanaka
Amazon Web Servicesブース:UI×API×AWS 横田 聡
Amazon Web Servicesブース:UI×API×AWS 横田 聡
クラスメソッド株式会社
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
Seki Yousuke
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
Tech Summit 2016
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
Tech Summit 2016
オープンクラウド基盤に最適! EMCのElastic Cloudソリューション
オープンクラウド基盤に最適! EMCのElastic Cloudソリューション
EMC Japan
話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみよう
Kimihiko Kitase
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
日本マイクロソフト株式会社
ASP.NET MVC プログラミング入門の入門
ASP.NET MVC プログラミング入門の入門
Masuda Tomoaki
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウド
Takashi Kanai
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
Naoto Gohko
Mvc conf session_5_isami
Mvc conf session_5_isami
Hiroshi Okunushi
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
Kuniteru Asami
Beginning java ee 6 13章メッセージ通信
Beginning java ee 6 13章メッセージ通信
zuisener .
Beginning java ee 6 13章メッセージ通信up
Beginning java ee 6 13章メッセージ通信up
zuisener .
Ähnlich wie ついに始まるJava EE 7時代のアプリケーション開発
(20)
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウド
Windows Server 2012 で管理をもっと自動化する
Windows Server 2012 で管理をもっと自動化する
20021007
20021007
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
110409 slintky lt
110409 slintky lt
Amazon Web Servicesブース:UI×API×AWS 横田 聡
Amazon Web Servicesブース:UI×API×AWS 横田 聡
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
オープンクラウド基盤に最適! EMCのElastic Cloudソリューション
オープンクラウド基盤に最適! EMCのElastic Cloudソリューション
話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみよう
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
ASP.NET MVC プログラミング入門の入門
ASP.NET MVC プログラミング入門の入門
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウド
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
Mvc conf session_5_isami
Mvc conf session_5_isami
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
Beginning java ee 6 13章メッセージ通信
Beginning java ee 6 13章メッセージ通信
Beginning java ee 6 13章メッセージ通信up
Beginning java ee 6 13章メッセージ通信up
Mehr von Takakiyo Tanaka
OutOfMemoryErrorとは
OutOfMemoryErrorとは
Takakiyo Tanaka
MicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open Liberty
Takakiyo Tanaka
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
Takakiyo Tanaka
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
Takakiyo Tanaka
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
Takakiyo Tanaka
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Takakiyo Tanaka
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
Takakiyo Tanaka
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
Takakiyo Tanaka
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
Takakiyo Tanaka
Mehr von Takakiyo Tanaka
(9)
OutOfMemoryErrorとは
OutOfMemoryErrorとは
MicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open Liberty
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
ついに始まるJava EE 7時代のアプリケーション開発
1.
© 2015 IBM
Corporation #devsumiD ついに始まる Java EE 7時代のアプリケーション開発 2014年 2月 19日 日本アイ・ビー・エム株式会社 IBMシステムズ・ソフトウェア事業部
2.
© 2015 IBM
Corporation #devsumiD なぜ,いま Java EE 7なのか 2
3.
© 2015 IBM
Corporation #devsumiD Java Enterprise Edition 7 (Java EE 7) 3 一昨年5月に 正式版に
4.
© 2015 IBM
Corporation #devsumiD 2015年夏 4 Java EE 7 Full Profile対応 WebSphere Application Server 公開予定 詳細は後半で
5.
© 2015 IBM
Corporation #devsumiD 国内で普及率の高かったフレームワークの世代交代 Struts 1.x –2013年 EoL(End of Life)の発表 –2014年 脆弱性発見による混乱(CVE-2014-0114) Seaser2 –主要開発者のプロジェクト離脱により新機能追加の停止 –Ajax/HTML5連携やRESTful Webサービス対応の不備 5
6.
© 2015 IBM
Corporation #devsumiD 2000年代前半のWebアプリケーション まだまだ未完成で力不足のJ2EE仕様 →多くの「アンチJ2EE技術」の登場 コンテナ上にフレームワークを追加し その上にアプリケーションを構築することが主流に – Open Sourceフレームワーク – ベンダー製フレームワーク – 独自フレームワーク 6
7.
© 2015 IBM
Corporation #devsumiD 2015年のWebアプリケーション事情 Java EE提供の各種仕様の機能増強・完成度の向上 「標準仕様で十分」 –CDI 1.x :依存性注入 • HibernateやSeaser2の提供していた機能をとりこみ –JSF 2.x :Webアプリケーション・フレームワーク –JPA 2.x :O/Rマッピング • いずれもVersion 1.xから大幅な機能強化 7 → Java EEへの回帰
8.
© 2015 IBM
Corporation #devsumiD JSF EL Java EE 7の標準的なアプリケーション構成 画面デザイン –JSF / EL 外部連携 –JAX-RS / WebSocket 8 JAX-RS WebSocket CDI . EJB / JTA JPA Database 依存性注入・ビジネスロジック –CDI / EJB / JTA DB連携・ORマッピング –JPA
9.
© 2015 IBM
Corporation #devsumiD Java EE 7の三つのゴール HTML5環境への対応 開発生産性の向上 エンタープライズ・ニーズへの対応 9
10.
© 2015 IBM
Corporation #devsumiD 三つのゴールとJava EE仕様群との対応 HTML5環境への対応 – JSR 344: JavaServer Faces (JSF) 2.2 – JSR 353: Java API for JSON Processing (JSONP) 1.0 – JSR 356: Java API for WebSocket 1.0 – JSR 339: Java API for RESTful Web Services (JAX-RS) 2.0 開発生産性の向上 – JSR 345: Enterprise JavaBeans (EJB) 3.2 – JSR 346: Contexts and Dependency Injection for Java EE (CDI) 1.1 – JSR 907: Java Transaction API (JTA) 1.2 – JSR 349: Bean Validation 1.1 エンタープライズ・ニーズへの対応 – JSR 343: Java Message Service (JMS) 2.0 – JSR 338: Java Persistence API (JPA) 2.1 – JSR 236: Concurrency Utilities for Java EE 1.0 – JSR 352: Batch Applications for the Java Platform 1.0 10
11.
© 2015 IBM
Corporation #devsumiD WebSocketとは 11
12.
© 2015 IBM
Corporation #devsumiD 2014年10月 ついに正式勧告となったHTML5 従来のHTML –画面をレンダリングするための規格 HTML5(+ CSS3 / JavaScript) –アプリケーションを記述するための規格 12
13.
© 2015 IBM
Corporation #devsumiD HTML5環境の新しいアプリケーションスタイル 「サーバーサイドMVC」から「クライアントMVC」へ 13 Web Browser Application Server Application HTTP Request HTML/JS Controller Session Data View Business LogicModel DomainDomain Web Browser Application Server Application View HTML/JS Controller Data Store Model Model DomainDomain RESTful or WebSocket JSON Business Logic 従来のWebアプリケーション Single Page Application (SPA)
14.
© 2015 IBM
Corporation #devsumiD HTML5におけるクライアント・サーバー連携 通信方法 –RESTful (JAX-RS 2.0) • HTTPの原則にしたがった 簡潔なシステム間連携の設計手法 –WebSocket (WebSocket 1.0) • ブラウザとWebサーバーの間で 双方向通信を可能にする 通信プロトコル データ型 –JSON:JavaScript Object Notation (JSONP 1.0) • JavaScriptのオブジェクトとして そのままパースできる テキスト形式のデータ表記法 14 Web Browser Application Server Application View HTML/JS Controller Data Store Model Model DomainDomain RESTful or Web Socket JSON Business Logic
15.
© 2015 IBM
Corporation #devsumiD 新しい双方向通信:WebSocket WebSocketを使用すると双方向通信を自然な形で実現 –HTTPで通信を開始して, Protocol SwitchingによりWebSocketに移行 –サーバー側からもクライアント側からもメッセージを送信 可能 15
16.
© 2015 IBM
Corporation #devsumiD 既存技術との比較 Ajax –定期的にポーリング –最大でポーリング間隔の タイムラグが発生する –あまりポーリング間隔を 短くするとサーバーに負荷が 16 Comet –イベントが発生するまで 応答を遅延させる –クライアントからの イベント通知には不向き HTML JS クライアント サーバー CSS Data#2 Data#1画面遷移 Dataなし Data#3 HTML JS クライアント サーバー CSSData#1画面遷移 イベント 発生 待機 イベント 発生 待機 Data#2 Data#3
17.
© 2015 IBM
Corporation #devsumiD WebSocket プロトコルの現状 プロトコルはIETF / RFCで標準化 – 2010年2月 draft-hixie-thewebsocketprotocol-75 – 2010年5月 draft-ietf-hybi-thewebsocketprotocol-00 – 2011年4月 draft-ietf-hybi-thewebsocketprotocol-07 – 2011年7月 draft-ietf-hybi-thewebsocketprotocol-10 – 2011年12月 RFC 6455 "The WebSocket Protocol" W3CでJavaScript APIを仕様化 – 2009年4月 First Public Draft – 2009年10月〜2012年8月 Working Draft – 2012年9月 W3C Candidate Recommendation 17
18.
© 2015 IBM
Corporation #devsumiD ブラウザの対応状況 18 モダンなブラウザの大部分がサポート MSIE 10 (2013/2) 〜 Chrome 16 (2011/12) 〜 Firefox 11 (2012/3) 〜 Safari 6 (2012/7) 〜 iOS 6.0 (2012/9) 〜 Android 4.4 (2013/10) 〜
19.
© 2015 IBM
Corporation #devsumiD 対応ブラウザのシェア 19 70%以上のブラウザがWebSocketに対応 出典:NetMarketShare.com Market Share Reports October, 2014
20.
© 2015 IBM
Corporation #devsumiD Java EE 7での WebSocketアプリ開発 20
21.
© 2015 IBM
Corporation #devsumiD JSR 356: Java API for WebSocket 1.0 JavaでWebSocket通信を実装するためのAPI クライアントとサーバーの両方をサポート Java SE環境での実行も考慮された仕様 アノテーションをベースとした モダンなプログラミングスタイル Encoder / Decoderにより 扱うデータ型を柔軟に制御 21
22.
© 2015 IBM
Corporation #devsumiD Endpoint:ServerEndpointとClientEndpoint WebSocket通信の両端となるEndpointの作成が必須 –WebSocket通信の開始・終了・エラー発生と メッセージ受信をトリガーにEndpointのメソッドが呼び 出される クライアントはブラウザで実装することが多いので, 多くの場合Java EEではサーバー側のEndpointを実装する 22 ClientEndpoint ServerEndpoint Session @OnMessage public void message(... ) @OnOpen public void open(... ) @OnClose public void close(... ) @OnMessage public void message(... ) @OnError public void error(... )
23.
© 2015 IBM
Corporation #devsumiD Endpointの作成 二つの実装方法 –アノテーションをつけたPOJO •@javax.websocket.server.ServerEndpoint •@javax.websocket.ClientEndpoint –javax.websocket.Endpointを継承したクラス アノテーションベースのPOJOで実装するほうが簡単 23
24.
© 2015 IBM
Corporation #devsumiD アノテーションによるEndpoint実装の例 24 @ServerEndpoint("/echo") public class EchoServiceEndpoint{ Session currentSession = null; //接続がオープンしたとき @OnOpen public void onOpen(Session session, EndpointConfig ec) { currentSession = session; } //メッセージを受信したとき @OnMessage public void receiveMessage(String msg) throws IOException { //メッセージをクライアントに送信する currentSession.getBasicRemote().sendText("Hello" + msg); } //接続がクローズしたとき @OnClose public void onClose(Session session, CloseReason reason) { ・・・ } //接続エラーが発生したとき @OnError public void onError(Throwable t) {・・・ } }
25.
© 2015 IBM
Corporation #devsumiD JVMJVM Endpointのインスタンス Endpointのインスタンスは WebSocketのセッションごとに別個に作成される –Servletのインスタンスが,サーバーに一つ作成されて 複数のリクエスト・セッションで共有されるのと対照的 25 Endpoint インスタンス Servlet インスタンス
26.
© 2015 IBM
Corporation #devsumiD Endpointのコーディング(1) セッションの情報をインスタンス変数に保存できる –多くの場合,javax.websocket.Sessionの保存は必須 「時間のかかる初期化処理」はEndpoint毎には書かない –@Singletonの@EJBなどに実装しておいて呼び出す 26 @ServerEndpoint(value = "/echo") public class EchoServiceEndpoing { private Session currentSession; @OnOpen public void onOpen(Session session, EndpointConfig ec) { currentSession = session;
27.
© 2015 IBM
Corporation #devsumiD Endpointのコーディング(2) マルチスレッドを考える必要はない –それぞれのインスタンスの@OnOpenメソッドなどが 複数スレッドから同時に呼ばれることはない –ただし複数のEndpoint / Sessionにまたがる処理では, 状況に応じて排他制御が必要 27
28.
© 2015 IBM
Corporation #devsumiD ピアへのメッセージの送信 SessionからRemoteEndpointを取得して使用する RemoteEndpointは,2種類 –RemoteEndpoint.Async 非同期通信 –RemoteEndpoint.Basic 同期通信 Sessionは 他のスレッドで稼働しているServlet / EJBからも利用可能 –複数スレッドから一つのSessionを同時に利用することは 避ける 28 if (session.isOpen()) session.getBasicRemote().sendText(msg);
29.
© 2015 IBM
Corporation #devsumiD HTTPヘッダ・HttpSessionへのアクセス ConfiguratorのmodifyHandshakeメソッドを利用する –HandshakeRequestからHTTPヘッダやHttpSessionが取得できる @ServerEndpoint / @ClientEndpoint に追記 29 import javax.websocket.server.ServerEndpointConfig.Configurator; public class ChatConfig extends Configurator { @Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest req, HandshakeResponse resp) { @ServerEndpoint(value = "/chat", configurator = ChatConfig.class) public class ChatService {
30.
© 2015 IBM
Corporation #devsumiD ConfiguratorからEndpointへの情報伝達 EndpointConfigのUserPropertiesを利用する 30 public void modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response) { HttpSession session = (HttpSession)request.getHttpSession(); Map<String,Object> userProps = config.getUserProperties(); userProps.put("MyID", (session != null)? session.getAttribute("MyID") : "No ID"); @OnOpen public void onOpen(Session session, EndpointConfig config) { Map<String,Object> userProps = config.getUserProperties(); String myID = (String)userProps.get("MyID"); Configurator Endpoint
31.
© 2015 IBM
Corporation #devsumiD ConfiguratorやEndpointでHttpSessionを書き換えない HandshakeRequestからHttpSessionは取得できるが, Attributeのセット・更新・削除は危険 –分散環境では,HttpSessionの内容は複数サーバー間で共有される –多くのアプリケーションサーバーでは,サーバー間の HttpSession情報の更新はリクエスト処理が完了した時に実行 –WebSocketでは,セッションが短時間で終了しない → 変更内容が他のサーバーになかなか伝搬しない Configuratorでは, HttpSessionから読み取りのみをおこなうのが安全 31
32.
© 2015 IBM
Corporation #devsumiD さらに詳細に知りたい場合は IBM developerWorksでWebSocketを検索 32 Java EE 7 アプリケーション設計ガイド – WebSocket編 http://www.ibm.com/developerworks/jp/websphere/library/was/javaee7_appguide/1.html
33.
© 2015 IBM
Corporation #devsumiD CDI 1.2 33
34.
© 2015 IBM
Corporation #devsumiD 開発生産性の向上:CDI 依存性注入(DI)の標準仕様: Context and Dependency Injection(CDI) 34 @ApplicationScoped public class HelloServiceImpl implements HelloService { public void sayHello() { System.out.println("Hello!"); } } public class HelloWorld extends HttpServlet { @Inject HelloService service;
35.
© 2015 IBM
Corporation #devsumiD CDIの使用例(1) 外部接続のパラメーターのハードコーディングの防止 –ネーミングサービス利用からアノテーション指定へ コンポーネント間の依存性の除去 –モックやスタブを利用したテストが容易に 35 @Inject Service s; 実際の サービス実装 テスト用の スタブ 業務DB ダミーデータ 本番環境で インジェクション テスト環境で インジェクション
36.
© 2015 IBM
Corporation #devsumiD CDIの使用例(2) コンテナによるライフサイクルの管理 – リクエスト内の各種コンポーネント間の情報共有・キャッシュ – セッション情報・アプリケーション構成情報などの保持 インターセプターによるアスペクトの注入 – ロギング・監査処理などの動的な追加 36 Servlet EJB lite JSP Ojb Ojb Ojb @RequestScoped のオブジェクト Local 呼び出し 呼び出し 注入 注入 注入 リクエストごとに 固有のオブジェクトが 生成されて 注入される 同一同一
37.
© 2015 IBM
Corporation #devsumiD CDIの歴史 Context and Dependency Injection 1.0 (Java EE 6) –最初の仕様 Context and Dependency Injection 1.1 (Java EE 7) –Bean-Discovery-Modeの追加 Context and Dependency Injection 1.2 –1.1のメンテナンス・リリース Context and Dependency Injection 2.0 –2016年を目標に策定中の次期リリース 37
38.
© 2015 IBM
Corporation #devsumiD WebSphereの使用している実装 CDI 1.0 (WAS V8.x) –Apache Open WebBeans CDI 1.2 (WAS V9.x) –JBoss Weld(参照実装) 38
39.
© 2015 IBM
Corporation #devsumiD CDIでインジェクション可能な場所 コンテナ管理Beanに対してインジェクション可能 –サーブレットクラス –サーブレット・フィルター –サーブレット・ライフサイクル・リスナー –EJB Session Bean –JAX-RS/WebSocketエンドポイント –CDIでインジェクションされるクラス 39 Servlet 注入 注入
40.
© 2015 IBM
Corporation #devsumiD CDIでインジェクション可能なBean CDI 1.0 –beans.xmlが含まれるアーカイブの全てのクラス CDI 1.1/1.2 –beans.xmlで指定されたBean-Discovery-Modeによって変化 • all • annotated • none –beans.xmlが存在していないアーカイブ • カオス・・・ 40 CDIを使用する場合は, beans.xmlを使用してBean-Discovery-Modeを指定しましょう <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" bean-discovery-mode="annotated"> </beans>
41.
© 2015 IBM
Corporation #devsumiD Bean-Discovery-Mode アーカイブに含まれるbeans.xmlによって指定される all –(@Ventedアノテーションが指定されたもの以外) アーカイブ内の全てのクラスがインジェクションの対象となる annotated (デフォルト,かつ強く推奨) –Bean定義アノテーションが指定されたもの (スコープアノテーションが指定されたもの)が インジェクション対象となる none –アーカイブ内のクラスはインジェクションの対象とならない 41
42.
© 2015 IBM
Corporation #devsumiD Bean-Discovery-Modeによる恩恵 CDI 1.0では, アーカイブに大量のクラス(数万〜)が入っていると・・・ –全てのクラスがCDIコンテナの管理下に –起動時間の遅延 –Javaヒープの大量使用 CDI 1.1以降では, –Bean定義されたクラスが多くなければ問題なく使用可能 42
43.
© 2015 IBM
Corporation #devsumiD Bean定義アノテーション インジェクションされるBeanのスコープを定義する –@RequestScoped リクエストごとに異なるインスタンス –@ConversationScoped (JSFなどの)会話処理ごとに異なるインスタンス –@SessionScoped セッションごとに異なるインスタンス –@ApplicationScoped アプリケーション全体で単一のインスタンス –@Dependent インジェクション先と同一のスコープ デフォルトのannotatedモードでは, スコープアノテーションを使用するとインジェクション対象となる @Singletonはインジェクション対象とならなくなりました 43
44.
© 2015 IBM
Corporation #devsumiD インジェクション対象となるクラスの実装方法 デフォルトコンストラクタが必要です @SessionScoped指定されたクラスは java.io.Serializableを実装している必要があります DI候補が複数ある状況では型解決を実装する必要があります –静的な型解決 @Qualifier –動的な型解決 @Produce 44 @Qualifier @Retention(RUNTIME) @Target({FIELD, TYPE, METHOD, PARAMETER}) public @interface DB2 {} @Qualifier @Retention(RUNTIME) @Target({FIELD, TYPE, METHOD, PARAMETER}) public @interface Oracle {}
45.
© 2015 IBM
Corporation #devsumiD Libertyプロファイル 45
46.
© 2015 IBM
Corporation #devsumiD 46 Libertyプロファイルの特長 WAS V8.5.5 Liberty & WDT 自動化ツールとの連携 多くのOSSツールに 無償でプラグインを提供 Unzipによる導入とデプロイ パッケージをした サーバー + アプリ + 構成情報を Unzipでデプロイ可能 簡単な構成と動的変更 最低限必要な構成ファイルは server.xmlひとつだけ デフォルトベースで簡単構成 構成変更は再起動なしに反映 軽量ランタイム メモリー使用量が小さい: 60MB程度~ ディスク使用量も100MB以下 起動が速い 起動時間: 5秒程度 統合ツール(WDT) 高機能なEclipse用の連携ツールを無償で提供 Eclipseから簡単に使用可能 Web Profile準拠 Java EE 6のWeb Profile標準に 準拠したアプリを完全サポート JAX-WS, JAX-RS, JMSもサポート
47.
© 2015 IBM
Corporation #devsumiD 47 必要な機能(Feature)だけを組み合わせて利用 Java EEなどの標準仕様に定義されたAPIや サーバーが提供する多くの機能のうち Servlet JSP JSF SSL JAX-RS JSON JPA JAX-WS JAX-B JDBC JTA JMS CDI JNDI EJB lite EJB MDB Blueprint WAB ユーザーが必要な機能だけを 自由に組み合わせることができる Servlet JSP JSF SSL JAX-RS JSON JPA JAX-WS JAX-B JDBC JTA JMS CDI JNDI EJB lite EJB MDB Blueprint WAB
48.
© 2015 IBM
Corporation #devsumiD API・サーバー機能をFeatureとして定義 48 • 必要なものだけを構成 – 設定されたものだけがメモリにロード・初期化される → 最小限の起動時間・メモリー使用 ServletJSPJDBCSSL JAX-RS sessionDatabase <featureManager> <feature>jsp-2.2</feature> <feature>jdbc-4.0</feature> <feature>jaxrs-1.1</feature> <feature>sessionDatabase-1.0</feature> <feature>ssl-1.0</feature> </featureManager> 構成ファイル server.xml 依存関係も 自動的に解決 JSON
49.
© 2015 IBM
Corporation #devsumiD 新しいFeatureを,順次Liberty Repositoryで提供 Liberty Repositoryで新しいFeatureを入手可能 –Java EE 7を構成する 仕様も順次公開中 –GUI管理画面や z/OS Connectなど featureManagerコマンドで ランタイム環境に直接 ダウンロード・組み込みが 可能 49 https://developer.ibm.com/wasdev/downloads/
50.
© 2015 IBM
Corporation #devsumiD ゼロ・マイグレーション 新しい仕様のバージョンに対応するフィーチャーが 追加されても,従来のバージョンも提供されます –例) 現在はServlet 3.1フィーチャーが提供されていますが, Servlet 3.0フィーチャーも引き続き利用できます アプリケーションで新仕様が必要なければ 従来のフィーチャーをそのまま利用可能 –ただし, 対応するJDKのバージョンは変更される可能性があります 50 servlet-3.0 servlet-3.1
51.
© 2015 IBM
Corporation #devsumiD WebSphere Application Server Liberty Beta • 2013年11月: Alpha • 2014年2月: Alpha (February update) • 2014年3月: Beta (March 2014) • WebSocket 1.1, EJB lite 3.2, Java EE Concurrency Utilities 1.0,JCA 1.6 • 2014年4月: April Beta • Servlet 3.1, EJB 3.2 (local) • 2014年5月: May Beta • JMS 2.0, JPA 2.1, JSON-P 1.0, Bean Validation 1.1 • 2014年6月: June/July Beta • WebRTC,CouchDB • 2014年7月: July/August Beta • 2014年8月: August/September Beta • JAX-RS 2.0 • 2014年9月: September Beta • Java Batch 1.0 • 2014年10月: October Beta • 2014年11月: November Beta • SIP Servlet 1.1,JDBC 4.1, • 2014年12月: December Beta • 2015年1月: January Beta • 2015年2月: February Beta • CDI 1.2,JSP 2.3,EL 3.0,Java EE Application Client, JASPIC 1.1,JACC 1.5,JCA 1.7,JavaMail 51
52.
© 2015 IBM
Corporation #devsumiD 52 2015年2月末現在のβの提供状況 •Enterprise JavaBeans (EJB) 3.2 •Java Message Service (JMS) API 2.0 •Java EE Connector Architecture (JCA) 1.7 •Concurrency Utilities for Java EE 1.0 •JavaMail 1.4 •Java Batch 1.0 •Web Services for Java EE 1.3 •Java API for XML-Based Web Services (JAX-WS) 2.2 •Java Architecture for XML Binding (JAXB) 2.2 •Web Services Metadata for the Java Platform 2.1 •Java Authorization Service Provider Contract for Containers (JACC) 1.4 •Java Authentication Service Provider Interface for Containers (JASPIC) 1.0 •Java EE Management 1.1 Web Profile •Java Servlet 3.1 •JavaServer Pages (JSP) 2.3 and Expression Language (EL) 3.0 •Standard Tag Library for JavaServer Pages (JSTL) 1.2 •JavaServer Faces (JSF) 2.2 •Debugging Support for Other Languages 1.0 •Java API for RESTful Web Services (JAX-RS) 2.0 •Java API for WebSocket (WebSocket) 1.0 •Java API for JSON Processing (JSON-P) 1.0 •Common Annotations for the Java Platform 1.2 •Contexts and Dependency Injection for the Java EE Platform 1.2 •Dependency Injection for Java 1.0 •Enterprise JavaBeans 3.2 (EJB Lite) •Java Persistence API 2.1 •Java Transaction API (JTA) 1.2 •Bean Validation 1.1 Java EE full Profile 正式版として利用可能 Betaを提供中
53.
© 2015 IBM
Corporation #devsumiD でも,お高いんでしょう? "WebSphere Application Server for everyone" https://developer.ibm.com/wasdev/docs/websphere-application-server-everyone/ 3月出荷予定のWAS V8.5.5.5より Libertyプロファイルの本番使用が無料に!!! –Javaヒープの総量が2Gに制限 • 「2G×1 JVM」「1G×2 JVMs」や「512M×4 JVMs」など –クラウドでもオンプレミスでも使用可能 –Liberty Repositoryで提供されている Java EE+αの機能の全てが利用可能 –サポートは公開Forumなどを使用 53
54.
© 2015 IBM
Corporation #devsumiD もちろん製品の購入もできます WebSphere Application Server Liberty Core – Java EE Web Profileの機能を使用可能 WebSphere Application Server – Java EE Full Profileの機能を使用可能(予定) – 従来から提供されているランタイムも併せて使用可能 WebSphere Application Server Network Deployment – Java EE Full Profileの機能を使用可能(予定) – 従来から提供されているランタイムも併せて使用可能 – クラスター環境の統合管理が可能 • 従来から提供されているNDセルによる統合管理 • Liberty Collectiveによる統合管理 54
55.
© 2015 IBM
Corporation #devsumiD 製品購入のメリット Javaヒープやインスタンス数を無制限に使用可能 日本語スタッフによる電話で障害サポートを提供 (回数無制限) 関連ソフトもサポート付きで提供 –IBM Java SDK(Linux/Windows/AIX/IBM i/zOS) –IBM HTTP Server –セッション共有用のDBMS 55
56.
© 2015 IBM
Corporation #devsumiD まとめ いよいよ2015年から, Java EE 7を業務で使用できるようになります Java EE 7では,モダンな業務フレームワークに必要な 多くの機能が提供されています –JPA / JSF / CDI / JAX-RS / WebSocket / etc. IBMのJava EE実行環境である WebSphere Application Serverは 新しいランタイムとしてLibertyプロファイルを提供 –Java EE 7アプリケーションを実行する最適な環境です 56
Hinweis der Redaktion
11
Jetzt herunterladen