Modular Tendering Solutions on the NetBeans Platform
Fionn Ziegler is a software developer at Administration Intelligence AG
located in Würzburg, Germany. The company develops E-Procurement software for the public
sector. Among other tasks, Fionn focuses on the development and maintenance
of tenderer solutions. The software allows participants of a tender to
send their offers to the tender agency. It is a part of the procurement
solution, written in Java/JEE.
Fionn is one of the translators of the upcoming NetBeans Platform book "The Definitive Guide to NetBeans Platform 6.5". Here, however, he talks about a different document he's worked on:
The above is a link to his thesis on modular development on the NetBeans Platform. It is highly recommended reading, if your understanding of German is up to it!
Hi Fionn, first please tell us about the background of this interesting document.
Producing a written thesis is part of the German IT apprenticeship, which I completed in June 2008.
The thesis describes the creation of software that communicates with many different tendering-platforms at runtime. More particularly, it is concerned with the handling of different tendering-platform modules.
At work, we had to develop a more dynamic and modular solution than the one we had, because we were establishing more and more platform types and customer claim types. In the past, we developed all this in plain Java. It was sufficient to have a core part, including standard software functionality, document managment, and so on, and two parts for the communication to the various tendering-platforms. These parts are in a single Eclipse project, separated in packages, and therefore not very modular. Depending on the application running mode, the communication mode is chosen by "if-else" statements, interfaces, and abstract classes.
What I'm trying to say is that we always deliver the complete software but that only one communication mode can be used. This is very hard or even impossible to extend with other tendering-platform types.
A further advantage in a modular architecture is the ability to have an extended
financial concept, meaning that Customers must pay for every
tendering-platform module they want to use.

What are the main arguments of the document?
- Advantages of choosing a rich client platform with a modular framework.
- Eclipse RCP with OSGI vs NetBeans Platform: We decided to take NetBeans Platform because we have some libraries based on Swing and the NetBeans Platform matches our requirements very well in that area.
- The qualities and functionality provided by the NetBeans Platform.
- Using the Lookup API for locating desired implementions.
- Using the Java Persistence API, which provides a POJO persistence model for object-relational mapping.
- Decoupled module communication, i.e., declaring a service with individual modules providing implementations.
How did you come into contact with the NetBeans Platform and why did you start using it?
We got more and more requirements for our
software... our current software solutions couldn't cope with them all... and we
did not want to reinvent the wheel.
So we re-architected, creating an
application built on top of the NetBeans Platform to use its features, such as the module system, the update manager, window management, and so on.
What do you find most useful about the NetBeans Platform?
I
can't really decide between the module system and the window system!
Both are very useful for our requirements. The persistence of
TopComponents is especially useful as is the discovery
modules at runtime by the Module System.
Also the Quick Search API is exellent!
If
we had to develop features like these ourselves, I think it would have taken
years to come up with comparable solutions.
How has your document been received?
After
the presentation of my thesis project, I received a lot of positive
feedback from the moderators who're familiar with modularity. Others in the audience, less familiar with "modern"
software development approaches, didn't really understand the advantages of a modular
architecture.
I don't want to judge anyone, but a kind of abstract or modular perspective is required before the advantages of modularity can really be understood. And some
of the people on the examation board asked the same standard questions,
for example "What is XML-DTD" or "Please explain the MVC pattern" and so on.
But, all in all, it was well-received!
What are your future plans with the NetBeans Platform?
Next
steps are to decompose the current solution into smaller parts. We will port the reusable parts to the new NetBeans Platform application.
So, this project is not yet finished, despite the conclusion of my thesis!
| Attachment | Size |
|---|---|
| fig-1.png | 13.2 KB |
| fig-2.png | 50.09 KB |
| fig-3.png | 66.63 KB |





Comments
Bryan Low replied on Sun, 2013/02/24 - 4:54am
Several buses are available near Bartley Road and Upper Paya Lebar Road along with shopping centers and restaurants. Bartley Ridge is also near to Nex Shopping Centre as well as the buzzling Toa Payoh area. Entertainment for your loved ones and friends is therefore at your fingertips with the full condo facilities as well as the amenities in Bartley.
Bartley New Launch