Building any large application always involves a considerable amount of planning and thought to how the infrastructure of the software is going to be implemented. Decisions on the number of windows and views as well as how all the components communicate can take considerable effort to design and implement. On top of this changes in the applications during and after development can cause considerable problems. Ideally what is required is an application framework that handles all the ‘plumbing’ of the application. If Java is your preferred environment then the NetBeans platform is the answer. If you have done any Java programming then you may have used the NetBeans IDE.
All the infrastructure that makes NetBeans a great Java development IDE is available as a foundation for any type of desktop application.
Here at Sharp Statistics we have used the NetBeans platform to build data analysis software and found it to be very effective, as all the infrastructure is taken care of the majority of development time can be spent on implementing data analysis methods and business logic.
The modular nature of the NetBeans platform allows for similar functions to be grouped in separate modules keeping their functionality completely separate from the rest of applications. These loosely coupled modules make development much easier as it is impossible for changes in one module to interfere with the operation of another, and conversely changing the implementation of one module does not then cause errors in the main application. Using modules makes future updates straight forward as if a new analysis method needs to be added a new module is built which just links into the existing structure of the application.
The Look Up is a key concept of the platform. It is the mechanism that allows modules to communicate with each other. Any module can expose data to the look up allowing other modules that are listening to action any changes. So a window showing the data can be edited and that change is automatically propagated through all the relevant components updating where necessary.
All the user functions of a module are defined as actions which are then automatically added into the user interface. Actions can be context aware, only being enabled when the appropriate window or data item selected. Each module can have any number of actions and each action definition details where the option appears in the menu system, so removing or adding a module automatically results in the correct menu options being shown.
And there’s more
Look Up and actions are only 2 of the many systems available, so when you add window management, file system, help system, logging system, status bar, persistent settings, application updating, visual editor etc… you have a comprehensive framework for quickly building all sorts of data analysis tools.
But don’t take our word for how useful the NetBeans platform is check out the showcase on the NetBeans site to see how many companies and organizations have already taken advantage of a fantastic application framework.