I've been spamming this list now so much that I thought to give a
little presentation about my interests and our project's goals to get
some feedback and thoughts from other users - so that I would not need
to make any mistakes that could be avoided beforehand.
I work in a small startup that is creating and launching a community
and site in few countries around Europe during the fall - and then
actively developing the site and it's features onwards. Current
version of the site is developed in PHP, utilizing a well constructed
php-framework in traditional MVC-patterns. Eventhough code is well
written by guys who know their craft, to me - a java programmer - it
feels messy and cluttered. Hence I thought about using quercus and
separating frontend and business logic from each other into totally
separate layers, writing latter in java.
Spring framework is naturally my weapon of choise thanks to existing
skills in it - and high adoption of Spring framework in our job
markets, which guarantees that people with Spring-skills can be found,
hired and trained in no time. Business logic is written as spring
beans that show all the necessary services to the php-layer. Session
management and security is also handled in java-layer through Spring
security. DAO-layer will be either through SpringJdbcDao or Hibernate
- most likely JdbcDao.
Even though this hybrid architecture will produce some overhead
compared to just continuing with php-code, my belief and hope is that
the clarity it and manageability it brings to the code will pay itself
back in notime. At the same time we still keep the ability to
prototype frontends quickly with php, even though all the backend code
is in robut java framework - ready to be clustered and scaled up - if
the need comes. Naturally guys who write/wrote the php-code might not
so happy about these decisions, but will hopefully later on agree that
added layers actually allowed us to also scale the production up to
different teams as people could work with interfaces and stubs, even
though backend code would not yet be finished.
PHP naturally makes business sense because of existing skills
available at the marketplace. It is cheap to buy web developers by the
dozen with existing scripting skills, compared to guys who have skills
in Java MVC-frameworks. Prototyping with php is also lightning fast -
and as all the important code has been dropped down to the business
logic-layer, it is harder to shoot oneself to the foot with clever
If everything works, this should be a clear win-win solutions for us.
resin-interest mailing list