Wednesday Jun 22, 2016

A Two-Wheel Self-Balancing Robot: JBalancePI

Create a two-wheeled, self-balancing robot using Raspberry Pi 2 Model B with GPIO and I2C interfaces and Java 8 in part I of this new series by Jose Cruz. To control the robot's movement and balance, he uses three modules: a sensor that contains a three-axis gyroscope and an accelerometer, a pulse width modulation (PWM) servo driver, and a motor driver. These modules create a feedback control loop that balances the robot and automatically corrects its position. 

As Cruz explains, balancing a robot is an example of the classic inverted pendulum problem, in which a large mass is placed at the end of a pole. He provides an explanation of the mathematics that make this solution possible, and then he shows how to create the necessary Java ME 8 classes for controlling the robot. To learn more, read the article

Tuesday Jun 21, 2016

Tools and Methodology for Cloud

The Oracle Technology Network team invites you to attend the OTN Summit, an online event taking place July 12, 13 and 14, 2016. You will learn to create the next generation of  Java applications in the cloud with tools and methodologies from Oracle and Java community experts. Join us during one of three time zones: 

Americas July 12  - 9:30am to 1:00pm PT (Pacific Time, UTC -7) - Register Now 
EMEA July 13   - 9:30am to 1:00pm BST (British standard time, UTC +1) - Register Now
APAC – July 14 - 9:30am to 1:00pm IST (India Standard Time, UTC +5:30) - Register Now 

Inderjeet Singh, Executive Vice President, Fusion Middleware Development, will kick off the OTN Summit and discuss the Oracle Cloud based on questions from the Oracle Community. He will be followed by three technical sessions about application deployment including : 
  • How to Improve Your Java Development with Cloud based Agile and DevOps Platform by Shay Shmeltzer
  • Building Modern JavaScript Applications on Top of Java EE Backends by Geertjan Wielenga
  • The Pirates of DevOps: Delivering Software by Bruno Souza
Register now! Join this free and interactive event 

Thursday Jun 16, 2016

Get Involved with Java Standards!

Joining the Java Community Process is made easier with the new release of JSR 364. Now individuals can join as associates and won’t need to have their employers sign off on the participation, explains Heather VanCura in this interview. The long-criticized membership fee is also gone. Watch the interview and learn how you can participate as a JUG, individual or a company.  Provide feedback by sending email to or via the JSR 364 project page 

Wednesday Jun 15, 2016

Java Day Tokyo Keynote

Java Day Tokyo is the largest Java conference in Asia with a very long history of supporting the local Java community. Organized by Oracle, it took place on May 24th in Tokyo. This year’s theme was “Innovate, Collaborate with Java.” It featured Java 9 with the project Jigsaw introducing modularity, a great milestone and improvement to the Java platform. Seven tracks will cover innovation on the Java platform including Java SE, Java EE, IoT and Cloud. 

Senior Director Bernard Traversat talked about building Java SE platform for the cloud, and the upcoming Java 9 release. The openJDK has all the new features of Java 9.  Bernard Traversat encouraged the community to “download, try and give feedback on the Java 9 early access releases so all the Java 9 release can be fixed before the general availability (GA) release. Watch it here

Cloud application foundation director David Delabassee discusses microservices, DevOps, Java EE, and the Java EE ecosystem. Watch it here

Geertjan Wielenger discussed JDK 9 tools and analyzers, and demoed JavaScript support in NetBeans. Watch the demo here

Tuesday Jun 14, 2016

HTTP 2 and Web Development

HTTP 2 is the next big innovation for the web. Simone Bordet explains in this interview the main new features, the benefits for web applications and web in general,  the upcoming support for Java 9 and how the new protocol will change  web development 

Thursday Jun 09, 2016

Migrating from Desktop to Cloud-Native Web Applications

How can you provide a smooth migration path from a desktop application to a web application that has a similar user experience as the desktop application? In his new article "Migrating from Desktop to Cloud-Native Web Applications”, Thomas Kruse discusses how to use JavaFX as the foundation for hybrid desktop applications that are built by uniting the latest web and desktop frameworks.

This article explores an architecture that combines the best of the web and desktop worlds as a migration path and as an option for building next-generation desktop applications. As Kruse explains, to ease the migration path, it's prudent to consider integrating the desktop application being migrated with a new web-based application, even if this results in additional effort. 

The resulting hybrid application must support the web-based future and the current Swing- or JavaFX-based parts of the desktop application at the same time, because simply showing a web page inside the desktop application is insufficient. To provide the required level of integration, interaction between the elements of the desktop-based user interface and the web-based user interface must be supported in both directions. One way to achieve this is by using the JavaFX WebView component.

Through code examples, Kruse demonstrates a migration architecture that uses Oracle JavaScript Extension Toolkit. Leveraging a browser and the JavaFX WebView as integration technology provides a path for creating pure web-based clients for enterprise applications. By using HTTP endpoints, it is easy to provide access for external entities such as native mobile clients. As an additional benefit, this model fits nicely into a cloud-based application infrastructure, which provides the option of fully deploying to the cloud.

To learn more about this approach, read the article.

Thursday Jun 02, 2016

Convert an OpenJFX App to Mobile

Alexander Kouznetsov and José Pereda describe how to transition a desktop OpenJFX application into a cross-platform application using Gluon in a new article. Although OpenJFX is not ready to run on mobile devices--and it does not provide tools for configuring, debugging, and deploying apps--Gluon provides frameworks and tools that enable you to use OpenJFX for mobile development.

In Part 1 of the article, the authors address how to create a Gluon application project in NetBeans and then run your application on Android, iOS, and desktop devices. Part 2 covers how to adjust the application for use on mobile devices by dealing with issues such as screen size, multiple windows, touch input versus mouse input, application lifecycle, and saving application state. Part 3 describes options for using Glisten, a Gluon subcomponent, to make the application look and feel modern.  

Throughout the article, Kouznetsov and Pereda provide example code, caveats, and tips. To learn more, read the article.

Wednesday Jun 01, 2016

Excellence Award: Oracle Cloud Platform Innovation

Are you using one of the application development or deployment cloud services such as the Java Cloud service? Your application is in production or active development to improve processes, ROI or other business benefits? Submit a nomination for Oracle Excellence Award by June 20th, 2016. This is your chance to win a trip to Oracle OpenWorld.    

Your innovative solution must use at least one component or product from the category or categories below: 
  • Application Development & Deployment which includes 
  • Java Cloud Service
  • Developer Cloud Service
  • Application Container Cloud Service
  • Builder Cloud Service
  • Cloud Machine
  • Exalogic
  • WebLogic/Coherence
Other cloud categories are: 
  • Integration
  • Mobile
  • Content and Process
  • Security
  • Business Analytics
  • Data Integration and Governance
Nomination Criteria: 
Solution shows innovative and/or visionary use of these products.
There is a measurable level of impact such as ROI or other business benefit.
Solution should be in production or active development.
The nominated company is aware of and agrees to this nomination.

Learn more about the award nomination and how to submit

Tuesday May 31, 2016

From Big Data to Insights

By Editor in Chief Andrew Binstock

Welcome to the May/June issue of Java Magazine in which we look at how big data is done today. An unusual aspect of the platforms that handle big data is that they almost all run on Java — a testimony to its suitability for enterprise-scale needs.

However, today many of the primary tools don't require enterprise size to be useful. Apache Spark, for example, can work effectively on small, human-size databases. We show how this is done with one developer's project of querying a database of first names to find one for his unborn child. But even if you run Spark in enterprise apps, you'll find that it is much easier to use than earlier tools that required extensive setup and fiddling with systems. Our lead article on Apache 101 shows just how simple it can be to work with big data and produce useful results.

We also look at handling large datasets the traditional ways in two articles: with high-volume JDBC and through enormous in-memory data structures. The latter article shows a clever way of storing tens of gigabytes in memory but off the heap.

For those readers who do unit testing on their code (almost everyone, I trust), we preview the new features coming up in JUnit 5.

The rest of the issue shows off Ceylon, a recently released JVM language from Red Hat; how to set up Java cloud apps; and, for beginners, how generics work in Java — all topped off by our famous language quiz, our no-holds-barred book review, and my editorial. Enjoy!

Note: In our quest to support more devices, we have moved away from the former Java Magazine app. Currently, the magazine is available on the web and in PDF. To get the PDF, access the web page from a laptop or desktop and use the download icon on the right side of the page.

We will shortly complete migration of our back issues. Thank you for your patience while this process completes. If you're desperate for a specific back issue, drop me a note. We'll find a way to get it to you.

Like what you see? Wish we'd cover something else? Please send along your feedback, which I read attentively. You can always reach me at

Wednesday May 25, 2016

Java EE Webinar Replay

Learn how improvements to the Java platform, APIs and the Java language will help you develop innovative applications using parallel programming, integration with other languages and tools. Watch three webinar sessions from the April edition of Virtual Technology Summit.

Down-to-Earth Microservices with Java EE: Reza Rahman explores microservices using a simple but representative example using Java EE. You'll see how the Java EE programming model and APIs like JAX-RS, WebSocket, JSON-P, Bean Validation, CDI, JPA, EJB 3, JMS 2 and JTA align with the concept of microservices.

Thinking Beyond ORM in JPA:  Patrycja Wegrzynowicz discusses native-query support in JPA along with stored procedures and result set mappings in JPA 2.1. The code samples illustrate the details of the API, highlighting their strengths and weaknesses. the analysis reveals applicable use cases and most popular approaches. The summary provides guidelines on how and when to utilize native queries.

Visualizing Data in the Cloud with Oracle JET: Oracle JET is a free and open source toolkit, providing a solid basis for enterprise JavaScript applications, including built-in solutions for accessibility, modularity, and data visualization. In this code-driven session, Geertjan Wielenga presents everything you need to know to create maintainable enterprise applications in JavaScript!

Insider News from the Java Team at Oracle!



« June 2016