Student Industrial Automation Project on the NetBeans Platform
Tell us about the graduation project you worked on.
The technical computer science faculty includes software engineering, embedded hardware, industrial automation, and much more. The project we completed was a part of the industrial automation course. We had to simulate about 400 sensors on a server by generating random values within a certain parameter. The generation of these random values had to be done with a time interval of a few hundred milliseconds and these values needed to be stored on the server. (All of this was done with c++.)
The client, based on the NetBeans Platform, had to be able to show the values in a chart so that an operator would be able to check the sensors. The operator also had to be able to rename sensors and alter the generating parameters. And if a sensor violated one of its parameters, an error/warning needed to be shown in a window. (The violation of these parameters also had to be randomly generated on the server.)
So, just to sum it all up, we had to create a simple SCADA system (Supervisory Control And Data Acquisition) with simulated sensors.
Now, why was it necessary to use the NetBeans Platform for this?
About two weeks before the project started, a friend of mine, several teachers, and I followed a two-day course in the NetBeans Platform:
(More about that here.) You could say that during that course "I saw the light".
I had done Java projects before, but I had never used a framework. I usually simply create a JFrame in which I dynamically add my own JPanels. This is a time consuming task, time that I would rather use perfecting my algorithms.
What are the main things the project gained from the NetBeans Platform?
Because of the NetBeans Platform and the time we saved by using it, we could be more ambitious. For the communication between the server and the client, we used Google Protocol buffers... something we wouldn't have done otherwise.
But the main thing the project gained from the NetBeans platform is that, thanks to the NetBeans module system, we were able to program code that didn't turn into spaghetti easily, code that was well organized, clean and easy to understand.
What was it like to get started with the NetBeans Platform? Do you have tips & tricks?
Getting started with the NetBeans Platform isn't that hard. In fact it is very easy. It's easier than building your own application using a JFrame. All you need to do, to really get started, is learn how to use TopComponents and how to communicate between modules (Lookup).
There are plenty of tutorials available to help you get started and if that isn't already sufficient you can also have a look at the many NetBeans Platform screencasts at http://www.netbeans.tv.
What's one thing that surprised you (in a good way!) about the NetBeans Platform?
The biggest surprise I had wasn't about the NetBeans Platform but about NetBeans in general. I didn't know that NetBeans IDE was based on the NetBeans Platform. I just thought NetBeans was a programming tool... I didn't know that it also was a framework.
So, when I first heard about what NetBeans really is, I was surprised in a good way!
What could be improved about the NetBeans Platform?
This is a difficult question for me. I have only scratched the surface of what the NetBeans Platform can really do.
However, I do know of one thing that limits the NetBeans Platform... and that is the ignorance that Java programmers have about NetBeans. Before the two-day course at my school, almost no one knew that the NetBeans Platform and the NetBeans IDE were two different things!
What did your teachers/instructors think about your application?
At first, they were skeptical about our use of the NetBeans Platform because we were known to always find the most ambitious ways to solve our tasks. I got the feeling that, once they learned we used a framework, they were afraid of us maybe having taken the easy way out.
However, after we presented our project, they seemed quite satisfied. Moments later they gave us our grade: a nine out of ten!
What will you do now, what are your future plans?
I actually already started packing my bags: in just a few days I will be leaving to Australia for about 6 months. During these 6 months I will be studying at the Edith Cowan University in Perth, Australia.
After that, I will return to Amsterdam for 6 or 12 months and then I will hopefully be doing an internship... with a little luck and with a little help hopefully in Java! (Leave a comment here if you know of suitable internships!)
By the way, during my studies in Australia I will be keeping a (video)blog for all of you who are interested. In about a week or so you will be able to join me on my adventures by going here, which is my personal website:
Anything else to share?
Proud to be a NetBeans Platform user!