Tuesday Mar 13, 2012

Key to the Java EE 6 Platform: NetBeans IDE 7.1

Oracle’s Geertjan Wielenga has a new article up on otn/java, titled “Key to the Java EE 6 Platform: NetBeans IDE 7.1,” in which he shows how the NetBeans IDE provides the tools, templates, and code generators to support Java EE 6 and its main specifications.

He initially observes that, “When you begin to grasp the breadth and ambition of the Java EE 6 Platform, which covers everything from the model (JPA and Bean Validation), to the controller (EJB and Servlets), to the view (JavaServer Faces), a simple entry point is difficult to find. Enter NetBeans IDE 7.1, which is Oracle’s IDE for the Java Platform, created by the same group of developers who created the Java EE 6 Platform. Here you find tools, templates, and code generators intended to be used in combination with the set of specifications that the Java EE 6 Platform encompasses.”

After offering a tour of the NetBeans IDE 7.1 tools that support Java EE 6, Wielenga ends on a cautionary note:

“While code generators and tools such as those described here are great to help you get your feet wet, a danger is that a lot of code is generated that you don't understand and that you therefore do not know how to debug and maintain. The good news is that far less code needs to be generated in Java EE 6 than before, making it far easier to understand and maintain.

Nevertheless, it is advisable to use tools of this kind intelligently. Start small, focusing on specific APIs. Get to know them via the generated code and then slowly extend the application as you become more familiar with the Java EE 6 Platform. Once you are comfortable with the spec, the tools aim to help you become more productive: combining the leanness of the Java EE 6 Platform with the tools in the IDE, you'll be rapidly creating the core of your application.”

Check out the article.


Wednesday Mar 07, 2012

Java Champion Jonas Bonér Explains the Akka Framework

In a new interview on otn/java, titled “Java Champion Jonas Bonér Explains the Akka Framework,” Jonas Bonér explores the intricacies of Akka, an open source platform for next-generation event-driven, scalable, fault-tolerant architectures on the JVM. He argues that the way concurrency is typically performed in Java with shared-state consistency is needlessly difficult, resulting in concurrent access to shared mutable state guarded by locks, which are notoriously hard to understand and get right. Locks, from Bonér’s perspective, do not compose, scale poorly, have complicated error recovery and are, generally, too low level.

From the article itself:

“Akka offers multiple solutions to the concurrency problem. It provides a toolkit for addressing concurrency, scalability, and high-availability concerns. It provides one thing to learn and one thing to use. Akka has multiple tools that will help you as a developer. Actors, futures, agents, and software transactional memory all raise the abstraction level and make it easer to write, understand, and maintain concurrent, scalable, fault-tolerant code. Instead of messing around with very low-level constructs, you think in terms of higher-level concepts such as message flows and transactions. What is usually solved by use of low-level plumbing in standard enterprise applications becomes workflow in Akka. So you start to think about how the data flows in the systems rather than how to get the concurrency and scalability exactly right.”

Read the complete article here.

Monday Oct 17, 2011

The Road to Java EE 7: Is It All About the Cloud?

PanelWith considerable enthusiasm I attended “The Road to Java EE 7: Is It All About the Cloud?” (23423) session, a panel of EE experts, late Wednesday morning at JavaOne 2011. I always find Java EE developers and architects to be among the smartest people around. Last year’s Java EE panel session, covered on otn/java and titled, “Where We Are and Where We’re Going” was fraught with more uncertainty about the future of Java EE. This year, it’s clear: Java EE is heading towards the Cloud. The session this year was packed even in a much larger room than last, with roughly three times the number of attendees as last year.

The panel consisted of the following people:
--Adam Bien, Consultant, Author, Java EE Expert
--David Blevins, Apache Software Foundation
--Emmanuel Bernard, JBoss Platform Architect, Red Hat
--Reza Rahman, Senior Software Engineer/Community Outreach Activist, Caucho Technology
--Linda DeMichiel, Java EE 7 Specification Lead, Oracle

The panel, moderated by Oracle’s Alexis Moussine-Pouchkine, Java EE Developer Advocate, Oracle France, addressed many issues, including:
• The current state of Java EE 6 adoption
• The motivations for Java EE 7
• What the cloud really means for Java EE 7
• Modularity in Java EE.next
• Better streamlined component models
• Status of ongoing work in the JCP
* Services and resources provisioning.
* Virtualization intersection between virtualization and PaaS?
* Meta-data: are XML deployment descriptors good after all?

Look for a detailed blow-by-blow account of the discussion on otn/java in coming weeks.

Interfacing with the Interface: JavaFX 2.0, Wiimote, Kinect, and More

Oracle’s Java Technology Evangelist Simon Ritter, one of the most fun-loving Java developers I know, with a long history of JavaOne gadgetry, gave a session (25011) at JavaOne 2011 on Wednesday afternoon showing how “open source APIs for the Kinect, the Wiimote combined with a tilt-compensated compass, a head-mounted stereoscopic display, and some old Sun SPOTs can build a truly immersive application.” The large audience appeared immersed throughout the session in Ritter's colorful and clearly delineated demos.

Simon RitterHe explained that the way we interact with computers is rapidly changing and that the days of the keyboard and mouse are gone. (Maybe so, but I'm sitting here using a keyboard and mouse.) And with his usual dramatic flair, Ritter invited attendees to behold the rise of something he calls the “gestural interface”.

The presentation used the latest JavaFX 2.0 "pure Java" implementation and began with an overview of the different components being used and explained how they are all brought together to enable the user to interact with interfaces in ways never before possible. Building an interface with the new JavaFX 2.0, Simon pointed out, is a continuation of the JavaFX product line, which is now a Java API with no scripting language and most APIs ported across while features such as binding and animation have required more thought. JavaFX now embraces more web technologies and enables the use of CSS for all JavaFX controls and a web specification for Drag-and-Drop. Also, developers use Scenegraph instead of DOM. He pointed to both pro’s and con’s of using JavaFX with gestural interfaces. On the plus side, it has built-in features such as data binding and animations, is a relatively simple API, and is able to build rich, visually appealing interfaces. On the negative side, JavaFX is currently limited to a 2D environment. The engineering team is currently working on 3D support.

He contrasted this with jMonkey Engine (jME), a game engine made especially for modern 3D development, written purely in Java and consisting of a collection of libraries that has game engine facilities and a full physics engine, but is hard to program and focuses on games and not generic interfaces. Ritter proceeded to demonstrate how to use the Nintendo Wiimote with a Java interface. The Wiimote communicates using a Bluetooth stack that needs to support L2CAP, has JSR-82 Java Bluetooth API implementation plus Wiimote-specific Java APIs (IR sensors, accelerometer, etc), most of which is free and open source.

He then presented a demo making use of the Sun Spot controller, a gyro sensor for precise rotation data, three bend sensors for finger movement for head tracking and data gloves, hand and head tracking sensors and hardware and more.

This followed with a demo using the Kinect Sensor with Java for 3D sensing. Not to be lost are his larger points: Java is still a really cool and powerful language. It is easy to interface with exotic hardware using free and open source libraries to build interesting applications using modern hardware.

After a brief Q&A, Simon -- as he always does -- implored attendees to be inspired and go build their own FUN stuff.

Getting Started with Embedded Java -- Sense, Control, Connect, Store, Sync

At JavaOne 2011, Terrence Barr, Senior Technologist, Mobile & Embedded, Oracle Germany, presided over a two-hour HOL (Hands-On-Lab) on Monday in which he taught developers how to build an embedded Java solution that senses and controls the environment, stores data, and connects to back-end databases for synchronization and further processing. The session offered considerable detail along with step-by-step exercises as participants learned how to create the embedded EnviroTracker system and application which tracks and processes environmental data. The application interfaces with a microcontroller to read sensor input (ambient light brightness), to control output (and LED), and then further processes the sensor data.

The lab focused on:
• The benefits of Java technology in the embedded space
• The components of embedded Java platforms
• Setting up an embedded Java platform
• Interfacing between the embedded Java platform, the microcontroller, and I/O
• Accessing and controlling I/O from Java
• Processing sensor data

Barr took developers through seven basic tasks or exercises:

1. Create the EnviroTracker
2. Install the OJEC (Oracle Java ME Embedded Client) on the Development Host
The Oracle Java Micro Edition Embedded Client (OJEC) implements the CDC Platform configuration.
3. Develop and Test Your First Embedded Java Application..
4. Install OJEC on the Target Platform and Run Your Java Application
5: Understand I/O and the Arduino Microcontroller
6: EnviroTracker V1: First Contact
7: EnviroTracker V2: Continuous Monitoring and Processing

By the end of a rigorous and demanding, but satisfying two hours, attendees had built a real-world embedded system and created the EnviroTracker Application to track environmental sensor data. They learned how to install and use embedded Java runtimes and tools, and how to interface with I/O devices and microcontrollers from Java applications.

The take home message: Creating sophisticated embedded Java systems and applications is easy due to the platform independence of the Java language and runtime, the scalability of pre-existing Java skills to embedded development, and the comprehensive support provided by mature and feature-rich developer tools.

For more info, go to Terrence Barr's blog.

About

Insider News from the Java Team at Oracle!

duke
javeone logo
Links


Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
2
5
6
7
12
13
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today