Saturday Feb 27, 2010

New Cool Flashy NetBeans Platform Video!

After watching the movie above (which is only a few days old), you'll be interested in a look at the related site (

Swing and the NetBeans Platform in action, pretty cool. It seems to be in a similar domain to Maltego, the intelligence gathering application from South Africa, which is also a NetBeans Platform application! Since it's a NetBeans Platform application, Gephi is pluggable and has a very cool developers page that provides all the info you need, including API details and tutorials.

In other news. I was visiting family in South Africa last week and this is one very short video that I made while there:

Wednesday Feb 24, 2010

Maven CRUD Sample on the NetBeans Platform in NetBeans IDE 6.9

I mentioned the NetBeans Platform CRUD sample will be a standard part of NetBeans IDE 6.9 here on NetBeans Zone recently. It is now also available as a Maven-based sample:

You need to install a recent development build of the 6.9 "Web" or "All" distribution. I think this sample would be even better if it were to be part of the "Java SE" distribution.

Monday Feb 22, 2010

Healthcare on the NetBeans Platform

The next NetBeans Platform application to take a look at is Outlook ES Interface Tester, which is an internal quality assurance application to test healthcare devices at B. Braun, a healthcare provider:

Internal testing tools are ideal to create on top of the NetBeans Platform, since you're not so interested in working on windowing systems and other typical GUI features... rather you're simply interested in visualizing your test results in a pluggable GUI that provides basic features such as menus and window systems out of the box.

Read the whole (brand new) interview on NetBeans Zone about this application to learn how enterprises can benefit in basing their testing tools on the NetBeans Platform.

Saturday Feb 20, 2010

Russian Passport and Visa Generation on the NetBeans Platform

The next NetBeans Platform application to be aware of is ObjectsX. It is used to create Java applications, via the maintenance of catalogues that provide access and data presentation, report generation, and a design environment.

One use case of this application is the generation of passports and visa documents, as shown here for FSUE SRI (Federal State Unitary Enterprise Scientific Research Institute) Voskhod, in Russia:

Do you know of other NetBeans Platform applications? We're trying to identify as many as possible for the NetBeans Platform Showcase, so please let us know (via leaving a comment at the end of this blog entry, for example) about other applications that use the NetBeans Platform as a starting point.

Thursday Feb 18, 2010

Felix & Equinox Rich Client Samples in NetBeans IDE

I mentioned the new cool tools for OSGi developers on DZone recently. But today, in today's development build for NetBeans IDE 6.9, there's even more. Two new samples, demonstrating OSGi integration with NetBeans IDE

Upon deployment of these samples, you have a new rich-client application that uses the NetBeans Swing components (such as TopComponent and BeanTreeView) to display the running OSGi bundles and NetBeans modules:

The tutorial referred to above is this one.

Wednesday Feb 17, 2010

Remote EJB Monitoring Application on the NetBeans Platform

The next YANPA is created by Florian Brunner and his colleagues at a Swiss IT organization: "For our customer, ACS Solutions Switzerland, I introduced the NetBeans Platform in a pilot project, where we had to build a new J2EE application client. This small application should monitor some data retrieved from some remote EJBs."

Other comments on this application from Florian:

"Since the NetBeans Platform is based on Swing, we could reuse some existing custom components such as our about box, login dialog and framework as well as some 3rd party components such as JXTable and JXDatePicker from SwingX. (Note there is some work going on to make about boxes pluggable.)

We enabled parts of the GUI based on the rights of the current user as described here. (Note there is some work going on to make this easier, as described here.)

And we persisted the properties of the dialogs (dimension, position) and the properties of JXTables (column order, visible/ hidden columns, column widths, sorting info) by integrating the SessionStorage feature of the Swing Application Framework. (See my blog for more information about this topic.)

Since the NetBeans Platform project is Ant based, we could integrate the building of the JNLP application in our EAR Ant scripts."

In other news. Read this interview published on NetBeans Zone today to find out about how Mule ESB is being extended for the healthcare sector and how the NetBeans Platform is being used as the framework for a new Mule ESB designer!

Tuesday Feb 16, 2010

Brand New Learning Environment on the NetBeans Platform

The next interesting NetBeans Platform application to look at was released a few days ago. Kojo is a free application, running on the operating system of your choice, to "enable kids (and curious adults!)" to learn about programming:

The Kojo learning environment has also raised a lot of interest in the Scala community, since it includes a Scala REPL and a Scala code editor (based on Caoyuan Deng's Scala plugin for NetBeans IDE). Read the full announcement here, which focuses primarily on the Scala REPL part of the application.

Tip: If you're creating a similar application, have a look at the sources of this one, via Mercurial:

hg clone kojo  

You'll end up with this:

Hoping to have an interview with Lalit, the developer behind Kojo, available soon.

Cycling on the NetBeans Platform!

The next YANPA (yet another NetBeans Platform application) is... Saris PowerAgent 7.4. It's a commercial software package that you install to measure and analyze your performance when you're doing workouts on an exercise bicycle:

Here, for example, you can see how to create workouts:

And those workouts can be uploaded to a handheld device for storage and further analysis! Read all about it here. Thanks to nathan for bringing this application to my attention and I'm hoping to publish an interview with the developers behind this application soon.

Sunday Feb 14, 2010

OfficeLAF in Action Again on the NetBeans Platform

Today's YANPA (yet another NetBeans Platform application) was mentioned here last week in my blog... but now has a brand new (and interesting!) interview with Chris Bohme, its chief software architect and an updated screenshot, showing yet another example of OfficeLAF (by Gunnar Reinseth and Mikael Tollefsen from Exie in Norway) applied to a NetBeans Platform application:

Now isn't that a seriously cool looking application?

From the interview, here's the response to the question of the benefits of using the NetBeans Platform:

"On a personal level, working with the NetBeans Platform early on in my developer career has shaped my mindset around application design. As such, the NetBeans Platform source code was one of my most influential teachers when it comes to API design and architecture of large complex applications.

I started looking for similar patterns in the frameworks I was building using other programming languages and it has helped me identify designs that are “right” and those that are “wrong”. (When it comes to API design I believe that “truth, like beauty, is not a matter of opinion” :-).)

On the level of Maltego, I think the benefits are fairly obvious – there is a platform that comes with lots “free stuff” right out of the box. And hey, the best thing is, someone else improves, fixes and supports all this free stuff while you can focus on your specific problem domain.

If I were to rephrase the question to read “what in the NetBeans Platform couldn’t I live without?” – well, it would be the features related to runtime composition. The fact that components can be registered declaratively (for example in layer files) and are added as modules that get loaded at runtime shapes the overall design and maintainability and is something a modern application cannot do without.

As Maltego matures, instead of removing the dependency on some NetBeans APIs and replacing them with our own, we tend to use more and more of what the NetBeans Platform (and even the IDE) has to offer. This is a very good indication to me that a) NetBeans Platform was the right choice to build Maltego on and b) that the evolution of the NetBeans Platform is in line with the needs of its users (well, at least for us)."

Maltego has now also been added to the NetBeans Platform Showcase!

Thursday Feb 11, 2010

Possibly Another NetBeans Platform Application? (Part 3)

While YANPAs are everywhere, so are PANPAs ("possibly another NetBeans Platform application") ! The first and second PANPAs turned into YANPAs. I'm less sure about this one, though.

Ticom Geomatics could be providers of yet another oil/gas service application on the NetBeans Platform. Those kinds of applications are especially important to know about since those kinds of applications prove that the NetBeans Platform is able to "address situations where a high level of reliability and availability is required" ( editorial). A couple of other indicators exist to make me suspect that the NetBeans Platform is being used in this case, but I'm not sure.

Here are the small screenshots from the related website:

The windows (especially their tabs) don't really look like typical NetBeans TopComponents, though I could be wrong in doubting the NetBeans Platform basis as a result.

Can anyone with knowledge about Ticom Geomatics leave a comment (or send me an e-mail) about NetBeans Platform usage in this instance?

Wednesday Feb 10, 2010

Train Station Management on the NetBeans Platform

If you're travelling by train in/around Berne, Switzerland, the NetBeans Platform might be quietly at work, keeping everything running smoothly... because of Sohard AG's train management system on the NetBeans Platform.

Why was the NetBeans Platform chosen as the basis of the application?

"The entire information system as well as all train operations are monitored from a control center in Worblaufen. For this control center Sohard AG had to develop a client application on which every single display in every station can be monitored, most of them concurrently, running on a WinXP workstation. This requirement led to the need for a windowing framework supporting detaching of a component from a main Window and placing it in its own Window or Frame on another display. For this application Sohard AG chose the NetBeans Platform simply because of this feature."

The result:

Read about it all here in an article published today on NetBeans Zone.

In other news. On NetBeans Zone, Hermien Pellisier, from the Saab Grintek team creating applications on the NetBeans Platform for the South African National Defence Force, has started the first of a series of articles about the mysteries of the NetBeans Platform build system!

Tuesday Feb 09, 2010

Chemical Dictionary Software on the NetBeans Platform

And yet another new NetBeans Platform application is a distribution mechanism on top of the NetBeans Platform for delivering chemical dictionaries. The Chemical Dictionaries are a well established source of information about molecules, including chemical, biological, physical, clinical and literature data. Informatics Matters has created an application for distributing these dictionaries on CDROM or DVD.

Two screenshots (click to enlarge them):

Another NetBeans Platform application by the same developers is Instant JChem, a desktop application for scientists to manage and work with chemical structures and data, using local and shared databases.

Monday Feb 08, 2010

Commercial Data Mining Software on the NetBeans Platform

Yet another NetBeans Platform application comes from South Africa... the Maltego client, a "frontend used to graphically allow you to look at various inter-relationships between data". Maltego itself is an open source intelligence and forensics application. It is an application for data mining and information gathering, as well as the representation of this information in an easy to understand format. Coupled with its graphing libraries, Maltego allows you to identify key relationships between information and identify previously unknown relationships between them.

Screenshots from the site are listed below, together with their captions from the site.


  • Easily identify relationships and links between nodes:


  • Identify relationships with n degrees of separation:


  • Maltego allows you to quickly enumerate various entities such as domains and DNS names.


  • Enumerate social networks and relationships within these networks:


  • Use the various layout options to identify nodes based on their importance:


  • Quickly scan large graphs with the zoom tool:

All the above info is from the Maltego site, where you can also get a limited edition of the application for free, in the form of the Maltego Community Edition. You'll then also clearly see that the application is making use of the NetBeans Platform as its basis:

Take a look at the user guide for all the other powerful features!

Sunday Feb 07, 2010

Inventory Management Software on the NetBeans Platform

Recently I mentioned the E-Mail Management System that is part of a customer service suite provided by Artificial Solutions in Stockholm Sweden:

However, it turns out that that same organization also has inventory management software on the NetBeans Platform. Their internal Time Reporting, Project Management and Resource Allocation system is based on the NetBeans Platform, while they've worked on quite a few different prototypes and mock-ups, using the NetBeans Platform as a natural base, using a wide array of the different APIs provided.

And the NetBeans Platform was also chosen for the UI for their internal computer hardware, server and virtual machine inventory system:

All three of the above applications are extremely data-intensive, which is a typical reason for wanting to use the NetBeans Platform, since it provides so much UI (especially complex Swing components that aren't found in standard Swing) for managing large sets of data out of the box.

In other news. Read an interview, published today, with the developers behind these applications here on NetBeans Zone!

Friday Feb 05, 2010

Airport & Passenger Management on the NetBeans Platform

In case you missed it, there's a new interview/article on NetBeans Zone entitled "Airport Operation Management on Oracle and the NetBeans Platform".

You'll find out about two NetBeans Platform applications created by AirIT in Orlando, FL, for managing airports and passengers. AirIT's solutions are operational at many airports around the world including Detroit, Minneapolis, Memphis, Philadelphia, Miami, Puerto Rico's, Luis Munoz Marin International Airport, Frankfurt, Berlin, and Düsseldorf International Airports in Germany.

Why is the NetBeans Platform being used? "When we began thinking about evolving our rich client framework, we wanted a proven foundation to base it on. The NetBeans Platform provides us with a module-based system that includes many conveniences that we now take for granted: full Swing integration, allowing us to reuse existing UI components; a robust windowing framework, modes and undocking windows enhance user productivity; loose coupling between modules, allows for the recombination of modules to build new suites of products to meet the needs of a specific customer; and the ease of use, the underlying APIs are easy to pick up and use even for a developer new to the platform. The NetBeans Platform has been integral in our efforts to integrate our products into a comprehensive enterprise suite."

The first of the two applications is Flight Information System, used by airport personnel to plan for and manage flights of all types, airport usage (such as concourses, terminals, gates, ticket counters), and flight schedules, among other information:

The second is Local Departure Control System, which is a passenger processing solution that allows airline operations without proprietary departure control systems to deliver first-rate passenger and baggage handling by alleviating the need to manually process passengers and baggage:

Next week more recently discovered NetBeans Platform applications will be highlighted here and on If you have applications on the NetBeans Platform that the world should know about, please say so!

Thursday Feb 04, 2010

Swedish Ministry of Defence on the NetBeans Platform

The Swedish Defence Research Agency is a Swedish government agency for defence research that reports to the Ministry of Defence. In this document (or here in Swedish) you can read about its MOSART Research Testbed, which is a framework for integration, testing, visualization, and evaluation of research results relating to surveillance data. The primary goal of MOSART is to simplify the integration of research results and other advanced functionality into larger simulations and demonstrators.

One part of MOSART is an application called NetScene. It is a tool for creating, editing, and executing scenarios in the testbed and is especially developed with distributed simulation in mind. Its main features are that it uses an XML based scenario format, that it has a GUI for adding, editing, and removing entities and paths, and that it connects to other parts of the MOSART testbed, such as HLA (High Level Architecture), which relates to real-time processing.

Here's a screenshot to give an impression of what NetScene is, i.e., an application created atop the NetBeans Platform:

These developments and the documents referred to above were created in co-operation with the Swedish Armed Forces in 2005 and 2006.

Wednesday Feb 03, 2010

French Ministry of Defence on the NetBeans Platform

"ASTRAD, which stands for "architecture and simulation tool for radar analysis and design", is a powerful software platform fitted to radar techniques. It provides users with all the functions needed to model, simulate and design radar systems. Launched as a joint project between French Ministry of Defence and the radar industry community, the ASTRAD software has the ambition to stand out as a reference platform for engineering and scientific applications."

Don't take my word for it, read the article (assuming you want to pay $36 too) published May 2008, here:

ASTRAD: Simulation platform, a breakthrough for future electromagnetic systems development

Here are some small and grainy screenshots from within the article above:

When you read the article you'll find the following paragraph: "ASTRAD includes open-source components to avoid license pending issues and to maintain control over the software. The IDE is based on the NetBeans Platform, a Sun Microsystems open-source reusable framework for assisting in the development of other desktop applications. ASTRAD is a set of NetBeans modules providing many additional features. The resulting architecture inherits from NetBeans modularity and is easily tailored to different deployments."

And guess how the article ends? "Launched as a joint project between French Ministry of Defence and radar industry community, the ASTRAD software has the ambition to stand out as a reference platform for engineering and scientific applications. A common objective is also to promote ASTRAD as the European solution and propose built-in solution for the design and assessment of complex systems."

That reminds me a bit of what Saab Systems Grintek is doing with the NetBeans Platform for the South African National Defence Force: Hmmm. Along the way there are now so many defence related NetBeans Platform screenshots on NetBeans Platform Showcase that the time has come to create two separate categories from the "Aerospace and Defence" section.

In other news. Tomorrow's blog entry will be entitled "Swedish Ministry of Defence on the NetBeans Platform".

Tuesday Feb 02, 2010

Fingerprint Reader on the NetBeans Platform

I've come across a whole bunch of new (to me, anyway) NetBeans Platform applications in the past few weeks. Mostly commercial applications. While working on interviews with the related developers, I'm also gathering their cool screenshots for inclusion in our evergrowing NetBeans Platform Showcase.

Here's one of them, from Fermax Electronica SAE, a company specializing in audio and video door entry systems. The application is designed to manage an Access Control installation based on thermal fingerprint readers, manufactured by Fermax:

Pretty cool stuff and I'm interested in finding out more about thermal fingerprint readers and how that works with Java, aren't you? That's what the interview will spend some time on, so watch this space (and NetBeans Zone) for that interview in the coming days! (Update: here it is.)

In other news. Read Building an OSGi declarative service with Maven using NetBeans, by Kayode Odeyemi, published this week in his blog.

Monday Feb 01, 2010

MyDoggy... Integrated into the NetBeans Platform!!!

MyDoggy is a really cool Java docking framework... and not only because of its name! Based on the recent blog entry about creating your own window system... I integrated MyDoggy into my own window system implementation... so that your application can look something like this:

Yes, you see two TopComponents, synchronized explorer views, Nodes... and a completely different appearance to what you'd expect from a NetBeans Platform application (yes, it can really look like the above!), simply because I am using the MyDoggy API, within my WindowManager implementation:

protected void initToolWindowManager() {

    // Create a new instance of MyDoggyToolWindowManager passing  the frame:
    MyDoggyToolWindowManager myDoggyToolWindowManager = new MyDoggyToolWindowManager();

    // Register the TopComponent providing the bean tree view:
    myDoggyToolWindowManager.registerToolWindow("BeanTreeView", // Id
            "Bean Tree View", // Title
            null, // Icon
            new View1TopComponent(), //Component
            ToolWindowAnchor.LEFT); // Anchor

    // Register the TopComponent providing the icon view:
    myDoggyToolWindowManager.registerToolWindow("IconView", // Id
            "Icon View", // Title
            null, // Icon
            new View2TopComponent(), //Component
            ToolWindowAnchor.TOP); // Anchor

    // Make all the windows available:
    for (ToolWindow window : myDoggyToolWindowManager.getToolWindows()) {

    // Add myDoggyToolWindowManager to the main window (a JFrame).
    // MyDoggyToolWindowManager is an extension of a JPanel:
    mw.add(myDoggyToolWindowManager, TableLayout.CENTER);


Only the following three MyDoggy import statements are needed:

import org.noos.xing.mydoggy.ToolWindow;
import org.noos.xing.mydoggy.ToolWindowAnchor;
import org.noos.xing.mydoggy.plaf.MyDoggyToolWindowManager;


import info.clearthought.layout.TableLayout;

And, then, in the constructor of the WindowManager implementation, right before setting the main window visible, I call the above method. Yes, so the layer.xml registrations are not used at all: in this case we're registering TopComponents within the WindowManager implementation, not ideal, but it's a starting point for further exploration. Wouldn't take much work to read the registrations from the layer.xml file, so that there'd be no hardcoded views within the WindowManager implementation. In other words, all the values for "MyDoggyToolWindowManager.registerToolWindow" would come from the layer.xml file... meaning that TopComponents could be added from external plugins registering their TopComponents in the layer.xml file of the module providing them! And maybe this way it's sufficient already, if you have control over your WindowSystem implementation, i.e., you're creating your own implementation anyway and you're not expecting external contributions via plugins, so then it doesn't matter that your window system isn't extendable and that you're registering your TopComponents right inside of the WindowManager implementation.

Here's another screenshot, this time showing the NetBeans Platform Paint application (one of the demo applications distributed with NetBeans IDE), using the MyDoggy docking framework instead of the default window system provided by the NetBeans Platform:

Modular MyDoggy-based applications... hmmm... sweet. And let the integration of other window systems begin!


Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« February 2010 »