SlideShare a Scribd company logo
1 of 27
Download to read offline
WAS Libertyで
Cloud-Readyな
Java EE7アプリ開発
2015/10/10
第十三回 #渋谷java
Hideyuki Fujikawa
自己紹介
⾦融 SIer
Java EE + Springを使ったアプリ基盤,
Framework構築
IBM M/W(DB2, WAS, BPM, etc )
最近はGit + Mavenを使った開発環境
整備
本発表の内容
2015年6月 Java EE7対応したWAS
Liberty v8.5.5.6が公開。また8月 Bluemix
でも利⽤可能になりました
これらを調査, 稼動検証して得られた知⾒をお
話します
主にClassic WASユーザー視点として
Disclaimer:
本資料の内容は個⼈の⾒解であり、所属組織の公式な⾒解ではありま
せん
WAS Libertyとは?
IBM Java EEサーバーWASの軽量ランタイム
登場の背景:
バックエンド, 基幹系システム(SoR)では安定稼
動が求められてきた
→WASの重量化(重い, 遅い, 大きいリソース消
費量)
BtoC、ソーシャル, モバイル(SoE)では俊敏性,
新技術への迅速な対応が求められる
→軽量ランタイムのニーズが⾼まる
WAS Libertyとは?
Libertyの歩みと位置づけの変化
2012 v8.5 (機能限定だが軽量開発)
• Java EE6 web profile
2013 v8.5.5 (本番利⽤可能な専⽤ランタイム)
• Java EE6 web profile + α(JAX-WS, JAX-RS,
JMS, etc ), Java SE8
• Liberty Core (専⽤ランタイム)
2015 v8.5.5.6 (Full profileに先駆けEE7サポート!)
• Java EE7 full platform
【⽤語】
•WASの区分 : Full profile ⇔ Liberty profile
•Java EEの区分 : full platform ⇔ web profile
WAS Libertyの特徴
Unzipによる導入 (IIMも可)
ホットデプロイ, 動的構成変更
構成ファイルはserver.xml 1つのみ
必要機能だけで構成可能
feature manager (maven-like)
PaaS(Bluemix)で稼動
Maven連携
ダウンロード→導入→サーバー作成→起動ま
でを1コマンドで簡潔可能
Immutable Infra, Infra as Codeの実現
Dev-PC Maven
Repository
$ mvn
liberty:run-
server
Maven
libety
runtime
Java EE7App
pom.xml
liberty-maven-plugin
libety
Repository
plugins
liberty
runtime.zip
features
features
コミュニティ主導
配布,情報発信にBlogやGitHubを活⽤
ただし、本体はOSSではない
•ランタイム
•フィーチャー
•サンプルコード
•プラグインコード
実装OSSの違い
Apache BvalApache BvalBeanValidation
EclipseLinkApache OpenJPAJPA
JBoss WeldApache
OpenWebBeans
CDI
Apache CxFApache WinkJAX-RS
Apache CxFApache Axis2JAX-WS
Apache MyFacesApache MyFacesJSF
Java EE7
(Liberty 8.5.5.6+)
Java EE6
(8.5.5.5-)
•EE6⇔EE7間の移植性/互換性には注意が必要
(特にJPA)
Demo
install Runtime
•ダウンロードしたzip(100MB未満!)
をunzipするだけ
•Mavenも利⽤可
install WDT
Eclipse-Marketplaceか
ら導入
WDT
DB/JMS/Securityなどサー
バー設定はserver.xml編
集して⾏う
(not管理コンソール)
WARを直接デプロイ
可(EAR不要)
サーバーを追加するとプロ
ジェクトが作られる
(Tomcat-like)
Liberty⽤WDT経由で使
⽤
起動が速い
一般的なJava EE7アプリ
JSF
(MVC)
JPA
(ORM)
CDI
(DI/AOP/
TX)
JAX-RS
(REST)
JAX-WS
(SOAP)
BeanValidation
(Validation)
RDB
Othrer
Server
Browser
JSF
1. View実装
2. ManagedBean実装
※ FacesServlet定義はOption
JPA
1. テーブルからEntity 自動生成
2. persistence.xml 作成
3. Dao実装
JAX-WS
1. Webサービスプロバイダ実装
2. WSDLを自動生成
JAX-RS
1. Applicationクラスを実装
2. Resourceクラスを実装
※web.xml定義はアノテーションで代替可
Deproy to Bluemix
Bluemixとは?
CloudFoundryベースのPaaS
Pluggableな言語ランタイム
(Buildpack)
豊富なSaaS (IBM, 3rd-party)
IBM M/Ws
• SQLDB(DB2), workflow(BPM),
Integration(IIB), Rules(ODM)
Watson, IoT, mobile
Operation
Test
Dev-PC
Deploy to Bluemix
DB2
Express
Bluemix
SQLDB
CloudFoundary
Libety buildpack
Eclipse
Libety
Runtime
WDT
Java EE7App
Java EE7App
Browser
$ curl
$ cf
事前準備
Bluemix のサインアップ
CF CLI のインストール
war の作成
etc…
詳しくは…
Bluemix ハンズオン pdf 検索
デプロイ
state since cpu memory disk
details
#0 running 2015-10-08 11:45:44 PM 1.5% 206.9M of 1G 257.6M of 1G
ログ確認
$ cf push wlp8556jee7Web -p
wlp8556jee7Web.war
$ cf logs wlp8556jee7Web --recent
デプロイ
DBの利⽤
$ cf create-service sqldb sqldb_free db2Con001
OK
DB作成
$ cf bind-service wlp8556jee7Web db2Con001
OK
$ cf services
name service plan bound apps last operation
db2Con001 sqldb sqldb_free wlp8556jee7Web create succeeded
アプリにBind
DBの情報
DB基本情報照会はWeb-UIで
まとめ
Cloud実⾏可能なJavaEE7アプリを簡単
に開発できる
(⾼機能なのに)簡単導入, 単純構成, 軽
い, 速い, 小さいフットプリント
DevOps, Microservicesがすぐに実現さ
れるものではないが、この軽さがそれを促進
する可能性は大きい
検証, 開発⽤として有⼒な選択肢の一つ
Q&A?

More Related Content

What's hot

S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップS07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
Microsoft Azure Japan
 

What's hot (19)

【Cisco OpenStack Seminar 2015.10.26】 OpenStackrealize the private cloud - Ope...
【Cisco OpenStack Seminar 2015.10.26】 OpenStackrealize the private cloud - Ope...【Cisco OpenStack Seminar 2015.10.26】 OpenStackrealize the private cloud - Ope...
【Cisco OpenStack Seminar 2015.10.26】 OpenStackrealize the private cloud - Ope...
 
VIOPS09: その鐘を鳴らすのはあなた
VIOPS09: その鐘を鳴らすのはあなたVIOPS09: その鐘を鳴らすのはあなた
VIOPS09: その鐘を鳴らすのはあなた
 
[Japan Tech summit 2017] DAL 004
[Japan Tech summit 2017] DAL 004[Japan Tech summit 2017] DAL 004
[Japan Tech summit 2017] DAL 004
 
Java/Android開発者のためのWindows Azure入門 (パート2)
Java/Android開発者のためのWindows Azure入門 (パート2)Java/Android開発者のためのWindows Azure入門 (パート2)
Java/Android開発者のためのWindows Azure入門 (パート2)
 
20200822 azuread gav
20200822 azuread gav20200822 azuread gav
20200822 azuread gav
 
Road to Next MT - MTDDC Meetup TOKYO 2015 Keynote
Road to Next MT - MTDDC Meetup TOKYO 2015 KeynoteRoad to Next MT - MTDDC Meetup TOKYO 2015 Keynote
Road to Next MT - MTDDC Meetup TOKYO 2015 Keynote
 
CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎
 
VMware Integrated OpenStack with NSX-V POCガイド (第3版)
VMware Integrated OpenStack with NSX-V POCガイド (第3版)VMware Integrated OpenStack with NSX-V POCガイド (第3版)
VMware Integrated OpenStack with NSX-V POCガイド (第3版)
 
Web appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイトWeb appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイト
 
[Japan Tech summit 2017] CLD 013
[Japan Tech summit 2017]  CLD 013[Japan Tech summit 2017]  CLD 013
[Japan Tech summit 2017] CLD 013
 
[Japan Tech summit 2017] CLD 019
[Japan Tech summit 2017]  CLD 019[Japan Tech summit 2017]  CLD 019
[Japan Tech summit 2017] CLD 019
 
Netapp_innovation_2015_Cisco_抜粋修正版
Netapp_innovation_2015_Cisco_抜粋修正版Netapp_innovation_2015_Cisco_抜粋修正版
Netapp_innovation_2015_Cisco_抜粋修正版
 
Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計
Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計
Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計
 
[Japan Tech summit 2017] CLD 008
[Japan Tech summit 2017]  CLD 008[Japan Tech summit 2017]  CLD 008
[Japan Tech summit 2017] CLD 008
 
Microsoft Azure & Active Directory Design Patterns ~認証基盤の展開に関するエッセンス~
Microsoft Azure & Active DirectoryDesign Patterns~認証基盤の展開に関するエッセンス~Microsoft Azure & Active DirectoryDesign Patterns~認証基盤の展開に関するエッセンス~
Microsoft Azure & Active Directory Design Patterns ~認証基盤の展開に関するエッセンス~
 
[Japan Tech summit 2017] DEP 009
[Japan Tech summit 2017] DEP 009[Japan Tech summit 2017] DEP 009
[Japan Tech summit 2017] DEP 009
 
Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!
Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!
Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!
 
Azure activedirectoryの最新機能の概要紹介
Azure activedirectoryの最新機能の概要紹介Azure activedirectoryの最新機能の概要紹介
Azure activedirectoryの最新機能の概要紹介
 
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップS07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
 

Viewers also liked

Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
masanori kataoka
 
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
hirooooo
 
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
Yuuki Fukuda
 

Viewers also liked (15)

Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回
 
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
 
HudsonときどきMaven2
HudsonときどきMaven2HudsonときどきMaven2
HudsonときどきMaven2
 
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -
 
Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)
 
Maven基礎
Maven基礎Maven基礎
Maven基礎
 
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
 
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
 
Macro in Scala
Macro in ScalaMacro in Scala
Macro in Scala
 
CloudSpiral 2014年度 Webアプリ講義(1日目)
CloudSpiral 2014年度 Webアプリ講義(1日目)CloudSpiral 2014年度 Webアプリ講義(1日目)
CloudSpiral 2014年度 Webアプリ講義(1日目)
 
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドJJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
 
おーいみんな、JavaやろうぜJava
おーいみんな、JavaやろうぜJavaおーいみんな、JavaやろうぜJava
おーいみんな、JavaやろうぜJava
 
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
 
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
 

Similar to WAS LibertyでCloud-ReadyなJava EE7アプリ開発

Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
maruyama097
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
maruyama097
 
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
Naoto Gohko
 

Similar to WAS LibertyでCloud-ReadyなJava EE7アプリ開発 (20)

Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
 
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on Azure
 
Springの今
Springの今Springの今
Springの今
 
Azure RedHat OpenShift - Red Hat Forum 2019
Azure RedHat OpenShift - Red Hat Forum 2019Azure RedHat OpenShift - Red Hat Forum 2019
Azure RedHat OpenShift - Red Hat Forum 2019
 
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
 
Java on Azure 2019
Java on Azure 2019Java on Azure 2019
Java on Azure 2019
 
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
 
20110406aws accenture
20110406aws accenture20110406aws accenture
20110406aws accenture
 
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
 
Java on Azure 2019
Java on Azure 2019Java on Azure 2019
Java on Azure 2019
 
[MW11] OSS on Azure で構築する ウェブアプリケーション
[MW11] OSS on Azure で構築する ウェブアプリケーション[MW11] OSS on Azure で構築する ウェブアプリケーション
[MW11] OSS on Azure で構築する ウェブアプリケーション
 
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
 
Osc spring 20220311
Osc spring 20220311Osc spring 20220311
Osc spring 20220311
 
Introduction to .NET WASI SDK (【第7回】.NET 7 x FUN FAN F#)
Introduction to .NET WASI SDK  (【第7回】.NET 7 x FUN FAN F#)Introduction to .NET WASI SDK  (【第7回】.NET 7 x FUN FAN F#)
Introduction to .NET WASI SDK (【第7回】.NET 7 x FUN FAN F#)
 
OpenWhisk Serverless への期待
OpenWhisk Serverless への期待OpenWhisk Serverless への期待
OpenWhisk Serverless への期待
 
Internet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 VulsInternet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
 
株式会社インタースペース 沖本様 登壇資料
株式会社インタースペース 沖本様 登壇資料株式会社インタースペース 沖本様 登壇資料
株式会社インタースペース 沖本様 登壇資料
 
VMware vForum/VSS2013にて発表されたNetAppセッションコンテンツ
VMware vForum/VSS2013にて発表されたNetAppセッションコンテンツVMware vForum/VSS2013にて発表されたNetAppセッションコンテンツ
VMware vForum/VSS2013にて発表されたNetAppセッションコンテンツ
 

WAS LibertyでCloud-ReadyなJava EE7アプリ開発