Tuesday Aug 11, 2015

Maven, Java EE and ... NetBeans

At the beginning, build tools capabilities were relatively simple, i.e. mostly compile and package the compiled sources. But over the years, those capabilities have largely evolved (e.g. complex build processes, dependencies management, documentation generation, testing integration, etc.). And it's probably fair to say that Maven has been, at least in the Java landscape, one of the main actors in that evolution... if not the most important one! Maven is widely used since many years, it's now the de-facto Java build environment. And if you are using another solution (e.g. Graddle), you can't ignore Maven; chances are high that you still have to directly or indirectly use Maven in a way or another (e.g. to integrate a 3rd party framework which uses Maven). 

In his "Truly Unleashing the Power of Maven and Java EE" article, Geertjan Wielenga (NetBeans Product Manager) talks about how well integrated Maven is in the NetBeans IDE. If you haven't used NetBeans and its Maven support, you should read this piece. It's amazing how Maven is supported in NetBeans. It's so nicely integrated that you sometime tend to forget that Maven is used under the hood.

Geertjan then discusses another strength of NetBeans, its Java EE support. He then concludes with "Maven and Java EE are baked into the very essence of what NetBeans IDE is, as its heartbeat, and as its raison d’être". So when you combine NB's deep Maven integration with its outstanding Java EE support, you get a rock-solid (and free!) environment to develop Java EE applications.


Visual representation of a Maven project's depencies in NetBeans

Wednesday Mar 25, 2015

Forge Powered Java EE Rapid Application Development Comes to NetBeans!

Forge has been a great tool for Rapid Application Development (RAD) with Java EE (for sake of nostalgia it is basically the descendant of the awesome seam-gen tool of the Java EE 5 era). As powerful as Forge is, one of it's drawbacks had been that it is very heavily command-line driven with many commands and sub-commands to learn. As a result it can be initially unnatural for the Average Joe, very IDE centric Java developer to pick up.

A novel solution to this paradigm mismatch that the Forge team adopted is to integrate Forge into IDEs like Eclipse. I am very happy to report that such integration has finally arrived in NetBeans, perhaps making it truly accessible to the core Java EE community. Indeed the Forge NetBeans integration works out very nicely - you access Forge commands through NetBeans quick search, the otherwise CLI driven commands are rendered dynamically as regular NetBeans wizards and the commands take effect seamlessly within NetBeans including generating code and running the project. In this case, a video really is worth a thousand words (if you are having trouble viewing the embedded video below it is available here). In addition to demonstrating Forge in NetBeans the video is really a great reflection of the kind of productivity you can achieve with Java EE today.

The Forge NetBeans plugin can be installed directly from within NetBeans by using the Plugin Portal Update Center (Tools -> Plugins). You can also download it manually from the NetBeans Plugin Portal.

If you are new to Forge, the Forge site has excellent documentation for getting started including a great self-paced, self-directed hands-on lab. Enjoy - Forge really can make web development fun again and NetBeans + Forge is a truly powerful combination that's hard to beat :-).

Monday Jan 05, 2015

Vasilis Souvatzis's Java EE 7 Thesis Using GlassFish

Hoping all of our readers happiness, health and wealth in this first post of the year! It's an awesome stroke of good luck to be able to start the year off by sharing a pretty cool Java EE 7/GlassFish 4.1 adoption/learning story. Vasilis Souvatzis, a computer science student at the Alexander Technological Educational Institute of Thessaloniki (ATEITHE) in Greece, decided to do his thesis project on Java EE 7. He basically taught himself Java EE 7, Java SE 8, GlassFish, NetBeans and PrimeFaces with little more than what is freely available online. He is now proudly a fan of the technology stack, particularly Java EE 7.

The end result of his project is a pretty sophisticated, non-trivial working code base simulating a web-based tutorial (there aren't too many students that I know of that has those bragging rights :-)). He actually made the project available on GitHub for all to see. He demos the project in the video below he took the time to create:

The GitHub project has instructions on how to setup and explore the project yourself. He would also welcome any contributions if you are so inclined. Enjoy and don't forget to spread the word on Vasilis's hard work useful to the Java EE community if you think it is cool!

Thursday Nov 20, 2014

Tools for MVC in Java EE 8

Last week at Devoxx, Manfred Riem (MVC 1.0 Co-Specification Lead) did a session on MVC 1.0 (JSR 371) to a packed room. During the session, Geertjan Wielenga (Principal Product Manager in the Oracle Developer Tools) did a cameo appearance to discuss the tooling in the context of MVC. Amongst other things, Geertjan is looking at some of the potential features an IDE could bring to simplify the development of MVC based applications.  During the session, Geertjan did a demo based on a prototype he wrote for NetBeans. This demo was also using Manfred’s experimental action based prototype.

So clearly, it's early days! After all the MVC Experts Group has just started and is now discussing important orientations for the specification (e.g Should the Controller be based on the Servlet API or should it be layered on top of JAX-RS?). Nevertheless, it is interesting to follow Geertjan's explorations around tooling in that space.  This also demonstrates that adding new features to NetBeans is not necessarily a daunting task!

You can find more details on Geertjan's blog: Tools for MVC in Java EE 8 - Part 1 and Part 2.

Monday Sep 29, 2014

jBatch Suite: Visual Development for the Java API for Batch Processing/Java EE 7

As many of you know, the Java API for Batch Processing (JSR 352) is one of the key APIs added in Java EE 7. The API is largely based on POJOs, annotations and some XML. As a result you can be pretty productive even without an IDE. As a Java developer, however, like me you probably enjoy the usability of modern IDEs like NetBeans and may be wondering what IDE support there is for the Java API for Batch Processing. Although Java IDEs have been very good about supporting Java EE 7 generally, none of them have had much specific support for JBatch - until now that is. Sensing a gap Gaurav Gupta has stepped up with jBatch Suite. jBatch Suite is a NetBeans plugin that allows for both UML style modelling and code generation for Java Batch. Conveniently, it is available through the NetBeans Plugin Portal Update Center (Tools > Plugins). The following video is a great overview of the basic functionality in the plugin:

Gaurav has actually put together a very nice set of video demos covering the majority of functionality in the plugin on YouTube. The NetBeans plugin website offers further details as well as download. Contributions are welcome through the java.net project for the plugin. Enjoy!

Thursday Aug 14, 2014

Spotlight on GlassFish 4.1: #5 NetBeans support

'Spotlight on GlassFish 4.1' is a series of posts that highlights specific enhancements of the upcoming GlassFish 4.1 release. It could be a new feature, a fix, a behaviour change, a tip, etc.

#5 NetBeans support

NetBeans has always had a very solid Java EE support. The next NetBeans update will introduce support for GlassFish 4.1. As usual, 2 NetBeans 8.0.1 distributions (the 'Java EE' and the 'All' bundle) will embed a pre-configured GlassFish 4.1 install to simplify things.

The exact NetBeans 8.0.1 release date is not yet known but it's certainly not too far away! In the meantime, you can always download and use the latest NB nightly build.  Technically, the support for GlassFish 4.1 is working since a few days when the NetBeans Team did the '4.0.1-4.1' switch in their code base.

Additional ressources:

Thursday Aug 07, 2014

Java EE 101 Using GlassFish 4 and NetBeans

While a lot of folks (our team included) spend most of their efforts spreading the good word on Java EE 7 and now increasingly Java EE 8, sometimes it helps to get back to the basics. This is especially true for beginners to Java EE and GlassFish. This point is fortunately not lost on Andrew Pielage of C2B2 consulting (the good folks that run the London GlassFish user group). In this extremely well written blog post Andrew explains step-by-step how to write, deploy and run a very simple web application using GlassFish 4 and NetBeans. He uses Windows in his instructions and I know that will actually be helpful to many of you since most corporate desktop environments still standardize on Windows.

If you know someone who could benefit from the nicely done entry, do make sure to share it. As such, there's few write-ups out there that are so basic and yet so incredibly helpful to the right person.

Wednesday Aug 21, 2013

Take NetBeans 7.3 Satisfaction Survey!

With a focus on POJO development, annotations, intelligent defaults, portability and productivity, you can pretty much do Java EE development using a plain text editor these days if you prefer. In fact, as a consultant I've seen a handful of remarkable folks do exactly that. For the rest of us though, IDEs like NetBeans are incredibly helpful from basic code completion, inline warnings and code navigation to powerful wizards, refactoring tools and code generation. NetBeans 7.3+ in particular has been great in early support for Java EE 7, amongst many other improvements like the outstanding support for HTML 5, JavaScript and CSS development.

If you are a Java EE, GlassFish or NetBeans developer, you now have a great opportunity to provide your feedback on the 7.3+ releases. The good folks in the NetBeans team have put together a very brief survey on the recent work they've done as well as on what they should work on next. Please consider taking a bit of time to take the survey and help improve NetBeans.

Thursday Feb 28, 2013

Ashwin Rao on HTML5/NetBeans 7.3

As you may know, NetBeans 7.3 is creating quite a buzz in the community. The 122th episode of the Java Spotlight podcast features an interview with NetBeans Group Product Manager Ashwin Rao. Although he generally keeps a pretty low profile, Ashwin is one of the key folks driving NetBeans forward. He talks with Roger Brinkley about the HTML 5 landscape, the new features in NetBeans such as excellent JavaScript editing capabilities powered by the Nashorn engine on par with the Java editor, support for JavaScipt/HTML 5 frameworks like JQuery, AngularJS and backbone.js as well as enhanced browser integration.

 

 

The podcast also covers Java SE 6, Java EE 7, JavaFX and JavaOne India. You can listen to the full podcast here. If you are hungry to learn more about NetBeans 7.3 after you listen to the podcast, you can check out the list of new features and a cool video on the release.

Monday Feb 04, 2013

Java EE 7 Early Support in NetBeans

As you are aware, Java EE 7 features have been rolling into GlassFish 4 promoted builds for a few months now. Keeping up with GlassFish, the good folks in the NetBeans team are beginning to put in early access features to Java EE 7 as well. Some of the features include:

  • Registering GlassFish 4
  • Creating Java EE 7 applications
  • Wizard for JAX-RS 2 Filters/Interceptors
  • Initial support for Faces Flow
  • Loading templates from a resource library
  • Non-persistent EJB timers in the Web profile
  • Wizard for WebSocket endpoints

We encourage you to start playing around with these features and providing the NetBeans team feedback. Arun Gupta talks about the features in fairly good detail here.

Friday Jan 04, 2013

Using Apache TomEE with NetBeans

TomEE is one of the most exciting developments in the Java EE ecosystem. For those unaware, TomEE is a very cool Apache project that starts from Tomcat and adds OpenWebBeans, OpenEJB, OpenJPA, MyFaces, Apache CXF and ActiveMQ to create a very capable Java EE environment! TomEE is one of the greatest examples of certified Java EE Web Profile implementations. It is also a great option for Java EE developers focused on Tomcat.

This great article describes how you can use TomEE with NetBeans (you can also use Eclipse, check the TomEE docs).

Friday Dec 21, 2012

John Ceccarelli on NetBeans

The 113th episode of the Java Spotlight podcast features an interview with NetBeans head of engineering John Ceccarelli. John talks with Roger Brinkley about the recent developments in NetBeans - specifically NetBeans support for JavaScript/HTML 5 development via Project Easel. John discusses the HTML 5 landscape, Java EE 7, project Nashorn, project Avatar and the like.

The podcast also covers JavaFX, Java SE 7/8, Java Embedded and Java EE 7, including the recent published survey results! You can listen to the full podcast here.

Wednesday Oct 03, 2012

JavaOne: Parleys.com, Spring Vs. Java EE and HTML5 tooling

Parleys.com, a 2012 Duke's Choice Award winner, is an E-Learning platform that host content from different sources (conferences, JUGs meetings, etc.). There is a lot of technical content available for online but also offline consumption, including many sessions on Java EE. Parleys has just released, for free, all the Devoxx 2011 sessions (video and slides sync'ed!).

From a technical point of view, Parleys.com is interesting as they have switched from Spring to Java EE 6 to avoid being locked in a proprietary framework. During the GlassFish Community BoF, Stephan Janssen (Parleys.com and Devoxx founder) also presented how GlassFish is used to support 2000 concurrent Parleys users over a cluster of 2 GlassFish instances.


Talking about Java EE and/or Spring, Harshad Oak has posted an update on the 'Spring Vs. Java EE' panel discussion that took place on Tuesday. As Arun said standards such as Java EE does not necessarily refrain innovation: "JBoss Forge & Arquillian from RedHat are great examples of innovation in the JavaEE community. Standardization is important but innovation does continue even within that framework."


Simplicity, productivity along with HTML5 are the driving themes of Java EE 7. In terms of simplicity and productivity, the developer experience can also be improved by the tooling. Every NetBeans release comes with a large set of improvements, the just released NetBeans 7.3 beta is no exception.
The goal of ‘NB 7.3’s Project Easel’ is to improve HTML5 development, something that will be handy for Java EE 7 developers. Project Easel can, for example, communicate directly to Chrome's WebKit engine, this feature was shown during Sunday's Technical Keynote at the end of the Java EE section. In this beta release, Chrome and the embedded JavaFX browser are the only supported browsers but the NetBeans team plan to add support, over time, for other WebKit based browsers.


Today (i.e. Wednesday 3rd) is also the final exhibition day, so make sure to visit the Java EE and the GlassFish pods on the Java DEMOgrounds (Hilton Grand Ballroom, 9:30 am - 5:00 pm).
Finally, here are some Java EE and GlassFish related activities worth attending today if you are at JavaOne :
Wednesday October 3rd
Time Title Location
8:30-9:30am What's New in Servlet 3.1: An Overview Parc 55 Mission
8:30-9:30am Bean Validation 1.1: What's New Under the Hood Parc 55
Cyril Magnin II/III
10:00-11:00am JSR 353: Java API for JSON Processing Parc 55 Mission
10:00-12:00pm Tutorial : Integrating Your Service into the GlassFish PaaS Platform Parc 55 Devisidero
11:30-12:30pm What's New in JSF: A Complete Tour of JSF 2.2 Parc 55
Cyril Magnin I
11:30-12:30pm Best of Both Worlds: Java Persistence with NoSQL and SQL Parc 55 Mission
1:00-2:00pm Sharding Middleware to Achieve Elasticity and High Availability in the Cloud Parc 55
Market Street
1:00-2:00pm Pimp My RESTful Java Applications Parc 55
Cyril Magnin I
3:00-4:00pm Migrating Spring to Java EE Parc 55
Cyril Magnin II/III
4:30-5:30pm JavaEE.Next(): Java EE 7, 8, and Beyond Parc 55
Cyril Magnin II/III
4:30-5:30pm HTML5 WebSocket and Java Parc 55
Cyril Magnin I
4:30-5:30pm Easy Middleware for Your Embedded Device Nikko Ballroom II/III

Friday May 25, 2012

NetBeans 7.2 Beta - Built for Speed, Deploy Apps to Oracle Cloud

NetBeans 7.2 Beta is now available.

The release includes notable features such as Scene Builder integration in JavaFX; support for multiple PHP frameworks; updated Groovy support; and many other enhancements in Java EE, Maven, C/C++ and the NetBeans Platform.

NetBeans 7.2 Beta

The New and Noteworthy wiki provides a complete list of highlights in this release. For Java EE, JPQL query validation and completion, property completion in persistence.xml for EclipseLink Persistence Provider, and updated warnings for non-portable CDI behavior are some updates.

There is also brand new support for developing and deploying your Java EE apps to Oracle Cloud and Amazon Beanstalk. The complete instructions are available here. Note, access to Oracle Cloud is by invitation only for now.

Download NetBeans 7.2 Beta now!