• Post Reply Bookmark Topic Watch Topic
  • New Topic

J2EE AntiPatterns

 
Juan Rolando Prieur-Reza
Ranch Hand
Posts: 237
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am looking forward to a little discussion of Bill Dudney's AntiPatterns.
Meanwhile, can someone tell us where the book's "companion website" is?
 
Giselle Dazzi
Ranch Hand
Posts: 168
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
from Wiley webpage:
http://www.wileyeurope.com/WileyCDA/WileyTitle/productCd-0471146153,descCd-description.html
 
Bill Dudney
Author
Ranch Hand
Posts: 234
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi John,
The us version of the site is at http://www.wiley.com/compbooks/dudney.
I also post a fair amount of related stuff to my blog including a recent bit of example code I did for the No Fluff Symposium.
[ November 18, 2003: Message edited by: Bill Dudney ]
 
Frank Silbermann
Ranch Hand
Posts: 1408
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The book site links at Wiley seem to be down. Anyway, I have a few questions.
It seems to me that EJB and CORBA were motivated by the desire scale client-server systems by moving business logic from the client to the server. With two-tier client-server you would depend upon the DBMS to handle client connections and concurrency; with three-tier you needed some sort of application server. Don't you think that the use of web servers with HTML clients has greatly reduced this need?
I admit that an EJB server can do some useful things not handled by a web server, such as declarative specification of transaction demacation processing, and simulation of an object database (via entity beans with CMP over a RDBMS). Also, object pooling reduces the need to design for concurrency. But it seems to me that EBJ requires quite a bit of overhead to gain those luxuries (overhead in programmer learning, overhead on inter-process communication, overhead in deployment complexity).
Do you think this is why the excitement over distributed technologies such as EBJ and CORBA has died down, as compared with four or five years ago?
I do think that web applications with HTML/Javascript clients seem to be inherently inelegant. It seems to me that the "impedence mismatch" between HTML/HTTP is every bit as great as the gap between the OO programming language and the RDBMS. It seems as though hardly a month goes by that I don't hear of a newly proposed API that promises to paper over this inelegancy. I much prefer the FORTE' idea of application partitioning with late binding, where the code written in one language can be moved from server to client, or vice-versa, to meet performance objectives. Do you think this paradigm will ever become truly practical for running across firewalls over the internet?
 
Bill Dudney
Author
Ranch Hand
Posts: 234
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Frank Silbermann:
The book site links at Wiley seem to be down. Anyway, I have a few questions.
It seems to me that EJB and CORBA were motivated by the desire scale client-server systems by moving business logic from the client to the server. With two-tier client-server you would depend upon the DBMS to handle client connections and concurrency; with three-tier you needed some sort of application server. Don't you think that the use of web servers with HTML clients has greatly reduced this need?

I would agree that this was a big part of the motivation. The 'middle tier' also allows you to keep you 'model' or 'business' code in one place. In traditional c/s programming you had some logic in the client, some in the server. This was a major productivity drain trying to maintain. Wether or not what we have now is less of a maintenance problem is left for another discussion

I admit that an EJB server can do some useful things not handled by a web server, such as declarative specification of transaction demacation processing, and simulation of an object database (via entity beans with CMP over a RDBMS). Also, object pooling reduces the need to design for concurrency. But it seems to me that EBJ requires quite a bit of overhead to gain those luxuries (overhead in programmer learning, overhead on inter-process communication, overhead in deployment complexity).
Do you think this is why the excitement over distributed technologies such as EBJ and CORBA has died down, as compared with four or five years ago?

I'd say the excitement for CORBA has died down because of its complexity. EJB was simpler (although still complex) and thus all the excitement moved there. Now that we are 5 years down the road we (the industry that is) realize that EJB is simpler than CORBA but still very hard. This is one of the drivers behind the JavaOne 2003 push for simpler development. I think with J2SE 1.5 and the Annotations we will see simpler J2EE development by J2EE 1.5.
Some are saying that we need another 'paridigm shift' perhaps it is in the direction you suggest with Forte's tools. MDA is another contender, but code generation is typically a harbinger for a paradigm shift. I susspect that in 5 years we will be doing something much than what we do today for enterprise computing. It is indeed a good time to be a geek

I do think that web applications with HTML/Javascript clients seem to be inherently inelegant. It seems to me that the "impedence mismatch" between HTML/HTTP is every bit as great as the gap between the OO programming language and the RDBMS. It seems as though hardly a month goes by that I don't hear of a newly proposed API that promises to paper over this inelegancy. I much prefer the FORTE' idea of application partitioning with late binding, where the code written in one language can be moved from server to client, or vice-versa, to meet performance objectives. Do you think this paradigm will ever become truly practical for running across firewalls over the internet?

Agreed that it is clunky and inelegant. Very irritating to have to duplicate data validation code so that I don't have to pay the round trip to the server. Hard to say that the partitioning will become practical, however there is some very interesting work going on in the Grid Computing space.
Ok now this is really long winded and I will get quiet now
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!