BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
During a JavaOne 2014 session, Rob Terpilowski will be demoing NetBeans applications, two of which he built in his spare time.
Apache Camel is a key ingredient of the Zoi real-time commodity price monitoring application you'll show at JavaOne 2014. How did you use Camel there?
Rob Terpilowski: We've been working on two apps for Zoi, one for monitoring commodity prices and one for trading commodities through one of our brokers.
For the monitoring app, Camel definitely made it possible to create an abstraction layer over integration frameworks. You can easily take something that is communicating with email, by sending email and monitoring email boxes, switch it over to a message queue or a Web service without having to modify a whole lot of code. You're looking at the underlying mechanism, so how it's implemented is not as much of an issue as getting the data back and forth. It's become a very, very popular framework in the last five or so years.
Tell us about the Google mapping app you've been building.
software architect, Lynden Inc.
We want to get a mapping portion in the Lynden app, because we like our warehouse managers to be able to track where any trucks are. If the [drivers] are heading out to pick up freight, the warehouse manager can actually see in real time where they are, and route them to other nearby customers to pick up freight while they're out.
Have you run into any challenges when doing any of these projects?
What are some approaches you took in the mapping project?
In general, I'm starting to integrate some JavaFX into the NetBeans platform, which is along the lines of the next UI framework that Oracle is providing as part of Java 8. It may not take the place of Swing, but it looks like it's going to become the next framework Oracle is supporting, as opposed to Swing. I'm sure we'll be seeing more and more desktop apps being developed using JavaFX, rather than Swing.
I see more and more cloud applications in my future.
software architect, Lynden Inc.
What other development projects are you planning to do?
Terpilowski: All around I see applications being run as a service within a cloud, whether it's in the [application owner's] cloud or in an Amazon or Microsoft cloud, a public cloud. That's a direction I would like to see us at Lynden take. Why are we in the business of maintaining our own hardware anymore? Why do we need to do this when we could basically delegate those to Amazon, and then we could spin-up different servers, as we need them and scale, as we need? Instead, we have to procure our servers, install them in our data center and make sure everything is properly integrated. All that work could be handed over to the cloud people who do that full-time.
For development, cloud providers make it easy to use an interface for creating applications that can scale horizontally. So, I see more and more cloud applications in my future. The cloud is where everything is going to be living someday.
I'm interested in checking out micro services [sessions and products] at JavaOne. That's the architecture we're moving toward at Lynden. We're breaking down monolithic applications into a smaller set of services and using Web services or messaging to allow them to communicate with other services that are running inside Lynden or our third-party data providers.
Here's a preview of Rob Terpilowski's Zoi Capital Google mapping app.