Roses and Thorns: Java/Spring/Wicket/Hibernate Device Manager

The next project we worked on was a device manager written in Java/Spring/Wicket/Hibernate. Actually, there were a couple projects for this customer, but the general architecture was the same. The applications run in the cloud and use Terracotta to share information between instances. There were several devices supported, but generally, the devices were Zigbee gateways and the gateway controlled other devices. These devices might be in a smart home or installed in an industrial environment to monitor equipment or resources.

The roses here were the interesting technology used. Java/Spring/Wicket/Hibernate and Zigbee devices are interesting. Were were also implementing SMS and satellite interfaces for devices that were not connected to the Internet, so those were fun problems to solve.

Now I think Java is a great language and I have a lot more enthusiasm for it than Ruby as a language, but Java model/view controller (MVC) is nothing to RoR MVC. There is no natural enforcement for controllers and I don’t think hibernate lends itself to putting logic in the models as it does in RoR. Part of the problem was the application started before Hibernate annotations, so they used XML and generated POJOs. Terracotta also provided a new set of problems for us. It is all about learning how to set up Terracotta, but you think everything is great because your unit tests pass and your functional tests run fine, but when you spin up multiple instances of servers, things blow up.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s