<<Some things that happen in the name of architecture do not exactly
pan out as planned. Enterprise Java Beans is one of them. Although
many individuals and corporations had a role in establishing this
component standard within the larger J2EE standard, EJB is seen in
some circles as IBM's major contribution to Java. Sometimes EJB is
described as bloated; sometimes, worse.

The thinking behind EJB somewhat predates Java, as it followed on the
heels of IBM's code-name San Francisco component effort. EJB,
especially as it has evolved, is widely seen as too complex. That may
be because it has tried to be fully encompassing.

Narrower, focused frameworks have arisen as alternatives to
full-fledged J2EE with EJB. Chief among these is the Spring Framework,
which uses Aspect-Oriented Programming techniques to identify
overarching design patterns while focusing on the day's most common
job, Web-enabling applications.

Preliminary data from a 2008 Java Trends survey by SearchSOA.com
sister site TSS.com shows that 76.8% of survey participants have used
Spring. Acting as something of a commercial Spring steward is
SpringSource, a company dedicated to promoting Spring-style app
building. We spoke recently with company founder and president Rod
Johnson. He told us Spring and SOA are very complementary.

The portability is key to the drive to Java is not a done deal if
services are tied to servers.

"SOA is about integration of different things," said Johnson. "This is
where we think Spring is beneficial."

"The models in traditional methods of J2EE with EJBs tended to tie
your code very much to a particular environment: the monolithic
application server environment. While Spring can be happy [in a
monolithic server environment], the Spring container is also
inherently portable," he continued.

Able use of Spring can better ensure, 'separation of concerns.' That
is one the goals of Spring, and is epitomized by its use of a Model
View Controller (MVC).

With Spring, "you may have greater freedom to repurpose your business
logic, and to deploy in non-traditional deployment scenarios," said
Johnson.
"EJB came before SOA," said Johnson. "It was a component model and
distributed technology rolled into one. It also assumed you would use
RMI- or CORBA-style remoting. The EJB model is still coupled to an
application server."

"The problem was that combining the component model and distribution
didn't work in most cases. And it made a lot of assumptions about end
services," he continued. "It was a homogenized world where you had
Java at both sides of the wire. It doesn't reflect the reality of today."

"The Spring framework philosophy is that you should have a
high-quality component model independent of any remoting strategy or
distribution model," said Johnson. That breaks the coupling that EJB
had with app server, he indicated, and provides more choice for
enterprise architects.

Now, the Spring community is working on a Web services project build
on the notion of 'contract first' patterns. Spring 3.0, said Johnson,
will be providing substantial REST support through the Spring MVC.
"The Spring component model will automatically support RESTful
communications," he said.

While many successful applications have been built using EJB, it has
never become exactly popular. On the face of it, there is something of
a 'let's do it' attitude to lightweight frameworks. That does not mean
that such approaches cannot co-exist within larger corporate SOA
programs – but it doesn't mean they support SOA, either.>>

You can read this at:

http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1337094,00.html?track=NL-449&ad=669958&asrc=EM_NLT_4871618&uid=5532089

Gervas

Reply via email to