By Mike Stevens
With Bill Dudney, a Java architect with Object Systems Group. He has published four books on J2EE programming.
This interview originally appeared in the IT Business Edge weekly report on Integrating the Enterprise. To see a complete listing of IT Business Edge weekly reports or sign up for this free technology intelligence agent, visit www.itbusinessedge.com.
Question: What are the major advantages of J2EE when it comes to application integration?
Dudney: Everything is standardized. There are well-documented APIs you can implement over legacy systems, WebSphere, Weblogic, JBoss, whatever. If you have J2EE application servers, it's no problem. In general, J2EE gives you a lot of flexibility. Once you've developed your app, you can deploy it wherever you need to. All you need to do is change the deployment descriptors. Also, the open source community has tons of really cool, free, well-documented tools.
Question: And the disadvantages?
Dudney: It's complicated, and the architecture allows you to shoot yourself in the foot. For example, it's a well-known best practice never to put business logic in an interface, but the architecture lets you do that. So programmers can put database calls in JSP [JavaServer Pages, the Java user interface for the Web] if it seems like a good idea at the moment. Later, when there's a change in the DB, you end up having to change 50 JSPs.
Question: Microsoft claims that .NET is a more cost-effective way to integrate the enterprise. How should CIOs evaluate that claim?
Dudney: Everybody claims they're more cost-effective. I think the answer to J2EE vs. .NET has to do with the skill sets of your people. It's far more effective to go with what they're familiar with, because there's a huge delta between the two environments. Of course, there are millions of pages of objective documentation in the J2EE world, and there's the fact that if you go with Microsoft, you're stuck with Microsoft. I'd say when you use J2EE, easy stuff is easy and hard stuff is possible. With .NET, easy stuff is easy and hard stuff is impossible.