It has been quite a while since I spent an intense 45+ hour weekend slinging java code. I can report that I am both tired and happy to have completed the first stage of an Oberon Employee Data Integration product between our HR system and our payroll system. Although on the surface this was a fairly simple transformation program converting the data exports of one system (XML data) into the data imports of another - along the way there was plenty of opportunities for design challenges, ease-of-use features to add (via a robust configuration file) and complexities to overcome to keep me happy! The code is currently weighing in around 1900 lines (including comments). Yes, nothing to brag about but it felt good to be "back in the saddle". I will walk through some of the design challenges encountered here shortly. For now, a few key kudos and observations.
- Kudos to the NetBeans team!! Being a long time Java developer and author, I was so impressed with the amazing progress in Java IDEs. Yes, I have also used Eclipse and like it but here I wanted to try out the new Matisse GUI builder. Let me say that the GUI builder came through with flying colors!! Of course, this GUI is simple, but heck with NetBeans it took me less than an hour to have a working GUI. I have been doing some Microsoft Visual Studio development the last few years and I can proudly say that the FREE Java GUIs have definitely caught up to Visual Studio!! Way to go Netbeans Team!!
- This project represents Oberon spending real time and resources getting our own data management house in order. We have put together a small community of interest relating to common data between departments (HR, contracts and accounting) and have chosen the authoritative systems for different types of data. In this stage of the project we are eliminating double data-entry that was occurring between our HR and Payroll system. This will make the HR system the authoritative source of data for the information that they are the "point-of-entry" for. We are implemening a key principle in data management that I preach to clients all the time. Don't hide inefficiences and poor practices with "manual workarounds". So, it feels good to be able to back up our words within our organization. If your organization is doing lots of manual re-keying - we should talk.
More on this later, but I am excited about this project. I will be posting more about this phase (design issues, principles and patterns) and keep you posted on the next phase where we integrate another system.
Until then ... happy coding with NetBeans!