Java EE Through The Eyes of PHP Developers: Interview With A Java EE Spin-Off
Albert with his team is airhacks.com alumni, passionate Java EE developer and was PHP developer in his earlier life.
Albert, please briefly introduce yourself.
I am a Telecommunications Engineer with 7 years experience in the software and web applications development. Right now I am IT Lead in Ion2s GmbH for the project poolingpeople.
Is ion2s.com a startup?
Actually not. Ion2s is a web development company. However, the CEO of the company wanted to develop an online collaborative tool to manage his own work and so was how the first idea of poolingpeople born. The project is completely self-financed through the web development.What are you building?
poolingpeople is an online collaboration platform. It is build through modules. A module can represent tasks, contacts, events, talks, pools (kind of groups) and so on. Each module item can be connected without restriction to any other component. To make it more understandable we like to compare it to a lego game. In lego, you have pieces and it is possible to interconnect them using a standard interface. The final result can be anything you can imagine and that is what we are try to achieve in poolingpeople. That each user can build any work and collaborative structure.
How many developers are working on the application?
Right now we are five developers. Two for the backend, 2 for the frontend and one student that is now entering the java EE world
I frequently hear at conferences about the popularity of PHP. You were a PHP developer but attended airhacks workshops to learn Java EE. Why?
I would separate this questions in two parts. Firstly, why I have attended airhacks and secondly why I have changed php for java and Java EE. I was in the airhacks workshops because we have taken Java EE as our platform for poolingpeople.
Before, we had tested php, tomcat, and for a very short time Spring. However, we had no experts or experimented people nor in java nor in java EE and we would like to be sure that we were in the correct way. In a web-development company, you can imagine that java is not the most beloved language, so a lot of concerns was appearing (performance, agility, productivity, capability, ...). That was the first reason why we have taken part in airhacks and the results were so astonishing that we visited airhacks again.
About php, it had too many problems and limitations (limited functionality, functions naming, dependency on the server, bad documentation,...)) or at least so was it when I left it. I have also proved that the main reasons why to use php and not java where not well funded, i.e. performance, productivity and so on. Ah, and I like typed languages and a compiler on my side.
What is your impression of Java EE?
Really good. I have worked for a while with tomcat + jersey + hibernate. I had always read that a Java EE application server would be too heavy, too complex. Java EE itself should be extremely unproductive and overweight. It turns out that to have a complete stack has never been so easy and fast. The available resources are incredible. And the portability is also a great point. Change a server had never been so easy. The power and features of java EE out of the box is one of my the favourites points.
Is Java EE fast enough for "big data"?
Because we have not been in production we have not really worked with big data so I can not really answer this question. Moreover the term “big data” is too generic.
How much code have you deleted after the airhacks? Are there any simplifications in the pipeline?
Yes, some code has been reduced and much more is waiting for the new version to be reduced. We have deleted almost all interfaces leaving only those that are really needed. We have also removed arquillian and simplified our testing. Right now our test is mainly unit and system test, leaving arquillian almost useless. Since the last airhacks we have also moved to java 8.
Which IDEs, tools and application servers are you currently using?
Right now we are developing with Intellij Idea since it has a great support for our whole stack. We have chosen wildfly as our application server. For the persistence we are using mainly Neo4j. In a future it is planned to move the objects attributes to a better suited data storage and use Neo4j mainly to resolve relations and joins. For CI, Jenkins has been our choice. The frontend is done with Angular.js and Foundation framework. We are running our code on docker on the top of AWS.
As PHP developer, what is your impression of the Java ecosystems, tools and IDEs?
It is just great. The “main problem” is that there is always something new to learn. Until now I have always found what I needed without to move from java ecosystem. However, I would say that the java ecosystem and the php ecosystem are not comparable. That is for me the problem. The possibilities of php covers just a small set of the java possibilities. This difference was always an important point for me to make the jump.
If you could start-over, would you choose Java EE again?
Yes, almost all the projects that I am beginning (private or professional) are java EE. Also for prototyping is extreme agile. The combination of jax-rs, cdi, jsf… make prototyping a breeze. The concept about convention over configuration well used makes to run a projects in a minute or less. That was also a point learned on the airhacks. A couple of lines and a dependency and its done
Is ion2s.com also hiring Java EE developers?
We expected to hire in the next months.
Albert, thank you for the interview!