JavaOne 2016: IBM’s Keynote – Accelerating Innovation with Java
During this year's JavaOne community keynote, IBM’s Java CTO and distinguished engineer, John Duimovich, shared the evolutionary business landscape where businesses, technologies and even users are ever-changing. In order to keep up with the changing market, Duimovich said there is a need for enterprise to leverage the cloud, microservices, etc. He declared that embracing open-source technologies, processes, and solutions as well as integrating and exposing APIs to existing enterprise IT and hybridization of the existing solution with cloud, are the keys to the future of enterprise.
According to Duimovich, IBM has been working with the community to build better architectures for the enterprise. Duimovich walked us through an example where they converted an existing application to implement the same with microservices. This was accomplished with Acme Air sample and benchmark:
The process started with identification and deployment of components such as “authentication-service”, “booking-service”, “web-ui”, etc. In-order to handle the new complexities, there now was a need to add some application monitoring, built-in analytics and auto-scaling. According to Duimovich, these are the basics of building a modern scalable application and microservices add incremental value. Here’s an example of a microservices platform:
A tip offered by Duimovich:
Once you microservice-enabled your application, you should be thinking about your digital transformation.
Duimovich briefly mentioned a modern scalable (open-sourced) application written from scratch called Game On!
Also, there is an open-source project called OpenWhisk. This is a serverless programming effort, so developers can just focus on the coding aspect.
Duimovich mentioned that in the past an app server would ramp-up to peak performance and would keep running for a while. But the new trend is to have more virtual machines (VMs), each starting and stopping either due to redeployment or scale-out. Hence the new norm for Java VMs has faster startup performance and a reduced footprint.
IBM also has a Docker image for IBM’s Java SDK, and a “SFJ” – a small footprint Java.
Duimovich then announced one of the bigger news items of the evening - that IBM plans to open-source its entire J9 VM for Java 9.
The IBM SDK is built on OpenJDK libraries and (Open) J9. There is an OMR component (as can be seen below) that contains all the language neutral runtime sub-components – the GC, the JIT, etc. The OMR (also known as Eclipse OMR) is a VM toolkit that helps various languages with being able to create their own runtimes.
For more information on OMR, please refer to an important presentation by Mark Stoodley of IBM on Eclipse OMR.
Next up was the following slide on a componentized, modular runtime called Liberty, that implements various profiles and fully supports EE 7. Liberty can also run community profiles.
Finally, to discuss the impact and prevalence of cognitive computing, Duimovich called his friends from the Java community – Java champions Daniel De Luca (Devoxx4Kids), James Weaver (Pivotal) and Stephen Janssen (Devoxx). Janssen talked about the Devoxx community, and the large number of articles and presentations that get created as content. The desire expressed by Janssen was to be able to index all the content and be able to smart query the indexed content. So they came up with a prototype architecture. In the figure below, you can see four cognitive services.
The Conversation service creates a bot that can answer straightforward questions.
The Retrieve & Rank service is for more complicated questions. It's based on the Apache Solr service and allows you to feed a multitude of documents, and map them to the complementing questions.
The Speech2Text service provides support for products like Alexa.
This was followed up by IBM Watson robot demo and an Alexa service demo. Here’s a YouTube link to the demo.