SlideShare a Scribd company logo
⽇日本アイ・ビー・エム株式会社
クラウド・ソフトウェア事業部
⽥田中  孝清
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

PDF
実践に向けたドメイン駆動設計のエッセンス
PDF
正しいものを正しく作る塾-設計コース
PDF
「ドメイン駆動設計」の複雑さに立ち向かう
PDF
ドメイン駆動設計の正しい歩き方
PDF
3週連続DDDその1 ドメイン駆動設計の基本を理解する
PDF
ドメイン駆動設計 基本を理解する
PDF
Azure ADとIdentity管理
PDF
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
実践に向けたドメイン駆動設計のエッセンス
正しいものを正しく作る塾-設計コース
「ドメイン駆動設計」の複雑さに立ち向かう
ドメイン駆動設計の正しい歩き方
3週連続DDDその1 ドメイン駆動設計の基本を理解する
ドメイン駆動設計 基本を理解する
Azure ADとIdentity管理
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか

What's hot (20)

PPT
ドメインロジックの実装方法とドメイン駆動設計
PPTX
世界一わかりやすいClean Architecture
PDF
ソーシャルゲームのためのデータベース設計
PDF
アジャイルなソフトウェア設計を目指して
PDF
Dockerからcontainerdへの移行
PDF
人生がときめくAPIテスト自動化 with Karate
PDF
ドメイン駆動設計 コアドメインを語り合ってみよう
PDF
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
PDF
ドメイン駆動設計 分析しながら設計する
PDF
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
PPTX
RLSを用いたマルチテナント実装 for Django
PDF
AmebaのMongoDB活用事例
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
PPTX
SQLチューニング入門 入門編
PDF
イミュータブルデータモデル(世代編)
PDF
オブジェクト指向プログラミングのためのモデリング入門
PPTX
マイクロサービスにおける 結果整合性との戦い
PDF
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
PPTX
Spring CloudとZipkinを利用した分散トレーシング
ドメインロジックの実装方法とドメイン駆動設計
世界一わかりやすいClean Architecture
ソーシャルゲームのためのデータベース設計
アジャイルなソフトウェア設計を目指して
Dockerからcontainerdへの移行
人生がときめくAPIテスト自動化 with Karate
ドメイン駆動設計 コアドメインを語り合ってみよう
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
ドメイン駆動設計 分析しながら設計する
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
RLSを用いたマルチテナント実装 for Django
AmebaのMongoDB活用事例
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
SQLチューニング入門 入門編
イミュータブルデータモデル(世代編)
オブジェクト指向プログラミングのためのモデリング入門
マイクロサービスにおける 結果整合性との戦い
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
Spring CloudとZipkinを利用した分散トレーシング
Ad

Viewers also liked (20)

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

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

PDF
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
PDF
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
PDF
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
PDF
WebSphere Application Server V8.5.5 Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
PDF
20161111 java one2016-feedback
PDF
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
PDF
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
PDF
20161119 java one-feedback_osaka
PDF
見せます! 半歩先のクラウド型アプリケーション開発
PPTX
ついに始まるJava EE 7時代のアプリケーション開発
PPTX
API Academy:マイクロサービス化へのファーストステップ
PDF
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
PDF
Introduction to web development 1
PDF
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
PPTX
Jakarta EE + MicroProfile との付き合い方
PDF
Java EE 6で復活するエンタープライズJavaの世界
PPTX
Beginning Java EE 6 勉強会(1) #bje_study
PDF
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
PDF
Zマイスターとの新たな価値探求 WebSphere
PDF
OSSではじめるオープン・スタンダードのクラウド @201304
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
WebSphere Application Server V8.5.5 Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
20161111 java one2016-feedback
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
20161119 java one-feedback_osaka
見せます! 半歩先のクラウド型アプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発
API Academy:マイクロサービス化へのファーストステップ
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
Introduction to web development 1
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EE + MicroProfile との付き合い方
Java EE 6で復活するエンタープライズJavaの世界
Beginning Java EE 6 勉強会(1) #bje_study
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
Zマイスターとの新たな価値探求 WebSphere
OSSではじめるオープン・スタンダードのクラウド @201304

More from Takakiyo Tanaka (8)

PDF
Open Liberty / WebSphere Liberty
PDF
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
PDF
OutOfMemoryErrorとは
PDF
MicroProfile Starterで簡単スタート Open Liberty
PDF
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
PDF
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
PDF
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
PDF
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Open Liberty / WebSphere Liberty
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
OutOfMemoryErrorとは
MicroProfile Starterで簡単スタート Open Liberty
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51

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