What is your background? Could you briefly introduce yourself?
I am a trained computer scientist and have been working for about 15 years as a freelance Java developer. I also belong to the core team of an established reservation system.
What is tipi.camp?
tipi.camp is an intuitive, efficient and affordable management and reservation system for campsites. The application is cloud based. We currently have clients in Germany, USA and Australia.
You attended the regular airhacks at Munich airport. Shortly after the workshops you started tipi.camp and hired me to answer some questions. Where you got the idea? How tipi.camp started?
I gained a lot of great input in the workshop and I was inspired to implement an application afterwards. Simple exercises were not enough for me. The idea for the camping project came during my last vacation and so that's why I thought that now is a great time to start.
Did you had the chance to chat with other attendees during the airhacks? If yes, what was the most interesting project / problem / situation in the workshops?
I found my colleague's project to be very interesting: Stock market software independently buys shares dependent on current weather data -- the sudden onset of winter temporarily puts a damper on Lufthansa's shares. The demand for road salt on the other hand helps K+S shares.
The main problem that my discussion partner experienced was because of exaggerated architecture in their own software.
How much code have you deleted after the airhacks workshop?
I take every opportunity to revise and delete. I'm not sure how much I deleted, but it was quite a bit of code -- at least 30%!?
Which technologies, servers, libraries are you using in tipi.camp?
Java 8, EE7 with Wildfly. Primefaces and some Jakarta Commons. The Wildfly runs with Docker and deployment is done using Jenkins.
How many developers are currently working on tipi.camp?
You are using the Entity Control Boundary pattern. What is the experience with that?
This keeps projects of any size very clear. Anyone can immediately navigate quickly in the source. I use always this pattern now.You told me "Java EE's productivity is dangerous". What did you exactly meant by that?
The Java world has greatly changed in recent years and has become much easier and better. With the possibilities of Java EE 7 and some pragmatism you can focus entirely on business logic and put products faster on the market. Utilizing features from application servers is of course an incredible market advantage. Those capable of adapting fast will survive -- this is especially true for the software market.
What are the challenges you are currently facing?
Ongoing projects to migrate to EE 7. Exciting but should not be underestimated.
Are you providing support to your customers? How challenging is it?
The support effort is surprisingly low, although the software is heavily used ;) The user interface is intuitive and common use cases are covered with tutorial videos.
Monitoring is based on CDI observer / events, any meaningful potential problems can be identified before the customer writes an email.
What about the performance? Is Java EE fast enough?
The application is currently running on a low-cost standard server and is still very, very fast. The beans for JSF are all ViewScoped or RequestScoped, and the EJB's stateless -- this makes the memory requirements very manageable.
You migrated from GlassFish to Wildfly. Was the migration painful? How much time did you spend for the migration?
The migration from the sourcecode surprisingly easy -- I needed just 1 day for minimal modifications. The Wildfly is easy to manage, I needed 2 days for selftraining with free tutorials. That was all.
Do you have any secret ideas for new startups?
Will you choose Java EE for the realization of your ideas again?
Definitely yes. Java EE is a free to use startup-igniter.
Christoph thank you for the interview!
NEW MUC Airport Workshop: Migrating Java Client (Swing / Java FX) to Web Standards