Jason has posted 1 posts at DZone. View Full User Profile

Broadband Wireless Communications Systems on NetBeans

01.03.2012
| 3652 views |
  • submit to reddit

I'm Jason Midkiff, hired into DataSoft, a broadband wireless communications company, as a senior software developer last April to work on a few products stemming from Small Business Innovation Research, which is primarily funded through the US government.

Eclipse RCP vs. NetBeans Platform

When I came into DataSoft, I knew primarily how to develop Java applications using Swing, but was interested in expanding my own "knowledge portfolio" and finding better and faster ways to produce professional looking applications. After we produced version 1 of one of our products, the Waveform analysis tool, in Swing, I decided that we should do some research into the NetBeans Platform and Eclipse RCP. We took a few weeks analyzing both RCPs and running through tutorials on each platform, since both platforms do have a substantial learning curve, even though the claim is that it will pay off in the end.

In the beginning, I was anticipating picking the Eclipse RCP, just because I had worked with it before and I had seen it in action through many other products, such as Rational Systems Architect from IBM. However, through the weeks of looking at both RCPs, I found that the quality and quantity of tutorials and support offered by the NetBeans Platform far outweighs Eclipse RCP. Furthermore, the organization of the information is much more intuitive on the NetBeans site.

So, in the end, it was my decision to go with the NetBeans Platform for our next product. Since then, we have created 10 different modules of software and packaged them into 5 different module suites.

Tool Portfolio

Here's a breakdown of some of the tools we are actively developing on the NetBeans Platform.

  • SDR Waveform Analysis Tool (SWAT). This application measures the complexity of waveform software (typically C++ code) and compliance of waveform/platform software against Software Communication Architecture (SCA) standards. It is intended to provide an assessment of portability of waveforms to new platforms.


  • DataSoft Interface Verification Application (DIVA). This tool provides the user an easy way to define and organize APIs and compare a standard APIs against a vendor API. In essence it is a much more thorough version of the Beyond Compare tool in that it actually breaks down software into its lexical structure to find differences. Right now the tool just supports analysis of Interface Definition Language (IDL) but its architecture allows extensions for other languages like C++ and Java.


  • Domain Profile Explorer. This tool analyzes the Domain Profile (which is a set of xml files) of a SCA waveform and/or platform and provides a visual layout of the system (essentially a component diagram) as well as an analysis of the domain profile’s adherence to SCA standards.

  • IDL and Thrift IDL Editors. Lastly, since our first two products listed above use ANTLR lexers/parsers, we thought it would be appropriate to try integrating our lexers and parsers with the NetBeans lexer and parsers to produce editors for standard IDL and Thrift IDL. As of right now, these editors provide syntax highlighting as well as parsing error highlighting. We aim to add to these two pet projects some more useful features like integration of a IDL-to-C and IDL-to-Java compiler.

We’ve been developing using the latest NetBeans Platform 7.1 builds, since they offer some new APIs that were not available in 7.0. Finally, I’m also interested in the newly released JavaFX version and how it will integrate with NetBeans Platform applications. I see us putting some JavaFX content into our applications in the near future.

Published at DZone with permission of its author, Jason Midkiff.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Matayo Stanyslas replied on Wed, 2012/01/04 - 9:16am

Very beautiful application, can you tell me which component you use for the expand/collapse panel?

 Thanks

Jason Midkiff replied on Wed, 2012/01/04 - 11:12am in response to: Matayo Stanyslas

Thanks for the positive comments! The component being used comes from the XML Multiview component which is an extension of the Multiview Windows component. The XML Multiview component is not considered stable but is receiving a good amount of votes for stabilization (see http://netbeans.org/bugzilla/show_bug.cgi?id=107858). Aside from the extended support for XML files it has a few classes that make it easy to produce TopComponents that look like those in my screenshots with panels that can be expanded and collapsed. If you want to use the XML Multiview in your application in the same manner you'll have to add a Implementation dependency on the XML Multiview module, not just a Specification dependency.

Allan Rich replied on Wed, 2014/02/26 - 7:09am

Usually I prefer to work with cable internet, the online platform I'm using performs better when I do so. As soon as I learned about the cabling options on http://www.qccusa.com/solutions/infrastructure-cabling and I had  a new network set up I've been more productive!

Comment viewing options

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