ibm javaone community keynote 2015: cask strength java aged 20 years
TRANSCRIPT
![Page 1: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/1.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
John DuimovichIBM Distinguished EngineerJava CTO
@jduimovich
Cask Strength Java: Aged 20 Years
Tim VanderhamVP, Cloud Platform Services Development
@vanderham
![Page 2: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/2.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Cheers to Java!2
IBM celebrates 20 years of innovation in the leading industry led programming platform!
Raise a glass!To the next 20 years!
Sorry Duke, next year for you!
![Page 3: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/3.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
What’s driving today’s Enterprise
3
Ecosystem “innovation” and “speed to market”
Frontline Decision Making Insights are driving processes re-invention
Stressed Developers
DevOps, CI/CD
Mobile, APIs
Analytics, Big Data
Cloud
![Page 4: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/4.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Steer
Dev/Test
Deploy
OperateDevOps
Continuous Feedback
Design Thinking
Containers
Extreme Agile
Mobile
IoT
APIs
Microservices
Tooling
Runtimes
Cloud provides developers with instant access to the APIs, services and infrastructure they need to launch their ideas into the present.
App development today is about speed and choice
![Page 5: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/5.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
So, checklist5
Performance, Scalability, Robust, Developers, Tools, Open
Auto-Scale, Management, DevOps, Application Services, Open
What about APIs, Microservices, Mobile, Analytics ?
![Page 6: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/6.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
APIs are essential to composable business
APIs
Well designed APIs• Do something useful• Hide the complexity• Have a simple interface• Are easy to share and reuse• Are well documented• Can be used both inside and
outside the company• Can be combined with other
APIs
Agencydevelopers
Partnerdevelopers
Internaldevelopers
Remotedevelopers
![Page 7: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/7.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
APIs power the modern, digital supply chain
API
API
API
Enterprise IT team
Systems of Record(Processes, services and data)
Reuses
Shares
APICombines
Shares
Composes
APIEnhances
External APIsAPI
Consumes
API
API
Developers can share, re-use, (re)combine and deliver new capabilities quickerComposing new capabilities using internally shared APIs and external APIs
![Page 8: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/8.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
API
API
Mobile users
External Mobile development agency
API
Using APIs to ease collaboration with external Mobile dev teams
Uses APIs
Internal IT team
Creates APIs
Creates Mobile apps
Uses backend processes, services and data
External teams can build engaging and integrated Mobile apps fasterInternal teams retain control and expose only what is required
![Page 9: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/9.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Mobility and Internet of Things drive new use cases, particularly around real-time contextual experience
![Page 10: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/10.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
APIs bring together existing systems and modern tools
Internet of Things
MobilePublic Cloud
Social WebPartners
Private Cloud
Back-office ProcessesAnalytics
Services Databases
CRM
Systems of Interaction
![Page 11: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/11.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
IBM Bluemix™ – The Digital Innovation Platform Build, run, scale and manage applications in the cloud
Built on a foundation of open technology.
Developers gain
• Prototype and deploy new apps. Fast.
• Access IBM’s services, 3rd party and open source services. Instantly.
• Connect mobile apps with systems of record.
• Rapidly scale new apps and services with infrastructure services from IBM SoftLayer.
• Cloud Integration • Security • Internet of Things
Bluemix provides expertise and services across market leading categories: • Business Analytics• Database• Mobile and Web Apps
• DevOps• Big Data• Watson Services
www.bluemix.net
![Page 12: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/12.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years 12
20 years, eh ?
![Page 13: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/13.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years 13
IBM and Java: Happy 20th Birthday!
IBM is a long-term licensees of Java, shipping compliant Java runtimes for 20 years– Compliance, developer ecosystem, specifications, competitive runtimes and broad industry support
First IBM JDKs supported 1.1.x– Basic “Classic” port
Second Generation added (up to 1.42)– High performance Sovereign JIT, scalable garbage collectors– Security including HW acceleration– ORB (IDL, RMI)– XML (Xerces / Xalan)– Jikes RVM – a JVM written fully in Java!
Third Generation (Java 5 and up) – New Runtime– The J9 Virtual Machine and Testarossa JIT, modular, high performance– Configurable embedded runtime to high “watch to a mainframe” – Generational Type Accurate GC, Region Based GC (Balanced)– Dynamic DLLs (Shared Classes)– GPU Acceleration
![Page 14: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/14.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years 14
Jan '02Jul '02
Jan '03Jul '03
Jan '04July '04
Jan '05Jul '05
Jan '06Jul '06
Jan '070
50
100
150
200
Thou
sand
s IBMpSeries
IBMxSeries
JRockit
HPHotSpot
SunHotSpt
Old fun benchmarks … over 4x in 5 years!
SPARC
Opteron
Itanium2
Power5
Opteron
Xeon
Xeon
Power6
![Page 15: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/15.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Java 6.0.16.4 Java 6.1.8.4 Java 7.0.9.0 Java 7.1.3.0 Java 8.0.1.0 Java 8.0.1.10. proto
1/Geometric mean of Databricks-core benchmarks time on Linux x86-64 (Haswell)
1.0X 1.53X 2.00X 2.29X 2.47X 2.76X
Java optimizations continuedApache Spark 1.4 running Databricks, IBM JDK
![Page 16: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/16.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Java for Big Data: Apache Spark
• Java's deep performance optimization enabler for new platforms• Scala, Apache Spark, Apache Hadoop Big Data stack
• Optimization has delivered double digit percentage improvements• JIT feedback to language/platform designers, • New serialization optimizations
• Next Generation POWER and System Z offload exploitation• Security – microcoded crypto algorithms• RDMA – faster networking IO• CAPI/Flash – faster persistence for RDDs• FPGA – custom compression codecs• GPU – highly concurrent algorithm offloading
• Delivers 10x to 80x performance improvement in key components
![Page 17: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/17.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Significant Daytrader3 throughput improvements using HW Acceleration of SSL on Java 8
Linux X86-64 AIX POWER 64
ZOS System Z 64
AESEncryption
+21% +31% +41%
ECCEncryption
+267% +350% +437%
Note - Comparison is versus identical Java 8 with hardware crypto disabled.
Java 8 improvements to Java Cryptography Architecture (JCA)
Micro benchmarks focused on JCA improved by up to 22X
![Page 18: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/18.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Performance on Cloud
IBM Containers based on Docker 2x density, 2x faster startup
18
1 3 5 7 90
10203040
Startup Time
No Shar-ing
Shared Classes
Instances
Tim
e (s
)
1 2 3 4 5 6 7 8 9 100
500100015002000
Memory Use
Instances
MB
Throughput 14.5% fasterStartup 17% fasterRampup 32% faster
IBM Liberty Java 8 Bluemix improvements
![Page 19: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/19.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
What’s Next?
19
PolyglotCloud
![Page 20: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/20.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
JavaScript (yes, I know, it’s not Java)
Node.js is a leading emerging standard for creating APIs and microservices – Key for enabling mobile, IoT and new web applications
Applications are being build with scalable APIs and microservices for Hybrid Cloud.– Our customers are driving to digital transformation and are building out from Java applications
Rapid innovation being driven by the Node.js and JavaScript communities – Java ecosystem can learn from this
Open Ecosystems enable interaction, learning, innovation!– How can the Java and Node.js communities accelerate developer innovation?– How can the Java and Node.js ecosystems drive interop, best practices?
Solve new problems facing developers – multi-language application debug, diagnostics, trace
![Page 21: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/21.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Microservices leveraging your existing Java environment and Node.js
Enterprise Applicationsand Big Data
Mobile, IoT, Web
Aggregation
Partners
Apps
Access
Info
Process
Interaction
API Lifecycle
+ -
Hybrid Cloud
Microservices =APIs+ Business Logic
Java
A Hybrid Cloud Architecture for Digital Transformation
![Page 22: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/22.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Polyglot and Java
Polyglot and Cloud will drive our runtimes together
Our customers expect to manage each language with a common set of tools!
Interop is key– Debug, trace, diagnostics– FFI, Layout in Java 9/10
22
![Page 23: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/23.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Polyglot with Node.js, Express
IBM Health Center for Node.js Common Tools for Developers
– “Learn once, use many places”
23
![Page 24: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/24.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years 24
Ruby method profiling via Health Center
![Page 25: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/25.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Multiple Language Runtimes are Coming
CommonComponents
JIT GC Monitoring
Threads
Platform ports
Diagnostics
Tool APIs
Polyglot,Common Tools, Interoperable,PerformanceOpen Source
https://www.youtube.com/watch?v=kOnyJurioyw
![Page 26: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/26.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
26
DEMO
What could John do in an hour and a IBM Vice President could demo?(yeah, it’s that easy)
![Page 27: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/27.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
27
Fun with words and analytics
Personality Insights Java Starter ApplicationThe Watson Personality Insights service uses linguistic analytics to extract a spectrum of cognitive and social characteristics from the text data that a person generates through text messages, tweets, posts, and more.
![Page 28: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/28.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
http://duimovichjavaone2015.mybluemix.net/
28
http://duimovich.blogspot.com/2012/11/packed-objects-in-java.html
![Page 29: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/29.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
http://duimovichjavaone2015.mybluemix.net/
29
http://mreinhold.org/blog/jigsaw-modular-images
![Page 30: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/30.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Analytics also has pretty pictures
30
![Page 31: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/31.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
API Demo
31
![Page 32: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/32.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Import existing WebService
Creating an API
![Page 33: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/33.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Set Rate Limits, Quotas, Security Policy
![Page 34: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/34.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Publish to Bluemix
![Page 35: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/35.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Custom API on Bluemix
![Page 36: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/36.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
http://smartbookstwitter.eu-gb.mybluemix.net/
![Page 37: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/37.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Use Eclipse to direct deploy your application!
![Page 38: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/38.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
![Page 39: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/39.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
IBM support for Java Developers transition to the Cloud
We are coming to you! – JavaOne, Devoxx, Jfokus, meetups, User Groups, Hackathons with hands-on Workshops
We have created tools, samples, courses• Tutorials• Sample code on • Hands-on Labs using Cloud Services • Courseware and certification
http://www.ibm.com/developerworks/java/cloud/development/index.html
Tools and Sample Code
Courses and Tutorials
https://developer.ibm.com/open/Open source projects and samples
![Page 40: IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years](https://reader035.vdocuments.mx/reader035/viewer/2022062523/58e8c3c81a28abc9058b6023/html5/thumbnails/40.jpg)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
@vanderham @jduimovich #bluemix -- #ibmcloud
#javaone