<!DOCTYPE html>
<html lang="en">
  <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# 2490221586: http://ogp.me/ns/fb/2490221586#">
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no" />
    <meta name="include_mode" content="async">

    <!-- SL:start:notranslate -->
    <title>Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。</title>
    <meta name="description" content="JJUG CCC 2016 Spring F-5セッションの発表資料です。 #jjug #jjug_ccc #ccc_f5">
    <!-- SL:end:notranslate -->

    <meta name="robots" content="index">
    <meta id='globalTrackingUrl' content="https://www.linkedin.com/li/track">
      
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"transactionName":"cApZFRdXXA0HShlEVVoBUhINV0dOFFFTQA==","beacon":"bam.nr-data.net","applicationID":"5770954","errorBeacon":"bam.nr-data.net","applicationTime":300,"agent":"","licenseKey":"64463c96e4","queueTime":0}</script>
<script type="text/javascript">(window.NREUM||(NREUM={})).loader_config={xpid:"XQ4PQlNUDwMJUVU="};window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var o=e[n]={exports:{}};t[n][0].call(o.exports,function(e){var o=t[n][1][e];return r(o||e)},o,o.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(t,e,n){function r(t){try{s.console&&console.log(t)}catch(e){}}var o,i=t("ee"),a=t(14),s={};try{o=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(s.console=!0,-1!==o.indexOf("dev")&&(s.dev=!0),-1!==o.indexOf("nr_dev")&&(s.nrDev=!0))}catch(c){}s.nrDev&&i.on("internal-error",function(t){r(t.stack)}),s.dev&&i.on("fn-err",function(t,e,n){r(n.stack)}),s.dev&&(r("NR AGENT IN DEVELOPMENT MODE"),r("flags: "+a(s,function(t,e){return t}).join(", ")))},{}],2:[function(t,e,n){function r(t,e,n,r,o){try{d?d-=1:i("err",[o||new UncaughtException(t,e,n)])}catch(s){try{i("ierr",[s,(new Date).getTime(),!0])}catch(c){}}return"function"==typeof f?f.apply(this,a(arguments)):!1}function UncaughtException(t,e,n){this.message=t||"Uncaught error with no additional information",this.sourceURL=e,this.line=n}function o(t){i("err",[t,(new Date).getTime()])}var i=t("handle"),a=t(15),s=t("ee"),c=t("loader"),f=window.onerror,u=!1,d=0;c.features.err=!0,t(1),window.onerror=r;try{throw new Error}catch(l){"stack"in l&&(t(8),t(7),"addEventListener"in window&&t(5),c.xhrWrappable&&t(9),u=!0)}s.on("fn-start",function(t,e,n){u&&(d+=1)}),s.on("fn-err",function(t,e,n){u&&(this.thrown=!0,o(n))}),s.on("fn-end",function(){u&&!this.thrown&&d>0&&(d-=1)}),s.on("internal-error",function(t){i("ierr",[t,(new Date).getTime(),!0])})},{}],3:[function(t,e,n){t("loader").features.ins=!0},{}],4:[function(t,e,n){function r(t){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var o=t("ee"),i=t("handle"),a=t(8),s=t(7);t("loader").features.stn=!0,t(6);var c=NREUM.o.EV;o.on("fn-start",function(t,e){var n=t[0];n instanceof c&&(this.bstStart=Date.now())}),o.on("fn-end",function(t,e){var n=t[0];n instanceof c&&i("bst",[n,e,this.bstStart,Date.now()])}),a.on("fn-start",function(t,e,n){this.bstStart=Date.now(),this.bstType=n}),a.on("fn-end",function(t,e){i("bstTimer",[e,this.bstStart,Date.now(),this.bstType])}),s.on("fn-start",function(){this.bstStart=Date.now()}),s.on("fn-end",function(t,e){i("bstTimer",[e,this.bstStart,Date.now(),"requestAnimationFrame"])}),o.on("pushState-start",function(t){this.time=Date.now(),this.startPath=location.pathname+location.hash}),o.on("pushState-end",function(t){i("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),"addEventListener"in window.performance&&(window.performance.clearResourceTimings?window.performance.addEventListener("resourcetimingbufferfull",function(t){i("bstResource",[window.performance.getEntriesByType("resource")]),window.performance.clearResourceTimings()},!1):window.performance.addEventListener("webkitresourcetimingbufferfull",function(t){i("bstResource",[window.performance.getEntriesByType("resource")]),window.performance.webkitClearResourceTimings()},!1)),document.addEventListener("scroll",r,!1),document.addEventListener("keypress",r,!1),document.addEventListener("click",r,!1)}},{}],5:[function(t,e,n){function r(t){for(var e=t;e&&!e.hasOwnProperty(u);)e=Object.getPrototypeOf(e);e&&o(e)}function o(t){s.inPlace(t,[u,d],"-",i)}function i(t,e){return t[1]}var a=t("ee").get("events"),s=t(16)(a),c=t("gos"),f=XMLHttpRequest,u="addEventListener",d="removeEventListener";e.exports=a,"getPrototypeOf"in Object?(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(o(window),o(f.prototype)),a.on(u+"-start",function(t,e){if(t[1]){var n=t[1];if("function"==typeof n){var r=c(n,"nr@wrapped",function(){return s(n,"fn-",null,n.name||"anonymous")});this.wrapped=t[1]=r}else"function"==typeof n.handleEvent&&s.inPlace(n,["handleEvent"],"fn-")}}),a.on(d+"-start",function(t){var e=this.wrapped;e&&(t[1]=e)})},{}],6:[function(t,e,n){var r=t("ee").get("history"),o=t(16)(r);e.exports=r,o.inPlace(window.history,["pushState","replaceState"],"-")},{}],7:[function(t,e,n){var r=t("ee").get("raf"),o=t(16)(r);e.exports=r,o.inPlace(window,["requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame"],"raf-"),r.on("raf-start",function(t){t[0]=o(t[0],"fn-")})},{}],8:[function(t,e,n){function r(t,e,n){t[0]=a(t[0],"fn-",null,n)}function o(t,e,n){this.method=n,this.timerDuration="number"==typeof t[1]?t[1]:0,t[0]=a(t[0],"fn-",this,n)}var i=t("ee").get("timer"),a=t(16)(i);e.exports=i,a.inPlace(window,["setTimeout","setImmediate"],"setTimer-"),a.inPlace(window,["setInterval"],"setInterval-"),a.inPlace(window,["clearTimeout","clearImmediate"],"clearTimeout-"),i.on("setInterval-start",r),i.on("setTimer-start",o)},{}],9:[function(t,e,n){function r(t,e){d.inPlace(e,["onreadystatechange"],"fn-",s)}function o(){var t=this,e=u.context(t);t.readyState>3&&!e.resolved&&(e.resolved=!0,u.emit("xhr-resolved",[],t)),d.inPlace(t,v,"fn-",s)}function i(t){w.push(t),h&&(g=-g,b.data=g)}function a(){for(var t=0;t<w.length;t++)r([],w[t]);w.length&&(w=[])}function s(t,e){return e}function c(t,e){for(var n in t)e[n]=t[n];return e}t(5);var f=t("ee"),u=f.get("xhr"),d=t(16)(u),l=NREUM.o,p=l.XHR,h=l.MO,m="readystatechange",v=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],w=[];e.exports=u;var y=window.XMLHttpRequest=function(t){var e=new p(t);try{u.emit("new-xhr",[e],e),e.addEventListener(m,o,!1)}catch(n){try{u.emit("internal-error",[n])}catch(r){}}return e};if(c(p,y),y.prototype=p.prototype,d.inPlace(y.prototype,["open","send"],"-xhr-",s),u.on("send-xhr-start",function(t,e){r(t,e),i(e)}),u.on("open-xhr-start",r),h){var g=1,b=document.createTextNode(g);new h(a).observe(b,{characterData:!0})}else f.on("fn-end",function(t){t[0]&&t[0].type===m||a()})},{}],10:[function(t,e,n){function r(t){var e=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;l>r;r++)t.removeEventListener(d[r],this.listener,!1);if(!e.aborted){if(n.duration=(new Date).getTime()-this.startTime,4===t.readyState){e.status=t.status;var i=o(t,this.lastSize);if(i&&(n.rxSize=i),this.sameOrigin){var a=t.getResponseHeader("X-NewRelic-App-Data");a&&(e.cat=a.split(", ").pop())}}else e.status=0;n.cbTime=this.cbTime,u.emit("xhr-done",[t],t),c("xhr",[e,n,this.startTime])}}}function o(t,e){var n=t.responseType;if("json"===n&&null!==e)return e;var r="arraybuffer"===n||"blob"===n||"json"===n?t.response:t.responseText;return i(r)}function i(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(e){return}}}function a(t,e){var n=f(e),r=t.params;r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.sameOrigin=n.sameOrigin}var s=t("loader");if(s.xhrWrappable){var c=t("handle"),f=t(11),u=t("ee"),d=["load","error","abort","timeout"],l=d.length,p=t("id"),h=t(13),m=window.XMLHttpRequest;s.features.xhr=!0,t(9),u.on("new-xhr",function(t){var e=this;e.totalCbs=0,e.called=0,e.cbTime=0,e.end=r,e.ended=!1,e.xhrGuids={},e.lastSize=null,h&&(h>34||10>h)||window.opera||t.addEventListener("progress",function(t){e.lastSize=t.loaded},!1)}),u.on("open-xhr-start",function(t){this.params={method:t[0]},a(this,t[1]),this.metrics={}}),u.on("open-xhr-end",function(t,e){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&e.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid)}),u.on("send-xhr-start",function(t,e){var n=this.metrics,r=t[0],o=this;if(n&&r){var a=i(r);a&&(n.txSize=a)}this.startTime=(new Date).getTime(),this.listener=function(t){try{"abort"===t.type&&(o.params.aborted=!0),("load"!==t.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof e.onload))&&o.end(e)}catch(n){try{u.emit("internal-error",[n])}catch(r){}}};for(var s=0;l>s;s++)e.addEventListener(d[s],this.listener,!1)}),u.on("xhr-cb-time",function(t,e,n){this.cbTime+=t,e?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof n.onload||this.end(n)}),u.on("xhr-load-added",function(t,e){var n=""+p(t)+!!e;this.xhrGuids&&!this.xhrGuids[n]&&(this.xhrGuids[n]=!0,this.totalCbs+=1)}),u.on("xhr-load-removed",function(t,e){var n=""+p(t)+!!e;this.xhrGuids&&this.xhrGuids[n]&&(delete this.xhrGuids[n],this.totalCbs-=1)}),u.on("addEventListener-end",function(t,e){e instanceof m&&"load"===t[0]&&u.emit("xhr-load-added",[t[1],t[2]],e)}),u.on("removeEventListener-end",function(t,e){e instanceof m&&"load"===t[0]&&u.emit("xhr-load-removed",[t[1],t[2]],e)}),u.on("fn-start",function(t,e,n){e instanceof m&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=(new Date).getTime()))}),u.on("fn-end",function(t,e){this.xhrCbStart&&u.emit("xhr-cb-time",[(new Date).getTime()-this.xhrCbStart,this.onload,e],e)})}},{}],11:[function(t,e,n){e.exports=function(t){var e=document.createElement("a"),n=window.location,r={};e.href=t,r.port=e.port;var o=e.href.split("://");!r.port&&o[1]&&(r.port=o[1].split("/")[0].split("@").pop().split(":")[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=e.hostname||n.hostname,r.pathname=e.pathname,r.protocol=o[0],"/"!==r.pathname.charAt(0)&&(r.pathname="/"+r.pathname);var i=!e.protocol||":"===e.protocol||e.protocol===n.protocol,a=e.hostname===document.domain&&e.port===n.port;return r.sameOrigin=i&&(!e.hostname||a),r}},{}],12:[function(t,e,n){function r(t,e){return function(){o(t,[(new Date).getTime()].concat(a(arguments)),null,e)}}var o=t("handle"),i=t(14),a=t(15);"undefined"==typeof window.newrelic&&(newrelic=NREUM);var s=["setPageViewName","setCustomAttribute","finished","addToTrace","inlineHit"],c=["addPageAction"],f="api-";i(s,function(t,e){newrelic[e]=r(f+e,"api")}),i(c,function(t,e){newrelic[e]=r(f+e)}),e.exports=newrelic,newrelic.noticeError=function(t){"string"==typeof t&&(t=new Error(t)),o("err",[t,(new Date).getTime()])}},{}],13:[function(t,e,n){var r=0,o=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);o&&(r=+o[1]),e.exports=r},{}],14:[function(t,e,n){function r(t,e){var n=[],r="",i=0;for(r in t)o.call(t,r)&&(n[i]=e(r,t[r]),i+=1);return n}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],15:[function(t,e,n){function r(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,o=n-e||0,i=Array(0>o?0:o);++r<o;)i[r]=t[e+r];return i}e.exports=r},{}],16:[function(t,e,n){function r(t){return!(t&&"function"==typeof t&&t.apply&&!t[a])}var o=t("ee"),i=t(15),a="nr@original",s=Object.prototype.hasOwnProperty,c=!1;e.exports=function(t){function e(t,e,n,o){function nrWrapper(){var r,a,s,c;try{a=this,r=i(arguments),s="function"==typeof n?n(r,a):n||{}}catch(u){d([u,"",[r,a,o],s])}f(e+"start",[r,a,o],s);try{return c=t.apply(a,r)}catch(l){throw f(e+"err",[r,a,l],s),l}finally{f(e+"end",[r,a,c],s)}}return r(t)?t:(e||(e=""),nrWrapper[a]=t,u(t,nrWrapper),nrWrapper)}function n(t,n,o,i){o||(o="");var a,s,c,f="-"===o.charAt(0);for(c=0;c<n.length;c++)s=n[c],a=t[s],r(a)||(t[s]=e(a,f?s+o:o,i,s))}function f(e,n,r){if(!c){c=!0;try{t.emit(e,n,r)}catch(o){d([o,e,n,r])}c=!1}}function u(t,e){if(Object.defineProperty&&Object.keys)try{var n=Object.keys(t);return n.forEach(function(n){Object.defineProperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})}),e}catch(r){d([r])}for(var o in t)s.call(t,o)&&(e[o]=t[o]);return e}function d(e){try{t.emit("internal-error",e)}catch(n){}}return t||(t=o),e.inPlace=n,e.flag=a,e}},{}],ee:[function(t,e,n){function r(){}function o(t){function e(t){return t&&t instanceof r?t:t?s(t,a,i):i()}function n(n,r,o){t&&t(n,r,o);for(var i=e(o),a=l(n),s=a.length,c=0;s>c;c++)a[c].apply(i,r);var u=f[v[n]];return u&&u.push([w,n,r,i]),i}function d(t,e){m[t]=l(t).concat(e)}function l(t){return m[t]||[]}function p(t){return u[t]=u[t]||o(n)}function h(t,e){c(t,function(t,n){e=e||"feature",v[n]=e,e in f||(f[e]=[])})}var m={},v={},w={on:d,emit:n,get:p,listeners:l,context:e,buffer:h};return w}function i(){return new r}var a="nr@context",s=t("gos"),c=t(14),f={},u={},d=e.exports=o();d.backlog=f},{}],gos:[function(t,e,n){function r(t,e,n){if(o.call(t,e))return t[e];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return t[e]=r,r}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],handle:[function(t,e,n){function r(t,e,n,r){o.buffer([t],r),o.emit(t,e,n)}var o=t("ee").get("handle");e.exports=r,r.ee=o},{}],id:[function(t,e,n){function r(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:a(t,i,function(){return o++})}var o=1,i="nr@id",a=t("gos");e.exports=r},{}],loader:[function(t,e,n){function r(){if(!m++){var t=h.info=NREUM.info,e=u.getElementsByTagName("script")[0];if(t&&t.licenseKey&&t.applicationID&&e){c(l,function(e,n){t[e]||(t[e]=n)});var n="https"===d.split(":")[0]||t.sslForHttp;h.proto=n?"https://":"http://",s("mark",["onload",a()],null,"api");var r=u.createElement("script");r.src=h.proto+t.agent,e.parentNode.insertBefore(r,e)}}}function o(){"complete"===u.readyState&&i()}function i(){s("mark",["domContent",a()],null,"api")}function a(){return(new Date).getTime()}var s=t("handle"),c=t(14),f=window,u=f.document;NREUM.o={ST:setTimeout,CT:clearTimeout,XHR:f.XMLHttpRequest,REQ:f.Request,EV:f.Event,PR:f.Promise,MO:f.MutationObserver},t(12);var d=""+location,l={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-943.min.js"},p=window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&!/CriOS/.test(navigator.userAgent),h=e.exports={offset:a(),origin:d,features:{},xhrWrappable:p};u.addEventListener?(u.addEventListener("DOMContentLoaded",i,!1),f.addEventListener("load",r,!1)):(u.attachEvent("onreadystatechange",o),f.attachEvent("onload",r)),s("mark",["firstbyte",a()],null,"api");var m=0},{}]},{},["loader",2,10,4,3]);</script>
  <!-- SL:start:notranslate -->
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta http-equiv="x-dns-prefetch-control" content="on">
  <meta name="thumbnail" content="http://cdn.slidesharecdn.com/ss_thumbnails/jjugccc201605-160521081013-thumbnail.jpg?cb=1463818268" />
  <!-- SL:end:notranslate -->
  <meta content="{&quot;selected&quot;:&quot;Selected&quot;,&quot;ajax_signup.login.addcontact&quot;:&quot;Login to SlideShare to follow\u2026&quot;,&quot;ajax_signup.login.comments&quot;:&quot;Login to SlideShare to post a comment\u2026&quot;,&quot;lynda.domain&quot;:&quot;lynda&quot;,&quot;share&quot;:&quot;Share&quot;,&quot;ajax_signup.login.AddToCommunity&quot;:&quot;Login to SlideShare to add this document to a group/event\u2026&quot;,&quot;ajax_signup.login.rsvp&quot;:&quot;Login to SlideShare to join this meeting\u2026&quot;,&quot;ajax_signup.signup.follow&quot;:&quot;Signup for SlideShare to follow this user\u2026&quot;,&quot;ajax_signup.signup.upload&quot;:&quot;Signup for SlideShare to start uploading\u2026&quot;,&quot;ajax_signup.signup.zipcast&quot;:&quot;Signup for SlideShare to schedule a meeting\u2026&quot;,&quot;ajax_signup.signup.create&quot;:&quot;Signup for SlideShare to start creating\u2026&quot;,&quot;ajax_signup.login_to_ss&quot;:&quot;Login to SlideShare&quot;,&quot;clipping.select_clipboard_modal.select_new_clipboard&quot;:&quot;Select a new clipboard&quot;,&quot;ajax_signup.login.upload&quot;:&quot;Login to SlideShare to start uploading\u2026&quot;,&quot;ajax_signup.signup.comments&quot;:&quot;Signup for SlideShare to post a comment\u2026&quot;,&quot;ajax_signup.connect&quot;:&quot;connect&quot;,&quot;ajax_signup.signup_for_ss&quot;:&quot;Signup for SlideShare&quot;,&quot;right_rail.recommended&quot;:&quot;Recommended&quot;,&quot;li_connect.slideshare_added&quot;:&quot;Your SlideShare was successfully added to your LinkedIn profile.&quot;,&quot;ajax_signup.login.business&quot;:&quot;Login to SlideShare to continue\u2026&quot;,&quot;ajax_signup.login.contest&quot;:&quot;Login to SlideShare to vote\u2026&quot;,&quot;views.other&quot;:&quot;views&quot;,&quot;select&quot;:&quot;Select&quot;,&quot;clipping.toast.change_clipboard&quot;:&quot;Change clipboard&quot;,&quot;ajax_signup.signup.clip&quot;:&quot;Signup for SlideShare. Don\u2019t lose your clips!&quot;,&quot;clipping.toast.share_clip&quot;:&quot;Share clip&quot;,&quot;ajax_signup.login.zipcast&quot;:&quot;Login to SlideShare to schedule a meeting\u2026&quot;,&quot;ajax_signup.signup.business&quot;:&quot;Signup for SlideShare to continue\u2026&quot;,&quot;ajax_signup.signup.download&quot;:&quot;Signup for SlideShare to download\u2026&quot;,&quot;ajax_signup.signup.favorite&quot;:&quot;Signup for SlideShare to like\u2026&quot;,&quot;lynda.premium_video&quot;:&quot;PREMIUM VIDEO&quot;,&quot;ajax_signup.login.follow&quot;:&quot;Login to SlideShare to follow this user\u2026&quot;,&quot;ajax_signup.login.create&quot;:&quot;Login to SlideShare to start creating\u2026&quot;,&quot;ajax_signup.signup.user&quot;:&quot;Signup for SlideShare to register the username\u2026&quot;,&quot;li_connect.login.no_match&quot;:&quot;Login does not match, please try again.&quot;,&quot;ajax_signup.login.favorite&quot;:&quot;Login to SlideShare to like\u2026&quot;,&quot;ajax_signup.signup.AddToCommunity&quot;:&quot;Signup for SlideShare to add this document to a group/event\u2026&quot;,&quot;ajax_signup.login.clip&quot;:&quot;Login to SlideShare. Don\u2019t lose your clips!&quot;,&quot;ajax_signup.signup.addcontact&quot;:&quot;Signup for SlideShare to follow\u2026&quot;,&quot;ajax_signup.signup.rsvp&quot;:&quot;Signup for SlideShare to join this meeting\u2026&quot;,&quot;lynda.tld&quot;:&quot;.com&quot;,&quot;clipping.select_clipboard_modal.select_another_clipboard&quot;:&quot;Select another clipboard&quot;,&quot;ajax_signup.login.download&quot;:&quot;Login to SlideShare to download\u2026&quot;,&quot;ajax_signup.login.user&quot;:&quot;Login to SlideShare to register the username\u2026&quot;,&quot;ajax_signup.signup.contest&quot;:&quot;Signup for SlideShare to vote\u2026&quot;}" name="ss-i18n-translations" />
  <meta content="{&quot;lead_form.phone.format.example&quot;:&quot;Ex: +00 0000000000&quot;,&quot;lead_form.phone.international_format_message&quot;:&quot;Please use international phone number format:&quot;,&quot;clip.slideview.success_toast.message&quot;:&quot;Slide {0,number} clipped to: \u003Cbr /\u003E {1,anchor,text#{2,text}}&quot;,&quot;clip.slideview.share_message&quot;:&quot;Share Slide {0,number} from {1,text}&quot;}" name="ss-i18n-translations" />

    <link rel="shortcut icon" href="http://public.slidesharecdn.com/b/favicon.ico?d8e2a4ed15">
    <link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.slideshare.net/rss/latest" />
    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="SlideShare Search">

    <link href="http://public.slidesharecdn.com/b/ss_foundation/stylesheets/app_critical.css?9e3bd921d3" media="screen" rel="stylesheet" type="text/css" />
    <!--[if IE 9]><link href="http://public.slidesharecdn.com/b/ss_foundation/stylesheets/ie9_nav_bar_fix.css?8fb8af5274" media="screen" rel="stylesheet" type="text/css" /><![endif]-->
    <link rel="alternate" hreflang="en" href="http://www.slideshare.net/takakiyo/javaapi-62250041"/>
<link rel="alternate" hreflang="es" href="http://es.slideshare.net/takakiyo/javaapi-62250041"/>
<link rel="alternate" hreflang="fr" href="http://fr.slideshare.net/takakiyo/javaapi-62250041"/>
<link rel="alternate" hreflang="de" href="http://de.slideshare.net/takakiyo/javaapi-62250041"/>
<link rel="alternate" hreflang="pt" href="http://pt.slideshare.net/takakiyo/javaapi-62250041"/>
<link rel="alternate" hreflang="x-default" href= "http://www.slideshare.net/takakiyo/javaapi-62250041"/>
    <script type="text/javascript">
//<![CDATA[
var smtId = "ab5bb963d";
var smtDefaultStyles = false;
var smtRedirect = true;
var smtProt = (("https:" == document.location.protocol) ? "https://" : "http://");

var smtPreRender = function(data) {
  for (i in data) {
    if (data[i].code === "en-us") {
      data[i].name = "English";
    }
  }
};

var smtRedirectMapper = function(locale, sites) {
  if (/^es/i.test(locale)){ //disable redirect to spanish site
    return null;
  }
  if (locale in sites) {
    return sites[locale];
  }
  if (/^fr/i.test(locale)) {
    return sites['fr-fr'] || null;
  }
  if (/^de/i.test(locale)) {
    return sites['de-de'] || null;
  }
  return null;
};

var smtElmt = document.createElement('script');
smtElmt.type = "text/javascript";
smtElmt.async = true;
smtElmt.src = smtProt + "cdn01.smartling.com/ls/"+ smtId +".js";
script = document.getElementsByTagName("script")[0];
script.parentNode.insertBefore(smtElmt, script);

//]]>
</script>

      <meta content="authenticity_token" name="csrf-param" />
<meta content="KaK0MJ8BBEUvt9f1ZBBlGKPt8okLhslNtPLXWC+7wq0=" name="csrf-token" />

      <meta content="index" name="robots" />

  <link href="http://public.slidesharecdn.com/b/ss_foundation/stylesheets/slideview_critical.css?90f04549eb" media="screen" rel="stylesheet" type="text/css" />

    

<link href="http://public.slidesharecdn.com/b/stylesheets/ssplayer/combined_presentation.css?9105c8bb8a" media="screen" rel="stylesheet" type="text/css" />



    <link rel="dns-prefetch" href="//www.slideshare.net">
    <link rel="dns-prefetch" href="//public.slidesharecdn.com">
    <link rel="dns-prefetch" href="//image.slidesharecdn.com">
    <link rel="dns-prefetch" href="//cdn.slidesharecdn.com">
      <link rel="dns-prefetch" href="//cdn01.smartling.com">
    <link rel="dns-prefetch" href="//www.linkedin.com">

    <script type='text/javascript'>
      // Inlining Modernizr
      window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"==b?e:!0}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return d===!1?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;e>d;d++)E[c[d]]=!!(c[d]in u);return E.list&&(E.list=!(!b.createElement("datalist")||!a.HTMLDataListElement)),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;h>g;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&u.checkValidity()===!1:u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.8.2",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i,j=b.createElement("div"),k=b.body,l=k||b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),j.appendChild(h);return f=["&#173;",'<style id="s',r,'">',a,"</style>"].join(""),j.id=r,(k?j:l).innerHTML+=f,l.appendChild(j),k||(l.style.background="",l.style.overflow="hidden",i=q.style.overflow,q.style.overflow="hidden",q.appendChild(l)),g=c(j,a),k?j.parentNode.removeChild(j):(l.parentNode.removeChild(l),q.style.overflow=i),!!g},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b)&&c(b).matches||!1;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.flexboxlegacy=function(){return j("boxDirection")},C.canvas=function(){var a=b.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))},C.canvastext=function(){return!(!o.canvas||!f(b.createElement("canvas").getContext("2d").fillText,"function"))},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!(!a.history||!history.pushState)},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return d((a+"-webkit- ".split(" ").join(b+a)+x.join(c+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(["#",r,"{font:0/0 a}#",r,':after{content:"',v,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(d){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(d){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,"undefined"!=typeof p&&p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=s.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=r[a[p]];return b||(b={},q++,a[p]=q,r[q]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():o.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||n.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function i(a){a||(a=b);var d=e(a);return!s.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||h(a,d),a}var j,k,l="3.7.0",m=a.html5||{},n=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,o=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,p="_html5shiv",q=0,r={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var s={elements:m.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:l,shivCSS:m.shivCSS!==!1,supportsUnknownElements:k,shivMethods:m.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=s,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document);

      // GA Segmentation
      window._gaq = window._gaq || []; _gaq.push(['_setAccount', 'UA-2330466-1']);_gaq.push(['_setDomainName', '.slideshare.net']);_gaq.push(['_addIgnoredRef', 'slideshare.net']);_gaq.push(['_setCustomVar', 1, 'member_type', 'LOGGEDOUT', 1]);
        _gaq.push(['_trackPageview']);

      // Comscore
      var _comscore = _comscore || [];
      _comscore.push({ c1: "2", c2: "6402952" });

      // Slideshare object
      var slideshare_object = {
        user: {"is_pro":"false","has_privacy_enabled":null,"login":"guest","id":null,"is_valid_fbuser":false,"userGroup":"non-member","li_tracking_url":"https://www.linkedin.com/li/track","name":null,"show_li_connect_cta":false,"loggedin":false,"su":false,"has_uploads":null,"fb_userid":null,"is_li_connected":false,"is_test_user":false},
        timer: { start: (new Date()).getTime(), end: '', execTime: '' },
        top_nav: { get_url: "/top_nav"},
        dev: false,
        init: [],
        feature_flag: [],
        is_mobile: "",
        deploy_environment: "production",
        rum_pagekey: "desktop_slideview_loggedout",
        is_ssl: false
      };
    </script>

    <script id="page-json" type="text/javascript"><!--
 var sso_redirect_uri = "https://www.linkedin.com/uas/oauth2/authorization?bypass_dialog=true\u0026client_id=y4wa9oe4c6nu\u0026redirect_uri=https%3A%2F%2Fwww.slideshare.net%2Fsso%2Fredirect\u0026response_type=code\u0026scope=\u0026state=89830e96da5821d0d27152534d5443"; 
//--></script>

    <meta content="http://public.slidesharecdn.com/b/images/artdeco/icons.svg?43e81fd2ef" name="ss-svg-icons" />

    <script src="http://public.slidesharecdn.com/b/ss_foundation/combined_experiments.js?4a9012f804" type="text/javascript"></script>

    

      <link rel="dns-prefetch" href="//js.bizographics.com">
  <script id="adQueue" type="text/javascript"><!--
 if(!slideshare_object.delayedLIAd){ slideshare_object._adQueue = []; } 
//--></script>
  <script type="text/javascript" id="ga-init">
  // <![CDATA[
    // Setting custom variable [slot = 3, scope = 3(page level)] for tracking source (related, search etc) of pageview
    window._gaq.push(['_setCustomVar', 3, 'source', 'not_set', 3]);
    window._gaq.push(['_trackEvent', 'bigfoot_slideview', 'pageload', slideshare_object.gam_cat_name, undefined, true]);

  // ]]>
    <!--
 slideshare_object.deploy_environment = 'production'; 
//-->
  </script>
    <link href="http://www.slideshare.net/takakiyo/javaapi-62250041" rel="canonical" />
  <link title="Slideshow json oEmbed Profile" type="application/json+oembed" href="http://www.slideshare.net/api/oembed/2?format=json&amp;url=http://www.slideshare.net/takakiyo/javaapi-62250041" rel="alternate" />
  <link title="Slideshow xml oEmbed Profile" type="text/xml+oembed" href="http://www.slideshare.net/api/oembed/2?format=xml&amp;url=http://www.slideshare.net/takakiyo/javaapi-62250041" rel="alternate" />
  <link media="handheld" href="http://www.slideshare.net/mobile/takakiyo/javaapi-62250041" rel="alternate" />

    <link href="android-app://net.slideshare.mobile/slideshare-app/ss/62250041" rel="alternate" />
    <link href="ios-app://917418728/slideshare-app/ss/62250041" rel="alternate" />
  <meta name="apple-itunes-app" content="app-id=917418728, affiliate-data=ct=smart_banner&amp;pt=10746, app-argument=slideshare-app://ss/62250041"/>
  <link rel="manifest" href="/manifest.json"/>


  <!-- fb open graph meta tags -->
    <meta content="2490221586" class="fb_og_meta" property="fb:app_id" name="fb_app_id" />
    <meta content="slideshare:presentation" class="fb_og_meta" property="og:type" name="og_type" />
      <meta content="http://www.slideshare.net/takakiyo/javaapi-62250041" class="fb_og_meta" property="og:url" name="og_url" />
    <meta content="http://cdn.slidesharecdn.com/ss_thumbnails/jjugccc201605-160521081013-thumbnail-4.jpg?cb=1463818268" class="fb_og_meta" property="og:image" name="og_image" />
    <!-- SL:start:notranslate -->
    <meta content="Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。" class="fb_og_meta" property="og:title" name="og_title" />
    <meta content="JJUG CCC 2016 Spring F-5セッションの発表資料です。 #jjug #jjug_ccc #ccc_f5" class="fb_og_meta" property="og:description" name="og_description" />
    <!-- SL:end:notranslate -->
    <meta content="2016-05-21T08:10:13Z" class="fb_og_meta" property="slideshare:published" name="slideshow_published_time" />
    <meta content="http://www.slideshare.net/takakiyo" class="fb_og_meta" property="slideshare:author" name="slideshow_author" />
    <meta content="314" class="fb_og_meta" property="slideshare:view_count" name="slideshow_view_count" />
    <meta content="0" class="fb_og_meta" property="slideshare:embed_count" name="slideshow_embed_count" />
    <meta content="0" class="fb_og_meta" property="slideshare:comment_count" name="slideshow_comment_count" />
    <meta content="1" class="fb_og_meta" property="slideshare:download_count" name="slideshow_download_count" />
    <meta content="2016-05-21 08:10:13 UTC" class="fb_og_meta" property="slideshare:created_at" name="slideshow_created_at" />
    <meta content="2016-05-21 08:11:08 UTC" class="fb_og_meta" property="slideshare:updated_at" name="slideshow_updated_at" />
    <meta content="" class="fb_og_meta" property="slideshare:featured_on" name="slideshow_featured_on" />
    <meta content="0" class="fb_og_meta" property="slideshare:favorites_count" name="slideshow_favorites_count" />
    <meta content="Software" class="fb_og_meta" property="slideshare:category" name="slideshow_category" />

  <!-- SL:start:notranslate -->
    <meta name="twitter:card" value="player" />
    <meta name="twitter:site" value="@slideshare" />
    <meta class="twitter_player" value="https://www.slideshare.net/slideshow/embed_code/key/VF3wDWFzwFUlw" name="twitter:player" />
    <meta name="twitter:player:width" value="342" />
    <meta name="twitter:player:height" value="291" />
    <meta class="twitter_title" value="Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。" name="twitter:title" />
    <meta class="twitter_image" value="https://cdn.slidesharecdn.com/ss_thumbnails/jjugccc201605-160521081013-thumbnail-4.jpg?cb=1463818268" name="twitter:image" />
    <meta name="twitter:app:name:googleplay" content="SlideShare Android"/>
    <meta name="twitter:app:id:googleplay" content="net.slideshare.mobile"/>
    <meta name="twitter:app:url:googleplay" content="http://www.slideshare.net/takakiyo/javaapi-62250041" />
    <meta name="twitter:app:name:iphone" content="SlideShare iOS" />
    <meta name="twitter:app:id:iphone" content="917418728" />
    <meta name="twitter:app:url:iphone" content="slideshare-app://ss/62250041" />
    <meta name="twitter:app:name:ipad" content="SlideShare iOS" />
    <meta name="twitter:app:id:ipad" content="917418728" />
    <meta name="twitter:app:url:ipad" content="slideshare-app://ss/62250041" />

  <meta property="al:android:url" content="slideshare-app://ss/62250041" />
  <meta property="al:android:app_name" content="SlideShare Android" />
  <meta property="al:android:package" content="net.slideshare.mobile" />
  <meta property="al:ios:url" content="slideshare-app://ss/62250041" />
  <meta property="al:ios:app_store_id" content="917418728" />
  <meta property="al:ios:app_name" content="SlideShare iOS" />
  <!-- SL:end:notranslate -->

  </head>

  <body id="pagekey-slideshare_desktop_slideview_loggedout" class=" ">
      <!-- TOS update banner -->
      <div class="j-tos-update-banner tos-update-banner" style="display: none;">
  <button class="j-tos-close tos-close fa fa-times-circle"></button>
  <div class="text-div">
    <p class="j-mobile-text mobile-text" style="display: none;">
      Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our <a href="http://www.linkedin.com/legal/user-agreement" target="_blank">User Agreement</a> and <a href="http://www.linkedin.com/legal/privacy-policy" target="_blank">Privacy Policy</a>.
    </p>
    <p class="j-desktop-text desktop-text" style="display: none;">
      Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our <a href="http://www.linkedin.com/legal/privacy-policy" target="_blank">Privacy Policy</a> and <a href="http://www.linkedin.com/legal/user-agreement" target="_blank">User Agreement</a> for details.
    </p>
  </div>
</div>




      <div id="main-nav" class="contain-to-grid fixed">
        <div class="icon-bar four-up hide-for-medium-up icon-bar-custom">
          <a class="item" href="/" aria-labelledby="#home">
            <i class="icon-slideshare-logo"></i>
            <label id="home">SlideShare</label>
          </a>
          <a class="item" href="/explore" aria-labelledby="#explore">
            <i class="fa fa-compass"></i>
            <label id="explore">Explore</label>
          </a>
          <a class="item j-open-mobile-search" aria-labelledby="#search">
            <i class="fa fa-search"></i>
            <label id="search">Search</label>
          </a>
            <a class="item" class="void_fancybox void_redirect_link" href="https://www.slideshare.net/login" aria-labelledby="#you">
              <i class="fa fa-user"></i>
              <label id="you">You</label>
            </a>
        </div>


        <nav class="top-bar visible-for-medium-up" data-topbar>
          <ul class="title-area">
            <li class="name">
              <a href="/">
                <img id="main-navbar-logo" alt="LinkedIn SlideShare" src="http://public.slidesharecdn.com/b/images/logo/linkedin-ss/SS_Logo_White_Large.png?6d1f7a78a6">
              </a>
            </li>
          </ul>

          <section class="top-bar-section">
            <ul class="right upload-create button-group">
                <li class="has-form upload-create">
                  <a href="/upload" class="button radius secondary">Upload</a>
                </li>

                <li>
                  <a href="https://www.slideshare.net/login" class="void_fancybox void_redirect_link" id="login">Login</a>
                </li>
                <li>
                  <a href="https://www.slideshare.net/signup" class="void_fancybox void_redirect_link" id="signup" title="Signup now for a SlideShare account">Signup</a>
                </li>
            </ul>

            <ul class="left">
              <li class="divider"></li>
              <li id="nav-search" class="has-form">
                <form id="nav-search-form" method="get" action="/search/slideshow">
                  <div class="input-box">
                  <input name="searchfrom" type="hidden" value="header">
                    <input id="nav-search-query" type="text" placeholder="Search" name="q" value="" autocomplete="off">
                    <button class="button expand" type="submit"><i class="fa fa-search"></i></button>
                    <ul class='search-suggestions dropdown f-dropdown medium' style="display:none;"></ul>
                  </div>
                </form>
              </li>
            </ul>
          </section>
        </nav>

          <div class="visible-for-medium-up sub-navbar">
            <div class="row">
              <div class="container">
                <ul class="sub-nav-cats left">
                    <li class="sub-nav-cat">
                      <a href="/" class="sub-nav-link" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="Home" rel="nofollow">Home</a>
                    </li>
                    <li class="sub-nav-cat">
                      <a href="/featured/category/technology" class="sub-nav-link" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="Technology" rel="nofollow">Technology</a>
                    </li>
                    <li class="sub-nav-cat">
                      <a href="/featured/category/education" class="sub-nav-link" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="Education" rel="nofollow">Education</a>
                    </li>
                    <li class="sub-nav-cat">
                      <a href="/explore" class="sub-nav-link" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="More Topics" rel="nofollow">More Topics</a>
                    </li>
                </ul>
                <ul class="sub-nav-cats right show-for-large-up sub-nav-link-ctas">
                  <li class="sub-nav-cat has-dropdown creators-hub-dropdown" data-dropdown="creators-hub-dropdown" data-options="is_hover:true;">
                    <a href="/ss/creators?from=sub-nav" class="sub-nav-link creators-hub" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="creators_hub">For Uploaders</a>
                  </li>
                </ul>
                <ul id="creators-hub-dropdown" class="dropdown f-dropdown creators-hub-dropdown" data-dropdown-content>
                  <li>
                    <a href="/ss/creators/get-started?from=sub-nav"
                    data-ga-cat="sub_nav_cat"
                    data-ga-action="click"
                    data-ga-label="creators_hub_gs"
                    rel="nofollow">
                    Get Started</a>
                  </li>
                  <li class="divider"></li>
                  <li>
                    <a href="/ss/creators/tips-and-tricks?from=sub-nav"
                    data-ga-cat="sub_nav_cat"
                    data-ga-action="click"
                    data-ga-label="creators_hub_tat"
                    rel="nofollow">
                    Tips & Tricks</a>
                  </li>
                  <li class="divider"></li>
                  <li>
                    <a href="/ss/creators/tools?from=sub-nav"
                    data-ga-cat="sub_nav_cat"
                    data-ga-action="click"
                    data-ga-label="creators_hub_tools"
                    rel="nofollow">
                    Tools</a>
                  </li>
                </ul>
              </div>
            </div>
          </div>
      </div>

    <div class="wrapper">
        <div id="main-nav-mobile-search">
          <form name="mobile-search" action="/search/slideshow" method="get">
           <div class="input-box">
              <input type="text" placeholder="Search" name="q" value="" autocomplete="off">
              <a class="button expand">
                <i class="search-icon fa fa-search"></i>
                <i class="search-spinner fa fa-spinner fa-spin"></i>
              </a>
            </div>
          </form>
        </div>
        


      

      




<iframe id="download" style="display:none" src="" class="notify"></iframe>
<div id="j-downloading-alert" data-alert class="alert-box success radius
downloading-alert">
  <span class="copy-in-aria-label" aria-label="Your SlideShare is downloading."></span>
  <a href="#" class="close copy-in-aria-label" aria-label="&times;"></a>
</div>





<div id="slideview-container" class="">
  <div class="slideview-header-container row">
    <div class="columns">

        <div id="top-ad" class="j-top-ad banner">
          <div id="leaderboardAd" class="leaderboard1" style="max-height:15px">
          </div>
        </div>



      <div></div>
    </div>
  </div>

  <div class="row">

    <div id="main-panel" class="small-12 large-8 columns">


      <div class="sectionElements">

          

<div class="j-clips-toolbar clips-toolbar ">

  <div class="clips-progress progress">
    <span class="j-clips-meter clip-meter meter" style="width:0%"></span>
  </div>

  <div class="j-clips-info clips-info">
    <span class="j-clips-count clips-count copy-in-aria-label" aria-label="0"></span>
    <span class="j-clips-count-text clips-count-text notranslate copy-in-aria-label"></span>
  </div>

</div>


        <div class="playerWrapper">



            <div>
              <!-- For slideview page , combined js for player is now combined with slideview javascripts for logged out users-->


<div class="player lightPlayer fluidImage presentation_player" id="svPlayerId">
  <span class="j-fullscreen-title-banner fullscreen-title-banner" style="display: none;">
    Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
  </span>

  <div class="stage valign-first-slide">
    <div class="player-cta-container">
          <div class="clip-button-top">
  <a id="clips-button-top" class="j-clips-button clip-button player-cta visible "
    href="/signup?login_source=slideview.clip.like&amp;from=clip&amp;layout=foundation&amp;from_source="
    rel="nofollow" data-reveal-id=login_modal style="display:none">
    <div class="container clearfix">
      <div class="svg-icon">
        <svg><use data-size="small" xlink:href="#clipboard-add-icon"></use></svg>
      </div>
      <span class="clip-button-text-clip notranslate copy-in-aria-label" aria-label="Clip slide" title="Clip to save this slide for later"></span>
    </div>
  </a>
</div>

    </div>
    <a class="exit-fullscreen j-exit-fullscreen" style="display: none;">
      <i class="fa fa-compress fa-2x"></i>
    </a>
    <div class="slide_container">
            <section data-index="1"  class="slide show" itemprop=image>
                <img class="slide_image"
                  src="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-1-638.jpg?cb=1463818268"
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-1-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-1-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-1-1024.jpg?cb=1463818268"
                  alt="⽇日本アイ・ビー・エム株式会社
クラウド・ソフトウェア事業部
⽥田中  孝清
Javaプログラマーも
もう逃げられない
マイクロサービスとAPIの世界
#ccc_f5
 "/>
            </section>
            <section data-index="2"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-2-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-2-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-2-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  2	
  
#ccc_f5
アジェンダ
q イントロダクション
q マイクロサービスアーキテクチャー
q Java  EEとマイクロサービス
q IBMの提供するSol..."/>
            </section>
            <section data-index="3"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-3-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-3-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-3-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  3	
  
#ccc_f5
イントロダクション
 "/>
            </section>
            <section data-index="4"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-4-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-4-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-4-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  4	
  
#ccc_f5
⼆二つの⽂文化に分かれる⽇日本のIT企業
リスクの最⼩小化
を優先  
ミッション・クリティカルな
アプリケーションの管理理、運⽤用
マラソンランナ..."/>
            </section>
            <section data-index="5"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-5-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-5-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-5-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  5	
  
#ccc_f5
Javaは，どちらかというと．．．
重厚⻑⾧長⼤大な業務システムでの使⽤用が多い
 "/>
            </section>
            <section data-index="6"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-6-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-6-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-6-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  6	
  
#ccc_f5
⽐比較的変化が遅い世界
q 「現在のアプリケーションを
 　⼀一から作り直すこともできないし」
q 「社外連携とかクラウドとかは当分先の話」
q..."/>
            </section>
            <section data-index="7"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-7-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-7-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-7-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  7	
  
#ccc_f5
そろそろ逃げられなくなってきました
q ブラウザの進化
q 最新セキュリティ技術への追随
q HTML5による
アプリケーションのモダン化
q..."/>
            </section>
            <section data-index="8"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-8-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-8-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-8-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  8	
  
#ccc_f5
ブラウザ：クライアント環境の急激な変遷
q MS  IE  6  →  7/8/9/10/11/MS  Edge  ．．．
q iOS  4/5..."/>
            </section>
            <section data-index="9"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-9-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-9-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-9-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  9	
  
#ccc_f5
セキュリティ：SSL/TSL技術の陳腐化
q  2011
¦  BEAST（CVE-‐‑‒2011-‐‑‒3389）
n  SSL,TLSのC..."/>
            </section>
            <section data-index="10"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-10-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-10-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-10-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  10	
  
#ccc_f5
HTML5
q HTML  +  JavaScript技術の普及と
各種ライブラリの台頭
 "/>
            </section>
            <section data-index="11"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-11-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-11-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-11-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  11	
  
#ccc_f5
HTML5によるアプリケーションのモダン化
Web Browser
Application Server
Application
HTTP
Req..."/>
            </section>
            <section data-index="12"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-12-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-12-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-12-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  12	
  
#ccc_f5
モバイルアプリケーションへの対応
q モバイルアプリケーションは（多くの場合MEAP経由で）
バックエンドシステムをサービスとして利利⽤用
ME..."/>
            </section>
            <section data-index="13"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-13-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-13-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-13-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  13	
  
#ccc_f5
クラウド対応
q   クラウドの活⽤用は必須だが
  全てをクラウドに出すことはできない
¦ 社内システムと社外クラウドを連携させる
Hybr..."/>
            </section>
            <section data-index="14"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-14-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-14-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-14-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  14	
  
#ccc_f5
マイクロサービス・アーキテクチャーとは
 "/>
            </section>
            <section data-index="15"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-15-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-15-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-15-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  15	
  
#ccc_f5
Microservices  Architecture（MSA）とは
q きっかけ
¦ ソフトウェア・
アーキテクチャーの⼤大家
マーティン・..."/>
            </section>
            <section data-index="16"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-16-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-16-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-16-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  16	
  
#ccc_f5
Microservices  Architectureアプリケーション
q 単⼀一の（モノリシックな）アプリとして実装するのではなく，
複数のサ..."/>
            </section>
            <section data-index="17"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-17-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-17-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-17-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  17	
  
#ccc_f5
2004〜～
IBM，Gartner他
どこかで聞き覚えが・・・
q SOA：Service  Oriented  Architecture
 "/>
            </section>
            <section data-index="18"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-18-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-18-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-18-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  18	
  
#ccc_f5
Microservices  ArchitectureはSOAの進化型
q モノリシック・アプリケーション
¦ 全体を単⼀一のコードとして実装..."/>
            </section>
            <section data-index="19"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-19-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-19-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-19-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  19	
  
#ccc_f5
もっとも⼤大きな違いは・・・
q SOA：Service  Oriented  Architecture
¦ コンサルタントやITベンダーが考..."/>
            </section>
            <section data-index="20"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-20-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-20-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-20-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  20	
  
#ccc_f5
Microservices  Architectureへの第⼀一歩
他のシステムから利利⽤用できるものを探す
q システムが提供している機能で
..."/>
            </section>
            <section data-index="21"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-21-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-21-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-21-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  21	
  
#ccc_f5
既存システムのMSA化：キーワードはAPI化
q 「既存システムを分割」することよりも
q 「アプリケーションの機能を外部から呼べる」
ように..."/>
            </section>
            <section data-index="22"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-22-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-22-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-22-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  22	
  
#ccc_f5
Java EEとマイクロサービス
 "/>
            </section>
            <section data-index="23"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-23-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-23-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-23-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  23	
  
#ccc_f5
2013年年に正式版となった最新仕様：Java EE 7
q Java EE 7の三つのゴール
¦ HTML5環境への対応
¦ 開発⽣生産性..."/>
            </section>
            <section data-index="24"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-24-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-24-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-24-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  24	
  
#ccc_f5
Java EE 7 の主なAPI群
q JSR 342: Java Platform, Enterprise Edition 7
¦ HTML..."/>
            </section>
            <section data-index="25"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-25-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-25-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-25-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  25	
  
#ccc_f5
Java  EEのシステム間連携
q J2EE  1.3以前
¦ CORBA，RMI/IIOP
q J2EE  1.4
¦ JAX-‐‑‒..."/>
            </section>
            <section data-index="26"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-26-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-26-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-26-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  26	
  
#ccc_f5
JAX-‐‑‒RS  2.0：JavaでRESTfulなWebサービスを実現
q アノテーションベースでRESTfulなWebサービスを実装
q..."/>
            </section>
            <section data-index="27"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-27-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-27-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-27-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  27	
  
#ccc_f5
CDIによるアプリケーション内のPL  /  BLの分離離
q 画⾯面デザイン
¦ JSF  /  EL  /  Servlet  /  JS..."/>
            </section>
            <section data-index="28"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-28-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-28-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-28-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  28	
  
#ccc_f5
MSAからみたJava  EE  7の特徴
q RESTfulなWebサービスへの対応が進み
API連携が容易易になった
q CDIにより，
..."/>
            </section>
            <section data-index="29"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-29-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-29-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-29-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  29	
  
#ccc_f5
WebSphere Application Server
 "/>
            </section>
            <section data-index="30"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-30-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-30-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-30-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  30	
  
#ccc_f5
30
WASの新しいランタイム：Libertyプロファイル
WAS V8.5.5 Liberty &amp; WDT
Java EE 7準拠
Java E..."/>
            </section>
            <section data-index="31"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-31-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-31-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-31-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  31	
  
#ccc_f5
②  Libertyが軽量量な理理由
Servlet JSP JSF
q Java  EEなどのAPIやサーバーが提供する機能のうち、必
要な機..."/>
            </section>
            <section data-index="32"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-32-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-32-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-32-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  32	
  
#ccc_f5
API・サーバー機能をFeatureとして定義
q 必要なものだけを構成  
¦ 設定されたものだけがメモリにロード・初期化される
→  最⼩..."/>
            </section>
            <section data-index="33"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-33-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-33-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-33-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  33	
  
#ccc_f5
Libertyプロファイルの「ゼロ・マイグレーション」
q 新しい仕様のバージョンに対応するフィーチャーが
追加されても，従来のバージョンも提供..."/>
            </section>
            <section data-index="34"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-34-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-34-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-34-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  34	
  
#ccc_f5
パッケージによる導⼊入
q 既存環境をZIPファイルにパッケージ
¦ アプリケーション・サーバー構成・Libertyランタイム
q mini..."/>
            </section>
            <section data-index="35"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-35-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-35-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-35-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  35	
  
#ccc_f5
開発者版は無償で利利⽤用可能
q 名前の登録やIBMへの問い合わせなしに
⾃自由にダウンロード可能・使⽤用期限もなし
1.  Eclipse  ..."/>
            </section>
            <section data-index="36"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-36-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-36-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-36-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  36	
  
#ccc_f5
様々なレベルでクラウドに対応
q オンプレミス⽤用のライセンスをIaaS上でも使⽤用可
q 様々な⾃自由度度でランタイムをPaaSとして提供
..."/>
            </section>
            <section data-index="37"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-37-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-37-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-37-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  37	
  
#ccc_f5
IBM  BluemixでのLibertyの使⽤用
ランタイム
アプリ
コード
アプリ
コード
開発者
ランタイムと呼ばれる実⾏行行環境を
 　わ..."/>
            </section>
            <section data-index="38"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-38-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-38-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-38-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  38	
  
#ccc_f5
IBM  Bluemixの特徴
アプリケーションを、構築・管理理・実⾏行行するための、
SoftLayerを基盤とし、オープン・スタンダード（Cl..."/>
            </section>
            <section data-index="39"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-39-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-39-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-39-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  39	
  
#ccc_f5
IBM API Connect
 "/>
            </section>
            <section data-index="40"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-40-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-40-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-40-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  40	
  
#ccc_f5
IBM  API  Connect  V5
q API公開に関わるすべての作業を
1つの包括的ソリューションとして提供
外部のシステム
社内シス..."/>
            </section>
            <section data-index="41"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-41-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-41-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-41-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  41	
  
#ccc_f5
API  Connectの提供する4つの機能
q 作成
¦  容易易にAPI開発を⾏行行えるツール
¦  ビルド、テスト、デプロイ
q 実..."/>
            </section>
            <section data-index="42"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-42-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-42-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-42-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  42	
  
#ccc_f5
StrongLoop社の買収とSolutionの融合
Create Run
ManageSecure
作成
保護
実⾏行行
管理理
IBM  AP..."/>
            </section>
            <section data-index="43"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-43-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-43-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-43-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  43	
  
#ccc_f5
まとめ
q   クラウド・セキュリティなどの要件から
 　そろそろJavaの世界も
 　API化から逃げられなくなってきました
q Micro..."/>
            </section>
            <section data-index="44"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-44-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-44-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-44-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  44	
  
#ccc_f5
最後に
 "/>
            </section>
            <section data-index="45"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-45-320.jpg?cb=1463818268"
                  data-normal="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-45-638.jpg?cb=1463818268"
                  data-full="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-45-1024.jpg?cb=1463818268"
                  alt="©	
  2016	
  IBM	
  Corpora/on	
  45	
  
#ccc_f5
最新情報発表セミナー
q WebSphere  AS  最新情報セミナー  2016
〜～  Are  You  ready?  Javaプラッ..."/>
            </section>
        <div class="j-next-container next-container">
          <div class="content-container">
            <div class="next-slideshow-wrapper">
              <div class="j-next-slideshow next-slideshow">
                <div class="title-container">
                  <span class="title-text">Upcoming SlideShare</span>
                </div>
                <div class="j-next-url info">
                  <div class="thumb-container">
                    <img class="j-next-thumb thumb" />
                  </div>
                  <div class="text-container">
                    <span class="j-next-title next-title"></span>
                  </div>
                </div>
              </div>
              <div class="next-timer">Loading in …<span class="j-timer-count timer-count">5</span></div>
              <div class="j-next-cancel next-cancel">&#215;</div>
            </div>
          </div>
        </div>
    </div>
  </div> <!-- end stage -->

  <div class="toolbar_wrapper j-player-toolbar">
    <div class="toolbar normal">
      
<!-- using div.bar-[top, bottom]-margin to fix toolbar spacing with a taller progressbar (improve slide scrubbing UX) -->
<div class="j-progress-bar progress-bar-wrapper">
  <div class="progress-bar-spacing"></div>
  <div class="buffered-bar"></div>
  <div class="j-slides-loaded-bar progress-bar"></div>
  <div class="j-progress-tooltip progress-tooltip" style="display: none;">
    <div class="j-tooltip-content progress-tooltip-wrapper">
      <img class="j-tooltip-thumb tooltip-thumb" onerror="this.src=''"
            slide-thumb-1=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-1-320.jpg?cb=1463818268
            slide-thumb-2=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-2-320.jpg?cb=1463818268
            slide-thumb-3=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-3-320.jpg?cb=1463818268
            slide-thumb-4=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-4-320.jpg?cb=1463818268
            slide-thumb-5=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-5-320.jpg?cb=1463818268
            slide-thumb-6=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-6-320.jpg?cb=1463818268
            slide-thumb-7=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-7-320.jpg?cb=1463818268
            slide-thumb-8=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-8-320.jpg?cb=1463818268
            slide-thumb-9=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-9-320.jpg?cb=1463818268
            slide-thumb-10=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-10-320.jpg?cb=1463818268
            slide-thumb-11=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-11-320.jpg?cb=1463818268
            slide-thumb-12=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-12-320.jpg?cb=1463818268
            slide-thumb-13=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-13-320.jpg?cb=1463818268
            slide-thumb-14=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-14-320.jpg?cb=1463818268
            slide-thumb-15=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-15-320.jpg?cb=1463818268
            slide-thumb-16=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-16-320.jpg?cb=1463818268
            slide-thumb-17=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-17-320.jpg?cb=1463818268
            slide-thumb-18=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-18-320.jpg?cb=1463818268
            slide-thumb-19=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-19-320.jpg?cb=1463818268
            slide-thumb-20=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-20-320.jpg?cb=1463818268
            slide-thumb-21=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-21-320.jpg?cb=1463818268
            slide-thumb-22=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-22-320.jpg?cb=1463818268
            slide-thumb-23=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-23-320.jpg?cb=1463818268
            slide-thumb-24=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-24-320.jpg?cb=1463818268
            slide-thumb-25=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-25-320.jpg?cb=1463818268
            slide-thumb-26=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-26-320.jpg?cb=1463818268
            slide-thumb-27=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-27-320.jpg?cb=1463818268
            slide-thumb-28=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-28-320.jpg?cb=1463818268
            slide-thumb-29=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-29-320.jpg?cb=1463818268
            slide-thumb-30=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-30-320.jpg?cb=1463818268
            slide-thumb-31=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-31-320.jpg?cb=1463818268
            slide-thumb-32=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-32-320.jpg?cb=1463818268
            slide-thumb-33=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-33-320.jpg?cb=1463818268
            slide-thumb-34=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-34-320.jpg?cb=1463818268
            slide-thumb-35=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-35-320.jpg?cb=1463818268
            slide-thumb-36=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-36-320.jpg?cb=1463818268
            slide-thumb-37=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-37-320.jpg?cb=1463818268
            slide-thumb-38=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-38-320.jpg?cb=1463818268
            slide-thumb-39=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-39-320.jpg?cb=1463818268
            slide-thumb-40=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-40-320.jpg?cb=1463818268
            slide-thumb-41=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-41-320.jpg?cb=1463818268
            slide-thumb-42=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-42-320.jpg?cb=1463818268
            slide-thumb-43=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-43-320.jpg?cb=1463818268
            slide-thumb-44=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-44-320.jpg?cb=1463818268
            slide-thumb-45=http://image.slidesharecdn.com/jjugccc201605-160521081013/85/javaapi-45-320.jpg?cb=1463818268
      >
      <span class="j-slidecount-label slidecount-label">1</span>
    </div>
    <div class="progress-tooltip-caret"></div>
  </div>
</div>
<div class="progress-bar-spacing"></div>



<div class="j-tools bot-actions">
</div><!-- .bot-actions -->


  <div class="j-tools bot-actions">
    <a data-tooltip
      aria-haspopup="true"
      style="display: none"
      class="j-tooltip j-download action-download has-tip"
      title="Save this presentation"
      href="/login?from_source=%2Ftakakiyo%2Fjavaapi-62250041%3Ffrom_action%3Dsave&amp;from=download&amp;layout=foundation"
      data-target="#login_modal"
      data-placement="top">
      <i class="fa fa-download fa-lg" style="margin-top: 1px;"></i>
    </a>
  </div>




  <div class="nav">
      <button id="btnPrevious" title="Previous Slide">
        <div class="j-prev-btn arrow-left disabled"></div>
      </button>
    <label class="goToSlideLabel">
      <span id="current-slide" class="j-current-slide">1</span> of <span id="total-slides" class="j-total-slides">45</span>
    </label>
      <button id="btnNext" title="Next Slide">
        <div class="j-next-btn arrow-right"></div>
      </button>
  </div>



<div class="navActions">



    <button id="btnFullScreen" class="j-tooltip btnFullScreen" title="View Fullscreen">
      <span class="fa fa-stack">
        <i class="fa fa-expand fa-stack-1x"></i>
      </span>
    </button>
    <button id="btnLeaveFullScreen" class="j-tooltip btnLeaveFullScreen" title="Exit Fullscreen">
      <span class="fa-stack">
        <i class="fa fa-compress fa-stack-1x"></i>
      </span>
    </button>

</div>


    </div>
  </div>

  <div class="success-toast-wrapper hide"></div>

  <div class="image_maps"></div>
</div>

<div id="j-lead-form-placeholder" style="display:none">
</div>

            </div>
        </div>

        <div id="lastScreen" style="display: none;">
          <div class="lastScreen">
  <div class="jsplLastScreenOverlay j-last-screen-overlay"></div>
  <div class="pro-overlay j-lastscreen">
    <div class="proSharingText">Like this presentation? Why not share!</div>
    <ul class="lastActions j-last-screen-actions">
      <li class="share-cta j-share-cta lastscreen-share-cta"><a class="share-btn"><span class="lastScreen-sprite"></span>Share</a></li>
      <li class="email-cta j-email-cta"><a class="email-btn"><span class="lastScreen-sprite"></span>Email</a></li>
      <li class="replay last">
        <a class="replay-btn lastScreenReplay j-tooltip j-last-screen-replay" data-original-title="View again" title="View again">
          <span class="lastScreen-sprite">&nbsp;</span>
        </a>
      </li>
      <li class="close-btn lastScreen-sprite j-lastscreen-close">
        <a>&nbsp;</a>
      </li>
    </ul>
    <div class="related-presentations j-lastscreen-related">
      <ul class="presentation-list">
        <li>
         <a href="/LinkedInPulse/hannah-chung-healthcare-diabetes-children-jerry-bear-61831247" title="Why Kids Are Key to Healthcare " >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/hannahchunghealthcarediabeteschildrenjerrybear-160509193127-lva1-app6891-video-thumbnail.jpg?cb=1462916901" alt="Why Kids Are Key to Healthcare " />
           <span class="presentation-meta">
             <span class="title">Why Kids Are Key to Healthcare </span>
             <span class="author">by&nbsp;LinkedIn Pulse</span>
             <span class="view-count">78792&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/edbatista/ed-batista-the-art-of-selfcoaching-stanfordbiz-class-6-vulnerability" title="Ed Batista, The Art of Self-Coachin..." >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/ed-batista-self-coaching-class-6-slideshare-160506230325-thumbnail.jpg?cb=1462894482" alt="Ed Batista, The Art of Self-Coachin..." />
           <span class="presentation-meta">
             <span class="title">Ed Batista, The Art of Self-Coachin...</span>
             <span class="author">by&nbsp;Ed Batista</span>
             <span class="view-count">33666&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/ShellTerrell/learn-collaboratively-with-web-tools" title="Learn Collaboratively with Web Tools" >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/learncollaborativelysk122016-160507162150-thumbnail.jpg?cb=1462894468" alt="Learn Collaboratively with Web Tools" />
           <span class="presentation-meta">
             <span class="title">Learn Collaboratively with Web Tools</span>
             <span class="author">by&nbsp;Shelly Sanchez Te...</span>
             <span class="view-count">18318&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/weekdone/manager-simulator-6-skills-every-successful-manager-needs" title="Manager Simulator: 6 Skills Every S..." >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/managersimulator-6skillseverysuccessfulmanagerneeds-160509125026-thumbnail.jpg?cb=1462894439" alt="Manager Simulator: 6 Skills Every S..." />
           <span class="presentation-meta">
             <span class="title">Manager Simulator: 6 Skills Every S...</span>
             <span class="author">by&nbsp;Weekdone.com</span>
             <span class="view-count">19752&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/jan.rezab/hey-brands-you-are-still-tweeting-at-the-wrong-time-social-media-minute" title="Hey Brands, You Are Still Tweeting ..." >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/tweetsbyminutef-160509142009-lva1-app6891-video-thumbnail.jpg?cb=1462894397" alt="Hey Brands, You Are Still Tweeting ..." />
           <span class="presentation-meta">
             <span class="title">Hey Brands, You Are Still Tweeting ...</span>
             <span class="author">by&nbsp;Jan Rezab</span>
             <span class="view-count">7797&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/LinkedInPulse/panama-papers-goes-online-twitters-keeping-its-distance-from-us-intelligence-orgs-and-more-news" title="Panama Papers goes online, Twitter&#x27;..." >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/may10vidv1-160510125149-lva1-app6891-video-thumbnail.jpg?cb=1462894348" alt="Panama Papers goes online, Twitter&#x27;..." />
           <span class="presentation-meta">
             <span class="title">Panama Papers goes online, Twitter&#x27;...</span>
             <span class="author">by&nbsp;LinkedIn Pulse</span>
             <span class="view-count">163611&nbsp;views</span>
           </span>
         </a>
        </li>
      </ul>
    </div>

  </div> <!-- end of div class pro-overlay -->
  <div class="j-modal-share modal-share mobile-hide" style="display: none;" id="last-screen-modal-share" data-ga-track-category="" data-ga-track-action="">
  <div class="j-modal-popup modal-popup">
    <div class="j-modal-close modal-close"></div>
    <div class="modal-content-wrapper">
      <div class="j-modal-content modal-content" id="modal-content" data-slideshowid="">
        <header class="j-tabs tabs">
          <a id="button-share-tab" class="selected j-button-share-tab">Share SlideShare</a>
          <hr class="divider"/>
        </header>
        <div class="j-share-tab share-tab">
          <div>
            <ul class="j-share-social-list share-social-list" data-canonical-url="http://www.slideshare.net/takakiyo/javaapi-62250041">
              <li class="facebook" data-network="facebook">
                <div class="social-hover">
                  <a class="share-link" rel="nofollow" data-url="http://www.slideshare.net/takakiyo/javaapi-62250041" title="Share on Facebook">Facebook</a>
                </div>
              </li>
              <li class="twitter" data-network="twitter">
                <div class="social-hover">
                  <a class="share-link" rel="nofollow"  data-url="http://www.slideshare.net/takakiyo/javaapi-62250041" data-text="Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。" data-related="" data-via="SlideShare" title="Tweet on Twitter">Twitter</a>
                </div>
              </li>
              <li class="linkedin" data-network="linkedin">
                <div class="social-hover">
                  <a class="share-link" rel="nofollow" data-url="http://www.slideshare.net/takakiyo/javaapi-62250041" data-text="Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。 by Takakiyo Tanaka via slideshare" title="Share on Linkedin">LinkedIn</a>
                </div>
              </li>
              <li class="googleplus" data-network="googleplus">
                <div class="social-hover">
                  <a class="share-link" rel="nofollow" data-url="http://www.slideshare.net/takakiyo/javaapi-62250041" title="Share on Google+">Google+</a>
                </div>
              </li>
            </ul>
          </div>
          <div class="section share-email">
            <span class="header">Email</span>
            <form id="share-email-form" class="j-share-email-form">
              <input id="share-email-to" data-ga="to" class="j-share-email-to j-email-clear j-share-expand-trigger" name="recipients" placeholder="Enter email addresses"></input>
              <div class="share-email-expand j-share-expand">
                <input id="share-email-name" data-ga="name" class="j-share-email-name j-email-clear" name="name" type="text" placeholder="from…"></input>
                <textarea id="share-email-msg" data-ga="msg" class="j-share-email-msg j-email-clear" name="msg" placeholder="add a message…"></textarea>
                <span class="j-email-flash email-flash"></span>
                <input id="share-email-send" data-ga="send" class="j-share-email-send button btn btn-inverse" type="submit" value="Send" />
                <div style="clear:both"></div>
              </div>
            </form>
            <div id="email-sent" class="j-email-sent section"><div>
              <span class="success-text">Email sent successfully!</span></div>
            </div>
          </div>
          <div class="j-share-embed section share-embed">
            <span class="header">Embed</span>
            <textarea id="share-embed-link" class="j-share-embed-link j-share-expand-trigger" readonly data-ga="link"></textarea>
            <div class="share-embed-options j-share-expand">
              <div class="embed-size">
                <span class="title">Size (px)</span>
                <select class="j-embed-size-picker embed-size-picker j-update-embed" id="embed-size-picker" data-ga="size-picker"></select>
              </div>
                <div class="embed-start">
                  <span class="title">Start on</span>
                  <select class="j-embed-start-picker embed-start-picker j-update-embed" id="embed-start-picker" data-ga="start-picker"></select>
                </div>
              <div class="embed-show-related" style="display:none">
                <input type="checkbox" name="related-content" checked="checked" class="j-embed-related-cbox embed-related-cbox j-update-embed" data-ga="related">
                <span>Show related SlideShares at end</span>
              </div>
            </div>
          </div>
          <div class="wordpress-container section">
            <span class="header">WordPress Shortcode</span>
            <input type="text" name="embed-code" id="share-embed-wp" value="" readonly="readonly" class="j-share-embed-wp text quiet h-wpembedcode j-share-expand-trigger" data-ga="wp-link">
          </div>
          <div class="share-link-container section">
            <span class="header">Link</span>
            <input type="input" class="j-share-link-url j-share-expand-trigger" id="share-link-url" data-ga="link" readonly></input>
          </div>
        </div>
      </div>
    </div>
  </div>
</div><!-- share modal -->

</div><!-- last screen ends here -->

        </div>
      </div>

      <div class="slideshow-info-container" itemscope itemtype="http://schema.org/MediaObject">


        <div class="slideshow-info">
          <meta itemprop="inLanguage" content="en">
          <meta itemprop="image" content="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-1-638.jpg?cb=1463818268">
          <meta itemprop="thumbnailUrl" content="http://cdn.slidesharecdn.com/ss_thumbnails/jjugccc201605-160521081013-thumbnail.jpg?cb=1463818268">
          <meta itemprop="embedURL" content="https://www.slideshare.net/slideshow/embed_code/key/VF3wDWFzwFUlw">
          <meta itemprop="playerType" content="HTML5">
          <meta itemprop="interactionCount" content="UserComments:0">
          <meta itemprop="interactionCount" content="UserLikes:0">
          <meta itemprop="interactionCount" content="UserDownloads:1">
          <meta itemprop="interactionCount" content="UserPageVisits:314">
          <meta itemprop="interactionCount" content="UserPlays:314">
          <meta itemprop="interactionCount" content="UserPlusOnes:0" id="meta-google">
          <meta itemprop="interactionCount" content="UserTweets:12" id="meta-twitter">


          <div class="slideshow-title-container row add-padding-right">
            <div class="small-10 columns">
              <h1 class="notranslate slideshow-title-text" itemprop="headline">
                <span class="j-title-breadcrumb">
                  Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
                </span>
              </h1>
            </div>

          <div class="small-2 columns text-right format-views">
                <span class="notranslate pippin-data">
                  314 views<br>
                </span>
              <span class="notranslate hide">
                208 views<br>
              </span>
            </div>
          </div>

          <ul id="slideshow-actions" class="slideshow-actions">
            <li class="item-action">
              <button class="tiny art-deco share" data-action="share">Share</button>
            </li>
              <li class="item-action">
                <button class="tiny art-deco like button" data-action="like" href="/signup?login_source=slideview.popup.like&amp;from=favorite&amp;layout=foundation&amp;from_source=http%3A%2F%2Fwww.slideshare.net%2Ftakakiyo%2Fjavaapi-62250041" rel="nofollow">Like</button>
              </li>
              <li class="item-action">
                <button class="tiny art-deco download button" data-action="download" href="/login?from_source=%2Ftakakiyo%2Fjavaapi-62250041%3Ffrom_action%3Dsave&amp;from=download&amp;layout=foundation" rel="nofollow">
                  Download
                </button>
              </li>
          </ul>


          <div class="author-container add-padding-right" itemprop="author" itemscope itemtype="http://schema.org/Person">

            <div class="left author-thumbnail">
              <a href="/takakiyo?utm_campaign=profiletracking&amp;utm_medium=sssite&amp;utm_source=ssslideview" class="author-photo-wrapper" title="takakiyo" itemprop="url">
                <img alt="Takakiyo Tanaka" class="author-photo" itemprop="image" src="//cdn.slidesharecdn.com/profile-photo-takakiyo-48x48.jpg?cb=1463818213" />
              </a>
            </div>

            <div class="author-text">
              <h2 style="display:inline;">
                <a class="j-author-name"
                  title="takakiyo"
                  rel="author"
                  href="/takakiyo?utm_campaign=profiletracking&amp;utm_medium=sssite&amp;utm_source=ssslideview"
                  data-ga-cat="bigfoot_slideview"
                  data-ga-action="authorlinkclick">
                  <span itemprop="name">Takakiyo Tanaka</span></a></h2><small class="lighter-color-text" itemprop="jobTitle">, Software technical sales</small>


              <div class="author-cta-container">

                  <div class="follow-container">
                    <span class="j-follow " data-contactee-id="24180055">

                        <a class="follow-btn" data-contactee="24180055" href="/signup?login_source=slideview.popup.follow&from=addcontact&from_source=http%3A%2F%2Fwww.slideshare.net%2Ftakakiyo%2Fjavaapi-62250041">
                          <i class="fa fa-plus"></i> Follow
                        </a>

                      <div class="j-follow-progress indicator">
                        <i class="fa fa-spinner fa-spin"></i>
                      </div>
                    </span>
                  </div>
              </div>
            </div>
          </div>

            <div class="social-share-container add-padding-right">
              <button id="sv-linkedin-share" class="j-share-item button-li tiny radius" data-network="linkedin" data-ga-action="viralshareLinkedIn_click">
                <i class="fa fa-linkedin fa-lg"></i>
                <span class="separator"></span>
                <span class="j-share-count share-count">0</span>
              </button>

              <button id="sv-facebook-share" class="j-share-item button-fb tiny radius" data-network="facebook" data-ga-action="viralsharefacebook">
                <i class="fa fa-facebook fa-lg"></i>
                <span class="separator"></span>
                <span class="j-share-count share-count">0</span>
              </button>

              <button id="sv-twitter-share" class="j-share-item button-tw tiny radius" data-network="twitter" data-ga-action="viralsharetwitter_click">
                <i class="fa fa-twitter fa-lg"></i>
                <span class="separator"></span>
                <span class="j-share-count share-count">12</span>
              </button>
            </div>

          <p>
            <small>
              Published on <time datetime="May 21, 2016" itemprop="datePublished">May 21, 2016</time>
            </small>
          </p>

            <div class="slideshow-description-container add-padding-right">
              <div class="description row"
                data-ga-cat="bigfoot_slideview"
                data-ga-action="description>more">
                <div class="large-10 columns">
                  <p id="slideshow-description-paragraph" class="notranslate">
                    JJUG CCC 2016 Spring F-5セッションの発表資料です。 #jjug #jjug_ccc #ccc_f5
                  </p>
                </div>
                <div class="large-2 columns">
                  <button class="j-expand-text empty_btn_design">
                    ...<i class="fa fa-caret-down"></i>
                  </button>
                </div>
              </div>
            </div>


            <div class="categories-container add-padding-right">
              <span>Published in:</span>
                <a rel="nofollow" href="/featured/category/software">Software</a><span class="comma"></span>
            </div>



        </div>


        <div class="slideshow-tabs-container show-for-medium-up">
          <dl class="tabs" data-tab>
              <dd class="active">
                <a href="#comments-panel">
                  <i class="fa fa-comment"></i>
                    0 Comments
                </a>
              </dd>

            <dd class="">
              <a href="#likes-panel">
                <i class="fa fa-heart"></i>
                <span class="j-favs-count">
                  0 Likes
                </span>
              </a>
            </dd>


            <dd>
              <a href="#stats-panel" class="j-stats-tab">
                <i class="fa fa-bar-chart"></i>
                Statistics
              </a>
            </dd>

            <dd>
              <a href="#notes-panel">
                <i class="fa fa-file-text"></i>
                Notes
              </a>
            </dd>
          </dl>

          <div class="tabs-content">

              <div id="comments-panel" class="content active commentsWrapper commentsNotes">
                <ul class="hide">

                  <li id="commentsTemplate">
                    <div class="row">
                      <div class="small-1 columns thumbnail">
                        <a class="j-author-photo notranslate commenter" title="Commenter Title" rel="nofollow">
                          <img class="nickname"
                            alt="Full Name"
                            src="//public.slidesharecdn.com/b/images/user-48x48.png" />
                        </a>
                      </div>

                      <div class="small-11 columns">
                        <a class="j-author-photo notranslate commenter" title="Commenter Title" rel="nofollow">
                          <span class="j-username notranslate" data-ga-cat="bigfoot_slideview" data-ga-action="commentuserlinkclick">Full Name</span>
                          <span class="bioStub notranslate">
                            <span class="j-commenter-role"></span>
                            <span class="j-commenter-org"></span>
                          </span>
                        </a>

                        <div class="commentText notranslate">
                          Comment goes here.
                        </div>

                        <time class="commentTimestamp small-text lighter-color-text">12 hours ago</time>&nbsp;&nbsp;

                        <span class="commentMeta">
                          <span class="commentActions small-text">
                            <a href="#" class="j-action-delete">Delete</a>
                            <a href="#" class="j-reply">Reply</a>
                            <a href="#" class="j-action-spam">Spam</a>
                            <a href="#" class="j-action-block">Block</a>
                          </span>
                        </span>

                        <div id="confirmDialog" class="panel callout block-message">
                          <div>
                            <span class="title">Are you sure you want to</span>
                            <a href="#" id="yes">Yes</a>
                            <a href="#" id="no">No</a>
                          </div>
                        </div>

                        <div id="messageDialog" class="block-message">
                          Your message goes here
                        </div>

                        <span class="j-loading" style="display: none;">
                          <i class="fa fa-spinner fa-spin"></i>
                        </span>
                      </div>
                    </div>
                  </li>
                </ul>


                  <form action="#" method="post" accept-charset="utf-8" id="postComment" class="j-comment-post postComment">
                    <div class="row">
                      <div class="small-1 columns thumbnail">
                          <div class="left">
                            <img class="nickname" alt="no profile picture user"
                              src="//public.slidesharecdn.com/b/images/user-48x48.png" />
                          </div>
                      </div>

                      <div class="small-11 columns">
                        <div class="row collapse">
                          <div class="small-10 columns">
                            <input class="j-post-comment-input comment-text" type="text" placeholder="Share your thoughts…" />
                          </div>
                          <div class="small-2 columns">
                              <a id="login-provider-slideshare" class="postfix" rel="nofollow" href="/signup?login_source=slideview.popup.comment&from=comments&from_source=http%3A%2F%2Fwww.slideshare.net%2Ftakakiyo%2Fjavaapi-62250041">
                                <button type="button" class="postfix">Post</button>
                              </a>
                          </div>
                        </div>
                      </div>
                    </div>
                  </form>

                <ul id="commentsList" class="user-list no-bullet">
                    <li>
                      <p class="empty-stat-box text-center">
                        <em>Be the first to comment</em>
                      </p>
                    </li>
                </ul>

              </div>


            <div class="content" id="likes-panel">
              <ul id="favsList" class="j-favs-list notranslate user-list no-bullet" itemtype="http://schema.org/UserLikes" itemscope>
                  <li>
                    <p class="empty-stat-box text-center">
                      <em>Be the first to like this</em>
                    </p>
                  </li>
              </ul>

            </div>

            <div class="content" id="downloads-panel">
                <div class="empty-stat-box">No Downloads</div>
            </div>

            <div class="content" id="stats-panel">
              <div class="row info-stats">
                <div class="small-4 columns">
                  <strong>Views</strong>
                  <div class="row">
                    <div class="small-8 columns stat-label">Total views</div>
                    <div class="small-4 columns stat-value text-right">
                      314
                    </div>

                    <div class="small-8 columns stat-label">On SlideShare</div>
                    <div class="j-slideshare-views small-4 columns stat-value text-right ">
                      0
                    </div>

                    <div class="small-8 columns stat-label">From Embeds</div>
                    <div class="j-embed-views small-4 columns stat-value text-right">
                      0
                    </div>

                    <div class="small-8 columns stat-label">Number of Embeds</div>
                    <div class="small-4 columns stat-value text-right">
                      0
                    </div>
                  </div>
                </div>

                <div class="small-4 columns">
                  <strong>Actions</strong>
                  <div class="row">
                    <div class="small-8 columns stat-label">Shares</div>
                    <div class="small-4 columns stat-value text-right j-total-shares">0</div>

                    <div class="small-8 columns stat-label">Downloads</div>
                    <div class="small-4 columns stat-value text-right ">
                      1
                    </div>

                    <div class="small-8 columns stat-label">Comments</div>
                    <div class="small-4 columns stat-value text-right">
                      0
                    </div>

                    <div class="small-8 columns stat-label">Likes</div>
                    <div class="small-4 columns stat-value text-right">
                      0
                    </div>
                  </div>
                </div>

                <div class="small-4 columns">
                  <strong>
                    Embeds
                    <span class="j-embed-views notranslate from-embed hint">0</span>
                  </strong>

                  <div class="j-info-embeds">
                      <div class="j-no-embeds no-embeds">No embeds</div>
                    <div class="row no-translate j-embeds-container" style="max-height:120px; overflow:auto;">
                    </div>
                  </div>
                </div>
              </div>

              <hr>

              <div class="row">
                <div class="small-12 columns">
                  <strong class="copy-in-aria-label" aria-label="Report content"></strong><br>
                  <div class="flag flag-inappropriate">
                    <a class="action-flag" rel="nofollow" href="/signup?login_source=slideview.popup.flags&amp;from=flagss&amp;from_source=http%3A%2F%2Fwww.slideshare.net%2Ftakakiyo%2Fjavaapi-62250041">
                      <span class="j-tooltip flagged copy-in-aria-label" title="This Presentation has been flagged" aria-label="Flagged as inappropriate"></span>
                      <span class="j-tooltip flag copy-in-aria-label" title="Flag this presentation as inappropriate" aria-label="Flag as inappropriate"></span>
                    </a>
                  </div>

                  <div>
                    <a href="http://www.linkedin.com/legal/copyright-policy" rel="nofollow" class="copy-in-aria-label" aria-label="Copyright Complaint"></a>
                  </div>
                </div>
              </div>
            </div>

            <div class="content" id="notes-panel">
              <div id="empty-note" class="empty-stat-box">No notes for slide</div>
            </div>
          </div>
        </div>

            <div class="notranslate transcript add-padding-right j-transcript"  >
              <h3 class="transcript-header">
                  <i class="fa fa-file-o"></i>
                  Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
              </h3>
              <ol class="j-transcripts transcripts no-bullet no-style" itemprop="text">
                    <li>
      1.
    ⽇日本アイ・ビー・エム株式会社
クラウド・ソフトウェア事業部
⽥田中  孝清
Javaプログラマーも
もう逃げられない
マイクロサービスとAPIの世界
#ccc_f5
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-2-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  2	
  
#ccc_f5
アジェンダ
q イン..." target="_blank">
        2.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  2	
  
#ccc_f5
アジェンダ
q イントロダクション
q マイクロサービスアーキテクチャー
q Java  EEとマイクロサービス
q IBMの提供するSolution
¦ WebSphere  Application  Server
¦ IBM  API  Connect
q まとめ
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-3-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  3	
  
#ccc_f5
イントロダクション
 " target="_blank">
        3.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  3	
  
#ccc_f5
イントロダクション
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-4-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  4	
  
#ccc_f5
⼆二つの⽂文化に分かれ..." target="_blank">
        4.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  4	
  
#ccc_f5
⼆二つの⽂文化に分かれる⽇日本のIT企業
リスクの最⼩小化
を優先  
ミッション・クリティカルな
アプリケーションの管理理、運⽤用
マラソンランナー
q  サービスレベル重視
q  ウォーターフォール開発
q  ⻑⾧長期に渡るシステム構築
イノベーションの
スピードを優先
成⻑⾧長機会のための
探索索、開発、デプロイ
スプリンター
q  スピード開発重視
q  試⾏行行錯誤、継続的デプロイ
q  早期のシステム構築/改修
Web系企業 SI系企業
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-5-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  5	
  
#ccc_f5
Javaは，どちらかと..." target="_blank">
        5.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  5	
  
#ccc_f5
Javaは，どちらかというと．．．
重厚⻑⾧長⼤大な業務システムでの使⽤用が多い
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-6-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  6	
  
#ccc_f5
⽐比較的変化が遅い世界..." target="_blank">
        6.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  6	
  
#ccc_f5
⽐比較的変化が遅い世界
q 「現在のアプリケーションを
 　⼀一から作り直すこともできないし」
q 「社外連携とかクラウドとかは当分先の話」
q 「うちなんか，
 　まだJDK  1.4のシステムがありますよ」
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-7-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  7	
  
#ccc_f5
そろそろ逃げられなくな..." target="_blank">
        7.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  7	
  
#ccc_f5
そろそろ逃げられなくなってきました
q ブラウザの進化
q 最新セキュリティ技術への追随
q HTML5による
アプリケーションのモダン化
q モバイル対応
q クラウドの利利⽤用
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-8-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  8	
  
#ccc_f5
ブラウザ：クライアント..." target="_blank">
        8.
      </a>
    ©	
  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．．．
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-9-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  9	
  
#ccc_f5
セキュリティ：SSL/..." target="_blank">
        9.
      </a>
    ©	
  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  Diﬃe-‐‑‒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通信が解読される問題
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-10-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  10	
  
#ccc_f5
HTML5
q H..." target="_blank">
        10.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  10	
  
#ccc_f5
HTML5
q HTML  +  JavaScript技術の普及と
各種ライブラリの台頭
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-11-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  11	
  
#ccc_f5
HTML5によるアプ..." target="_blank">
        11.
      </a>
    ©	
  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）を提供
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-12-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  12	
  
#ccc_f5
モバイルアプリケーシ..." target="_blank">
        12.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  12	
  
#ccc_f5
モバイルアプリケーションへの対応
q モバイルアプリケーションは（多くの場合MEAP経由で）
バックエンドシステムをサービスとして利利⽤用
MEAP製品!
!
Mobile!
Enterprise!
Application!
Platform!
ESB製品!
SOAP / HTTP!
REST! 基幹システムや 
クラウド・サービス	
基幹システムや 
クラウド・サービス	
基幹システムや 
クラウド・サービス	
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-13-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  13	
  
#ccc_f5
クラウド対応
q ..." target="_blank">
        13.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  13	
  
#ccc_f5
クラウド対応
q   クラウドの活⽤用は必須だが
  全てをクラウドに出すことはできない
¦ 社内システムと社外クラウドを連携させる
Hybrid  Cloudへの挑戦
Hybrid  
Cloud
クラウド上のシステム
Social,  Mobile,  IoT
既存の社内システム
CRM ERP
社内の各種データ
Transactions
Integration  bus
APIによる連携
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-14-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  14	
  
#ccc_f5
マイクロサービス・ア..." target="_blank">
        14.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  14	
  
#ccc_f5
マイクロサービス・アーキテクチャーとは
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-15-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  15	
  
#ccc_f5
Microservi..." target="_blank">
        15.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  15	
  
#ccc_f5
Microservices  Architecture（MSA）とは
q きっかけ
¦ ソフトウェア・
アーキテクチャーの⼤大家
マーティン・ファウラーの
2014年年3⽉月の
Blogエントリー
http://martinfowler.com/articles/microservices.html
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-16-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  16	
  
#ccc_f5
Microservi..." target="_blank">
        16.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  16	
  
#ccc_f5
Microservices  Architectureアプリケーション
q 単⼀一の（モノリシックな）アプリとして実装するのではなく，
複数のサービスの統合として実装する
¦ 変更更の影響範囲を極⼩小化
¦ 機能の再利利⽤用を促進
http://martinfowler.com/articles/microservices.html
RESTを中⼼心とした 
APIによる連携
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-17-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  17	
  
#ccc_f5
2004〜～
IBM..." target="_blank">
        17.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  17	
  
#ccc_f5
2004〜～
IBM，Gartner他
どこかで聞き覚えが・・・
q SOA：Service  Oriented  Architecture
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-18-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  18	
  
#ccc_f5
Microservi..." target="_blank">
        18.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  18	
  
#ccc_f5
Microservices  ArchitectureはSOAの進化型
q モノリシック・アプリケーション
¦ 全体を単⼀一のコードとして実装
q SOA（サービス指向アーキテクチャー）
¦ サブシステムごとに独⽴立立して実装／依存関係が可視化
¦ 連携の⼿手段：SOAP，バス型の連携基盤
q MSA（マイクロサービス・アーキテクチャー）
¦ システムを構成する機能（ファンクション）単位でサービス化
¦ 連携の⼿手段：REST，多対多の直接連携
Monolithic App SOA Micro-services
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-19-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  19	
  
#ccc_f5
もっとも⼤大きな違い..." target="_blank">
        19.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  19	
  
#ccc_f5
もっとも⼤大きな違いは・・・
q SOA：Service  Oriented  Architecture
¦ コンサルタントやITベンダーが考案した
「あるべきシステムの姿」
q Microservices  Architecture
¦ 成功した企業のWebシステムから導き出した
「ベスト・プラクティス」
その効果は実証済み
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-20-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  20	
  
#ccc_f5
Microservi..." target="_blank">
        20.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  20	
  
#ccc_f5
Microservices  Architectureへの第⼀一歩
他のシステムから利利⽤用できるものを探す
q システムが提供している機能で
外部から利利⽤用できると
便便利利になるものは？
¦   ユーザーの認証情報・属性
¦   製品の在庫情報
¦   発注処理理
¦   ⽀支払い機能 etc.
q APIとして公開する
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-21-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  21	
  
#ccc_f5
既存システムのMSA..." target="_blank">
        21.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  21	
  
#ccc_f5
既存システムのMSA化：キーワードはAPI化
q 「既存システムを分割」することよりも
q 「アプリケーションの機能を外部から呼べる」
ようにすることを重要視する
q APIの先を順次拡⼤大
¦   社内の他システムからの呼び出し
¦   Webアプリから呼び出し
¦   モバイル・アプリから呼び出し
¦   社外のシステムから呼び出し
API連携 分割＞
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-22-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  22	
  
#ccc_f5
Java EEとマイ..." target="_blank">
        22.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  22	
  
#ccc_f5
Java EEとマイクロサービス
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-23-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  23	
  
#ccc_f5
2013年年に正式版..." target="_blank">
        23.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  23	
  
#ccc_f5
2013年年に正式版となった最新仕様：Java EE 7
q Java EE 7の三つのゴール
¦ HTML5環境への対応
¦ 開発⽣生産性の向上
¦ エンタープライズ・ニーズへの対応
⼤大幅な機能拡張
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-24-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  24	
  
#ccc_f5
Java EE 7 ..." target="_blank">
        24.
      </a>
    ©	
  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
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-25-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  25	
  
#ccc_f5
Java  EEのシ..." target="_blank">
        25.
      </a>
    ©	
  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
レガシーとの接続
エンタープライズ間の連携
あらゆるものとの連携
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-26-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  26	
  
#ccc_f5
JAX-‐‑‒RS ..." target="_blank">
        26.
      </a>
    ©	
  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(&quot;http://www.foo.com/book&quot;) 
.request(MediaType.TEXT_PLAIN) 
.get();
@Path(&quot;repository&quot;)
public class TestRepositoryService {
@Path(&quot;version&quot;)
@GET
@Produces(&quot;text/plain; charset=UTF-8&quot;)
public String getVersion() { 
return &quot;Test Service version 1.0&quot;; 
}
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-27-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  27	
  
#ccc_f5
CDIによるアプリケ..." target="_blank">
        27.
      </a>
    ©	
  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
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-28-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  28	
  
#ccc_f5
MSAからみたJav..." target="_blank">
        28.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  28	
  
#ccc_f5
MSAからみたJava  EE  7の特徴
q RESTfulなWebサービスへの対応が進み
API連携が容易易になった
q CDIにより，
Java  EEアプリケーション内部の
部品化・サービス化もやりやすくなった
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-29-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  29	
  
#ccc_f5
WebSphere ..." target="_blank">
        29.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  29	
  
#ccc_f5
WebSphere Application Server
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-30-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  30	
  
#ccc_f5
30
WASの新しい..." target="_blank">
        30.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  30	
  
#ccc_f5
30
WASの新しいランタイム：Libertyプロファイル
WAS V8.5.5 Liberty &amp; 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ツールに 
無償でプラグインを提供
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-31-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  31	
  
#ccc_f5
②  Liberty..." target="_blank">
        31.
      </a>
    ©	
  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程度度
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-32-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  32	
  
#ccc_f5
API・サーバー機能..." target="_blank">
        32.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  32	
  
#ccc_f5
API・サーバー機能をFeatureとして定義
q 必要なものだけを構成  
¦ 設定されたものだけがメモリにロード・初期化される
→  最⼩小限の起動時間・メモリー使⽤用
ServletJSPJDBCSSL
JAX-RS
sessionDatabase
&lt;featureManager&gt;	
  
	
  	
  	
  	
  &lt;feature&gt;jsp-­‐2.3&lt;/feature&gt;	
  
	
  	
  	
  	
  &lt;feature&gt;jdbc-­‐4.1&lt;/feature&gt;	
  
	
  	
  	
  	
  &lt;feature&gt;jaxrs-­‐2.0&lt;/feature&gt;	
  
	
  	
  	
  	
  &lt;feature&gt;sessionDatabase-­‐1.0&lt;/feature&gt;	
  
	
  	
  	
  	
  &lt;feature&gt;ssl-­‐1.0&lt;/feature&gt;	
  
&lt;/featureManager&gt;	
  
構成ファイル server.xml	
依存関係も 
自動的に解決	
JSON
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-33-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  33	
  
#ccc_f5
Libertyプロフ..." target="_blank">
        33.
      </a>
    ©	
  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プロファイル
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-34-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  34	
  
#ccc_f5
パッケージによる導⼊..." target="_blank">
        34.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  34	
  
#ccc_f5
パッケージによる導⼊入
q 既存環境をZIPファイルにパッケージ
¦ アプリケーション・サーバー構成・Libertyランタイム
q minifyオプションを指定することで
アプリケーションが使⽤用するFeatureだけをパッケージ
¦ コンパクトな実⾏行行環境を作成可能
OS#1
Java  SDK
Liberty  Proﬁle
サーバー構成
アプリケーション
①インストール
ディスク
②サーバー構成
③デプロイ
OS#2
Java  SDK
Liberty  Proﬁle
サーバー構成
アプリケーション
ディスク
server  –package  &lt;サーバー名&gt;
  -‐‑‒-‐‑‒include=minify
zipファイル
元のサイズよりコ
ンパクトに！
zipファイルzipファイル
④パッケージ ⑤展開
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-35-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  35	
  
#ccc_f5
開発者版は無償で利利..." target="_blank">
        35.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  35	
  
#ccc_f5
開発者版は無償で利利⽤用可能
q 名前の登録やIBMへの問い合わせなしに
⾃自由にダウンロード可能・使⽤用期限もなし
1.  Eclipse  Marketplaceから
Liberty開発者ツールを導⼊入
開発者ツールをつかってLibertyをダウンロード
2.  WASdev.netからランタイムをダウンロード
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-36-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  36	
  
#ccc_f5
様々なレベルでクラウ..." target="_blank">
        36.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  36	
  
#ccc_f5
様々なレベルでクラウドに対応
q オンプレミス⽤用のライセンスをIaaS上でも使⽤用可
q 様々な⾃自由度度でランタイムをPaaSとして提供
利用者が管理
プラットフォームが管理
利用者がパターンから作成
事前構成されたWASが提供（個別管理可能）
Liberty
Buildpack
WAS on Cloud WAS Docker
Containers
PureApp  
Service
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-37-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  37	
  
#ccc_f5
IBM  Bluem..." target="_blank">
        37.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  37	
  
#ccc_f5
IBM  BluemixでのLibertyの使⽤用
ランタイム
アプリ
コード
アプリ
コード
開発者
ランタイムと呼ばれる実⾏行行環境を
 　わずか30秒   　で準備
様々なレベルで公開
-‐‑‒  Java  EEに準拠したEAR/WAR
-‐‑‒  アプリケーションコードと構成
-‐‑‒  アプリとLibertyランタイム
Liberty以外の実⾏行行環境も提供
-‐‑‒  任意の開発⾔言語を使⽤用可能
Bluemixのビルドパック
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-38-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  38	
  
#ccc_f5
IBM  Bluem..." target="_blank">
        38.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  38	
  
#ccc_f5
IBM  Bluemixの特徴
アプリケーションを、構築・管理理・実⾏行行するための、
SoftLayerを基盤とし、オープン・スタンダード（Cloud Foundry）を活⽤用した、
新しいクラウド・プラットフォーム（PaaS）
スピーディーな
環境構築
豊富な「API」と
「サービス」の提供
DevOpsの実現
既存システムとの
インテグレーション
堅牢牢な
セキュリティ
柔軟な価格体系
お⽀支払い⽅方法
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-39-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  39	
  
#ccc_f5
IBM API Co..." target="_blank">
        39.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  39	
  
#ccc_f5
IBM API Connect
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-40-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  40	
  
#ccc_f5
IBM  API  ..." target="_blank">
        40.
      </a>
    ©	
  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
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-41-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  41	
  
#ccc_f5
API  Conne..." target="_blank">
        41.
      </a>
    ©	
  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
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-42-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  42	
  
#ccc_f5
StrongLoop..." target="_blank">
        42.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  42	
  
#ccc_f5
StrongLoop社の買収とSolutionの融合
Create Run
ManageSecure
作成
保護
実⾏行行
管理理
IBM  API  Connect
IBM  API  Management
StrongLoop  /  Node.js
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-43-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  43	
  
#ccc_f5
まとめ
q   ク..." target="_blank">
        43.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  43	
  
#ccc_f5
まとめ
q   クラウド・セキュリティなどの要件から
 　そろそろJavaの世界も
 　API化から逃げられなくなってきました
q Microservices  Architectureは
 　実証された有効なシステムアーキテクチャー
q MSAの採⽤用では「分割」より「API化」が重要
q IBMは，業務システムのクラウド化・API化を
推進するソリューションを提供します
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-44-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  44	
  
#ccc_f5
最後に
 " target="_blank">
        44.
      </a>
    ©	
  2016	
  IBM	
  Corpora/on	
  44	
  
#ccc_f5
最後に
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-45-638.jpg?cb=1463818268" title="©	
  2016	
  IBM	
  Corpora/on	
  45	
  
#ccc_f5
最新情報発表セミナー..." target="_blank">
        45.
      </a>
    ©	
  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
 
  </li>

              </ol>
            </div>
      </div>
    </div>

    <aside id="side-panel" class="small-12 large-4 columns j-related-more-tab">
        <div class="mediumRectangleAd">
    <div id="topRightAd" class="j-top-right-div top-right-fillin">
      <script type="text/javascript"> slideshare_object._adQueue.push({ tile : 5, zone : 'slideshare', dart_code: '', width: 300, height: 250, appendTo: 'topRightAd'}); </script>
    </div>
  </div>

<dl class="tabs related-tabs small" data-tab>
    <dd class="active">
      <a href="#related-tab-content" data-ga-cat="bigfoot_slideview" data-ga-action="relatedslideshows_tab">
        Recommended
      </a>
    </dd>
</dl>

<div class="tabs-content">
    <ul id="related-tab-content" class="content active no-bullet notranslate">

        <li class="j-related-item">
  <a data-ssid="55597224"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="タイムマシン採用：明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-"
    href="/takakiyo/java-java-ee7dockeretc">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="タイムマシン採用：明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/ccc2015fab07-151128063528-lva1-app6892-thumbnail-2.jpg?cb=1448862613" />
    </div>

    <div class="related-content">
      <div class="title">
        タイムマシン採用：明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="51041518"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4"
    href="/takakiyo/dev-sumi2015summer">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/devsumi2015summer-150729033805-lva1-app6892-thumbnail-2.jpg?cb=1438150313" />
    </div>

    <div class="related-content">
      <div class="title">
        エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="46881393"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive：IBMの新しいアプリケーションサーバーの実力 #jjug #jjug_ccc #ccc_f4"
    href="/takakiyo/jjug-ccc-2015-spring">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive：IBMの新しいアプリケーションサーバーの実力 #jjug #jjug_ccc #ccc_f4"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/ccc2015f4ibm-150411052350-conversion-gate01-thumbnail-2.jpg?cb=1428730037" />
    </div>

    <div class="related-content">
      <div class="title">
        JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive：IBMの新しいアプリケーションサーバーの...
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="44867119"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="ついに始まるJava EE 7時代のアプリケーション開発"
    href="/takakiyo/java-ee-7">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="ついに始まるJava EE 7時代のアプリケーション開発"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/devsumi2015-150219022922-conversion-gate01-thumbnail-2.jpg?cb=1424313375" />
    </div>

    <div class="related-content">
      <div class="title">
        ついに始まるJava EE 7時代のアプリケーション開発
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="41583765"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21"
    href="/takakiyo/jjug-ccc-201411">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/jjugccc201411-141114232531-conversion-gate02-thumbnail-2.jpg?cb=1416008182" />
    </div>

    <div class="related-content">
      <div class="title">
        いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="37524785"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 "
    href="/takakiyo/dev-sumi2014summer-0731">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 "
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/devsumi2014summer0731-140731014236-phpapp01-thumbnail-2.jpg?cb=1406771181" />
    </div>

    <div class="related-content">
      <div class="title">
        夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="34943433"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57"
    href="/takakiyo/jjugccc-201ibm-sdk-for-java-8">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/jjug2014-ibmjava20140521-140521043339-phpapp02-thumbnail-2.jpg?cb=1400805374" />
    </div>

    <div class="related-content">
      <div class="title">
        JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="34814517"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51"
    href="/takakiyo/was855-libertyprofile20140518">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/was855libertyprofile20140518-140517235624-phpapp02-thumbnail-2.jpg?cb=1400806022" />
    </div>

    <div class="related-content">
      <div class="title">
        WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="34808484"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51"
    href="/takakiyo/liberty-developmentlab">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/libertydevelopment-140517173530-phpapp01-thumbnail-2.jpg?cb=1400805959" />
    </div>

    <div class="related-content">
      <div class="title">
        Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="28061601"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-"
    href="/takakiyo/liberty-web-28061601">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/libertyweb-131109000415-phpapp02-thumbnail-2.jpg?cb=1384072806" />
    </div>

    <div class="related-content">
      <div class="title">
        IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
      </div>

        <div class="author">Takakiyo Tanaka</div>

    </div>
  </a>
</li>

    </ul>

</div>

    </aside>
  </div>
</div>


<div id="first-clip-tour" class="hide">
</div>

<div id="clip-intention-tour" class="hide">
</div>


  <div class="footer-leaderboard-ad" style="text-align:center; padding-top: 15px;">
    <div class="transcriptAd">
      <div id="transcriptAdHolder"><script type="text/javascript">slideshare_object._adQueue.push({ tile : 4, zone : 'slideshare', dart_code: '%3Bcat%3Dsoftware', width: 728, height: 90, appendTo: 'transcriptAdHolder', lazyLoad: true});</script></div>
    </div>
  </div>



      

      

        <footer>
            <div class="row">
              <div class="columns">
                <div id="smt-lang-selector"></div>
                <ul class="j-languages-selector language-links text-center">
                  <li class="smt-item j-www">
                    <a class="smt-link"
                      href="http://www.slideshare.net/takakiyo/javaapi-62250041?smtNoRedir=1"
                      title="Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。 - English" lang="en" hreflang="en">English
                    </a>
                  </li>
                  <li class="smt-item j-es">
                    <a class="smt-link"
                      href="http://es.slideshare.net/takakiyo/javaapi-62250041"
                      title="Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。 - Espanol" lang="es" hreflang="es">Espa&#xF1;ol
                    </a>
                  </li>
                  <li class="smt-item j-pt">
                    <a class="smt-link"
                      href="http://pt.slideshare.net/takakiyo/javaapi-62250041"
                      title="Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。 - Portugues" lang="pt" hreflang="pt">Portugu&#xEA;s
                    </a>
                  </li>
                  <li class="smt-item j-fr">
                    <a class="smt-link"
                      href="http://fr.slideshare.net/takakiyo/javaapi-62250041"
                      title="Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。 - Fran&ccedil;ais" lang="fr" hreflang="fr">Fran&ccedil;ais
                    </a>
                  </li>
                  <li class="smt-item j-de">
                    <a class="smt-link"
                      href="http://de.slideshare.net/takakiyo/javaapi-62250041"
                      title="Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。 - Deutsche" lang="de" hreflang="de">Deutsch
                    </a>
                  </li>
                </ul>
              </div>
            </div>

          <div class="row">
            <div class="columns">
              <ul class="main-links text-center">
                <li><a href="/about">About</a></li>
                <li class="hidden-for-small"><a href="/developers">Dev & API</a></li>
                <li><a href="http://blog.slideshare.net/">Blog</a></li>
                <li><a href="/terms">Terms</a></li>
                <li><a href="/privacy">Privacy</a></li>
                <li><a href="http://www.linkedin.com/legal/copyright-policy">Copyright</a></li>
                <li class="hidden-for-small"><a href="https://www.linkedin.com/help/slideshare">Support</a></li>
              </ul>
            </div>
          </div>


          <div class="row">
            <div class="columns">
              <ul class="social-links text-center">
                <li>
                  <a title="Follow us on LinkedIn" href="http://www.linkedin.com/company/slideshare" class="fa fa-linkedin-square fa-lg" rel="nofollow" target="_blank"></a>
                </li>
                <li>
                  <a title="Follow us on Facebook" href="http://www.facebook.com/slideshare" class="fa fa-facebook-square fa-lg" rel="nofollow" target="_blank"></a>
                </li>
                <li>
                  <a title="Follow us on Twitter" href="http://twitter.com/SlideShare" class="fa fa-twitter-square fa-lg" rel="nofollow" target="_blank"></a>
                </li>
                <li>
                  <a title="Follow us on Google+" href="http://www.google.com/+SlideShare" class="fa fa-google-plus-square fa-lg" rel="nofollow" target="_blank"></a>
                </li>
                <li>
                  <a href="http://www.slideshare.net/rss/latest" class="fa fa-rss-square fa-lg"></a>
                </li>
              </ul>
            </div>
          </div>

          <div class="row">
            <div class="columns">
              <p class="copyright text-center">LinkedIn Corporation &copy; 2016</p>
              <p></p>
            </div>
          </div>
        </footer>
    </div>

    <div id="alert-modal" class="reveal-modal" data-reveal="">
      <p></p>
      <a class="close-reveal-modal">×</a>
    </div>

    <div class="modal_popup_container">
          
<div id="clipboard-share-modal" class="reveal-modal small mobile-hide" aria-hidden="true" aria-labelledby="modal-title" role="dialog" data-reveal data-ga-track-category="" data-ga-track-action="" translate="no">
  <div class="j-modal-popup modal-popup">
    <div id="modal-content" class="j-modal-content">
      <h4 class="j-modal-title modal-title notranslate">Share Clipboard</h4>
      <hr />
      <a class="close-reveal-modal" href="#" aria-label="Close">&times;</a>
      <div class="section share-email">
        <form class="j-share-email-form">
          <h5>Email</h5>
          <input class="j-share-email-to j-email-clear notranslate" name="recipients" placeholder="Enter email addresses" title="Enter email addresses" type="text">
          <div class="clearfix">
            <input data-ga="name" class="j-share-email-name j-email-clear notranslate" name="name" type="text" placeholder="From" title="From">
            <textarea class="j-share-email-msg j-email-clear notranslate share-message-textarea" name="message" placeholder="Add a message" title="Add a message"></textarea>
            <div class="j-email-flash email-flash"></div>
            <input id="share-email-send"class="button btn btn-inverse email-send-button notranslate" title="Send" type="submit" value="Send">
          </div>
        </form>
        <div id="email-sent" class="j-email-sent sent-section">
          <span class="success-text notranslate">Email sent successfully..</span>
        </div>
      </div>
      <div class="row">
        <ul class="j-share-social-list share-social-list" data-canonical-url="">
          <li class="facebook" data-network="facebook">
            <a class="share-link"
              rel="nofollow"
              title="Share on Facebook">Facebook</a>
          </li>
          <li class="twitter" data-network="twitter">
            <a class="share-link"
              rel="nofollow"
              title="Tweet on Twitter">Twitter</a>
          </li>
          <li class="linkedin" data-network="linkedin">
            <a class="share-link"
              rel="nofollow"
              title="Share on LinkedIn">LinkedIn</a>
          </li>
          <li class="googleplus" data-network="googleplus">
            <div class="social-hover">
              <a class="share-link"
                rel="nofollow"
                title="Share on Google+">Google+</a>
            </div>
          </li>
        </ul>
      </div>
      <div class="row">
        <div class="share-link-container">
          <label for="share-link-url">Link</label>
          <input id="share-link-url" class="j-share-link-url" type="text" data-ga="link"></input>
        </div>
      </div>
    </div>
  </div>
</div>

    <div id="top-clipboards-modal"
     class="reveal-modal xlarge top-clipboards-modal"
     data-reveal
     aria-labelledby="modal-title"
     aria-hidden="true"
     role="dialog">
  <h4 class="modal-title">Public clipboards featuring this slide</h4>
  <hr />
  <button class="close-reveal-modal button-lrg" aria-label="Close">&times;</button>
  <div class="loading text-center">
    <svg><use data-size="small" xlink:href="#loader"></use></svg>
  </div>
  <div class="empty">
    No public clipboards found for this slide
  </div>

  <div class="clipboards row">
    <ul class="small-block-grid-1 medium-block-grid-2 large-block-grid-3"></ul>
  </div>
</div>

    
<div id="download-interstitial-modal" class="download-interstitial reveal-modal medium" aria-hidden="false" role="dialog" data-reveal>
  <div class="modal-content-container">
    <a class="close-reveal-modal" href="#" aria-label="Close">&times;</a>
    <div class="modal-content">
      <div class="modal-inner-content">
        <div class="row">
          <h3 class="text-center">Save the most important slides with Clipping</h3>
        </div>
        <div class="row">
          <!-- make only 8/12 columns and centered -->
          <div class="medium-10 small-centered columns">
            <p class="text-center">Clipping is a handy way to collect and organize the most important slides from a presentation. You can keep your great finds in clipboards organized around topics.</p>
            <button class="art-deco small primary start-clipping">Start clipping</button>
            <button class="art-deco small tertiary button continue-download" data-reveal-id="login_modal" href="/login?from_source=%2Ftakakiyo%2Fjavaapi-62250041%3Ffrom_action%3Dsave&amp;from=download&amp;layout=foundation">No thanks. Continue to download.</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

    <div id="select-clipboard-modal" class="reveal-modal medium" data-reveal aria-labelledby="modal-title" aria-hidden="true" role="dialog" translate="no">
  <div class="modal-header-container">
    <h4 class="modal-title">Select another clipboard</h4>
    <hr />
    <a class="close-reveal-modal button-lrg" href="#" aria-label="Close">&times;</a>
  </div>

  <div class="loading">
    <svg><use data-size="small" xlink:href="#loader"></use></svg>
  </div>

  <div class="modal-content">

    <div class="default-clipboard-panel radius">
      <p>Looks like you’ve clipped this slide to <strong class="default-clipboard-title"></strong> already.</p>
    </div>

    <div class="clipboard-search-input-container">
      <i class="fa fa-search"></i>
      <input class="clipboard-search-input" type="text" placeholder="Search for a clipboard">
    </div>

    <div class="clipboard-list-container">
      <ul class="existing-clipboard-list"></ul>
      <ul class="clipboard-list"></ul>
      <div class="clipboard-create-new">
        <div class="clipboard-item-thumb">
          <i class="fa fa-plus"></i>
        </div>
        <div class="clipboard-item-title">Create a clipboard</div>
      </div>
    </div>
  </div>
</div>

    <div id="clipboard-create-modal" class="reveal-modal medium" data-reveal aria-labelledby="modal-title" aria-hidden="true" role="dialog" translate="no">
    <div class="first-clip-message hide">
      <h3>You just clipped your first slide!</h3>
      <span>
        Clipping is a handy way to collect important slides you want to go back to later. Now customize the name of a clipboard to store your clips.
      </span>
    </div>
    <h4 class="modal-title"></h4>
    <hr />
    <form data-abide>
    <div class="row">
      <div class="j-title-wrapper input-wrapper notranslate">
        <label>Name*
          <input type="text" class="j-title-input" placeholder="Best of Slides"/>
          <small class="j-title-error error hide"></small>
        </label>
      </div>
    </div>

    <div class="row">
      <div class="j-description-wrapper input-wrapper notranslate">
        <label>Description
          <input type="text" class="j-description-input" placeholder="Add a brief description so others know what your Clipboard is about."/>
          <small class="j-description-error error hide"></small>
        </label>
      </div>
    </div>

    <div class="row">
      <label>Visibility
        <div class="switch small notranslate">
          <small id="privacy-switch-description">Others can see my Clipboard</small>
          <input id="privacy-switch" class="j-privacy-input" type="checkbox" />
          <label for="privacy-switch"></label>
        </div>
      </label>
    </div>

        <div class="row">
          <div class="pull-right">
            <button class="j-cancel-button button-ghost small notranslate" type="button">Cancel</button>
            <button class="j-submit-button button-linkedin small notranslate" type="submit">Save</button>
          </div>
        </div>
    </form>
    <input type="hidden" class="j-i18n-edit-clipboard-modal" value='{&quot;formTitleEdit&quot;:&quot;Edit Clipboard&quot;,&quot;privacyEnabled&quot;:&quot;Clipboard is visible only to me.&quot;,&quot;privacyDisabled&quot;:&quot;Others can see my Clipboard&quot;,&quot;formTitleCreate&quot;:&quot;Create a clipboard&quot;}'
    />

</div>


    </div>

    <script src="http://public.slidesharecdn.com/b/ss_foundation/combined_foundation_base.js?17d38b6658" type="text/javascript"></script>

    <script>
      $(window).load(function() {
        loadCSS("//public.slidesharecdn.com/b/ss_foundation/stylesheets/app.css?ff63bc54224ee78f0eddc8bedf8de33747fb2715");
      });
    </script>

      <meta content="{&quot;jsplayer_toolbar_clips.clip_count_info&quot;:&quot;{:count,choice,0#Be the first to clip this slide|singular#person clipped this slide|plural#people clipped this slide}&quot;}" name="ss-i18n-translations" />

  <script type="text/javascript">
    $.extend(slideshare_object, {"asset_id":"ff63bc54224ee78f0eddc8bedf8de33747fb2715","slideshow_placeholder":"//public.slidesharecdn.com/b/images/thumbnail.png","stats":{"url":"http://www.slideshare.net/~/slideshow/stats/62250041.json"},"version_no":"1463818268","fb_app_name":"slideshare","stripped_title":"javaapi-62250041","presentationId":62250041,"top_nav":{"get_url":"/top_nav"},"activities":{"favorites":{"url":"/~/slideshow/favorites_list/62250041.json","count":0,"total":0}},"default_tab":".svMoreAuthor","slideshow":{"mobile_app_url":"slideshare-app://ss/62250041","is_private":false,"embed_sizes":{"config":{"defaultPreset":"preset4"},"presets":{"preset1":{"size":{"width":340,"height":290},"displaySize":{"width":40,"height":30}},"preset2":{"size":{"width":425,"height":355},"displaySize":{"width":50,"height":38}},"preset3":{"size":{"width":510,"height":420},"displaySize":{"width":60,"height":45}},"preset4":{"size":{"width":595,"height":485},"displaySize":{"width":70,"height":53}}}},"allow_clips":true,"pin_image_url":"http://cdn.slidesharecdn.com/ss_thumbnails/jjugccc201605-160521081013-thumbnail-4.jpg?cb=1463818268","wp_code":"[slideshare id=62250041\u0026doc=jjugccc201605-160521081013]","id":"62250041","total_slides":45,"is_clickgen_enabled":false,"title":"Java\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068API\u306e\u4e16\u754c\u3002","is_author_premium":false,"user_login":"takakiyo","type":"presentation","is_clippable":true,"clip_counts":{},"zeroclipboard_url":"http://static.slidesharecdn.com/ZeroClipboardv2.swf","ss_url":"http://www.slideshare.net/takakiyo/javaapi-62250041","view_action_state":"unpublished","allow_embeds":true,"social_urls":{"google":"https://plus.google.com/share?url=http%3A%2F%2Fwww.slideshare.net%2Ftakakiyo%2Fjavaapi-62250041","twitter":"https://twitter.com/intent/tweet?via=SlideShare\u0026text=Java%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%82%82%E3%82%82%E3%81%86%E9%80%83%E3%81%92%E3%82%89%E3%82%8C%E3%81%AA%E3%81%84%E3%80%82%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8API%E3%81%AE%E4%B8%96%E7%95%8C%E3%80%82+http%3A%2F%2Fwww.slideshare.net%2Ftakakiyo%2Fjavaapi-62250041","linkedin":"https://www.linkedin.com/cws/share?url=http%3A%2F%2Fwww.slideshare.net%2Ftakakiyo%2Fjavaapi-62250041\u0026trk=SLIDESHARE","facebook":"https://facebook.com/sharer.php?u=http%3A%2F%2Fwww.slideshare.net%2Ftakakiyo%2Fjavaapi-62250041\u0026t=Java%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%82%82%E3%82%82%E3%81%86%E9%80%83%E3%81%92%E3%82%89%E3%82%8C%E3%81%AA%E3%81%84%E3%80%82%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8API%E3%81%AE%E4%B8%96%E7%95%8C%E3%80%82"},"clips":{},"facade_slide_url":"http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-1-638.jpg?cb=1463818268","clickgen_url":null,"fullscreen_bg_color":"Black","recommendations":{"finalRankerModel":"model_001","designKey":"design_001"},"iframe_code":"\u003Ciframe src=\"{iframe_url}\" width=\"{width}\" height=\"{height}\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen\u003E \u003C/iframe\u003E \u003Cdiv style=\"margin-bottom:5px\"\u003E \u003Cstrong\u003E \u003Ca href=\"https://www.slideshare.net/takakiyo/javaapi-62250041\" title=\"Java\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068API\u306e\u4e16\u754c\u3002\" target=\"_blank\"\u003EJava\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068API\u306e\u4e16\u754c\u3002\u003C/a\u003E \u003C/strong\u003E from \u003Cstrong\u003E\u003Ca href=\"http://www.slideshare.net/takakiyo\" target=\"_blank\"\u003ETakakiyo Tanaka\u003C/a\u003E\u003C/strong\u003E \u003C/div\u003E","user_name":"Takakiyo Tanaka","lead_form_url":"https://www.slideshare.net/slideshow/VF3wDWFzwFUlw/lead-form?locale=en","iframe_url":"https://www.slideshare.net/slideshow/embed_code/key/VF3wDWFzwFUlw"},"preview":"no","jsplayer":{"disable_share":false,"embed_code":"\u003Ciframe src=\"https://www.slideshare.net/slideshow/embed_code/key/VF3wDWFzwFUlw\" width=\"597\" height=\"486\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen\u003E \u003C/iframe\u003E \u003Cdiv style=\"margin-bottom:5px\"\u003E \u003Cstrong\u003E \u003Ca href=\"https://www.slideshare.net/takakiyo/javaapi-62250041\" title=\"Java\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068API\u306e\u4e16\u754c\u3002\" target=\"_blank\"\u003EJava\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068API\u306e\u4e16\u754c\u3002\u003C/a\u003E \u003C/strong\u003E from \u003Cstrong\u003E\u003Ca href=\"http://www.slideshare.net/takakiyo\" target=\"_blank\"\u003ETakakiyo Tanaka\u003C/a\u003E\u003C/strong\u003E \u003C/div\u003E","is_private":false,"embed_sizes":{"config":{"defaultPreset":"preset4"},"presets":{"preset1":{"size":{"width":340,"height":290},"displaySize":{"width":40,"height":30}},"preset2":{"size":{"width":425,"height":355},"displaySize":{"width":50,"height":38}},"preset3":{"size":{"width":510,"height":420},"displaySize":{"width":60,"height":45}},"preset4":{"size":{"width":595,"height":485},"displaySize":{"width":70,"height":53}}}},"slideview_url":"/takakiyo/javaapi-62250041","author_id":24180055,"bambooleaf_presentation":false,"bambooleaf_hash":false,"show_image_player":true,"stripped_title":"javaapi-62250041","pin_image_url":"http://image.slidesharecdn.com/jjugccc201605-160521081013/95/javaapi-1-638.jpg?cb=1463818268","id":62250041,"page":1,"wp_code":"[slideshare id=62250041\u0026doc=jjugccc201605-160521081013]","next_prev_experiment":true,"replayscreen":{"html":"\u003Ca href=\"#\" class=\"j-replay-button replay-button\" \u003E\n  \u003Ci class=\"fa fa-refresh\"\u003E\u003C/i\u003E\n  View again\n\u003C/a\u003E\n"},"html_eotfont_url_suffix":"-eot.js","bambooleaf_enabled":null,"twitter_share_text":"Java\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068API\u306e\u4e16\u754c\u3002","start_slide":1,"use_ssl":false,"toolbar_html":"\n\u003C!-- using div.bar-[top, bottom]-margin to fix toolbar spacing with a taller progressbar (improve slide scrubbing UX) --\u003E\n\u003Cdiv class=\"j-progress-bar progress-bar-wrapper\"\u003E\n  \u003Cdiv class=\"progress-bar-spacing\"\u003E\u003C/div\u003E\n  \u003Cdiv class=\"buffered-bar\"\u003E\u003C/div\u003E\n  \u003Cdiv class=\"j-slides-loaded-bar progress-bar\"\u003E\u003C/div\u003E\n  \u003Cdiv class=\"j-progress-tooltip progress-tooltip\" style=\"display: none;\"\u003E\n    \u003Cdiv class=\"j-tooltip-content progress-tooltip-wrapper\"\u003E\n      \u003Cimg class=\"j-tooltip-thumb tooltip-thumb\" onerror=\"this.src=''\"\n      \u003E\n      \u003Cspan class=\"j-slidecount-label slidecount-label\"\u003E1\u003C/span\u003E\n    \u003C/div\u003E\n    \u003Cdiv class=\"progress-tooltip-caret\"\u003E\u003C/div\u003E\n  \u003C/div\u003E\n\u003C/div\u003E\n\u003Cdiv class=\"progress-bar-spacing\"\u003E\u003C/div\u003E\n\n\n\n\u003Cdiv class=\"j-tools bot-actions\"\u003E\n\u003C/div\u003E\u003C!-- .bot-actions --\u003E\n\n\n  \u003Cdiv class=\"j-tools bot-actions\"\u003E\n    \u003Ca data-tooltip\n      aria-haspopup=\"true\"\n      style=\"display: none\"\n      class=\"j-tooltip j-download action-download has-tip\"\n      title=\"Save this \"\n      href=\"/login?from_source=%2Ftakakiyo%2Fjavaapi-62250041%3Ffrom_action%3Dsave\u0026amp;from=download\u0026amp;layout=foundation\"\n      data-target=\"#login_modal\"\n      data-placement=\"top\"\u003E\n      \u003Ci class=\"fa fa-download fa-lg\" style=\"margin-top: 1px;\"\u003E\u003C/i\u003E\n    \u003C/a\u003E\n  \u003C/div\u003E\n\n\n\n\n  \u003Cdiv class=\"nav\"\u003E\n      \u003Cbutton id=\"btnPrevious\" title=\"Previous Slide\"\u003E\n        \u003Cdiv class=\"j-prev-btn arrow-left disabled\"\u003E\u003C/div\u003E\n      \u003C/button\u003E\n    \u003Clabel class=\"goToSlideLabel\"\u003E\n      \u003Cspan id=\"current-slide\" class=\"j-current-slide\"\u003E1\u003C/span\u003E of \u003Cspan id=\"total-slides\" class=\"j-total-slides\"\u003E45\u003C/span\u003E\n    \u003C/label\u003E\n      \u003Cbutton id=\"btnNext\" title=\"Next Slide\"\u003E\n        \u003Cdiv class=\"j-next-btn arrow-right\"\u003E\u003C/div\u003E\n      \u003C/button\u003E\n  \u003C/div\u003E\n\n\n\n\u003Cdiv class=\"navActions\"\u003E\n\n\n\n    \u003Cbutton id=\"btnFullScreen\" class=\"j-tooltip btnFullScreen\" title=\"View Fullscreen\"\u003E\n      \u003Cspan class=\"fa fa-stack\"\u003E\n        \u003Ci class=\"fa fa-expand fa-stack-1x\"\u003E\u003C/i\u003E\n      \u003C/span\u003E\n    \u003C/button\u003E\n    \u003Cbutton id=\"btnLeaveFullScreen\" class=\"j-tooltip btnLeaveFullScreen\" title=\"Exit Fullscreen\"\u003E\n      \u003Cspan class=\"fa-stack\"\u003E\n        \u003Ci class=\"fa fa-compress fa-stack-1x\"\u003E\u003C/i\u003E\n      \u003C/span\u003E\n    \u003C/button\u003E\n\n\u003C/div\u003E\n\n","fullscreen_bgcolor":"jsplBgColorBlack","twitter_recommended_users":null,"fullscreen_url":"/fullscreen/takakiyo/javaapi-62250041","has_video":false,"spinner_url":"//public.slidesharecdn.com/b/images/ssplayer/loading_bigfoot.gif?8d8fb5905f","container":"svPlayerId","image_bucket_location":"//image.slidesharecdn.com/jjugccc201605-160521081013","is_only_private":false,"render_links":"default","video_slides_count":0,"show_related_content":"1","meta_error_template":"\u003Cstyle type=\"text/css\"\u003E\n  .jsplayer-slide-error {\n    background-color: #000;\n    padding: 20% 0 13% !important;\n  }\n  .jsplayer-slide-error div {\n    text-align: center;\n  }\n  .jsplayer-slide-error img {\n    height: 79px !important;\n    margin: 0 0 10px;\n    width: 80px !important;\n  }\n  .jsplayer-slide-error .slide-error-body {\n    color: #eee;\n    font-family: 'Lucida Grande',Verdana, Arial, Helvetica, sans-serif;\n    padding: 0 !important;\n  }\n  .jsplayer-slide-error .slide-error-body p {\n    font-size: 0.8em;\n    line-height: 1.1em;\n    margin: 8px 0;\n  }\n  .jsplayer-slide-error .slide-error-body input[type=button] {\n    margin: 7px 0 0;\n    padding: 7px 14px;\n  }\n\u003C/style\u003E\n\u003Cdiv class=\"jsplayer-slide-error\"\u003E\n  \u003Cdiv style=\"position:relative;\"\u003E\n    \u003Cimg src='//public.slidesharecdn.com/b/images/ssplayer/error_dudes-80x79.png' height=\"79\" width=\"80\" /\u003E\n    \u003Cdiv class=\"slide-error-body\"\u003E\n      \u003Cp\u003EWe have encountered an error.\u003C/p\u003E\n      \u003Cp\u003EPlease refresh the page.\u003C/p\u003E\n    \u003C/div\u003E\n  \u003C/div\u003E\n\u003C/div\u003E\n","image_ready":true,"related_position":0,"spinner_url_fullscreen":"//public.slidesharecdn.com/b/images/ssplayer/loading_black.gif?468e48bc3a","rel_slide_urls":[],"bucket_location":"//html.slidesharecdn.com/jjugccc201605-160521081013/","lastscreen":{"url":"http://www.slideshare.net/takakiyo/javaapi-62250041","related":[{"author":"LinkedIn Pulse","thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/hannahchunghealthcarediabeteschildrenjerrybear-160509193127-lva1-app6891-video-thumbnail.jpg?cb=1462916901","url":"/LinkedInPulse/hannah-chung-healthcare-diabetes-children-jerry-bear-61831247","title":"Why Kids Are Key to Healthcare ","author_login":"LinkedInPulse","views":78792},{"author":"Ed Batista","thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/ed-batista-self-coaching-class-6-slideshare-160506230325-thumbnail.jpg?cb=1462894482","url":"/edbatista/ed-batista-the-art-of-selfcoaching-stanfordbiz-class-6-vulnerability","title":"Ed Batista, The Art of Self-Coachin...","author_login":"edbatista","views":33666},{"author":"Shelly Sanchez Te...","thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/learncollaborativelysk122016-160507162150-thumbnail.jpg?cb=1462894468","url":"/ShellTerrell/learn-collaboratively-with-web-tools","title":"Learn Collaboratively with Web Tools","author_login":"ShellTerrell","views":18318},{"author":"Weekdone.com","thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/managersimulator-6skillseverysuccessfulmanagerneeds-160509125026-thumbnail.jpg?cb=1462894439","url":"/weekdone/manager-simulator-6-skills-every-successful-manager-needs","title":"Manager Simulator: 6 Skills Every S...","author_login":"weekdone","views":19752},{"author":"Jan Rezab","thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/tweetsbyminutef-160509142009-lva1-app6891-video-thumbnail.jpg?cb=1462894397","url":"/jan.rezab/hey-brands-you-are-still-tweeting-at-the-wrong-time-social-media-minute","title":"Hey Brands, You Are Still Tweeting ...","author_login":"jan.rezab","views":7797},{"author":"LinkedIn Pulse","thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/may10vidv1-160510125149-lva1-app6891-video-thumbnail.jpg?cb=1462894348","url":"/LinkedInPulse/panama-papers-goes-online-twitters-keeping-its-distance-from-us-intelligence-orgs-and-more-news","title":"Panama Papers goes online, Twitter'...","author_login":"LinkedInPulse","views":163611}]},"disable_lastscreen":false,"html_ttffont_url_suffix":".js","player_bgcolor":"jsplBgColorBigfoot","inpage_full_screen":true,"ppt_location":"jjugccc201605-160521081013","disable_eagerload":true,"slide_error_template":"\u003Cstyle type=\"text/css\"\u003E\n  .jsplayer-slide-error {\n    background-color: #000;\n    padding: 20% 0 13% !important;\n  }\n  .jsplayer-slide-error div {\n    text-align: center;\n  }\n  .jsplayer-slide-error img {\n    height: 79px !important;\n    margin: 0 0 10px;\n    width: 80px !important;\n  }\n  .jsplayer-slide-error .slide-error-body {\n    color: #eee;\n    font-family: 'Lucida Grande',Verdana, Arial, Helvetica, sans-serif;\n    padding: 0 !important;\n  }\n  .jsplayer-slide-error .slide-error-body p {\n    font-size: 0.8em;\n    line-height: 1.1em;\n    margin: 7px 0 11px;\n  }\n  .jsplayer-slide-error .slide-error-body input[type=button] {\n    margin: 7px 0 0;\n    padding: 7px 14px;\n  }\n\u003C/style\u003E\n\u003Cdiv class=\"jsplayer-slide-error\"\u003E\n  \u003Cdiv style=\"position:relative;\"\u003E\n    \u003Cimg src='//public.slidesharecdn.com/b/images/ssplayer/error_dudes-80x79.png' height=\"79\" width=\"80\" /\u003E\n    \u003Cdiv class=\"slide-error-body\"\u003E\n      \u003Cp\u003EWe were unable to load the slide.\u003C/p\u003E\n      \u003Cinput class=\"btn btn-large\" type=\"button\" value=\"Reload slide\" /\u003E\n    \u003C/div\u003E\n  \u003C/div\u003E\n\u003C/div\u003E\n","slide_titles":[],"autoplayOnEmbed":false,"iframe_code":"\u003Ciframe src=\"{iframe_url}\" width=\"{width}\" height=\"{height}\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen\u003E \u003C/iframe\u003E \u003Cdiv style=\"margin-bottom:5px\"\u003E \u003Cstrong\u003E \u003Ca href=\"https://www.slideshare.net/takakiyo/javaapi-62250041\" title=\"Java\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068API\u306e\u4e16\u754c\u3002\" target=\"_blank\"\u003EJava\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068API\u306e\u4e16\u754c\u3002\u003C/a\u003E \u003C/strong\u003E from \u003Cstrong\u003E\u003Ca href=\"http://www.slideshare.net/takakiyo\" target=\"_blank\"\u003ETakakiyo Tanaka\u003C/a\u003E\u003C/strong\u003E \u003C/div\u003E","hosted_in":"slideview","preload_after_pageload":true,"timestamp":1463818268,"track_slide_enable":1,"share_text":"Java\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068API\u306e\u4e16\u754c\u3002 by Takakiyo Tanaka via slideshare","sharescreen":{"slideshow_id":62250041,"url":"http://www.slideshare.net/takakiyo/javaapi-62250041","title":"Java\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3082\u3082\u3046\u9003\u3052\u3089\u308c\u306a\u3044\u3002\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068...","html":"\u003Cdiv class=\"shareScreen\"\u003E\n  \u003Ca href=\"#\" class=\"close\"\u003E\u0026times;\u003C/a\u003E\n  \u003Cul class=\"shareMethods\"\u003E\n    \u003Cli class=\"embed\"\u003E\n      \u003Clabel for=\"embed-code\"\u003EEmbed\u003C/label\u003E\n      \u003Cinput type='text' class=\"shareScreenEmbedCode\" value=\"code\" name=\"embed-code\" /\u003E\n    \u003C/li\u003E\n    \u003Cli class=\"url last\"\u003E\n      \u003Clabel for=\"embed-url\"\u003EURL\u003C/label\u003E\n      \u003Cinput type='text' class=\"shareScreenSSUrl\" value=\"code\" name=\"embed-url\" /\u003E\n    \u003C/li\u003E\n  \u003C/ul\u003E\n  \u003Cform class=\"emailShare\"\u003E\n    \u003Cfieldset\u003E\n      \u003Clegend\u003EEmail this\u003C/legend\u003E\n      \u003Cinput type=\"hidden\" class=\"shareDefaultMessage\" value=\"I think you will find this useful.\" /\u003E\n      \u003Cul\u003E\n        \u003Cli\u003E\n          \u003Clabel for=\"name\"\u003EYour name\u003C/label\u003E\n          \u003Cinput class='shareScreenFromName' type=\"text\" value=\"\" /\u003E\n        \u003C/li\u003E\n        \u003Cli\u003E\n          \u003Clabel for=\"mailID\"\u003EEmail to\u003C/label\u003E\n          \u003Cinput class=\"shareScreenMailID\" type=\"text\" value=\"\" /\u003E\n        \u003C/li\u003E\n        \u003Cli class=\"submit\"\u003E\n          \u003Clabel\u003E\u0026nbsp;\u003C/label\u003E\n          \u003Cinput class=\"shareSprite\" type=\"submit\" value=\"\" /\u003E\n        \u003C/li\u003E\n      \u003C/ul\u003E\n      \u003C/fieldset\u003E\n  \u003C/form\u003E\n\u003C/div\u003E\u003C!-- shareScreen ends here --\u003E\n","user_name":""},"slide_count":45,"next_slideshow_pos":null,"iframe_url":"//www.slideshare.net/slideshow/embed_code/key/VF3wDWFzwFUlw","mode":"image","player_type":"presentation"},"pvt":0,"show_branding":1,"totalSlides":45,"downloads":{"sp_isdwnl":true,"allow":true},"comments":{"ajaxurl":"/~/slideshow/comments/62250041.json","total_count":0,"captcha_url":"http://s3.amazonaws.com/ss-captchas/"},"li_bar":{"get_url":"/li_bar"},"user":{"clips_number":0,"member_type":"non-member","clipboards":null,"clipboards_url":null},"dev":false,"embeds_count":0,"key":false,"userimage_placeholder":"//public.slidesharecdn.com/b/images/user-48x48.png","flagging":{"flagged_value":null},"bizo_partner_id":870,"li_sponsored_content_related":{"placeholders":[{"id":"sponsored-content-1","position":0}],"url":"https://www.linkedin.com/csp/javascript"},"analytics_api_enabled":true,"is_free_author":false,"relative_static_origin_server":"//public.slidesharecdn.com/b/","startSlide":1,"category":{"featured":0},"useHttp":1,"doc":"jjugccc201605-160521081013","gam_cat_name":"software","facebook_app_id":"2490221586"});
  </script>

    <script src="http://public.slidesharecdn.com/b/ss_foundation/combined_player_presentation_init.js?3b33f94e05" type="text/javascript"></script>

    <script type="text/javascript">
      $(document).ready(function() {
        var $el = $('#svPlayerId');
        var classMap = {
          'document': 'document_player',
          'html': 'html_player',
          'infographic': 'infographic_player',
          'video': 'video_player'
        }

        player = new SSPlayer(slideshare_object.jsplayer);
        $(player).bind('slidechanged', function(e) {
          if (typeof(loadDataForSlide) === 'function') {
            loadDataForSlide(e.ssData.index);
          }
        });

        $el.addClass(classMap[player.config.player_type]);
      });
    </script>



  <script>

      slideshare_object.add_signin_link('.j-favorite');
      slideshare_object.add_login_source('.j-favorite', 'slideview.top_toolbar.like');
      slideshare_object.add_login_source('.j-save', 'slideview.top_toolbar.download');
      slideshare_object.addSigninFrom('.j-favorite', 'favorite');
      slideshare_object.bindToModalLogin('.j-favorite');
      slideshare_object.bindToModalLogin('.j-save');

    slideshare_object.bind_favorites('#slideview-container');

    $(document).ready(function() {

      // Favorites update

      // Remove some sidebar list items to limit the sidebar's height
      var mainContentHeight = $("#main-panel").height();
      var sidePanelItemHeight = $("#side-panel .j-related-item").first().outerHeight();
      var numItemToDisplay = Math.floor((mainContentHeight - 200) / sidePanelItemHeight);

      $("#side-panel .tabs-content .content").each(function() {
        $(this).find(".j-related-item").slice(numItemToDisplay - 2).remove();
      });

        var loadAdditionalFunctionality = function() {
          e = document.createElement('script');
          e.type = 'text/javascript';
          e.async = true;
          e.src =  '//public.slidesharecdn.com/b/ss_foundation/combined_slideview_loggedout.js?ff63bc54224ee78f0eddc8bedf8de33747fb2715';
          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s);
        };

        $(window).load(function() {
          loadAdditionalFunctionality();
        });


      // Load additionnal css
      $(window).load(function() {
        loadCSS("//public.slidesharecdn.com/b/ss_foundation/stylesheets/slideview.css?ff63bc54224ee78f0eddc8bedf8de33747fb2715");
      });
    });
  </script>

  

  <noscript>
    <img height="1" width="1" alt="" style="display:none;"
      src="//www.bizographics.com/collect/?pid=870&fmt=gif" alt="Bizographics tracking image" />
  </noscript>


  </body>
</html>
