Saturday, June 27, 2009

EJB 3.1 specs heading in the right direction

Since a long time EJB were loosing ground in favour of simpler and more effective programming models. specifically, Spring has become the leading framework to develop and deploy JEE applications.


For these reasons, a sense of urgency is pushing the new EJB specifications toward a massive simplification. This trend was clearly significant when the EJB 3.0 were introduced, and it is continuing now with the latest EJB 3.1.

Ken Saks, the Specification Lead for EJB 3.1, has written a nice summary of the hottest features. "A Sampling of EJB 3.1" shows you the most interesting news. Together with the upcoming Glassfish V3 , which is a very lightweight and OSGi based application server, the new specs can represent a quantum leap in terms of productivity and win back some developers.

It is difficult to predict if it is too late to regain developers' confidence and market quotas, but the combination of JEE 6 + EJB 3.1 + Glassfish V3 seems to be heading in the right direction: no overload of features but simplification.

Specifically, Ken Saks mentions:
  • Ease of Development: the ability to package enterprise bean classes directly in a .war file, without the need for an ejb-jar
  • No-interface View: you don't have to write interfaces if you don't need it
  • Simplified Packaging: You now have the option of placing EJB classes directly in the .war file, using the same packaging guidelines that apply to web application classes.
  • Singletons: A singleton is a new kind of session bean that is guaranteed to be instantiated once for an application in a particular Java Virtual Machine
  • Application Startup/Shutdown Callbacks: The introduction of singletons also provides a convenient way for EJB applications to receive callbacks during application initialization or shutdown

Simplification, is the way to go.

Stumble Upon Toolbar

Monday, June 22, 2009

JMS Over HTTP Using OpenMQ

DZone has an interesting article about new OpenMQ's features:

"OpenMQ provide different transport protocol and access channels to access OpenMQ functionalities from different prgramming . One of the access channels which involve HTTP is named Universal Message Service (UMS) which provide a simple REST interaction template to place messages and consume them from any programming language and device which can interact with a network server. UMS has some limitations which is simply understandable based on the RESTful nature of UMS. For current version of OpenMQ, it only supports Message Queues as destinations so there is no publish-subscribe functionality available."

Read the full article.
About OpenMQ.

Stumble Upon Toolbar

Thursday, June 18, 2009

The end of the body-shopping model

In the very last few years in Italy I have seen many system integrators undertaking what I have always seen as a dangerous path: progressively moving toward low-valued body-shopping. Healthy companies, with a good track of high-level consultancy and custom product development, decided it was more lucrative to only hire inexperienced kids just out of Universities and send them to customers. Two years of experience was enough to classify those kids as "senior developers" and make good margins out of them.

The mixture looked good: horde of young people, rich of enthusiasm and open to accept ridiculously low salaries have been sent to final customers, where the only selection criteria has been: very low daily rates, please. Really, most customers do not even look at resumes, they just want to keep a pressure on daily rates. On the other hands, it happens to read ridiculous job posts here in Italy, for example "A junior developer with at least 5 years of Java experience and 3 years of SAP". And the proposed salary, of course, even more ridiculous.

A lot of consulting companies have seen only one direction: grow the number of employees, grow sales figures, making margins by selling a lot of very junior developers for low daily rates. This has been perceived as an easy path for growth, less risky than investing in new technologies and growing an high-level consulting profile. On the other side, customers only devoted on reducing visible costs, without any kind of performance monitoring, created a bid competition on the lowest rates, regardless of effectiveness. Now they get what they deserve.

One bad day, the financial crisis comes.... One bad, black day, that big customer tells you he doesn't need your 50 kids anymore, because there is no more budget for that project. And the day after, another customer tells you that the expected budget for that new project has been cancelled, so you don't know where to collocate those 30 kids you have just hired. The game is over, as you have to pay salaries for people hanging around your offices without anything to do. You have to start firing people and fighting with unions (Italy and usually Europe is not US, you can't just kick people out of their cubicles and make your employees paying the bill for your lack of strategy). You don't really know the people you hired, because you have parked them to a customer for the last few years and forgot about them. Maybe now it could be time to invest into quality, but it is difficult and a bit late: you realized that you best people left the company a while ago, now you are full of developers with bad habits - they growth without guidance, they never took any good training. Suddenly your revenues disappear, your margins are red and your credit is over.

However, I rarely encounter other kinds of companies, those who are less greedy, have planned to grow at a sustainable rate, invested in less but more skilled people, train their junior developers and discuss reasonable rates with their customers. Those who think about IT in terms of solutions (quality) instead of man-days (quantity) and reward their own people with challenging jobs and decent salaries. Very often, this smaller companies are the ones surviving better to crisis, because they are in control of their business.

Usually, in a free market quality of supply is driven by quality of demand, so I guess customers need to change their purchase habits soon if they want to shape the IT market differently. Quality pays for itself, sooner or later.

"My personal feeling is that this is how any further improvement of the world will be done: by individuals making Quality decisions and that's all. God, I don't want to have any more enthusiasm for big programs full of social planning for big masses of people that leave individual Quality out. These can be left alone for a while. There's a place for them but they've got to be built on a foundation of Quality within the individuals involved. We've had that individual Quality in the past, exploited it as a natural resource without knowing it, and now it's just about depleted. Everyone's just about out of gumption. And I think it's about time to return to the rebuilding of this American resource -- individual worth."

Quote from Robert M. Pirsig, Author "Zen and the Art of Motorcycle Maintenance"

Stumble Upon Toolbar

GlassFish ESB v2.1 has been released

"New in GlassFish ESB v2.1 is clustering for all components, a great number of bug fixes, the inclusion of the IEP SE and Scheduler BC (a new component!), several component enhancements, inclusion of the latest NetBeans 6.5.1 IDE and the latest GlassFish v2.1 application server, and support for AIX 5.3. "

Look at the release notes for more.

Stumble Upon Toolbar