Tomáš has posted 1 posts at DZone. View Full User Profile

Semiconductor Defect Tracking on the NetBeans Platform

06.21.2010
| 5276 views |
  • submit to reddit

My name is Tomáš Hubálek and I'm the architect of the CADET (Corrective Actions and Defect Events Tracking) application at ON Semiconductor (Nasdaq: ONNN). CADET is created by a group of software developers working on applications supporting ON Semiconductor production, located in Rožnov pod Radhoštěm, in the Czech Republic.

The CADET application is an internal application created to collect defect information and plan corrective actions relating to ON Semiconductor production.

NetBeans Platform

The application is built on the NetBeans Platform and is deployed via Java Web Start on ON Semiconductor's intranet  servers in the US, Europe, and Asia.

How we found out about the NetBeans Platform? Well, first we selected the Matisse GUI Builder and this led us to use NetBeans as an IDE. And, once we had Matisse, we started looking for a Swing-based rich-client platform.

Our project started in 2007 and in those days there wasn't much choice in this area. But, three years of development experiences later, I don't think we made a bad decision. ;-)

Screenshots

Architecture

The size of the source base is ~ 150k lines of Java code in about 35 Maven modules, which equates to about 5 developer years of work. It consists of the following layers (from  bottom to top):

Server

  • Oracle DB - database
  • Hibernate - ORM framework
  • Spring - business logic layer
  • JAX-WS - transport layer


Client

  • JAX-WS - WS client
  • Swing Based Forms - each module consists of JPanels that can be either pasted into JFrame or into a NetBeans TopComponent
  • NetBeans Platform - used mainly as window manager, for inter-module communication, and module isolation


Tools

  • NetBeans 6.8 as IDE
  • Hudson as CI server
  • Mercurial as SCM
  • Maven for building and dependencies management



Published at DZone with permission of its author, Tomáš Hubálek.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)