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

45
本アイ・ビー・エム株式会社 クラウド・ソフトウェア事業部 中 孝清 Javaプログラマーも もう逃げられない マイクロサービスとAPIの世界 #ccc_f5

Upload: takakiyo-tanaka

Post on 16-Apr-2017

4.470 views

Category:

Software


0 download

TRANSCRIPT

  • JavaAPI

    #ccc_f5

  • 2016 IBM Corpora/on 2

    #ccc_f5

    qqqJava EEqIBMSolutionWebSphere Application ServerIBM 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

    qJDK 1.4

  • 2016 IBM Corpora/on 7

    #ccc_f5

    qqqHTML5qq

  • 2016 IBM Corpora/on 8

    #ccc_f5

    qMS IE 6 7/8/9/10/11/MS Edge

    qiOS 4/5/6/7/8/9

    qFirefoxChromeSafariAndroid

  • 2016 IBM Corpora/on 9

    #ccc_f5

    SSL/TSLq 2011

    BEASTCVE-2011-3389n SSL,TLSCBC

    q 2012 CRIMECVE-2012-4929

    n TLS

    q 2013 LuckyThirteenCVE-2013-0169

    n SSL,TLS,DTLSCBC

    q 2014 POODLECVE-2014-3566

    n SSL3.0CBC

    POODLE bites TLSCVE-2014-8730n POODLETLS1.0

    q 2015 FREAKCVE-2015-0204 / CVE-2015-0138

    n

    Bar Mitzvah AttackCVE-2015-2808n RC4

    LogjamCVE-2015-400n Diffie-HellmanTLS512

    q 2016 SLOTHCVE-2015-7575 / CVE-2016-0201

    n TLS,MD5Hash

    DROWNCVE-2016-0800n SSL v2RSATLS

  • 2016 IBM Corpora/on 10

    #ccc_f5

    HTML5

    qHTML + JavaScript

  • 2016 IBM Corpora/on 11

    #ccc_f5

    HTML5

    Web Browser

    Application Server

    Application

    HTTP Request HTML/JS

    Controller Session Data

    View Business LogicModel

    Domain Domain

    Web Browser

    Application Server

    Application

    View

    HTML/JS

    Controller Data Store

    Model

    Model

    Domain Domain

    RESTful or WebSocket JSON

    Business Logic

    Web Single Page Application (SPA)

    API

  • 2016 IBM Corpora/on 12

    #ccc_f5

    qMEAP

    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 ArchitectureMSA

    q20143Blog

    http://martinfowler.com/articles/microservices.html

  • 2016 IBM Corpora/on 16

    #ccc_f5

    Microservices Architectureq

    http://martinfowler.com/articles/microservices.html

    REST API

  • 2016 IBM Corpora/on 17

    #ccc_f5

    2004IBMGartner

    qSOAService Oriented Architecture

  • 2016 IBM Corpora/on 18

    #ccc_f5

    Microservices ArchitectureSOA

    q

    qSOASOAP

    qMSAREST

    Monolithic App SOA Micro-services

  • 2016 IBM Corpora/on 19

    #ccc_f5

    qSOAService Oriented ArchitectureIT

    qMicroservices ArchitectureWeb

  • 2016 IBM Corpora/on 20

    #ccc_f5

    Microservices Architecture

    q etc.

    qAPI

  • 2016 IBM Corpora/on 21

    #ccc_f5

    MSAAPIqq

    qAPI Web

    API

  • 2016 IBM Corpora/on 22

    #ccc_f5

    Java EE

  • 2016 IBM Corpora/on 23

    #ccc_f5

    2013Java EE 7qJava EE 7 HTML5

  • 2016 IBM Corpora/on 24

    #ccc_f5

    Java EE 7 APIqJSR 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 EEqJ2EE 1.3CORBARMI/IIOP

    qJ2EE 1.4JAX-RPC

    qJava EE 5JAX-WS

    qJava EE 6JAX-RS

  • 2016 IBM Corpora/on 26

    #ccc_f5

    JAX-RS 2.0JavaRESTfulWebqRESTfulWeb

    qJAX-RS 2.0API

    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

    CDIPL / BL

    qJSF / EL / Servlet / JSP

    qJAX-RS / WebSocketJAX-WS

    qCDI / EJB / JTA

    qDBORJPA

    JSF JSP / EL

    JAX-RS WebSocket

    CDI.EJB / JTA

    JPA Database

  • 2016 IBM Corpora/on 28

    #ccc_f5

    MSAJava EE 7qRESTfulWebAPI

    qCDIJava EE

  • 2016 IBM Corpora/on 29

    #ccc_f5

    WebSphere Application Server

  • 2016 IBM Corpora/on 30

    #ccc_f5

    30

    WASLiberty

    WAS V8.5.5 Liberty & WDT

    Java EE 7Java EE 7Full 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

    qJava EEAPI(Feature)

    SSL

    JAX-RS JSON Monitor

    JPAJDBC CDI LDAP Registry

    JAX-WS JAX-B Admin Center

    JMSEJB lite EJB MDB Cluster

    Liberty60MB

  • 2016 IBM Corpora/on 32

    #ccc_f5

    APIFeatureq

    ServletJSPJDBCSSL

    JAX-RS

    sessionDatabase

    jsp-2.3 jdbc-4.1 jaxrs-2.0 sessionDatabase-1.0 ssl-1.0

    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

    qZIP

    LibertyqminifyFeature

    OS#1

    Java SDK

    Liberty Profile

    OS#2

    Java SDK

    Liberty Profile

    server package --include=minify

    zip

    zipzip

  • 2016 IBM Corpora/on 35

    #ccc_f5

    qIBM1. Eclipse Marketplace

    LibertyLiberty

    2. WASdev.net

  • 2016 IBM Corpora/on 36

    #ccc_f5

    qIaaSqPaaS

    WAS

    Liberty Buildpack

    WAS on Cloud WAS Docker Containers

    PureApp Service

  • 2016 IBM Corpora/on 37

    #ccc_f5

    IBM BluemixLiberty

    30 - Java EEEAR/WAR- - Liberty

    Liberty-

    Bluemix

  • 2016 IBM Corpora/on 38

    #ccc_f5

    IBM Bluemix SoftLayerCloud Foundry PaaS

    API DevOps

  • 2016 IBM Corpora/on 39

    #ccc_f5

    IBM API Connect

  • 2016 IBM Corpora/on 40

    #ccc_f5

    IBM API Connect V5qAPI1

    Integration bus

    Team Stats

    Ticketing

    API Connect

    WebSphere Application Server

    API

    Discover API

  • 2016 IBM Corpora/on 41

    #ccc_f5

    API Connect4q

    API

    qAPI

    WAS LibertyNode.js

    qAPI

    qAPIAPI

    Create Run

    ManageSecure

    IBM API Connect

  • 2016 IBM Corpora/on 42

    #ccc_f5

    StrongLoopSolution

    Create Run

    ManageSecure

    IBM API Connect

    IBM API Management

    StrongLoop / Node.js

  • 2016 IBM Corpora/on 43

    #ccc_f5

    q JavaAPI

    qMicroservices ArchitectureqMSAAPI

    qIBMAPI

  • 2016 IBM Corpora/on 44

    #ccc_f5

  • 2016 IBM Corpora/on 45

    #ccc_f5

    qWebSphere AS 2016 Are You ready? Java

    2016623()15:00-17:30 ( 14:30)

    https://ibm.biz/cloudsw_school_16