Multi-modal NoSQL and cloud based microservices hot topics at JavaOne 2016

Java Enterprise Edition versions 7 through 9 were some of the most common session topics at this year’s JavaOne conference. From upcoming changes to developer hacks, there was plenty to learn, propose, and discuss. Here’s a quick look at information a few of the presenters shared.

Microservices + cloud is breaking the monolith

In the session, “Enterprise Java for the Cloud”, Rajiv Mordani and company talked about some of the reasons JavaEE is already in the midst of making changes for 8 and lining up more stuff for 9. “Right now there are too many choices for all the frameworks. JavaEE has historically provided a standard infrastructure, but cloud has changed the requirements. Microservices are the new orientation. JEE9 should serve as the new standard for cloud deployed apps to simplify deployment and maximize portability.”

Mordani also spoke at length about the changes that are needed to make JavaEE more functional in today’s development environment. The application concept itself is changing at a fundamental level. In the past, a standard JavaEE app might have three large archives consisting of .ear and .war files along with servlets, all packaged together with tight dependencies. But today, archives are exploding with microservices that are designed to evolve rapidly and independently to meet the requirements of distributed computing. And the destruction of the monolith doesn’t stop there.

“The cloud is becoming the platform. You write an application and it consumes individual services as building blocks from the cloud.” These services might include things like caching, messaging, logging, identity, monitoring, scaling, and much more. The enterprise app isn’t just being broken down into smaller pieces, it is losing parts of itself entirely as it relies more and more on externalized services.

Multi-modal NoSQL is being served up now

Bruno Souza and Otavio Santana had a lot of ground to cover in their session, “Multi-Cloud Scalability NoSQL with Cassandra, JavaEE, CDI & Containers”, but two key points stood out. As Souza declared, “The same tools Salesforce, Netflix, and Facebook are using to create their huge scale with reliable infrastructure, those are open source tools that work very well on small projects also.”
A variety of NoSQL databases are part of that toolset, and the presenters explored the marriage of two of these solutions: the Elasticsearch analytics engine and the Cassandra NoSQL DB. Each technology has its own strengths. In Santana’s words, “We store everything in Cassandra to write faster and read faster.” This column database is not speedy for searches, so it simply drives all the information for Elasticsearch which is much more responsive to queries. The pair together provides more performance than either separately.

Today’s tools make JavaEE even better

The “Rapid Development Tools for JavaEE8” session started with a few observations about NetBeans. In brief, with tools like NetBeans IDE the speed of enterprise application development jumps to a new level. It’s possible to create a new app in minutes from the ground up, choosing whatever tech is desired from REST APIs to JSP, AngularJS, and MVC-10. In a sense, NetBeans is a GUI wrapper around the Maven command prompt. But the plugins are what make NetBeans really shine.

hGaurav Gupta shared his thoughts about the complexity of enterprise development during this session. “It’s easy to understand a JavaEE example on github. They usually have three or four entities. But real business applications may have fifty to one hundred entities. You will go through each process and create the relationship picture in your mind. As the business system grows, your codebase and entities will grow.”

A developer may feel like they had a handle on the project at the time they worked on it, but things never stay the same. “After six months, you come back to the previous folder. You will see the project codebase has grown and completely changed. Now, you have to look up all the classes and figure out all the new relationships. If you could have one tool that would manage the documentation and generate the source code for you, that would be great.” According to Gupta, that tool is the JPA modeler that provides entity and DB modeling, JEE8 source code generation, and more. It’s ideal for fast prototyping since changes can be made in minutes.

With the functionality already available for the enterprise and the proposed changes that should bring JavaEE up to speed with today’s programming model, JavaOne 2017 is sure to be exciting! As always, The Server Side will have it covered.

App Architecture
Software Quality
Cloud Computing