At the JavaOne 2013 Strategy Keynote

JavaOne 2013 – the 18th JavaOne Conference -- kicked off at San
Francisco’s Moscone Center with two very thoughtful and illuminating
presentations by Peter Utzschneider, Vice President, Java Product
Management, and Nandini Ramani, Vice President of Engineering, Java
Client and Embedded Platforms, both of Oracle. Together, they presented a
vision of Java adroitly adjusting to an industry, and even a world,
that is undergoing rapid change as we enter the Internet of Things.

Utzschneider began by celebrating the very fact of JavaOne 2013,
which offers more than 400 sessions, with attendees from no fewer than
92 countries and a wealth of educational and other festivities,
including a “Codegarten” where developers can improve their coding
skills, plus a code challenge using the Raspberry Pi. He gave a brief
update on the thriving state of Java, which is showing a 10% increase in
Java User Groups, a major new release of Java EE 7, increasing
readership of Java Magazine, along with a strong and growing Java
community.

He suggested that it is important for developers to remember that
Java remains the number one development platform in the world with most
of the infrastructure that powers the web running on Java.

The
theme of JavaOne 2013, “Make the Future Java” is unchanged from last
year’s, for a very good reason, according to Utzschneider. “There is a
lot going on in the industry,” he said, “with massive shifts and
innovation happening which pose huge challenges and opportunities for
Java.” The goal is to make Java better, stronger, more robust and
relevant for decades to come.

He presented a slide that illustrated another key point. “The
combination of mobility and social have created an incredible amount of
new data, of people interacting, sharing and producing things with new
services and new applications, all being driven by massive
infrastructure, mostly running on Java,” he noted. Some 204 million
messages are sent every minute, with 278,000 tweets, 20 million photos
viewed and 11,000 professional searches via the Internet.

All of this activity is creating an enormous amount of data in many
forms with growing volume and velocity. He noted: “Dealing with data –
historical, real-time, future, large, small – is creating a whole new
paradigm. We now have Big Data, fast data, all backed up through BI
(Business Intelligence) and analytics. The data itself has become the
life blood that allows developers to harness and innovate and build new
applications.”

Utzschneider referred to the many non-human driven devices that
will be coming on the Internet in the next two years – estimates vary
between 10 and 50 billion. “When I looked at these numbers,” he
observed, “I realized that once you get up into the billions, it doesn’t
matter. It’s huge, real, and happening.”

He said that the devices are driven by Moore’s Law hitting the
embedded space very hard, as devices become cheaper, more powerful and
most important – connected. “This is the about the Internet of Things,”
he said. “It will be a major game changer for Java developers and the
larger community.”

He pointed out that the mobile devices we use today for
applications and to connect with each other will become the ultimate
remote controls of the future, which will help us interact with and
control the physical world around us. Simultaneously, the shift to
cloud-based development is now in full swing.

With this change, he noted, “We will have to rethink security and
rethink how services can move from a container-based to a more
service-based model. And we want to be able to move our applications
from physical infrastructure to the cloud, but also be able to port it
to a different cloud if we wish.”

He emphasized that in stewarding the Java platform, Oracle is
committed to making the skills of Java developers applicable to the
future.

JavaOne 2013’s First DemoUtzschneider explained that,
without knowing it, attendees had been participating in the first demo
at this year’s JavaOne. “With partners, Hitachi Consulting and Eurotech,
we have built an end-to-end demo with sensors above all the doorway
portals which differentiate whether you are a dog or a human, whether
you are coming or going, and feeding this data to a Java SE based
application running on a gateway. After the computation is complete, it
goes to the cloud, which has analytics and BI (Business Intelligence)
applications, plus a Java-based application for visualization.”

The point of the demo is to demonstrate how, in a couple of weeks,
using off-the-shelf Java componentry, a sophisticated demo could be
built, and strung together, to prove the value of Java as an open
standard applicable from the smallest devices all the way up to
cloud-based development.

Nandini Ramani: Unifying the Java PlatformNandini Ramani
next shared the stage with Utzschneider, and began with an analysis of
how Java has thrived on a diverse spectrum of devices and markets,
resulting in implementations that have also become more siloed over the
years. “Moving forward,” she remarked, “we believe it’s important to
unify the platform, not just from an API perspective, but from a
language perspective.”

She observed that Java SE 7, CDC, and CLDC, differ more than they
share commonalities. From a language perspective, CLDC is still at the
Java 1.3 phase, while Java SE is heading towards Java 8 early in 2014.
The pace of Java ME has not kept up with Java SE.

“Java SE 8 is a huge step towards platform unification,” Ramani
said. “With SE 8, we will release the Compact Profile and will replace
CDC, so we will have one less implementation. We are also increasing
commonality both from an API and a language perspective. This means that
on the API front in ME 8 you will see familiar libraries like NIO, New
Collections, and so on. With the language we will have annotations,
generics, and even strings in switch.”

Developers will thus be able to use their skill sets across the
entire Java spectrum instead of being restricted to being a Java ME or
Java SE developer. With Java 8, developers will get code portability,
commonality of APIs and common tooling from the smallest device all the
way up to Java SE embedded to serverside Java SE.

She pointed to three things that are happening driving this
unification. First, Moore’s Law is making devices more capable. Second,
Java SE is being shrunk to fit into the embedded space and smaller
devices; and third, Java ME is being brought up to be in parity with
Java SE.

Java – The Logical Choice for the Internet of ThingsRamani
remarked that Oracle is working with embedded partners to make Java a
first-class citizen with their chip sets. Because there are so many
vendors with different operating systems and device drivers, embedded
development can be fragmented and challenging. “Everyone believes that
there is a need for an open standard platform for the Internet of Things
space that is coming – Java is the logical choice to address this
market,” explained Ramani.

Utzschneider noted that some of JavaOne 2013’s partners like
Freescale and Qualcomm come from the device side and are eager to make
this happen. Freescale will be giving a talk prior to Thursday’s
Community Keynote about why Java makes sense for the Internet of Things.

Ramani stated that in August of 2013, Oracle launched the Oracle
Java Platform Integrative Program that first gives partners the ability
to easily port Java Embedded to platforms that Oracle does not yet
support; and second, it gives them the ability to extend the platform
with their own libraries based on market verticals and segments, or
health care, manufacturing, smart home, or industrial automation. This
is part of a larger attempt to embrace and extend the Java ecosystem.

Qualcomm Conference Uplinq Hackathon Winner Andrew SugayaNext,
a surprise. Someone was invited onstage who, a mere 12 days before, was
unknown to Oracle. This was Andrew Sugaya, winner of the Grand Prize at
the 2013 Qualcomm Conference Uplinq Hackathon. Sugaya works for APX
Labs in the rapid development of augmented reality solutions for various
applications. He explained how, at the Hackathon, he was given
breakfast and a black box that he did not know how to use. Though he had
coded in Java, he had never used Java ME before. He found it very easy
to pick up and, using ME, he took the platform and took temperature and
brightness data from it, pushed the data out to the network cloud, and
into a server which processed the data and was able to change the color
and brightness of different light bulbs.

“Now the craziest
thing,” said Sugaya, “is that it’s not just the light bulbs – it could
be anything. It could be a toaster, a beer mug, even the chairs you are
sitting in now. Everything in the future is going to be connected. Some
of the work I do at Apex labs is trying to interface with these devices
that in the future will be everywhere. We do that through wearable
devices.”

That he was able to accomplish this without ever
having used Java ME before attests to its appropriateness for embedded
devices. Utzschneider commented: “This is a good example of what should
happen in the next couple of years. People should be able to deploy
their Java skills, pick up a device and write code, and not have to
worry about the things that have been problematic in the embedded space.
You won’t have to write memory management from scratch before you can
even get started. We are trying to put simplicity into the platform.”

Ramani
pointed to features coming in Java SE 8 next year, including lambdas,
Javascript engine Nashorn, and PermGen removal. Beyond Java 8, the
modular Java is coming by way of Project Jigsaw. Oracle is considering a
wish list of ideas from the Java community, some of which are in
progress, such as Project Sumatra.

Developers were encouraged to
check out early access of Java SE 8 and provide feedback. “Tell us what
doesn’t work,” said Ramani. Oracle is also seeking feedback on Java ME 8
and the Raspberry Pi.

Java EE 7: Making it Easy to Develop Leading-Edge Enterprise and Web ApplicationsSunday’s strategy keynote continued as
Cameron Purdy, Vice President, Cloud Application Foundation, at Oracle,
joined Peter Utzschneider onstage and talked about the release of Java
EE 7 in the summer of 2013. Purdy explained that Java EE 7 had three
primary areas of focus. First, it offered HTML5 support with such things
as WebsSockets, Server-Sent events, JSON and RESTful support, all of
which help developers build modern web-based application. Second, the
enterprise aspect of Java EE always gets strong attention, so the adding
of batch capabilities was important. Third, developer productivity was a
key so Java EE 7 requires less boilerplate code through features like
CDI (Context and Dependency Injection) and more annotated POJOs.

Purdy
pointed out that when Java EE 7 was announced in 2011, the major theme
was cloud development. When it was released, the greatest focus was on
support for HTML5. “There is a ton of work related to the cloud in Java
EE 7,” he explained. “There is support for things like new security
roles in the cloud and being able to automatically wire up a database
and default resources, kind of like CDI at the application level, being
able to pump a schema into that database or being able to easily consume
RESTful services from one application to another. And lastly, with
JavaServer Faces we can actually skin applications. If we have a
multi-tenanted application we can skin it for each tenant.”

Looking
ahead, Purdy said that the continual focus is on making it easy for
developers to develop leading-edge enterprise and web applications. “We
want to support the latest standards and keep these technologies
relevant. We are working on JCache, an application that is coming to
fruition. We are improving JSON binding and other technologies. The
major focus is making it a vibrant technology that is relevant to what
the industry is doing.”

Purdy remarked that EE 7 has gotten
major support from the community and partners. “When EE 7 was launched
the number of downloads and dial-ins and people watching web casts
exceeded all of our expectations,” said Purdy. “It’s had a great
reception.”

Open Sourcing Project AvatarPeter
Utzschneider reminded Purdy of Project Avatar, which Purdy announced in
2011. Purdy described its focus: “You take a simple Java EE application
and then you start to build on the HTML5 capabilities that we introduced
in EE 7. So, for example, we’re using WebSocket and Server-Sent events
to provide programming models in addition to the typical request
response. And adding support for NoSQL databases. And we’re leveraging
Project Nashorn in Java SE to make the Java EE container polyglot. We’re
extending EE to support Javascript and have node services running in a
Java application server. We are also announcing today that we are open
sourcing Project Avatar at avatar.java.net. It’s a brand new open source
project with some pretty exciting stuff in there.”