SlideShare a Scribd company logo
1 of 45
Download to read offline
⽇日本アイ・ビー・エム株式会社
クラウド・ソフトウェア事業部
⽥田中  孝清
Javaプログラマーも
もう逃げられない
マイクロサービスとAPIの世界
#ccc_f5
©	
  2016	
  IBM	
  Corpora/on	
  2	
  
#ccc_f5
アジェンダ
q イントロダクション
q マイクロサービスアーキテクチャー
q Java  EEとマイクロサービス
q IBMの提供するSolution
¦ WebSphere  Application  Server
¦ IBM  API  Connect
q まとめ
©	
  2016	
  IBM	
  Corpora/on	
  3	
  
#ccc_f5
イントロダクション
©	
  2016	
  IBM	
  Corpora/on	
  4	
  
#ccc_f5
⼆二つの⽂文化に分かれる⽇日本のIT企業
リスクの最⼩小化
を優先  
ミッション・クリティカルな
アプリケーションの管理理、運⽤用
マラソンランナー
q  サービスレベル重視
q  ウォーターフォール開発
q  ⻑⾧長期に渡るシステム構築
イノベーションの
スピードを優先
成⻑⾧長機会のための
探索索、開発、デプロイ
スプリンター
q  スピード開発重視
q  試⾏行行錯誤、継続的デプロイ
q  早期のシステム構築/改修
Web系企業 SI系企業
©	
  2016	
  IBM	
  Corpora/on	
  5	
  
#ccc_f5
Javaは,どちらかというと...
重厚⻑⾧長⼤大な業務システムでの使⽤用が多い
©	
  2016	
  IBM	
  Corpora/on	
  6	
  
#ccc_f5
⽐比較的変化が遅い世界
q 「現在のアプリケーションを
  ⼀一から作り直すこともできないし」
q 「社外連携とかクラウドとかは当分先の話」
q 「うちなんか,
  まだJDK  1.4のシステムがありますよ」
©	
  2016	
  IBM	
  Corpora/on	
  7	
  
#ccc_f5
そろそろ逃げられなくなってきました
q ブラウザの進化
q 最新セキュリティ技術への追随
q HTML5による
アプリケーションのモダン化
q モバイル対応
q クラウドの利利⽤用
©	
  2016	
  IBM	
  Corpora/on	
  8	
  
#ccc_f5
ブラウザ:クライアント環境の急激な変遷
q MS  IE  6  →  7/8/9/10/11/MS  Edge  ...
q iOS  4/5/6/7/8/9  ...
q Firefox/Chrome/Safari/Android...
©	
  2016	
  IBM	
  Corpora/on	
  9	
  
#ccc_f5
セキュリティ:SSL/TSL技術の陳腐化
q  2011
¦  BEAST(CVE-‐‑‒2011-‐‑‒3389)
n  SSL,TLSのCBCモードの処理理の初期化ベクトル決定に関する問題で⽣生ずる脆弱性
q  2012
¦  CRIME(CVE-‐‑‒2012-‐‑‒4929)
n  TLS圧縮機能に存在する脆弱性
q  2013
¦  LuckyThirteen(CVE-‐‑‒2013-‐‑‒0169)
n  SSL,TLS,DTLSのCBCモードの処理理に存在する脆弱性
q  2014
¦  POODLE(CVE-‐‑‒2014-‐‑‒3566)
n  SSL3.0のCBCモードの脆弱性
¦  POODLE  bites  TLS(CVE-‐‑‒2014-‐‑‒8730)
n  POODLE同様の攻撃がTLS1.0でも利利⽤用できる
q  2015
¦  FREAK(CVE-‐‑‒2015-‐‑‒0204  /  CVE-‐‑‒2015-‐‑‒0138)
n  過去の暗号輸出規制時のグレードが使われる問題
¦  Bar  Mitzvah  Attack(CVE-‐‑‒2015-‐‑‒2808)
n  RC4⾃自⾝身の脆弱性
¦  Logjam(CVE-‐‑‒2015-‐‑‒400)
n  Diffie-‐‑‒Hellman鍵交換プロトコルを使⽤用したTLS接続で512ビットの輸出グレード暗号にダウングレードされる
q  2016
¦  SLOTH(CVE-‐‑‒2015-‐‑‒7575  /  CVE-‐‑‒2016-‐‑‒0201)
n  TLS,MD5のHash衝突の脆弱性
¦  DROWN(CVE-‐‑‒2016-‐‑‒0800)
n  SSL  v2でRSAベースの証明書を使っていると、同⼀一証明書⽤用いたTLS通信が解読される問題
©	
  2016	
  IBM	
  Corpora/on	
  10	
  
#ccc_f5
HTML5
q HTML  +  JavaScript技術の普及と
各種ライブラリの台頭
©	
  2016	
  IBM	
  Corpora/on	
  11	
  
#ccc_f5
HTML5によるアプリケーションのモダン化
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)
サーバーはクライアントアプリにサービス(API)を提供
©	
  2016	
  IBM	
  Corpora/on	
  12	
  
#ccc_f5
モバイルアプリケーションへの対応
q モバイルアプリケーションは(多くの場合MEAP経由で)
バックエンドシステムをサービスとして利利⽤用
MEAP製品!
!
Mobile!
Enterprise!
Application!
Platform!
ESB製品!
SOAP / HTTP!
REST! 基幹システムや

クラウド・サービス	
基幹システムや

クラウド・サービス	
基幹システムや

クラウド・サービス
©	
  2016	
  IBM	
  Corpora/on	
  13	
  
#ccc_f5
クラウド対応
q   クラウドの活⽤用は必須だが
  全てをクラウドに出すことはできない
¦ 社内システムと社外クラウドを連携させる
Hybrid  Cloudへの挑戦
Hybrid  
Cloud
クラウド上のシステム
Social,  Mobile,  IoT
既存の社内システム
CRM ERP
社内の各種データ
Transactions
Integration  bus
APIによる連携
©	
  2016	
  IBM	
  Corpora/on	
  14	
  
#ccc_f5
マイクロサービス・アーキテクチャーとは
©	
  2016	
  IBM	
  Corpora/on	
  15	
  
#ccc_f5
Microservices  Architecture(MSA)とは
q きっかけ
¦ ソフトウェア・
アーキテクチャーの⼤大家
マーティン・ファウラーの
2014年年3⽉月の
Blogエントリー
http://martinfowler.com/articles/microservices.html
©	
  2016	
  IBM	
  Corpora/on	
  16	
  
#ccc_f5
Microservices  Architectureアプリケーション
q 単⼀一の(モノリシックな)アプリとして実装するのではなく,
複数のサービスの統合として実装する
¦ 変更更の影響範囲を極⼩小化
¦ 機能の再利利⽤用を促進
http://martinfowler.com/articles/microservices.html
RESTを中⼼心とした

APIによる連携
©	
  2016	
  IBM	
  Corpora/on	
  17	
  
#ccc_f5
2004〜~
IBM,Gartner他
どこかで聞き覚えが・・・
q SOA:Service  Oriented  Architecture
©	
  2016	
  IBM	
  Corpora/on	
  18	
  
#ccc_f5
Microservices  ArchitectureはSOAの進化型
q モノリシック・アプリケーション
¦ 全体を単⼀一のコードとして実装
q SOA(サービス指向アーキテクチャー)
¦ サブシステムごとに独⽴立立して実装/依存関係が可視化
¦ 連携の⼿手段:SOAP,バス型の連携基盤
q MSA(マイクロサービス・アーキテクチャー)
¦ システムを構成する機能(ファンクション)単位でサービス化
¦ 連携の⼿手段:REST,多対多の直接連携
Monolithic App SOA Micro-services
©	
  2016	
  IBM	
  Corpora/on	
  19	
  
#ccc_f5
もっとも⼤大きな違いは・・・
q SOA:Service  Oriented  Architecture
¦ コンサルタントやITベンダーが考案した
「あるべきシステムの姿」
q Microservices  Architecture
¦ 成功した企業のWebシステムから導き出した
「ベスト・プラクティス」
その効果は実証済み
©	
  2016	
  IBM	
  Corpora/on	
  20	
  
#ccc_f5
Microservices  Architectureへの第⼀一歩
他のシステムから利利⽤用できるものを探す
q システムが提供している機能で
外部から利利⽤用できると
便便利利になるものは?
¦   ユーザーの認証情報・属性
¦   製品の在庫情報
¦   発注処理理
¦   ⽀支払い機能 etc.
q APIとして公開する
©	
  2016	
  IBM	
  Corpora/on	
  21	
  
#ccc_f5
既存システムのMSA化:キーワードはAPI化
q 「既存システムを分割」することよりも
q 「アプリケーションの機能を外部から呼べる」
ようにすることを重要視する
q APIの先を順次拡⼤大
¦   社内の他システムからの呼び出し
¦   Webアプリから呼び出し
¦   モバイル・アプリから呼び出し
¦   社外のシステムから呼び出し
API連携 分割>
©	
  2016	
  IBM	
  Corpora/on	
  22	
  
#ccc_f5
Java EEとマイクロサービス
©	
  2016	
  IBM	
  Corpora/on	
  23	
  
#ccc_f5
2013年年に正式版となった最新仕様:Java EE 7
q Java EE 7の三つのゴール
¦ HTML5環境への対応
¦ 開発⽣生産性の向上
¦ エンタープライズ・ニーズへの対応
⼤大幅な機能拡張
©	
  2016	
  IBM	
  Corpora/on	
  24	
  
#ccc_f5
Java EE 7 の主なAPI群
q JSR 342: Java Platform, Enterprise Edition 7
¦ HTML5環境への対応
n JSR 344: JavaServer Faces (JSF) 2.2
n JSR 353: Java API for JSON Processing (JSONP) 1.0
n JSR 356: Java API for WebSocket 1.0
n JSR 339: Java API for RESTful Web Services (JAX-RS) 2.0
¦ 開発生産性の向上
n JSR 345: Enterprise JavaBeans (EJB) 3.2
n JSR 346: Contexts and Dependency Injection
for Java EE (CDI) 1.1
n JSR 907: Java Transaction API (JTA) 1.2
n JSR 349: Bean Validation 1.1
¦ エンタープライズ・ニーズへの対応
n JSR 343: Java Message Service (JMS) 2.0
n JSR 338: Java Persistence API (JPA) 2.1
n JSR 236: Concurrency Utilities for Java EE 1.0
n JSR 352: Batch Applications for the Java Platform 1.0
©	
  2016	
  IBM	
  Corpora/on	
  25	
  
#ccc_f5
Java  EEのシステム間連携
q J2EE  1.3以前
¦ CORBA,RMI/IIOP
q J2EE  1.4
¦ JAX-‐‑‒RPC
q Java  EE  5
¦ JAX-‐‑‒WS
q Java  EE  6
¦ JAX-‐‑‒RS
レガシーとの接続
エンタープライズ間の連携
あらゆるものとの連携
©	
  2016	
  IBM	
  Corpora/on	
  26	
  
#ccc_f5
JAX-‐‑‒RS  2.0:JavaでRESTfulなWebサービスを実現
q アノテーションベースでRESTfulなWebサービスを実装
q JAX-‐‑‒RS  2.0の新機能
¦ クライアント⽤用のAPI
    →  ブラウザとの連携だけでなくシステム間連携も
¦ ⾮非同期クライアント・⾮非同期サーバー
¦ メッセージ・フィルタおよびエンティティ・インターセプター
Response response = ClientBuilder.newClient()

.target("http://www.foo.com/book")

.request(MediaType.TEXT_PLAIN)

.get();
@Path("repository")
public class TestRepositoryService {
@Path("version")
@GET
@Produces("text/plain; charset=UTF-8")
public String getVersion() {

return "Test Service version 1.0";

}
©	
  2016	
  IBM	
  Corpora/on	
  27	
  
#ccc_f5
CDIによるアプリケーション内のPL  /  BLの分離離
q 画⾯面デザイン
¦ JSF  /  EL  /  Servlet  /  JSP
q 外部連携
¦ JAX-‐‑‒RS  /  WebSocket
¦ JAX-‐‑‒WS
q 依存性注⼊入・ビジネスロジック
¦ CDI  /  EJB  /  JTA
q DB連携・ORマッピング
¦ JPA
JSF
JSP / EL
JAX-RS
WebSocket
CDI                    .
EJB / JTA
JPA Database
©	
  2016	
  IBM	
  Corpora/on	
  28	
  
#ccc_f5
MSAからみたJava  EE  7の特徴
q RESTfulなWebサービスへの対応が進み
API連携が容易易になった
q CDIにより,
Java  EEアプリケーション内部の
部品化・サービス化もやりやすくなった
©	
  2016	
  IBM	
  Corpora/on	
  29	
  
#ccc_f5
WebSphere Application Server
©	
  2016	
  IBM	
  Corpora/on	
  30	
  
#ccc_f5
30
WASの新しいランタイム:Libertyプロファイル
WAS V8.5.5 Liberty & WDT
Java EE 7準拠
Java EE 7のFull Platform標準に
準拠したアプリを完全サポート
JAX-WS, JAX-RS, JMSもサポート
Unzipによる導⼊入とデプロイ
パッケージをした
サーバー  + アプリ  + 構成情報を
Unzipでデプロイ可能
簡単な構成と動的変更更
最低限必要な構成ファイルは
server.xmlひとつだけ
デフォルトベースで簡単構成
構成変更更は再起動なしに反映
軽量量ランタイム
メモリー使⽤用量量が⼩小さい: 60MB程度度〜~
ディスク使⽤用量量も100MB以下
起動が速い
起動時間: 5秒程度度
統合ツール(WDT)
⾼高機能なEclipse⽤用の連携ツールを無償で提供
Eclipseから簡単に使⽤用可能
⾃自動化ツールとの連携
多くのOSSツールに

無償でプラグインを提供
©	
  2016	
  IBM	
  Corpora/on	
  31	
  
#ccc_f5
②  Libertyが軽量量な理理由
Servlet JSP JSF
q Java  EEなどのAPIやサーバーが提供する機能のうち、必
要な機能(Feature)のみを⾃自由に組み合わせることができる
SSL
JAX-‐‑‒RS JSON Monitor
JPAJDBC CDI LDAP  Registry
JAX-‐‑‒WS JAX-‐‑‒B Admin  Center
JMSEJB  lite EJB  MDB Cluster
§  必要な機能のみ稼動するため起動が速い!
§  Libertyプロファイル⾃自体のメモリー使⽤用量量も、60MB程度度
©	
  2016	
  IBM	
  Corpora/on	
  32	
  
#ccc_f5
API・サーバー機能をFeatureとして定義
q 必要なものだけを構成  
¦ 設定されたものだけがメモリにロード・初期化される
→  最⼩小限の起動時間・メモリー使⽤用
ServletJSPJDBCSSL
JAX-RS
sessionDatabase
<featureManager>	
  
	
  	
  	
  	
  <feature>jsp-­‐2.3</feature>	
  
	
  	
  	
  	
  <feature>jdbc-­‐4.1</feature>	
  
	
  	
  	
  	
  <feature>jaxrs-­‐2.0</feature>	
  
	
  	
  	
  	
  <feature>sessionDatabase-­‐1.0</feature>	
  
	
  	
  	
  	
  <feature>ssl-­‐1.0</feature>	
  
</featureManager>	
  
構成ファイル server.xml	
依存関係も

自動的に解決	
JSON
©	
  2016	
  IBM	
  Corpora/on	
  33	
  
#ccc_f5
Libertyプロファイルの「ゼロ・マイグレーション」
q 新しい仕様のバージョンに対応するフィーチャーが
追加されても,従来のバージョンも提供される
¦  例例)  現在はServlet  3.1フィーチャーが提供されているが,
      Servlet  3.0フィーチャーも引き続き利利⽤用できる
q アプリケーションで新仕様が必要なければ
従来のフィーチャーをそのまま利利⽤用可能
¦  ただし,対応するJDKのバージョンは変更更される可能性がある
servlet-‐‑‒3.0
servlet-‐‑‒3.1
servlet-‐‑‒3.0 servlet-‐‑‒3.1
新バージョン
新バージョン
⼀一般的なアプリケーションサーバー WAS  Libertyプロファイル
©	
  2016	
  IBM	
  Corpora/on	
  34	
  
#ccc_f5
パッケージによる導⼊入
q 既存環境をZIPファイルにパッケージ
¦ アプリケーション・サーバー構成・Libertyランタイム
q minifyオプションを指定することで
アプリケーションが使⽤用するFeatureだけをパッケージ
¦ コンパクトな実⾏行行環境を作成可能
OS#1
Java  SDK
Liberty  Profile
サーバー構成
アプリケーション
①インストール
ディスク
②サーバー構成
③デプロイ
OS#2
Java  SDK
Liberty  Profile
サーバー構成
アプリケーション
ディスク
server  –package  <サーバー名>
  -‐‑‒-‐‑‒include=minify
zipファイル
元のサイズよりコ
ンパクトに!
zipファイルzipファイル
④パッケージ ⑤展開
©	
  2016	
  IBM	
  Corpora/on	
  35	
  
#ccc_f5
開発者版は無償で利利⽤用可能
q 名前の登録やIBMへの問い合わせなしに
⾃自由にダウンロード可能・使⽤用期限もなし
1.  Eclipse  Marketplaceから
Liberty開発者ツールを導⼊入
開発者ツールをつかってLibertyをダウンロード
2.  WASdev.netからランタイムをダウンロード
©	
  2016	
  IBM	
  Corpora/on	
  36	
  
#ccc_f5
様々なレベルでクラウドに対応
q オンプレミス⽤用のライセンスをIaaS上でも使⽤用可
q 様々な⾃自由度度でランタイムをPaaSとして提供
利用者が管理
プラットフォームが管理
利用者がパターンから作成
事前構成されたWASが提供(個別管理可能)
Liberty
Buildpack
WAS on Cloud WAS Docker
Containers
PureApp  
Service
©	
  2016	
  IBM	
  Corpora/on	
  37	
  
#ccc_f5
IBM  BluemixでのLibertyの使⽤用
ランタイム
アプリ
コード
アプリ
コード
開発者
ランタイムと呼ばれる実⾏行行環境を
  わずか30秒    で準備
様々なレベルで公開
-‐‑‒  Java  EEに準拠したEAR/WAR
-‐‑‒  アプリケーションコードと構成
-‐‑‒  アプリとLibertyランタイム
Liberty以外の実⾏行行環境も提供
-‐‑‒  任意の開発⾔言語を使⽤用可能
Bluemixのビルドパック
©	
  2016	
  IBM	
  Corpora/on	
  38	
  
#ccc_f5
IBM  Bluemixの特徴
アプリケーションを、構築・管理理・実⾏行行するための、
SoftLayerを基盤とし、オープン・スタンダード(Cloud Foundry)を活⽤用した、
新しいクラウド・プラットフォーム(PaaS)
スピーディーな
環境構築
豊富な「API」と
「サービス」の提供
DevOpsの実現
既存システムとの
インテグレーション
堅牢牢な
セキュリティ
柔軟な価格体系
お⽀支払い⽅方法
©	
  2016	
  IBM	
  Corpora/on	
  39	
  
#ccc_f5
IBM API Connect
©	
  2016	
  IBM	
  Corpora/on	
  40	
  
#ccc_f5
IBM  API  Connect  V5
q API公開に関わるすべての作業を
1つの包括的ソリューションとして提供
外部のシステム
社内システム
Integration  bus
Team
Stats
Ticketing
社内データ
クラウドアプリ

開発者
API Connect
業務アプリ

開発者
WebSphere
Application Server
APIの

カタログ

と公開
Discover
API
©	
  2016	
  IBM	
  Corpora/on	
  41	
  
#ccc_f5
API  Connectの提供する4つの機能
q 作成
¦  容易易にAPI開発を⾏行行えるツール
¦  ビルド、テスト、デプロイ
q 実⾏行行
¦  APIを実⾏行行するランタイムの管理理
(WAS  Liberty,Node.js)
¦  監視、スケーリング
q 管理理
¦  公開APIのポリシー定義
¦  利利⽤用状況の分析、課⾦金金
¦  開発者ポータルへの⾃自動連携
q 保護
¦  APIの認証・認可
¦  API利利⽤用者の認証とアクセス制御
¦  アクセス数のレート制限
Create Run
ManageSecure
作成
保護
実⾏行行
管理理
IBM  API  Connect
©	
  2016	
  IBM	
  Corpora/on	
  42	
  
#ccc_f5
StrongLoop社の買収とSolutionの融合
Create Run
ManageSecure
作成
保護
実⾏行行
管理理
IBM  API  Connect
IBM  API  Management
StrongLoop  /  Node.js
©	
  2016	
  IBM	
  Corpora/on	
  43	
  
#ccc_f5
まとめ
q   クラウド・セキュリティなどの要件から
  そろそろJavaの世界も
  API化から逃げられなくなってきました
q Microservices  Architectureは
  実証された有効なシステムアーキテクチャー
q MSAの採⽤用では「分割」より「API化」が重要
q IBMは,業務システムのクラウド化・API化を
推進するソリューションを提供します
©	
  2016	
  IBM	
  Corpora/on	
  44	
  
#ccc_f5
最後に
©	
  2016	
  IBM	
  Corpora/on	
  45	
  
#ccc_f5
最新情報発表セミナー
q WebSphere  AS  最新情報セミナー  2016
〜~  Are  You  ready?  Javaプラットフォームの新しい潮流流!  〜~
¦ ⽇日時:
  2016年年6⽉月23⽇日(⽊木)
  15:00-‐‑‒17:30  (受付開始  14:30)
¦ 場所:
  ⽇日本アイ・ビー・エム株式会社
  本社事業所(箱崎)
¦ 参加費:
  無料料
https://ibm.biz/cloudsw_̲school_̲16

More Related Content

What's hot

DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 Hiroshi Ito
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Takuro Sasaki
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
とにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるMasatoshi Tada
 
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界Y Watanabe
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Masahito Zembutsu
 
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法yoku0825
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 

What's hot (20)

DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
Google Cloud で実践する SRE
Google Cloud で実践する SRE  Google Cloud で実践する SRE
Google Cloud で実践する SRE
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
とにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みる
 
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
 
Maven基礎
Maven基礎Maven基礎
Maven基礎
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 

Viewers also liked

HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージHBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージLINE Corporation
 
Spring starterによるSpring Boot Starter
Spring starterによるSpring Boot StarterSpring starterによるSpring Boot Starter
Spring starterによるSpring Boot StarterRyosuke Uchitate
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~aha_oretama
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方CData Software Japan
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Java女子部
 
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017tty fky
 
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-Takakiyo Tanaka
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyTakakiyo Tanaka
 
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方Yuki Morishita
 
将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 Yoshio Kajikuri
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!masakazu matsubara
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチCData Software Japan
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜aha_oretama
 
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てRyosuke Uchitate
 
JVM上で動くPython処理系実装のススメ
JVM上で動くPython処理系実装のススメJVM上で動くPython処理系実装のススメ
JVM上で動くPython処理系実装のススメYoshiaki Shibutani
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017Yusuke Suzuki
 
Another compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilationAnother compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilationLogico
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Takuya Okada
 
サーバサイド Kotlin
サーバサイド Kotlinサーバサイド Kotlin
サーバサイド KotlinHiroki Ohtani
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Kohei Saito
 

Viewers also liked (20)

HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージHBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
 
Spring starterによるSpring Boot Starter
Spring starterによるSpring Boot StarterSpring starterによるSpring Boot Starter
Spring starterによるSpring Boot Starter
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
 
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
 
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere Liberty
 
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
 
将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
 
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
 
JVM上で動くPython処理系実装のススメ
JVM上で動くPython処理系実装のススメJVM上で動くPython処理系実装のススメ
JVM上で動くPython処理系実装のススメ
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
 
Another compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilationAnother compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilation
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門
 
サーバサイド Kotlin
サーバサイド Kotlinサーバサイド Kotlin
サーバサイド Kotlin
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
 

Similar to Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。

クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?Takakiyo Tanaka
 
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方Amazon Web Services Japan
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発政雄 金森
 
KLabのSI事業について
KLabのSI事業についてKLabのSI事業について
KLabのSI事業についてKLab株式会社
 
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介Yuta Matsumura
 
API Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップAPI Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップCA Technologies
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか真吾 吉田
 
New IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにありNew IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにありBrocade
 
What's new of XPages in 2015 and beyond
What's new of XPages in 2015 and beyondWhat's new of XPages in 2015 and beyond
What's new of XPages in 2015 and beyondAtsushi Sato
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe APImaruyama097
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APImaruyama097
 
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...Takakiyo Tanaka
 
サーバを仮想化したのにネットワークはこれまで通りでいい?←いや、いや、そんなわけないでしょ
サーバを仮想化したのにネットワークはこれまで通りでいい?←いや、いや、そんなわけないでしょサーバを仮想化したのにネットワークはこれまで通りでいい?←いや、いや、そんなわけないでしょ
サーバを仮想化したのにネットワークはこれまで通りでいい?←いや、いや、そんなわけないでしょBrocade
 

Similar to Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。 (20)

クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
 
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
KLabのSI事業について
KLabのSI事業についてKLabのSI事業について
KLabのSI事業について
 
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
 
API Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップAPI Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップ
 
Serverless for VUI
Serverless for VUIServerless for VUI
Serverless for VUI
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか
 
【さくらのクラウド】サービス概要カタログ 2017年12月号
【さくらのクラウド】サービス概要カタログ 2017年12月号 【さくらのクラウド】サービス概要カタログ 2017年12月号
【さくらのクラウド】サービス概要カタログ 2017年12月号
 
New IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにありNew IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにあり
 
「明日の認証会議 3」講演用スライド 20141002(配布用)
「明日の認証会議 3」講演用スライド 20141002(配布用)「明日の認証会議 3」講演用スライド 20141002(配布用)
「明日の認証会議 3」講演用スライド 20141002(配布用)
 
【さくらのクラウド】サービス概要カタログ2017年4月号
【さくらのクラウド】サービス概要カタログ2017年4月号 【さくらのクラウド】サービス概要カタログ2017年4月号
【さくらのクラウド】サービス概要カタログ2017年4月号
 
What's new of XPages in 2015 and beyond
What's new of XPages in 2015 and beyondWhat's new of XPages in 2015 and beyond
What's new of XPages in 2015 and beyond
 
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
 
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
 
IBM and Open @201311
IBM and Open @201311IBM and Open @201311
IBM and Open @201311
 
サーバを仮想化したのにネットワークはこれまで通りでいい?←いや、いや、そんなわけないでしょ
サーバを仮想化したのにネットワークはこれまで通りでいい?←いや、いや、そんなわけないでしょサーバを仮想化したのにネットワークはこれまで通りでいい?←いや、いや、そんなわけないでしょ
サーバを仮想化したのにネットワークはこれまで通りでいい?←いや、いや、そんなわけないでしょ
 
【さくらのクラウド】サービス概要カタログ 2017年7月号
【さくらのクラウド】サービス概要カタログ 2017年7月号【さくらのクラウド】サービス概要カタログ 2017年7月号
【さくらのクラウド】サービス概要カタログ 2017年7月号
 

More from Takakiyo Tanaka

Open Liberty / WebSphere Liberty
Open Liberty / WebSphere LibertyOpen Liberty / WebSphere Liberty
Open Liberty / WebSphere LibertyTakakiyo Tanaka
 
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」Takakiyo Tanaka
 
MicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open LibertyMicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open LibertyTakakiyo Tanaka
 
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについてオープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM JavaについてTakakiyo Tanaka
 
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築Takakiyo Tanaka
 
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4Takakiyo Tanaka
 
ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発Takakiyo Tanaka
 
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21Takakiyo Tanaka
 
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 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_r57JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57Takakiyo Tanaka
 
WebSphere Application Server V8.5.5 Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
WebSphere Application Server V8.5.5 Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51Takakiyo Tanaka
 
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51Takakiyo Tanaka
 
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-Takakiyo Tanaka
 
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Takakiyo Tanaka
 

More from Takakiyo Tanaka (15)

Open Liberty / WebSphere Liberty
Open Liberty / WebSphere LibertyOpen Liberty / WebSphere Liberty
Open Liberty / WebSphere Liberty
 
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
 
OutOfMemoryErrorとは
OutOfMemoryErrorとは OutOfMemoryErrorとは
OutOfMemoryErrorとは
 
MicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open LibertyMicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open Liberty
 
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについてオープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
 
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
 
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
 
ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発
 
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
 
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
 
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_r57JJUG 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
 
WebSphere Application Server V8.5.5 Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
WebSphere Application Server V8.5.5 Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
 
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
 
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
 
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界
 

Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。

  • 2. ©  2016  IBM  Corpora/on  2   #ccc_f5 アジェンダ q イントロダクション q マイクロサービスアーキテクチャー q Java  EEとマイクロサービス q IBMの提供するSolution ¦ WebSphere  Application  Server ¦ IBM  API  Connect q まとめ
  • 3. ©  2016  IBM  Corpora/on  3   #ccc_f5 イントロダクション
  • 4. ©  2016  IBM  Corpora/on  4   #ccc_f5 ⼆二つの⽂文化に分かれる⽇日本のIT企業 リスクの最⼩小化 を優先   ミッション・クリティカルな アプリケーションの管理理、運⽤用 マラソンランナー q  サービスレベル重視 q  ウォーターフォール開発 q  ⻑⾧長期に渡るシステム構築 イノベーションの スピードを優先 成⻑⾧長機会のための 探索索、開発、デプロイ スプリンター q  スピード開発重視 q  試⾏行行錯誤、継続的デプロイ q  早期のシステム構築/改修 Web系企業 SI系企業
  • 5. ©  2016  IBM  Corpora/on  5   #ccc_f5 Javaは,どちらかというと... 重厚⻑⾧長⼤大な業務システムでの使⽤用が多い
  • 6. ©  2016  IBM  Corpora/on  6   #ccc_f5 ⽐比較的変化が遅い世界 q 「現在のアプリケーションを   ⼀一から作り直すこともできないし」 q 「社外連携とかクラウドとかは当分先の話」 q 「うちなんか,   まだJDK  1.4のシステムがありますよ」
  • 7. ©  2016  IBM  Corpora/on  7   #ccc_f5 そろそろ逃げられなくなってきました q ブラウザの進化 q 最新セキュリティ技術への追随 q HTML5による アプリケーションのモダン化 q モバイル対応 q クラウドの利利⽤用
  • 8. ©  2016  IBM  Corpora/on  8   #ccc_f5 ブラウザ:クライアント環境の急激な変遷 q MS  IE  6  →  7/8/9/10/11/MS  Edge  ... q iOS  4/5/6/7/8/9  ... q Firefox/Chrome/Safari/Android...
  • 9. ©  2016  IBM  Corpora/on  9   #ccc_f5 セキュリティ:SSL/TSL技術の陳腐化 q  2011 ¦  BEAST(CVE-‐‑‒2011-‐‑‒3389) n  SSL,TLSのCBCモードの処理理の初期化ベクトル決定に関する問題で⽣生ずる脆弱性 q  2012 ¦  CRIME(CVE-‐‑‒2012-‐‑‒4929) n  TLS圧縮機能に存在する脆弱性 q  2013 ¦  LuckyThirteen(CVE-‐‑‒2013-‐‑‒0169) n  SSL,TLS,DTLSのCBCモードの処理理に存在する脆弱性 q  2014 ¦  POODLE(CVE-‐‑‒2014-‐‑‒3566) n  SSL3.0のCBCモードの脆弱性 ¦  POODLE  bites  TLS(CVE-‐‑‒2014-‐‑‒8730) n  POODLE同様の攻撃がTLS1.0でも利利⽤用できる q  2015 ¦  FREAK(CVE-‐‑‒2015-‐‑‒0204  /  CVE-‐‑‒2015-‐‑‒0138) n  過去の暗号輸出規制時のグレードが使われる問題 ¦  Bar  Mitzvah  Attack(CVE-‐‑‒2015-‐‑‒2808) n  RC4⾃自⾝身の脆弱性 ¦  Logjam(CVE-‐‑‒2015-‐‑‒400) n  Diffie-‐‑‒Hellman鍵交換プロトコルを使⽤用したTLS接続で512ビットの輸出グレード暗号にダウングレードされる q  2016 ¦  SLOTH(CVE-‐‑‒2015-‐‑‒7575  /  CVE-‐‑‒2016-‐‑‒0201) n  TLS,MD5のHash衝突の脆弱性 ¦  DROWN(CVE-‐‑‒2016-‐‑‒0800) n  SSL  v2でRSAベースの証明書を使っていると、同⼀一証明書⽤用いたTLS通信が解読される問題
  • 10. ©  2016  IBM  Corpora/on  10   #ccc_f5 HTML5 q HTML  +  JavaScript技術の普及と 各種ライブラリの台頭
  • 11. ©  2016  IBM  Corpora/on  11   #ccc_f5 HTML5によるアプリケーションのモダン化 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) サーバーはクライアントアプリにサービス(API)を提供
  • 12. ©  2016  IBM  Corpora/on  12   #ccc_f5 モバイルアプリケーションへの対応 q モバイルアプリケーションは(多くの場合MEAP経由で) バックエンドシステムをサービスとして利利⽤用 MEAP製品! ! Mobile! Enterprise! Application! Platform! ESB製品! SOAP / HTTP! REST! 基幹システムや
 クラウド・サービス 基幹システムや
 クラウド・サービス 基幹システムや
 クラウド・サービス
  • 13. ©  2016  IBM  Corpora/on  13   #ccc_f5 クラウド対応 q   クラウドの活⽤用は必須だが  全てをクラウドに出すことはできない ¦ 社内システムと社外クラウドを連携させる Hybrid  Cloudへの挑戦 Hybrid   Cloud クラウド上のシステム Social,  Mobile,  IoT 既存の社内システム CRM ERP 社内の各種データ Transactions Integration  bus APIによる連携
  • 14. ©  2016  IBM  Corpora/on  14   #ccc_f5 マイクロサービス・アーキテクチャーとは
  • 15. ©  2016  IBM  Corpora/on  15   #ccc_f5 Microservices  Architecture(MSA)とは q きっかけ ¦ ソフトウェア・ アーキテクチャーの⼤大家 マーティン・ファウラーの 2014年年3⽉月の Blogエントリー http://martinfowler.com/articles/microservices.html
  • 16. ©  2016  IBM  Corpora/on  16   #ccc_f5 Microservices  Architectureアプリケーション q 単⼀一の(モノリシックな)アプリとして実装するのではなく, 複数のサービスの統合として実装する ¦ 変更更の影響範囲を極⼩小化 ¦ 機能の再利利⽤用を促進 http://martinfowler.com/articles/microservices.html RESTを中⼼心とした
 APIによる連携
  • 17. ©  2016  IBM  Corpora/on  17   #ccc_f5 2004〜~ IBM,Gartner他 どこかで聞き覚えが・・・ q SOA:Service  Oriented  Architecture
  • 18. ©  2016  IBM  Corpora/on  18   #ccc_f5 Microservices  ArchitectureはSOAの進化型 q モノリシック・アプリケーション ¦ 全体を単⼀一のコードとして実装 q SOA(サービス指向アーキテクチャー) ¦ サブシステムごとに独⽴立立して実装/依存関係が可視化 ¦ 連携の⼿手段:SOAP,バス型の連携基盤 q MSA(マイクロサービス・アーキテクチャー) ¦ システムを構成する機能(ファンクション)単位でサービス化 ¦ 連携の⼿手段:REST,多対多の直接連携 Monolithic App SOA Micro-services
  • 19. ©  2016  IBM  Corpora/on  19   #ccc_f5 もっとも⼤大きな違いは・・・ q SOA:Service  Oriented  Architecture ¦ コンサルタントやITベンダーが考案した 「あるべきシステムの姿」 q Microservices  Architecture ¦ 成功した企業のWebシステムから導き出した 「ベスト・プラクティス」 その効果は実証済み
  • 20. ©  2016  IBM  Corpora/on  20   #ccc_f5 Microservices  Architectureへの第⼀一歩 他のシステムから利利⽤用できるものを探す q システムが提供している機能で 外部から利利⽤用できると 便便利利になるものは? ¦   ユーザーの認証情報・属性 ¦   製品の在庫情報 ¦   発注処理理 ¦   ⽀支払い機能 etc. q APIとして公開する
  • 21. ©  2016  IBM  Corpora/on  21   #ccc_f5 既存システムのMSA化:キーワードはAPI化 q 「既存システムを分割」することよりも q 「アプリケーションの機能を外部から呼べる」 ようにすることを重要視する q APIの先を順次拡⼤大 ¦   社内の他システムからの呼び出し ¦   Webアプリから呼び出し ¦   モバイル・アプリから呼び出し ¦   社外のシステムから呼び出し API連携 分割>
  • 22. ©  2016  IBM  Corpora/on  22   #ccc_f5 Java EEとマイクロサービス
  • 23. ©  2016  IBM  Corpora/on  23   #ccc_f5 2013年年に正式版となった最新仕様:Java EE 7 q Java EE 7の三つのゴール ¦ HTML5環境への対応 ¦ 開発⽣生産性の向上 ¦ エンタープライズ・ニーズへの対応 ⼤大幅な機能拡張
  • 24. ©  2016  IBM  Corpora/on  24   #ccc_f5 Java EE 7 の主なAPI群 q JSR 342: Java Platform, Enterprise Edition 7 ¦ HTML5環境への対応 n JSR 344: JavaServer Faces (JSF) 2.2 n JSR 353: Java API for JSON Processing (JSONP) 1.0 n JSR 356: Java API for WebSocket 1.0 n JSR 339: Java API for RESTful Web Services (JAX-RS) 2.0 ¦ 開発生産性の向上 n JSR 345: Enterprise JavaBeans (EJB) 3.2 n JSR 346: Contexts and Dependency Injection for Java EE (CDI) 1.1 n JSR 907: Java Transaction API (JTA) 1.2 n JSR 349: Bean Validation 1.1 ¦ エンタープライズ・ニーズへの対応 n JSR 343: Java Message Service (JMS) 2.0 n JSR 338: Java Persistence API (JPA) 2.1 n JSR 236: Concurrency Utilities for Java EE 1.0 n JSR 352: Batch Applications for the Java Platform 1.0
  • 25. ©  2016  IBM  Corpora/on  25   #ccc_f5 Java  EEのシステム間連携 q J2EE  1.3以前 ¦ CORBA,RMI/IIOP q J2EE  1.4 ¦ JAX-‐‑‒RPC q Java  EE  5 ¦ JAX-‐‑‒WS q Java  EE  6 ¦ JAX-‐‑‒RS レガシーとの接続 エンタープライズ間の連携 あらゆるものとの連携
  • 26. ©  2016  IBM  Corpora/on  26   #ccc_f5 JAX-‐‑‒RS  2.0:JavaでRESTfulなWebサービスを実現 q アノテーションベースでRESTfulなWebサービスを実装 q JAX-‐‑‒RS  2.0の新機能 ¦ クライアント⽤用のAPI     →  ブラウザとの連携だけでなくシステム間連携も ¦ ⾮非同期クライアント・⾮非同期サーバー ¦ メッセージ・フィルタおよびエンティティ・インターセプター Response response = ClientBuilder.newClient()
 .target("http://www.foo.com/book")
 .request(MediaType.TEXT_PLAIN)
 .get(); @Path("repository") public class TestRepositoryService { @Path("version") @GET @Produces("text/plain; charset=UTF-8") public String getVersion() {
 return "Test Service version 1.0";
 }
  • 27. ©  2016  IBM  Corpora/on  27   #ccc_f5 CDIによるアプリケーション内のPL  /  BLの分離離 q 画⾯面デザイン ¦ JSF  /  EL  /  Servlet  /  JSP q 外部連携 ¦ JAX-‐‑‒RS  /  WebSocket ¦ JAX-‐‑‒WS q 依存性注⼊入・ビジネスロジック ¦ CDI  /  EJB  /  JTA q DB連携・ORマッピング ¦ JPA JSF JSP / EL JAX-RS WebSocket CDI                    . EJB / JTA JPA Database
  • 28. ©  2016  IBM  Corpora/on  28   #ccc_f5 MSAからみたJava  EE  7の特徴 q RESTfulなWebサービスへの対応が進み API連携が容易易になった q CDIにより, Java  EEアプリケーション内部の 部品化・サービス化もやりやすくなった
  • 29. ©  2016  IBM  Corpora/on  29   #ccc_f5 WebSphere Application Server
  • 30. ©  2016  IBM  Corpora/on  30   #ccc_f5 30 WASの新しいランタイム:Libertyプロファイル WAS V8.5.5 Liberty & WDT Java EE 7準拠 Java EE 7のFull Platform標準に 準拠したアプリを完全サポート JAX-WS, JAX-RS, JMSもサポート Unzipによる導⼊入とデプロイ パッケージをした サーバー  + アプリ  + 構成情報を Unzipでデプロイ可能 簡単な構成と動的変更更 最低限必要な構成ファイルは server.xmlひとつだけ デフォルトベースで簡単構成 構成変更更は再起動なしに反映 軽量量ランタイム メモリー使⽤用量量が⼩小さい: 60MB程度度〜~ ディスク使⽤用量量も100MB以下 起動が速い 起動時間: 5秒程度度 統合ツール(WDT) ⾼高機能なEclipse⽤用の連携ツールを無償で提供 Eclipseから簡単に使⽤用可能 ⾃自動化ツールとの連携 多くのOSSツールに
 無償でプラグインを提供
  • 31. ©  2016  IBM  Corpora/on  31   #ccc_f5 ②  Libertyが軽量量な理理由 Servlet JSP JSF q Java  EEなどのAPIやサーバーが提供する機能のうち、必 要な機能(Feature)のみを⾃自由に組み合わせることができる SSL JAX-‐‑‒RS JSON Monitor JPAJDBC CDI LDAP  Registry JAX-‐‑‒WS JAX-‐‑‒B Admin  Center JMSEJB  lite EJB  MDB Cluster §  必要な機能のみ稼動するため起動が速い! §  Libertyプロファイル⾃自体のメモリー使⽤用量量も、60MB程度度
  • 32. ©  2016  IBM  Corpora/on  32   #ccc_f5 API・サーバー機能をFeatureとして定義 q 必要なものだけを構成   ¦ 設定されたものだけがメモリにロード・初期化される →  最⼩小限の起動時間・メモリー使⽤用 ServletJSPJDBCSSL JAX-RS sessionDatabase <featureManager>          <feature>jsp-­‐2.3</feature>          <feature>jdbc-­‐4.1</feature>          <feature>jaxrs-­‐2.0</feature>          <feature>sessionDatabase-­‐1.0</feature>          <feature>ssl-­‐1.0</feature>   </featureManager>   構成ファイル server.xml 依存関係も
 自動的に解決 JSON
  • 33. ©  2016  IBM  Corpora/on  33   #ccc_f5 Libertyプロファイルの「ゼロ・マイグレーション」 q 新しい仕様のバージョンに対応するフィーチャーが 追加されても,従来のバージョンも提供される ¦  例例)  現在はServlet  3.1フィーチャーが提供されているが,       Servlet  3.0フィーチャーも引き続き利利⽤用できる q アプリケーションで新仕様が必要なければ 従来のフィーチャーをそのまま利利⽤用可能 ¦  ただし,対応するJDKのバージョンは変更更される可能性がある servlet-‐‑‒3.0 servlet-‐‑‒3.1 servlet-‐‑‒3.0 servlet-‐‑‒3.1 新バージョン 新バージョン ⼀一般的なアプリケーションサーバー WAS  Libertyプロファイル
  • 34. ©  2016  IBM  Corpora/on  34   #ccc_f5 パッケージによる導⼊入 q 既存環境をZIPファイルにパッケージ ¦ アプリケーション・サーバー構成・Libertyランタイム q minifyオプションを指定することで アプリケーションが使⽤用するFeatureだけをパッケージ ¦ コンパクトな実⾏行行環境を作成可能 OS#1 Java  SDK Liberty  Profile サーバー構成 アプリケーション ①インストール ディスク ②サーバー構成 ③デプロイ OS#2 Java  SDK Liberty  Profile サーバー構成 アプリケーション ディスク server  –package  <サーバー名>  -‐‑‒-‐‑‒include=minify zipファイル 元のサイズよりコ ンパクトに! zipファイルzipファイル ④パッケージ ⑤展開
  • 35. ©  2016  IBM  Corpora/on  35   #ccc_f5 開発者版は無償で利利⽤用可能 q 名前の登録やIBMへの問い合わせなしに ⾃自由にダウンロード可能・使⽤用期限もなし 1.  Eclipse  Marketplaceから Liberty開発者ツールを導⼊入 開発者ツールをつかってLibertyをダウンロード 2.  WASdev.netからランタイムをダウンロード
  • 36. ©  2016  IBM  Corpora/on  36   #ccc_f5 様々なレベルでクラウドに対応 q オンプレミス⽤用のライセンスをIaaS上でも使⽤用可 q 様々な⾃自由度度でランタイムをPaaSとして提供 利用者が管理 プラットフォームが管理 利用者がパターンから作成 事前構成されたWASが提供(個別管理可能) Liberty Buildpack WAS on Cloud WAS Docker Containers PureApp   Service
  • 37. ©  2016  IBM  Corpora/on  37   #ccc_f5 IBM  BluemixでのLibertyの使⽤用 ランタイム アプリ コード アプリ コード 開発者 ランタイムと呼ばれる実⾏行行環境を   わずか30秒    で準備 様々なレベルで公開 -‐‑‒  Java  EEに準拠したEAR/WAR -‐‑‒  アプリケーションコードと構成 -‐‑‒  アプリとLibertyランタイム Liberty以外の実⾏行行環境も提供 -‐‑‒  任意の開発⾔言語を使⽤用可能 Bluemixのビルドパック
  • 38. ©  2016  IBM  Corpora/on  38   #ccc_f5 IBM  Bluemixの特徴 アプリケーションを、構築・管理理・実⾏行行するための、 SoftLayerを基盤とし、オープン・スタンダード(Cloud Foundry)を活⽤用した、 新しいクラウド・プラットフォーム(PaaS) スピーディーな 環境構築 豊富な「API」と 「サービス」の提供 DevOpsの実現 既存システムとの インテグレーション 堅牢牢な セキュリティ 柔軟な価格体系 お⽀支払い⽅方法
  • 39. ©  2016  IBM  Corpora/on  39   #ccc_f5 IBM API Connect
  • 40. ©  2016  IBM  Corpora/on  40   #ccc_f5 IBM  API  Connect  V5 q API公開に関わるすべての作業を 1つの包括的ソリューションとして提供 外部のシステム 社内システム Integration  bus Team Stats Ticketing 社内データ クラウドアプリ
 開発者 API Connect 業務アプリ
 開発者 WebSphere Application Server APIの
 カタログ
 と公開 Discover API
  • 41. ©  2016  IBM  Corpora/on  41   #ccc_f5 API  Connectの提供する4つの機能 q 作成 ¦  容易易にAPI開発を⾏行行えるツール ¦  ビルド、テスト、デプロイ q 実⾏行行 ¦  APIを実⾏行行するランタイムの管理理 (WAS  Liberty,Node.js) ¦  監視、スケーリング q 管理理 ¦  公開APIのポリシー定義 ¦  利利⽤用状況の分析、課⾦金金 ¦  開発者ポータルへの⾃自動連携 q 保護 ¦  APIの認証・認可 ¦  API利利⽤用者の認証とアクセス制御 ¦  アクセス数のレート制限 Create Run ManageSecure 作成 保護 実⾏行行 管理理 IBM  API  Connect
  • 42. ©  2016  IBM  Corpora/on  42   #ccc_f5 StrongLoop社の買収とSolutionの融合 Create Run ManageSecure 作成 保護 実⾏行行 管理理 IBM  API  Connect IBM  API  Management StrongLoop  /  Node.js
  • 43. ©  2016  IBM  Corpora/on  43   #ccc_f5 まとめ q   クラウド・セキュリティなどの要件から   そろそろJavaの世界も   API化から逃げられなくなってきました q Microservices  Architectureは   実証された有効なシステムアーキテクチャー q MSAの採⽤用では「分割」より「API化」が重要 q IBMは,業務システムのクラウド化・API化を 推進するソリューションを提供します
  • 44. ©  2016  IBM  Corpora/on  44   #ccc_f5 最後に
  • 45. ©  2016  IBM  Corpora/on  45   #ccc_f5 最新情報発表セミナー q WebSphere  AS  最新情報セミナー  2016 〜~  Are  You  ready?  Javaプラットフォームの新しい潮流流!  〜~ ¦ ⽇日時:   2016年年6⽉月23⽇日(⽊木)   15:00-‐‑‒17:30  (受付開始  14:30) ¦ 場所:   ⽇日本アイ・ビー・エム株式会社   本社事業所(箱崎) ¦ 参加費:   無料料 https://ibm.biz/cloudsw_̲school_̲16