Wednesday Sep 25, 2013

Session Report: Demystifying Java EE

Adam Bien, who is not only a Java Champion and JavaOne Rock Star, but was named in 2010 as Oracle Magazine’s Java Developer of the Year, spoke to an enthusiastic crowd where he addressed some core issues about Java EE. He encouraged questions – “The more heretical or offensive the better.” It was obvious that Bien loves to think about and code in Java. He remarked, “The more I code the happier I am”. Spoken like a hard-core Java developer!

First, he asked, “What is Java EE? Innovation vs. Standardization”?  For Bien, Java EE is nothing but a release of co-existing APIs. Before Java EE, there was a mess with lots of application servers, with absolutely no chance of finding two application servers with similar APIs. Java EE resulted in a huge simplification. Now with Java EE 7 a wealth of are applications available. Java EE, insisted Bien, was never about innovation because building a standard precludes innovation. “Java EE will always lag behind,” he observed. “For instance, Hibernate will always have more features than JPA. Spring will always have more features than CDI. Java EE is the 80% that makes products work. It was never about innovation.”

He boiled down the whole point of Java EE: “What matters are small WARs – the smaller the WAR, the faster the build and deployment. The faster the build and deployment, the more productive you become,” he insisted. He explained that Java EE enables you to not put everything into the WAR and place as much as possible on the application server and less on the WAR. He explained that most of his WARs in Java EE 6 or Java EE 7 projects are very small

Bien asked, “Are EJBs bloated?” He explained that the question implies some voodoo stuff behind the scenes making EJBs bloated. He offered a means to answer this question.

He went on to answer a wealth of questions in a way that was thoughtful, incisive, witty and, at times, a bit provocative.

Here's some of the topics/issues (pulled directly from his slides) that Adam touched on in this fast-paced session:

*Do we need transactions?
*Is Dependency Injection Black Magic, VooDoo, or both?
*Is EJB pooling needed? Are EJBs bloated? What happens, if you violate the EJB programming restrictions?
*Why AOP didn't take off in Java EE?
*Stateless vs. Stateful programming model?
*HA without a Cluster?
*Are there any POJOs out there? What happens during deployment?
*Is Java EE faster than J2EE? Does JMS 2.0 scale and perform well? Is Java EE only suitable for the "big" enterprise?
*Is JSF the silver bullet? What is the deal with CORBA and RMI?
*How to unit test Java EE applications? Why we don't build a best of breed server from scratch?

This was a lively, entertaining and information-packed session. Just what you would expect from a pro developer as Adam Bien. I highly recommend viewing this session.

Adam Bien’s Blog
Check out Parleys.com where you can listen to the session in early October.

Friday Sep 06, 2013

Java Champion/Rock Star Adam Bien at JavaOne 2013

Java Champions are developers who have made important contributions to the Java community; JavaOne Rock Stars are developers who have given highly rated sessions at JavaOne. Adam Bien is both – and one of the most distinguished Java developers in the community. He is an Expert Group member for the Java EE 6/7, EJB 3.X, JAX-RS and JPA 2.X JSRs and is an architect and developer for Java SE and Java EE projects. He has edited several books about JavaFX, J2EE, and Java EE, and is the author of Real World Java EE Patterns—Rethinking Best Practices, and Real World Java EE Night Hacks.

Bien is a Top Java Ambassador 2012, and JavaOne 2009, 2011, 2012 Rock Star. If all this were not enough, he was, in 2010, named Oracle Magazine’s Java Developer of the Year.

His 2013 sessions include:

CON2196: “Lean and Opinionated Java EE 7 Applications”
CON2229: “Architecting Enterprise JavaFX 8 Applications”
CON2230:  “Unit Tests Don’t Break: Stress-Testing Java EE Applications”
CON2231: “Demystifying Java EE”
UGF10369: “Cool NetBeans Tips and Tricks for Java EE 7 Development”

Q: Tell us about your JavaOne sessions.

Bien: In “Cool NetBeans Tips and Tricks for Java EE 7 Development,” I will introduce my favorite NetBeans features. I think I may surprise some attendees with NetBean's productivity and effectiveness.

In “Architecting Enterprise JavaFX 8 Applications,” I would like to introduce a Model View Presenter Architecture with Dependency Injection based on a "framework," only containing two classes. I would also like to highlight the interaction with SceneBuilder, the JavaFX WYSIWYG editor, without being too heavily dependent on it.

In the session "Demystifying Java EE," I will discuss some recurring misconceptions about the concepts and inner workings of Java EE. There is no magic in Java EE – Java EE 7 is very effective, if you follow some rules.

In “Lean and Opinionated Java EE 7 Applications,” I will introduce opinionated approaches and best practices for the design and implementation of Java EE 7 applications. I'm probably going to shock some architects, but the developers should like this session.

In “Unit Tests Don’t Break: Stress-Testing Java EE Applications,” I plan to stress test a Java EE 7 application and monitor the results in real time. Stress testing is incredibly important and sometimes not even a part of the development cycle.

Q: In addition to your sessions, what do you have planned for JavaOne?

Bien: JavaOne is one of the few conferences where I attend other sessions -- from dawn to dusk. In recent years there was not always time to pick lunch. At NetBeans/GlassFish days before JavaOne I will probably meet some Java friends, while at the actual JavaOne I’ve never managed to do that. The technical content is too good and there is not enough time between the sessions.

Q: Tell us about what’s happening with Enterprise JavaFX 8 apps.

Bien: In the recent edition of airhacks.com I started with HTML 5, but most of the attendees waited for Java FX 8 news. There are a lot of Swing applications out there. Migration from Swing to JavaFX is one of the FAQs. Also JavaFX is "just" Java. You can develop now from the User Interface to the back end using the same language, tools, and environments. You can use the same debugger, profiler or memory analyzer for all of your application tiers and layers. JavaFX suits perfectly enterprise application needs.

Q: What have you been working on lately?

Bien: I’ve helped my customers implement Java EE 7 and JavaFX applications. Also, I ported lightfish.adam-bien.com to Java EE 7 and GlassFish v4 and was even able to simplify the code. I also ported Apache FTP Mina to JavaEE7: http://e2ftp.adam-bien.com

Q: What are your expectations for Java EE 7? For Java SE 8?

Bien: I was already very happy with Java EE 6, so Java EE 7 can only exceed my expectations. I'm using daily builds of JavaFX coming with JDK 1.8 for my "leisure" activities. Here I would expect more stability and even better performance. 

Q: How do you assess the state of Java today?

Bien: Java is more interesting for building apps, than ever. And the interest is huge. This year there is an increased tendency to sell out workshops, sessions and conferences. Java 8 together with Java EE 7 and JavaFX 8 will make it even more interesting.

Java has only one problem: its age. We tend to forget how performant, scalable, ubiquitous, and "cutting edge" the Java ecosystem actually is.

Q: What should Java developers understand about unit testing?

Bien: Don't overdo it. Statistics do not matter. Test complex stuff first -- and there is no difference between writing tests for Java SE and Java EE applications

Q: Tell us about ways NetBeans can be used for Java EE 7 development?

A: With NetBeans I'm still able to surprise seasoned developers with productivity without any magic. As a contractor/freelancer I really don't like to spend any time with IDE maintenance and setup. With NetBeans I'm able to set up my full Java EE environment in about a minute on Linux, Windows or Mac. Without any plugins, configurations or restarts. For that reason, I'm using NetBeans daily builds without any friction. What I like the most: NetBeans supports me with integrated code completion, JavaDoc, hints and occasional helpers on demand (like, e.g., creation of beans.xml or persistence.xml) without excessive code generation or opaque wizards. You can achieve 80% with two shortcuts: ctrl + space and alt + enter.

Adam Bien’s Blog

Wednesday Jul 17, 2013

And The Winners Are.... the most popular articles on otn

Here is a list of the most popular articles, in terms of traffic, on otn/java in the last 12 months. It's, as usual, a rich mix of Java and Java-related technologies, types of articles and variety of authors.

Check out any that you might have missed and vote with your visit.


1.  “Getting Started with Java® SE Embedded on the Raspberry Pi" by Bill Courington and Gary Collins August 2012

2. “How to Get Started (FAST!) with JavaFX 2 and Scene Builder”  by Mark Heckler  November 2012

3. “Arun Gupta on Higher Productivity from Embracing HTML5 with Java EE 7”  by Janice J. Heiss  February 2013

4. “Java Experts on the State of Java” by Janice J. Heiss   January 2013

5. “Java EE 7 and JAX-RS 2.0” by Adam Bien  April 2013

6. “Coding on Crete: An Interview with Java Specialist Heinz Kabutz” by Janice J. Heiss     January 2013  http://www.oracle.com/technetwork/articles/java/heinzkabutz-1899134.html

7. “Why, Where, and How JavaFX Makes Sense”  by Björn Müller  March 2013

8. “The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav”  by Janice J. Heiss  April 2013

9. “The Enterprise Side of JavaFX”  by Adam Bien   June 2012

10. “JSR 356, Java API for WebSocket”  by Johan Vos  April 2013

And here are five runners up.

11. “Introducing Groovy”  by Jim Driscoll  July 2012

12. “The Enterprise Side of JavaFX: Part Two”  by Adam Bien  June 2012

13. “Expressing the UI for Enterprise Applications with JavaFX 2.0 FXML” by James L. Weaver  June 2012

14. “JavaOne 2012 Review: Make the Future Java” by Steve Meloan  October 2012

15. “Expressing the UI for Enterprise Applications with JavaFX 2.0 FXML - Part Two”  By James L. Weaver  September 2012

Monday Apr 08, 2013

Technical Article: Java EE 7 and JAX-RS 2.0

A new article by Java Champion Adam Bien, titled “Java EE 7 and JAX-RS 2.0” is up on otn/java. The article demonstrates how Java EE 7 with JAX-RS 2.0 has several new useful features which further simplify development, and lead to the creation of more sophisticated Java SE/EE RESTful applications.

Using a Java-friendly, but simplistic JAX-RS 2.0 example Bien takes the reader through aspects, request interception, client and configuration issues and much more. He concludes the article as follows:

“Interestingly, JAX-RS does not even require a full-fledged application server. After fulfilling the specified Context Types, a JAX-RS 2.0–compliant API can be anything. However, the combination with EJB 3.2 brings asynchronous processing, pooling (and so throttling), and monitoring. Tight integration with Servlet 3+ comes with efficient asynchronous processing of @Suspended responses through AsyncContext support and CDI runtime brings eventing. Also Bean Validation is well integrated and can be used for validation of resource parameters. Using JAX-RS 2.0 together with other Java EE 7 APIs brings the most convenient (=no configuration) and most productive (=no re-invention) way of exposing objects to remote systems.”

Check out the article here.

Tuesday Jan 08, 2013

Java Experts on the State of Java

In a new article by yours truly, now up on otn/java, titled “Java Experts on the State of Java,” four Java experts, Adam Bien, Charles Nutter, Kirk Pepperdine and Simon Ritter, share their unique perspectives on what’s happening in the world of Java.

Consultant Adam Bien, winner of many awards and an expert in Java EE, remarks that, “Only a few years ago, Java EE was used mostly by larger companies—now it becomes interesting even for one-person shows.” He is also excited about Project Nashorn, which is coming in Java SE 8.

Charles Nutter, co-creator of JRuby and a Java Champion, observes that “JRuby seems to have hit a tipping point this past year, moving from ‘just another Ruby implementation’ to ‘the best Ruby implementation for X,’ where X may be performance, scaling, big data, stability, reliability, security, or one of several other features important for today’s applications.”

Java Champion Kirk Pepperdine, an expert in Java performance tuning, comments that, “The volume of data we’re dealing with just seems to be getting bigger and bigger all the time. A couple of years ago, you’d never think of needing a heap that was 64 GB, but today there are deployments in which the heap has grown to 256 GB, and there are plans for heaps that are even larger. Dealing with all that data simply requires more horsepower and some very specialized techniques. In some cases, teams are simply trying to push hardware to the breaking point. Under those conditions, you need to be very clever just to get things to work—let alone to get them to be fast. We are very quickly moving from a world where everything happens in a transaction to one in which you’ve lost if you even consider using a transaction.”

Finally, Oracle’s Java Rock Star Simon Ritter celebrates the Raspberry Pi: “I don’t think there is one definitive thing that makes the Raspberry Pi significant, but a combination of things really makes it stand out. First, it’s the cost: $35 for what is effectively a completely usable computer. OK, so you have to add a power supply; an SD card for storage; and maybe a screen, keyboard, and mouse, but this is still way cheaper than a typical PC. The choice of an ARM processor is also significant, because it avoids problems such as cooling (no heat sink or fan) and can use a USB power brick.”

Check out the article here.

Wednesday Sep 26, 2012

Talking JavaOne with Rock Star Adam Bien

Among the most celebrated developers in recent years, especially in the domain of Java EE and JavaFX, is consultant Adam Bien, who, in addition to being a JavaOne Rock Star for Java EE sessions given in 2009 and 2011, is a Java Champion, the winner of Oracle Magazine’s 2011 Top Java Developer of the Year Award, and recently won a 2012 JAX Innovation Award as a top Java Ambassador.

Bien will be presenting the following sessions:

  • TUT3907 - Java EE 6/7: The Lean Parts
  • CON3906 - Stress-Testing Java EE 6 Applications Without Stress
  • CON3908 - Building Serious JavaFX 2 Applications
  • CON3896 - Interactive Onstage Java EE Overengineering

I spoke with Bien to get his take on Java today. He expressed excitement that the smallest companies and startups are showing increasing interest in Java EE. “This is a very good sign,” said Bien. “Only a few years ago J2EE was mostly used by larger companies -- now it becomes interesting even for one-person shows. Enterprise Java events are also extremely popular. On the Java SE side, I'm really excited about Project Nashorn.”

Nashorn is an upcoming JavaScript engine, developed fully in Java by Oracle, and based on the Da Vinci Machine (JSR 292) which is expected to be available for Java 8.  

Bien expressed concern about a common misconception regarding Java's mediocre productivity. “The problem is not Java,” explained Bien, “but rather systems built with ancient patterns and approaches. Sometimes it really is ‘Cargo Cult Programming.’ Java SE/EE can be incredibly productive and lean without the unnecessary and hard-to-maintain bloat. The real problems are ‘Ivory Towers’ and not Java’s lack of productivity.”

Bien remarked that if there is one thing he wanted Java developers to understand it is that, "Premature optimization is the root of all evil. Or at least of some evil. Modern JVMs and application servers are hard to optimize upfront. It is far easier to write simple code and measure the results continuously. Identify the hotspots first, then optimize.”

He advised Java EE developers to, “Rethink everything you know about Enterprise Java. Before you implement anything, ask the question: ‘Why?’ If there is no clear answer -- just don't do it. Most well known best practices are outdated. Focus your efforts on the domain problem and not the technology.”

Looking ahead, Bien said, “I would like to see open source application servers running directly on a hypervisor. Packaging the whole runtime in a single file would significantly simplify the deployment and operations.”

Check out a recent Java Magazine interview with Bien about his Java EE 6 stress monitoring tool here.

Originally published on blogs.oracle.com/javaone.



Tuesday Sep 18, 2012

The 2012 JAX Innovation Awards

A new article, now up on otn/java, titled “The 2012 JAX Innovation Awards” reports on  important Java developments celebrated by the Awards, which were announced in July of 2012. The Awards, given by S&S Media Group, aim to, "Reward those technologies, companies, organizations and individuals that make outstanding contributions to Java." The Awards fall into three categories: Most Innovative Java Technology, Most Innovative Java Company, and Top Java Ambassador. In addition, a finalist who did not win an award receives a Special Jury prize, "in acknowledgement of their unique contribution and positive impact on the Java ecosystem."

The winners were: JetBrains for Most Innovative Java Company; Adam Bien as Top Java Ambassador; Restructure 101, created by Headway Software, as Most Innovative Technology; and Charles Nutter, Special Jury award. Each winner received a $2,500 prize. The five finalists in each category were invited to attend the JAX Conference in San Francisco, California. This year's winners each received a $2,500 prize.

JetBrains Fellow, Ann Oreshnikova, listed her favorite JetBrains innovations:

* Nullability annotations and nullability checker
* CamelCase navigation and completion
* Continuous Integration in grid (on multiple agents), in TeamCity
* IntelliJ Platform and its language support framework
* MPS language workbench
* Kotlin programming language

When asked what currently excites him about Java, Adam Bien, winner of the Java Ambassador Award, expressed enthusiasm over the increasing interest of smaller companies and startups for Java EE. “This is a very good sign,” he said. “Only a few years ago J2EE was mostly used by larger companies -- now it becomes interesting even for one-person shows. Enterprise Java events are also extremely popular. On the Java SE side, I'm really excited about Project Nashorn.”

Special Jury Prize Winner, Charles Nutter of Red Hat, remarked that, “JRuby seems to have hit a tipping point this past year, moving from ‘just another Ruby implementation’ to ‘the best Ruby implementation for X,’ where X may be performance, scaling, big data, stability, reliability, security, and a number of other features important for today's applications.

Check out the complete article here.

Tuesday Aug 14, 2012

Enterprise JavaFX Deployment with LightView: Part 3 now on otn/java

A new article by Java Champion Adam Bien, now up on otn/java, titled “Enterprise JavaFX Deployment with LightView: Part 3,” explores ways to use Maven 3 to build and deploy the LightView application in all available deployment modes. In addition, Bien shows how to sign and deploy LightView with a Java EE 6 application.

Bien explains the basics:

“LightView uses the HTTP (REST) protocol to communicate with the back-end server. For the realization of back-end communication, an external library—the Jersey client—is used. LightView connects with the back end (LightFish) at startup time, so it is not suitable to lazy-load the Jersey dependencies for optimization purposes. Furthermore, multiple JAR files are hard to handle for standalone applications; you have to set up the class path correctly and keep all the moving parts consistent. The most convenient way to deploy Java (and JavaFX) applications is simply by starting them with java -jar my-killer-app.jar and deploying a single file that contains all the dependencies.”

He shows how the class files are packaged with the javafxpackager, which is shipped with the JavaFX 2 SDK, using the exec-maven-plugin and explains the core tasks achieved by Maven and describes the what javafxpackager does behind the scenes. He then shows how the LightView application operates and interacts with LightFish.

Bien concludes by emphasizing that the richness of JavaFX lies in the fact that it is another Java library. “Because JavaFX is ‘just’ an additional Java library, all of the established build, test, and deployment infrastructure can be reused. You can develop JavaFX applications using any integrated development environment (IDE) you like. And best of all, you can use a single language in a project, from the Java EE back end to the JavaFX front end.”

Check out the article here.

Tuesday Jul 03, 2012

The Enterprise Side of JavaFX: Part Two

A new article, part of a three-part series, now up on the front page of otn/java, by Java Champion Adam Bien, titled “The Enterprise Side of JavaFX,” shows developers how to implement the LightView UI dashboard with JavaFX 2. Bien explains that “the RESTful back end of the LightView application comes with a rudimentary HTML page that is used to start/stop the monitoring service, set the snapshot interval, and activate/deactivate the GlassFish monitoring capabilities.”

He explains that “the configuration view implemented in the org.lightview.view.Browser component is needed only to start or stop the monitoring process or set the monitoring interval.”

Bien concludes his article with a general summary of the principles applied:

“JavaFX encourages encapsulation without forcing you to build models for each visual component. With the availability of bindable properties, the boundary between the view and the model can be reduced to an expressive set of bindable properties. Wrapping JavaFX components with ordinary Java classes further reduces the complexity. Instead of dealing with low-level JavaFX mechanics all the time, you can build simple components and break down the complexity of the presentation logic into understandable pieces. CSS skinning further helps with the separation of the code that is needed for the implementation of the presentation logic and the visual appearance of the application on the screen. You can adjust significant portions of an application's look and feel directly in CSS files without touching the actual source code.”

Check out the article here.

Wednesday Jun 13, 2012

The Enterprise Side of JavaFX - Part One

A new article, now up on otn/java, by Java Champion Adam Bien, titled “The Enterprise Side of JavaFX,” shows developers how to use LightView to convert REST services into a bindable set of properties. The article, Part One of a three-part series, presents the enterprise and business side of JavaFX with minimal animations, effects, and transitions, and a focus on structuring the presentation logic and integration with back-end services.

Bien makes use of LightFish, LightView and much more:

“LightFish is an open source monitoring application that periodically fetches and persists snapshots from a “GlassFish Under Test” machine and makes them available in real time via a simplified REST API.

LightFish comes with a basic Web interface to manage the data-capturing interval that is implemented with JavaServer Faces 2. LightView is a JavaFX 2 real-time visualizer that integrates the Web UI directly and accesses the monitoring data via REST and long polling. It could be considered to be a ‘stress test dashboard.’”

Look for Part Two of the series, which will directly integrate the JavaServer Faces 2 UI with WebView.

Check out the article here.

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