Geertjan is a DZone Zone Leader and has posted 466 posts at DZone. You can read more from them at their website. View Full User Profile

War Fighter on the NetBeans Platform

03.31.2009
| 23892 views |
  • submit to reddit

Agile Client is a NetBeans Platform application developed by Northrop Grumman in partnership with the Defense Information System Agency (DISA). It brings the war fighter a 3-D common operational picture (COP) workstation designed for greater efficiency and mission effectiveness. This efficiency is empowered by its ability to be installed and upgraded on demand. Its mission effectiveness is permitted by the ability to tailor the user’s application with only the capabilities and data they need for their specific mission. 

The interview below is with Charlie Black, who runs the team using the NetBeans Platform at Northrop Grumman.

Hi Charlie, who are you and what do you do?

My name is Charlie Black and I have worked for Northrop Grumman since 1998.  Over that time I have been working as a software engineer on a Global Command and Control System (GCCS) program supporting data fusion, dissemination and display technologies. 

I am currently running a team that uses the NetBeans Platform for a product called Agile Client, which is now part of GCCS.

Team: Greg Gibsen, Charlie Black, Brice Bingman and James Maloney

What are the technical specifics of Agile Client?

The Agile Client uses several commercial off the shelf (COTS) products that make up its core feature set:

  • It uses the NetBeans Platform, which provides the services common to almost all large desktop applications: window management, menus, settings and storage, an update manager, and file access.

  • For map and visual rendering, Agile Client uses NASA’s World Wind product, enabling the retrieval of geospatial data via open standards that are embraced by the international community.

  • For providing data services, Agile Client uses Gemstone GemFire, which provides ultra low-latency distributed caching with high availability and no data loss.

Here's a screenshot of Agile Client in action:



Agile Client is also integrated with GCCS COP Collaboration. This allows one or more war fighters to work simultaneously on a single map. They can collaboratively create GCCS Overlays, share files and communicate by instant messaging and Voice over IP. This is all done with the Extensible Messaging and Presence Protocol (XMPP), which is a set of open XML technologies for presence and real-time communication.

What are the two or three things that you are happiest about, relating to this application?

  • Since the NetBeans Platform is based on standard Java UI technologies, we are able to integrate existing Java windows directly, without any issues. This has accelerated our development substantially.  

  • Using Sun UI guidelines and reusable components in any new development, we have actually made an application that is embraced by our customers as looking modern.


Underneath this application is the NetBeans Platform. Why?

The main reason for going with a rich client platform such as the NetBeans Platform was the module system. It will help with our deployment of a large scale application on an enterprise level. I can envision a future where there will be hundreds of modules deployed in the application. Then, using the update center, we can keep those applications up to date.  

How did you find out about it? When? Why did you start using it?

We have known about NetBeans for a long time. However it was used mainly as a developer tool. It wasn’t until NetBeans 6.0 that we started using it as our platform for basing new work on.  

What are the main things you gained from the NetBeans Platform?

  • Using the NetBeans Platform, we decreased our time to develop our application by using existing window components.

  • Also, the automatic updates are integral to our final application. In the past, it would have taken months or even years to get a patch to our end users. 

  • That said, the most significant gain has been the community!


Which APIs have you used? Which ones are your favorites and why?

We actually use several API sets, with just about every one enabled. The Windows API is incredible, as that is what the end user sees that allows them to tailor their display. With the customization of toolbars, the end-user can make their own ad-hoc workflow.  The other API that we have been impressed with is the Nodes API, providing a view to our layers on the 3D globe.

What could be improved about the NetBeans Platform?

  • In our community OSGi is a big item, so if NetBeans could formally handle them for module deployment that would be a monumental win.  Imagine a module of business intelligence that can be deployed in Glassfish and in the NetBeans Platform. I realize that some work has already been done in this area, but to see it on an official roadmap would be remarkable.

  • After that, the Properties window could use something to make it more appealing. We are thinking of dropping our own Properties window in favor of the NetBeans implementation.

Overall, we have been really happy with the NetBeans Platform and the features it provides.

Do you have some tips and tricks for a complete newbie, who is getting started with the NetBeans Platform?

When new team members join, I customarily distribute to them a book on the NetBeans Platform. For further aid, I point them to the NetBeans Developer Wiki.  There is an amazing amount of information available, detailing not only what the NetBeans Platform can do for you, but what can you do with the NetBeans Platform as well.    

If more assistance is needed, I recommend just asking the community. Someone can usually help in answering any level of questions.

How have customers responded to this application and what are your plans for its future?

Our customers are very pleased with the application and they are moving forward with plans to base future work on the Agile Client.

Internally, we have made Agile Client with the goal of releasing portions back to the community.  However, before that can be done, we have to figure out what that means from our customer’s standpoint.

 

AttachmentSize
fig-1.png161.08 KB
fig-2.png125.87 KB
Agile_Client_Image.gif143.52 KB
Published at DZone with permission of its author, Geertjan Wielenga.

Comments

Earnest Dyke replied on Tue, 2010/03/23 - 9:57am

Greetings,

 I work with the Global Cyberspace Integration Center (GCIC) at Langley AFB and we would like to get more information about the application you have created and how we can develop modules for it. Do you have any documentation or a sample application/module you can share with us?

 Thanks!

Earnie!

 

Ross Berry replied on Tue, 2010/04/13 - 12:33pm in response to: Earnest Dyke

Official contact for GCCS-J at the Pentagon is 703-695-0671

Jared Ladner replied on Wed, 2010/05/19 - 10:57pm

Hi, I am developing a component to create Overlays that will be inputs to GCCS-J/M. I am very new to GCCS and overlays.

Do you have any input or direction on how to create Overlays, .ovl, or .mgc files?

Many thanks in advance! Jared

Anna Reyna replied on Fri, 2010/11/19 - 10:56am

I love what you are doing with Agile Client but is there more to come. There are so many people jumping on the Google Earth platform because of the imagery avaialble and functionailty that it is hard to get anyway from the google product. I would love to see DoD's product do circles around this with Agile Client. It is so hard to get users to use yet another mapping applicatin when products like this exist yet another URL of a capability the commercial world has http://www.youtube.com/watch?v=0TOqikZTBMY We do a lot of work with state and local responders which require the ability to pull data from resources outside of DoD such as local and state imagery (hospitals, roads, police stations, etc) which does not work well within the DoD applications. I believe Agile client could be a viable solution as it evolves. Agile client has to be able to load the latest and greatest imagery in multiple formats KMZ, KML, XML, RSS, WMS, 3D, and also produce a snapshot or be able to share the picture with other agencies in a real time environment. I see multiple efforts from services and agencies trying to create products to do this and always going back to google as a resource because of the functionality and addign the ArcGIS platform. I believe DoD has the cutting edge if they could evolve the technology.

Marissa Maples replied on Tue, 2010/11/23 - 1:56am in response to: Ross Berry

"Official contact for GCCS-J at the Pentagon is 703-695-0671"  How did you get that?  lol

Charlie Black replied on Fri, 2011/05/20 - 1:04pm

If you would like to get involved with what is going on with Agile Client you can find out more here: https://software.forge.mil/sf/projects/agile_client

Sean Pasley replied on Thu, 2012/05/03 - 1:52am

Is there any User manuals / Admin Guides Agile Client?   We are now trying to use the product for DOD AS.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.