Geertjan is a DZone Zone Leader and has posted 466 posts at DZone. You can read more from them at their website. View Full User Profile

Interview: Access Control Software on the NetBeans Platform

02.04.2010
| 9111 views |
  • submit to reddit
FERMAX is a Spanish family company with headquarters in Valencia, Spain. Founded in 1949, the company specializes in designing, manufacturing and commercializing Audio/Video Door Entry and Access Control Systems. At present, FERMAX enjoys a prominent position among the leading brands worldwide.

Below follows an interview with Oswaldo Rubio, a software developer in the FERMAX R & D department. Products related to access control require both maintenance, software installation and information management. Oswaldo's work is the development and maintenance of fingerprint analysis desktop software that connects to the fingerprinting hardware that FERMAX manufactures.
 
Hi Oswaldo, what are some typical problems relating to fingerprint analysis software?

The first involves the communication between the fingerprint reader and the computer. For this we use a protocol over RS-485 serial port, USB-serial converters, or even a converter RS-485 to TCP that we ourselves have made.

We use the communication library RXTX (http://users.frii.com/jarvi/rxtx/) for safety and stability. Communication with the fingerprint reader is done at 19200bps. The sensor stores in memory the fingerprint pattern for analysis and sends it to the access controller identifier, which is responsible for controlling access to the site.

Perhaps the most important problem, as usual, relates to timeouts due to the nature of the protocol. It is very dependent on the  transport by which the communication is made. Because the writing speed in the reader's memory is quite slow, we make use of concurrent instances of cancellable SwingWorkers for those writes in parallel buses.

To clarify further, fingerprint analysis is performed on the reader, storing in the database a copy of the footprints in BLOB format. Other services added to the software are the ability to lock or unlock a door, as the reader is connected to an electric lock device.

And how did you choose to use the NetBeans Platform as the basis of this software?

In 2006, we chose the NetBeans IDE as our programming environment for small applications based on the Swing Application Framework, although the amount of legacy software that we had still depended on IDEs like Borland Delphi 7 and Visual Studio.

It really was not until mid-2009 that we began to discover the features of the NetBeans Platform and that is where I found a solution for the large amount of legacy software that had been so far dispersed up until that point. A seminar in Madrid by ImaginaWorks and JavaHispano made me finally move the rest of our new developments to the NetBeans Platform.

What are the main reasons you chose it?

The first reason is modularity and bound to it the ability to split an application into different modules with the advantages that this implies for the maintenance and independence of the code. We can create very high-level applications by reusing modules already implemented in other applications.

The second reason is the update manager. It is a difficult task for us to control the versions that the client has installed, especially the installation and maintainance of stable and updated versions. Now we have our own update server on which we place the modules once they have been tested on the development server.

Let's now look at the application.

OK. Here are some screenshots:

 

In the application, we have four important custom modules. Firstly, "Fermax API", containing all the abstract classes and interfaces that are implemented by a pair of communication modules to the bus, "IP Decoder" and "Serial Port". In addition, there's the module "FingerPrint Protocol", containing all the business logic and protocols to communicate with readers, regardless of the transport layer we are using, such as serial port, TCP, and USB. The persistence of the data we manage through an Apache Derby database embedded within the project. As modules added in the last stage of development, we integrated a module to the security layer and another to manage multilanguage applications, regardless of regional location.

The intention with this modular architecture is that it enables our customers to extend these capabilities with other features related to their own needs, such as presence control and payroll control. Coming soon, these will be distributed and posted to all our customers, which will include new functionality that currently is still in the legacy software.

Some things that could be improved about the NetBeans Platform?

The documentation associated with the project system. Although I can find very good documentation in books like "The Definitive Guide to the NetBeans Platform" and websites like http://platform.netbeans.org/tutorials on Actions and Lookup, the documentation is not so clear regarding the interfaces ProjectFactory and Project.

Otherwise, I think the NetBeans Platform is a development environment that, although it has a somewhat slow learning curve, enables you to implement large projects in a reasonable period of time, once you have acquired the requisite knowledge.

Do you have some tips and tricks for other NetBeans Platform developers?

Something that worries me and generates many errors is the packaging of the application. To avoid such errors in adding the missing libraries, configuration files and other external resources, I always include this sequence in the file "build.xml" of the NetBeans Platform project:

    <target name="build-zip" depends="suite.build-zip">

            <echo message="${app.name}: update zip-distribution with the necessary things for the customer..." />

            <zip destfile="${dist.dir}/${app.name}.zip" update="true">

                <!-- <zipfileset dir="res/" includes="testigo.txt" prefix="${app.name}" />-->

                <zipfileset dir="res/language/platform11/" prefix="${app.name}/platform11" />

                <zipfileset dir="res/language/etc/" prefix="${app.name}/etc" />

                <zipfileset dir="res/language/ide12/" prefix="${app.name}/ide12" />

                <zipfileset dir="res/fermaxlectorhuella/fermaxlectorhuella/config/" prefix="${app.name}/fermaxlectorhuella/config/" />

                <zipfileset dir="res/fermaxlectorhuella/bin/" includes="rxtxSerial.dll" prefix="${app.name}/bin" />              

            </zip>

    </target>  

Another tip is to use PackJacket (http://packjacket.sourceforge.net/) when building the installable, i.e., PackJacket is a GUI frontend of the IzPack Project.

Thanks for the interview Oswaldo and all the best with future developments relating to your fingerprint analysis software!

 

Published at DZone with permission of its author, Geertjan Wielenga.

Comments

Tom Wheeler replied on Thu, 2010/02/04 - 11:50am

It looks like a great application, Oswaldo.  I agree that the AutoUpdate Center is one of the most powerful of the NetBeans Platform.  Customers definitely appreciate when you can diagnose a problem while on the phone with them and then push out the fix just a few minutes later. 

You probably already know that the platform's build script has a target to build the descriptor and NBM files for all the modules in your application.  One tip I'd add is that I configure a job for each of my applications in Hudson to call that target and then publish them (via JSch's scp Ant task) to the AutoUpdate server with the click of a button.

Geertjan Wielenga replied on Mon, 2010/02/15 - 3:20am

Here's the tutorial on ProjectFactory and Project:

http://platform.netbeans.org/tutorials/nbm-projecttype.html

At Ppty replied on Sun, 2013/04/21 - 10:30pm

Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work.

 Corals at Keppel Bay 

At Ppty replied on Mon, 2013/05/13 - 10:49pm

The Trilinq ,includes of solely three towers of 36 storeys high, approximately 750 units which provides magnificent views towards Sungei Ulu Pandan and the Pandan Reservoir. The Trilinq Clementi  provide an honest mixture of unit size ranges from 1, 2, 3, 4 bedroom and penthouses.

Bryan Low replied on Tue, 2013/05/14 - 7:28am

Future residents will be able to walk to Jurong East MRT Station which is located right beside it. Also, nature awaits your family and friends at the Jurong Lake Park and the Jurong Country Park. Also, the ultimate nature awaits you the Japanese Garden. J Gateway Site Plan

Bryan Low replied on Sat, 2013/05/25 - 12:44am

Jewel at Buangkok is a new and upcoming condo located in Buangkok Drive and Sengkang Central area, within a short walk to Hougang Green Shopping Mall  and a short drive to Compass Point. With expected completion in mid 2016, it comprises of 6 towers with 783 units and stands 17 storeys tall. Jewel at Buangkok Site Plan

Bryan Low replied on Fri, 2013/05/31 - 1:35am

Coral Edge Residences  has full and unique facilities, which includes a guard house, clubhouse, Function Room & Indoor Gym Tennis Court, 50m Freeform Pool Pool Deck, Wading Pool, Splash Pool & Family Pool Jacuzzi & Hydro Spa, BBQ Area Dining and Play Fountain, Fitness Alcove & Children’s Playground and Garden Trail. The condo’s facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Punggol. Thx Coral Edge EC

Bryan Low replied on Tue, 2013/06/04 - 12:51am

A wonderful and unique lifestyle awaits you. Please see DUO Residences project details and units available for more information. DUO

Bryan Low replied on Mon, 2013/06/24 - 1:35am

Forestville EC has full and unique facilities, which includes a guard house, clubhouse, Function Room & Indoor Gym Tennis Court, 50m Freeform Pool Pool Deck, Wading Pool, Splash Pool & Family Pool Jacuzzi & Hydro Spa, BBQ Area Dining and Play Fountain, Fitness Alcove & Children’s Playground and Garden Trail. Forestville EC Location

Bryan Low replied on Tue, 2013/07/09 - 1:36am

Several buses are available near Sembawang EC along with shopping centers and restaurants. Sembawang EC is also near Sembawang Shopping Centre as well as Woodlands Waterfront. Entertainment for your loved ones and friends are therefore at your fingertips with the full condo facilities as well as the amenities near Sembawang EC. Sembawang EC

Bryan Low replied on Fri, 2013/07/12 - 4:25am

Sea Horizon EC facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Pasir Ris. Sea Horizon Eligibility

Bryan Low replied on Sat, 2013/07/13 - 6:48am

Entertainment for your loved ones and friends is therefore at your fingertips with the full condo facilities as well as the amenities near The Glades. The Glades

Jurongwestcondo... replied on Tue, 2013/10/08 - 11:04pm

Several buses are available near New Condo in Jurong along with shopping centers and restaurants. New Condo in Jurong is also Taman Jurong Shopping Centre as well as Taman Jurong Market and Food Centre. location of jurong west condo

Comment viewing options

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