50
© 2013 IBM Corporation JJUG CCC 2015 Fall タイムマシン採: 明のエンタープライズJavaの世界を予想する Java EE7/クラウド/Docker/etc. #ccc_ab4

タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-

Embed Size (px)

Citation preview

  • 2013 IBM Corporation

    JJUG CCC 2015 Fall

    Java

    -Java EE7//Docker/etc.-

    #ccc_ab4

  • #ccc_ab4

    90

  • #ccc_ab4

    q q q

    q q q /

    Web SI

    IT

  • #ccc_ab4

    Web

    SI

    ROI

    4

  • #ccc_ab4

    SI

    SIVCS

    5

  • #ccc_ab4

    Web

    SI

    6

  • #ccc_ab4

  • #ccc_ab4

    HTML5

    Java EE 7 / Java SE 8

    DockerCHEF

    8

  • #ccc_ab4

    9

  • #ccc_ab4

    HTML5MVCAPI

    10

    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)

  • #ccc_ab4

    HTML5MVC

    Web

    WebHTML5Rich

    11

  • #ccc_ab4

    API

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

  • #ccc_ab4

    API

    13

  • #ccc_ab4

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

    iOS 4/5/6/7/8/9

    FirefoxChromeSafariAndroid

    14

  • #ccc_ab4

    JavaScript

    15

  • #ccc_ab4

    Web

    UI

    16

  • #ccc_ab4

    17 http://www.atmarkit.co.jp/ait/articles/1507/17/news019.html

  • #ccc_ab4

    18

    Java EE 7 / Java SE 8

  • #ccc_ab4

    Java Enterprise Edition 7 (Java EE 7)

    19

    2

  • #ccc_ab4

    JavaOne 2015

    20

  • #ccc_ab4

    WAS LibertyV8.5.5.6Java EE 7 Full Platform

    21

  • #ccc_ab4

    22

    WASLiberty

    WAS V8.5.5 Liberty & WDT

    Java EE 7Java EE 7Full PlatformJava SE 8

    Unzip + + Unzip

    server.xml

    : 60MB100MB

    : 5

    WDT) EclipseEclipse

    OSS

  • #ccc_ab4

    100

    Feature

    Feature

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

    server.xml

    ServletJSPJDBCSSL

    JAX-RS

    sessionDatabase

    JSON

  • #ccc_ab4

    Java EE 7

    HTML5

    24

  • #ccc_ab4

    Struts 1.x

    2013 EoLEnd of Life2014 CVE-2014-0114

    Seaser2Ajax/HTML5RESTful Web2016

    25

  • #ccc_ab4

    2000WebJ2EEJ2EE

    Open Source

    26

  • #ccc_ab4

    2015Web

    Java EE

    CDI 1.x HibernateSeaser2

    JSF 2.x Web JPA 2.x O/R

    Version 1.x

    27

    Java EE

  • #ccc_ab4

    JSF JSP / EL

    Java EE 7

    JAX-RS WebSocket

    CDI.EJB / JTA

    JPA Database

    - JSF / JSP / EL

    - JAX-RS / WebSocket

    - CDI / EJB / JTA

    DBOR- JPA

  • #ccc_ab4

    Java EE 7

    29

  • #ccc_ab4

    Liberty

    Servlet 3.1Servlet 3.0

    JDK

    servlet-3.0

    servlet-3.1

    servlet-3.0 servlet-3.1

    WAS Liberty

  • #ccc_ab4

    Java SE 8Project Lambda

    31

    Lambda Method Reference Default Method Stream API

    ( ) -> { }

  • #ccc_ab4

    LambdaStream

    32

    List list = ... ;List ret = new ArrayList();

    for (Person p : list) {if (p.getGroupId().equals(group)) {

    String name = p.getName();ret.add(name);

    }}return ret;

    return list.stream().filter(p -> p.getGroupId().equals(group)).map(p -> p.getName()).collect(Collectors.toList());

    filtermapcollect

  • #ccc_ab4

    Lambda

    33

    if (log.isLoggable(Level.FINE)) {log.fine("Value = " + getVeryLargeString());

    }

    log.fine(() -> "Value = " + getVeryLargeString());

  • #ccc_ab4

    34

    Java 81.11.21.45.0Java SE 8CD-2 ()

    Java1st Edition

    JDK 1.0 1.1

    Java2nd Edition

    J2SE 1.2 1.3

    Java3rd (SE 7) Edition

    J2SE 5.0 Java SE 6 1.4 7

    Java Java SE 8 EditionJava SE 8

  • #ccc_ab4

    Java SE 8

    35

  • #ccc_ab4

    36

  • #ccc_ab4

    Infrastructure as CodeImmutable Infrastructure

    37

  • #ccc_ab4

    38

  • #ccc_ab4

    Infrastructure as Code

    39

  • #ccc_ab4

    DockerOS

    OS

    OS

    LinuxDocker

    40

  • #ccc_ab4

    WAS LibertyDockerDockerWebSphere Application Server Liberty , WAS Liberty Docker Hubpull

    Java EE 7 WAS V8.5.5 Liberty Liberty Core, Base, ND, Docker Hub

    https://registry.hub.docker.com/_/websphere-liberty/

  • #ccc_ab4

    OSS

    CIBuildGitHub

    https://github.com/wasdev

  • #ccc_ab4

    WAS Liberty

    2GJavaLiberty

    WAS Liberty Base

    Liberty

    WASdev.net

    WASdevForum

  • #ccc_ab4

    44

    One more thing...

  • #ccc_ab4

    JavaScript

    45

    API

    var http = require("http");

    http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end();}).listen(8888);

  • #ccc_ab4

    Node.js

    JavaScript

    20092012JavaScript

    GoogleV8JavaScriptI/ONode.js

    46

  • #ccc_ab4

    IBMNode.js IBM SDK for Node.js V1.2 OSSNode.js version 0.12.7(2015/7/9)

    Node.js5.0.0 (2015/10/29)

    IntelV8IBM POWER / z AIX / Linux on Power Systems Linux on z Systems

    RASReliability, Availability, and Serviceability

    Linux x86 / Windows / Mac OS X

  • #ccc_ab4

    20159IBMStrongLoopNode.js OSS

    48

    StrongLoop Arc

    Data Connectors

    Mobile SDKs

    Enterprise Connectors

    Process Manager

    Monitoring & Tracing

    LoopBack: API Server

    Express Framework

    Enterprise Support

    API Gateway (beta)

    Open Source

    Commercial

    License Model

    Node.jsWeb

    MEAN(MongoDB, Express, AngularJS, Node.js)

  • #ccc_ab4

    49

  • #ccc_ab4

    50