Re: [OT] RE: J2EE considered harmful

2002-02-04 Thread Tim Hyde

Hi Alex,

You ask why I think it's important to distinguish between the
characteristics of a remote call and a local one.

One of the nicest things on this topic I found is a paper from Sun
themselves -
http://research.sun.com/technical-reports/1994/sml1_tr-94-29.pdf

From the date, I would think that Sun were in the initial stages of thinking
about how to do remote calls in java, and RMI was probably in the gestation
stage (anyone knowing the dates of all that better, please correct me !).
And I imagine that this paper, which is about the characteristics of
distributed computing, and which makes a case for *not* trying to make
remote calls transparent, was on the losing side of the argument. My
suspicion is that it was marketing thinking that actually pushed the remote
model to where it is today.

It's a while since I read the paper, and I remember feeling it didn't go
quite far enough: my own thoughts are that when you ask a remote machine to
do something, you don't necessarily want to suspend your thread till it
completes, and when the remote machine responds, it doesn't necessarily want
to have completed all the work involved in your request, nor does it want to
be restricted to responding just once, or with only a single value. And it
might want to queue your request up if it's busy. And if it doesn't have the
resources it needs to do what you asked, it might want to tell you about
different situations in different ways, without wanting to throw an
Exception. Sort of subtler than a local call.

If you wanted that kind of subtlety locally, you'd at least be able to widen
the interface with some shared  memory/shared object communication or even
cheap additional calls. Remotely, every communication is expensive.

Having the ability for free-running intelligent applications to communicate
by sending messages was always a simple and powerful technique in many of
the inter-machine situations I've programmed (long before the WWW or CORBA
or RMI was around), and RPC feels like a completely unjustified restriction.

And I'd suspect the OMG as the hidden source of a lot of the twisted
thinking that forced it on us ... a dream, that many bought into, that
'Objects' were the answer to everything, and a theory that the only thing
you can do to an object is invoke it, and another theory that the object
inside a program is the same as an object in another continent, and they
should all look the same and etcetera etcetera.

Well, everything's an object, isn't it ? Kiss my object !

- Tim


- Original Message -
From: Fernandez Martinez, Alejandro [EMAIL PROTECTED]
To: 'Jakarta General List' [EMAIL PROTECTED]
Sent: 31 January 2002 12:49
Subject: [OT] RE: J2EE considered harmful



 Hi Tim.

 I agree with your point of view, we've been trying to avoid EJBs as much
as
 possible. But there's one thing I don't understand.

  -Mensaje original-
  De: Tim Hyde [mailto:[EMAIL PROTECTED]]
  Yes, EJB is a complete bodge of a design, and RPC invocation
  techniques
  would only be acceptable if they were completely transparent,
  instead of
  requiring you to do so much plumbing yourself. But
  personally, I think RPC
  is entirely overrated, and it is a mistake to try to program
  as though a
  remote call had the same characteristics as a local one.

 Why is it a mistake? I think a remote proxy is a great way to make remote
 calls, shielding the developer from the complexity of it all. The recent
 discussion about AltRMI has shown that there's a lot of interest in using
 proxies, but it was Sun's implementation (the Remote* stuff) that was
 flawed.

 Un saludo,

 Alex.





--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: [OT] RE: J2EE considered harmful

2002-02-04 Thread Fernandez Martinez, Alejandro

Hi Tim!

This is good news indeed: someone took the time to actually read a message
and respond to it, instead of sending 100's of nonsensical one-liners  ;)

Answer inline.

 -Mensaje original-
 De: Tim Hyde [mailto:[EMAIL PROTECTED]]
 Hi Alex,
 
 You ask why I think it's important to distinguish between the
 characteristics of a remote call and a local one.
 
 One of the nicest things on this topic I found is a paper from Sun
 themselves -
 http://research.sun.com/technical-reports/1994/sml1_tr-94-29.pdf

Having just browsed over the document, it seems a bit (quite logically) out
of date. Nowadays, if you are running a web application, your users are used
to big delays and latencies, and so putting up with a few more milliseconds
will not bother them.

 From the date, I would think that Sun were in the initial 
 stages of thinking
 about how to do remote calls in java, and RMI was probably in 
 the gestation
 stage (anyone knowing the dates of all that better, please 
 correct me !).
 And I imagine that this paper, which is about the characteristics of
 distributed computing, and which makes a case for *not* trying to make
 remote calls transparent, was on the losing side of the argument. My
 suspicion is that it was marketing thinking that actually 
 pushed the remote
 model to where it is today.

As a matter of fact, NeXT had been doing remote proxies for a few years:
NeXT Computer, Inc. NeXTSTEP Object-Oriented Programming and the Objective C
Language, Release 3. Reading, Mass: Addison-Wesley, 1993.

The remote model was moving at full speed at the time.

 It's a while since I read the paper, and I remember feeling 
 it didn't go
 quite far enough: my own thoughts are that when you ask a 
 remote machine to
 do something, you don't necessarily want to suspend your 
 thread till it
 completes, and when the remote machine responds, it doesn't 
 necessarily want
 to have completed all the work involved in your request, nor 
 does it want to
 be restricted to responding just once, or with only a single 
 value. And it
 might want to queue your request up if it's busy. And if it 
 doesn't have the
 resources it needs to do what you asked, it might want to 
 tell you about
 different situations in different ways, without wanting to throw an
 Exception. Sort of subtler than a local call.

Most of this can be done if you use asynchronous messaging wisely, and do
synchronous calls only when necessary -- appropriate.

You can either expect just one result or a number of them; and you may
require an answer immediately or not. The mechanics of remote communication
might be something like this:

1 immediate answer: sync
1 delayed answer: async
n immediate answers: async
n delayed answers: async

Of course, asynchronous messaging introduces a host of new problems, but
they should be easier to deal with than having to code remote calls by hand.

 If you wanted that kind of subtlety locally, you'd at least 
 be able to widen
 the interface with some shared  memory/shared object 
 communication or even
 cheap additional calls. Remotely, every communication is expensive.

My book says: first make it work, then make it easy, finally make it cheap.

 Having the ability for free-running intelligent applications 
 to communicate
 by sending messages was always a simple and powerful 
 technique in many of
 the inter-machine situations I've programmed (long before the 
 WWW or CORBA
 or RMI was around), and RPC feels like a completely 
 unjustified restriction.

I take it that by RPC you mean the request-response thing?

 And I'd suspect the OMG as the hidden source of a lot of the twisted
 thinking that forced it on us ... a dream, that many bought into, that
 'Objects' were the answer to everything, and a theory that 
 the only thing
 you can do to an object is invoke it, and another theory that 
 the object
 inside a program is the same as an object in another 
 continent, and they
 should all look the same and etcetera etcetera.

On the surface, they all look like reasonable ideas.

 Well, everything's an object, isn't it ? Kiss my object !

I seem to detect some hostility in this last part  :)

 - Tim
 

Un saludo,

Alex.



Re: [OT] RE: J2EE considered harmful

2002-02-02 Thread James Strachan

I agree Jeff; though for such a smart container to work in an elegant way
I'd prefer to develop the beans in a non-distributed manner and the smart
container do the rest - distributing what it thinks makes sense - along the
EOB / AltRMI lines. Not code to a server side componet API like EJB.

Though it seems EJB is going along the 'assume everythings remote and we'll
try optimise when things are local'. So maybe there's some sense in that.

James

- Original Message -
From: Jeff Schnitzer [EMAIL PROTECTED]
 From: Steve Downey [mailto:[EMAIL PROTECTED]]

 Most objects don't work if they are made distributed without careful
 consideration.

I wonder if that has to be the case.  Right now, our distributed object
containers are blissfully stupid.  We (humans) can point at any
individual class or interface and say remote thyself! but that's as
far as it goes.  The container just does what we programmers tell it to.

Just like me, a hypothetical smart container could make some pretty
educated guesses about where and when a set of existing objects should
be remoted.  Furthermore, it could automatically learn, over time, not
only where the best boundaries are, but what are the best situations to
perform the remoting/migration.  Instead of deciding which classes
should be remote, a smart container could decide which *objects* should
be remote.  And it could learn the answers by watching object behavior
over time.

Of course, architecture would still have a big effect on performance -
but it does already, even in a single-machine environment.  We don't
hand-optimize our assembly anymore, and suspect that eventually we won't
be hand-optimizing our distributed systems, either.

JADE and Mobile Agents are not quite what I have in mind.  The agent
concept is very thread-centric, whereas this idea is object-centric.  It
sounds like EOB and AltRMI are closer to the mark.  I'm going to have to
take a long look, and maybe try to restart this discussion on one of
their mailing lists :-)

Jeff Schnitzer
[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: J2EE considered harmful

2002-02-01 Thread James Strachan

Hi Jeff

I share your oppinions on EJB. Whenever I ask developers why they are using
EJB the common answer I get from people is 'well I get transactions for
free'. When most of the time they don't do 2 phase commit with their
database anyways. And all that extra work just to get 'acceptable'
performance from EJB. Jeez this stuff is meant to help us not hinder us.

I agree that EJB has shoved too many things together in one 'server side
component' framework. Perhaps working from core specs is better and just
choosing the bits you want/need, JTA, JDO, JNDI:, JMS etc. My personal bias
is to use 'local' object technologies such as Java Beans, Servlets, JDBC,
JSP, JDO, Turbine etc. Then use 'messaging' (whether it be SOAP, JMS, HTTP
or whatnot) when distribution is required. I try to avoid RMI if truth be
told. It seems so 80s ;-)

I'm still not convinced at all that EJBs are even worth considering when
when building web applications - why should be business logic be remote in a
web-centric world? Why not deploy the business logic with the web
application and save all those costly synchronous RMI calls. You can have
seperation of concerns without making things remote. You only have to look
at MS's PetShop to see how simple and fast to develop web applications could
be while still seperating business logic, persistence and presentation - or
how slow and painful they can be if you follow the EJB path.

I do think a simple open source alternative to EJB would be a good thing.
Already Jakarta has most of the bits almost in place, tying them all
together would be cool.

FWIW you might want to keep an eye on the AltRMI project at Jakarta Commons
which hopes to make RMI and the Remote stuff much easier.

James
- Original Message -
From: Jeff Schnitzer [EMAIL PROTECTED]
To: Jakarta General List [EMAIL PROTECTED]
Sent: Thursday, January 31, 2002 8:38 PM
Subject: RE: J2EE considered harmful


Amusingly enough, I've been considering writing an article with this
exact same title.  I've implemented two medium-sized systems using EJBs
(http://www.similarity.com and http://mav.sourceforge.net/pig) and I've
been haunting the ejb-interest list for more than a year.  I was never
ecstatic about the technology, but now I'm starting to feel downright
disillusioned with it.

This is not coming from someone stumbling around with the technology.
The first thing I did was read Richard Monson-Haefel's book
cover-to-cover, and I started with EJB2.0 (pd1) when Orion was the only
implementation.  I've got most of the 2.0 spec memorized.  I have no
trouble writing the deployment descriptors by hand.

The problem is, even after more than a year of this, I still find that
writing software using EJBs is a steady progress of fighting the
technology to make it do what you want.  It shouldn't be like this.

Having to write three or four different classes, plus an elaborate
deployment descriptor for each object slows things down a bit.  Tools
like xdoclet help, but it's still a complicated and painful process to
refactor anything.

Basic software design patterns are agonizing or impossible to implement.
Observable?  Time to learn JMS and Message-Driven Beans.  Singleton?
Not in the framework... you have to set up an external RMI server.

Presistance in the EJBland is a disappointment.  Even with EJB 2.0,
entity beans are not remotely mature.  There is no support for
relationship attributes or automatically generated primary keys.  The
query language is constrictive, offering no support for ordering,
aggregation functions, or retrieving data which spans more than a single
class.  After 20+ years of research and advancement in RDBMS technology,
this is a colossal step backwards, and the consequence is that entity
beans radically underperform systems with more direct database access.
I find that I must constantly sidestep the container with direct JDBC in
order to meet performance or feature requirements, and it sounds like
this is a common problem.

Overall, my feeling is that Sun tried to cram too many disparate
technologies into a single API.  EJB!  It's a distributed object model,
transaction model, security model, persistence model, component model,
message queue, desert topping, and floor wax all rolled into one!  Some
of it makes sense, but some of it (especially persistence) doesn't.

I'm surprised that people can build large applications with EJB.  My
guess is that it's probably very effective for one particular class of
problem - ecommerce apps.  I'm sure it's no accident that all the
examples in the spec are Order, LineItem, etc.  Unfortunately, this
doesn't help me, or any of the rest of the people who are working on
applications that are actually interesting.  And my guess is that since
ecommerce is 90% of the market for expensive app servers, Sun doesn't
really care.


Ok, enough whining.  What to do about it?  I really like the idea of an
Apache community building a truly free competitor to J2EE.  I don't like
being tied

RE: J2EE considered harmful

2002-02-01 Thread Jeff Schnitzer

 From: Micael Padraig Og mac Grene [mailto:[EMAIL PROTECTED]]
 
 Are you just talking about creating a new language, or what?  What is
your
 idea?  I cannot tell.

That's a good question, and ultimately one which would be determined by
the constraints of the technology.  Prototyping would probably involve
using an existing language and platform, and maybe we would ultimately
discover that it is possible to build a system like this on top of a JVM
(or CLR).  My suspicion is that it is not, and may be undesirable for
legal reasons anyways.

The later part of my diatribe was a hastily phrased way of approaching
this subject:

Unless you want to go back to the dark ages of C++, the future is
shaping up to look like a choice between writing for the Sun platform or
the Microsoft platform.  This does not make me comfortable, especially
considering that Sun's approach to Java so far has been *wholly*
anathema to the principals of Open Source.  At least Microsoft has
submitted C# and the CLI to ECMA.  Quoth Jon: *WAKE UP PEOPLE*

I am tantalized by the idea of a third choice:  the Apache platform.  I
propose a discussion of just what that might be.

Jeff Schnitzer
[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: J2EE considered harmful

2002-02-01 Thread Andrew C. Oliver

On Fri, 2002-02-01 at 04:14, James Strachan wrote:
 Hi Jeff
 
 I share your oppinions on EJB. Whenever I ask developers why they are using
 EJB the common answer I get from people is 'well I get transactions for
 free'. When most of the time they don't do 2 phase commit with their
 database anyways. And all that extra work just to get 'acceptable'
 performance from EJB. Jeez this stuff is meant to help us not hinder us.
 
 I agree that EJB has shoved too many things together in one 'server side
 component' framework. Perhaps working from core specs is better and just
 choosing the bits you want/need, JTA, JDO, JNDI:, JMS etc. My personal bias
 is to use 'local' object technologies such as Java Beans, Servlets, JDBC,
 JSP, JDO, Turbine etc. Then use 'messaging' (whether it be SOAP, JMS, HTTP
 or whatnot) when distribution is required. I try to avoid RMI if truth be
 told. It seems so 80s ;-)
 
 I'm still not convinced at all that EJBs are even worth considering when
 when building web applications - why should be business logic be remote in a
 web-centric world? Why not deploy the business logic with the web

I agree with everything but this.

For scalability you should have the option but should not always use
it.  If your application will grow it is good to have a middle tier that
can be moved and load balanced.  With Entity beans of course this is
less possible.  


 application and save all those costly synchronous RMI calls. You can have
 seperation of concerns without making things remote. You only have to look
 at MS's PetShop to see how simple and fast to develop web applications could
 be while still seperating business logic, persistence and presentation - or
 how slow and painful they can be if you follow the EJB path.
 
 I do think a simple open source alternative to EJB would be a good thing.
 Already Jakarta has most of the bits almost in place, tying them all
 together would be cool.
 

+1

 FWIW you might want to keep an eye on the AltRMI project at Jakarta Commons
 which hopes to make RMI and the Remote stuff much easier.
 
 James
 - Original Message -
 From: Jeff Schnitzer [EMAIL PROTECTED]
 To: Jakarta General List [EMAIL PROTECTED]
 Sent: Thursday, January 31, 2002 8:38 PM
 Subject: RE: J2EE considered harmful
 
 
 Amusingly enough, I've been considering writing an article with this
 exact same title.  I've implemented two medium-sized systems using EJBs
 (http://www.similarity.com and http://mav.sourceforge.net/pig) and I've
 been haunting the ejb-interest list for more than a year.  I was never
 ecstatic about the technology, but now I'm starting to feel downright
 disillusioned with it.
 
 This is not coming from someone stumbling around with the technology.
 The first thing I did was read Richard Monson-Haefel's book
 cover-to-cover, and I started with EJB2.0 (pd1) when Orion was the only
 implementation.  I've got most of the 2.0 spec memorized.  I have no
 trouble writing the deployment descriptors by hand.
 
 The problem is, even after more than a year of this, I still find that
 writing software using EJBs is a steady progress of fighting the
 technology to make it do what you want.  It shouldn't be like this.
 
 Having to write three or four different classes, plus an elaborate
 deployment descriptor for each object slows things down a bit.  Tools
 like xdoclet help, but it's still a complicated and painful process to
 refactor anything.
 
 Basic software design patterns are agonizing or impossible to implement.
 Observable?  Time to learn JMS and Message-Driven Beans.  Singleton?
 Not in the framework... you have to set up an external RMI server.
 
 Presistance in the EJBland is a disappointment.  Even with EJB 2.0,
 entity beans are not remotely mature.  There is no support for
 relationship attributes or automatically generated primary keys.  The
 query language is constrictive, offering no support for ordering,
 aggregation functions, or retrieving data which spans more than a single
 class.  After 20+ years of research and advancement in RDBMS technology,
 this is a colossal step backwards, and the consequence is that entity
 beans radically underperform systems with more direct database access.
 I find that I must constantly sidestep the container with direct JDBC in
 order to meet performance or feature requirements, and it sounds like
 this is a common problem.
 
 Overall, my feeling is that Sun tried to cram too many disparate
 technologies into a single API.  EJB!  It's a distributed object model,
 transaction model, security model, persistence model, component model,
 message queue, desert topping, and floor wax all rolled into one!  Some
 of it makes sense, but some of it (especially persistence) doesn't.
 
 I'm surprised that people can build large applications with EJB.  My
 guess is that it's probably very effective for one particular class of
 problem - ecommerce apps.  I'm sure it's no accident that all the
 examples in the spec are Order, LineItem

RE: J2EE considered harmful

2002-02-01 Thread Paulo Gaspar

This is getting interesting and we have e lot of pieces for this kind
of puzzle around Apache.

Why must standards be ruled just by the BigCo's???

De facto standards happen when a product is really good.

This reminds me how the then tiny dog Borland turned Turbo Pascal 
into the de facto standard Pascal language in a couple of years. All 
Pascal language related products wanted to be compatible with it and 
not with whatever was the standard Pascal. All the big dogs had to 
run away.



Have fun,
Paulo Gaspar

 -Original Message-
 From: Jeff Schnitzer [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, January 31, 2002 10:54 PM
 To: Jakarta General List
 Subject: RE: J2EE considered harmful
 
 
  From: Micael Padraig Og mac Grene [mailto:[EMAIL PROTECTED]]
  
  Are you just talking about creating a new language, or what?  What is
 your
  idea?  I cannot tell.
 
 That's a good question, and ultimately one which would be determined by
 the constraints of the technology.  Prototyping would probably involve
 using an existing language and platform, and maybe we would ultimately
 discover that it is possible to build a system like this on top of a JVM
 (or CLR).  My suspicion is that it is not, and may be undesirable for
 legal reasons anyways.
 
 The later part of my diatribe was a hastily phrased way of approaching
 this subject:
 
 Unless you want to go back to the dark ages of C++, the future is
 shaping up to look like a choice between writing for the Sun platform or
 the Microsoft platform.  This does not make me comfortable, especially
 considering that Sun's approach to Java so far has been *wholly*
 anathema to the principals of Open Source.  At least Microsoft has
 submitted C# and the CLI to ECMA.  Quoth Jon: *WAKE UP PEOPLE*
 
 I am tantalized by the idea of a third choice:  the Apache platform.  I
 propose a discussion of just what that might be.
 
 Jeff Schnitzer
 [EMAIL PROTECTED]
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful

2002-02-01 Thread Andrew C. Oliver

 of the Sun/Microsoft duopoly.  (Yeah, yeah, there will always be people
 who enjoy working on nonvirtual machines, but they're crazy :-)

I'm not completely sure I followed this.  I was cool up until the above
line.  Are you suggesting just a replacement for J2EE or Java itself. 
I'm fairly satisfied with Java as a language except for Sun's upcoming
half-assed implementation of Java Generics, but not the J2EE stuff.  

On Thu, 2002-01-31 at 15:38, Jeff Schnitzer wrote:
 Amusingly enough, I've been considering writing an article with this
 exact same title.  I've implemented two medium-sized systems using EJBs
 (http://www.similarity.com and http://mav.sourceforge.net/pig) and I've
 been haunting the ejb-interest list for more than a year.  I was never
 ecstatic about the technology, but now I'm starting to feel downright
 disillusioned with it.
 
 This is not coming from someone stumbling around with the technology.
 The first thing I did was read Richard Monson-Haefel's book
 cover-to-cover, and I started with EJB2.0 (pd1) when Orion was the only
 implementation.  I've got most of the 2.0 spec memorized.  I have no
 trouble writing the deployment descriptors by hand.
 
 The problem is, even after more than a year of this, I still find that
 writing software using EJBs is a steady progress of fighting the
 technology to make it do what you want.  It shouldn't be like this.
 
 Having to write three or four different classes, plus an elaborate
 deployment descriptor for each object slows things down a bit.  Tools
 like xdoclet help, but it's still a complicated and painful process to
 refactor anything.
 
 Basic software design patterns are agonizing or impossible to implement.
 Observable?  Time to learn JMS and Message-Driven Beans.  Singleton?
 Not in the framework... you have to set up an external RMI server.
 
 Presistance in the EJBland is a disappointment.  Even with EJB 2.0,
 entity beans are not remotely mature.  There is no support for
 relationship attributes or automatically generated primary keys.  The
 query language is constrictive, offering no support for ordering,
 aggregation functions, or retrieving data which spans more than a single
 class.  After 20+ years of research and advancement in RDBMS technology,
 this is a colossal step backwards, and the consequence is that entity
 beans radically underperform systems with more direct database access.
 I find that I must constantly sidestep the container with direct JDBC in
 order to meet performance or feature requirements, and it sounds like
 this is a common problem.
 
 Overall, my feeling is that Sun tried to cram too many disparate
 technologies into a single API.  EJB!  It's a distributed object model,
 transaction model, security model, persistence model, component model,
 message queue, desert topping, and floor wax all rolled into one!  Some
 of it makes sense, but some of it (especially persistence) doesn't.
 
 I'm surprised that people can build large applications with EJB.  My
 guess is that it's probably very effective for one particular class of
 problem - ecommerce apps.  I'm sure it's no accident that all the
 examples in the spec are Order, LineItem, etc.  Unfortunately, this
 doesn't help me, or any of the rest of the people who are working on
 applications that are actually interesting.  And my guess is that since
 ecommerce is 90% of the market for expensive app servers, Sun doesn't
 really care.
 
 
 Ok, enough whining.  What to do about it?  I really like the idea of an
 Apache community building a truly free competitor to J2EE.  I don't like
 being tied to technologies owned by a single company, so I'm already
 pretty nervous by the stranglehold that Sun has on Java and (especially)
 J2EE.  But it's not enough to build a marginal improvement over the
 existing system, even with Apache's mindshare.  Besides, who wants to
 copy a mediocre idea? :-)
 
 I've been giving a lot of thought to distributed object models lately.
 I've worked with DCOM, CORBA, RMI, and EJB, and for the most part it's a
 lot of the same.  Since networks are getting so fast these days, I'm
 starting to really wonder what it would be like to have a model in
 which:
 
 * All objects are inherently remotable.
 * Objects transparently migrate for efficiency.
 
 I can think of many interesting, fairly revolutionary consequences of
 such a system and I'd love to discuss them.  Ultimately, if such a
 system ever made it out of research and into prototype, it could
 challenge both Java and .NET, and possibly stave off the coming hegemony
 of the Sun/Microsoft duopoly.  (Yeah, yeah, there will always be people
 who enjoy working on nonvirtual machines, but they're crazy :-)
 
 Does anyone think some variant of this idea to be worth pursuing?  Or is
 everyone wedded to the idea of working on the proprietary Sun platform
 known as Java?
 
 Jeff Schnitzer
 [EMAIL PROTECTED]
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, 

RE: [OT] RE: J2EE considered harmful

2002-02-01 Thread Andrew C. Oliver

So what if you need to move an object that is defined as local to be
load balanced across machines?  I think you're wrong on that one.  If
you have to define it as local you loose scalability by definition
unless you accept the hardware vendor's edition of scalability (buy an
E1 instead and junk your old machine ;-) ).

On Fri, 2002-02-01 at 08:06, Paulo Gaspar wrote:
 I do not think so. Handling in a proper way situations that are
 specific to a remote call does not mean that the architecture of
 the app must be less scalable.
 
 
 Have fun,
 Paulo
 
  -Original Message-
  From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]]
  Sent: Friday, February 01, 2002 7:03 AM
  To: Jakarta General List
  Subject: RE: [OT] RE: J2EE considered harmful
  
  
  Albeit at the expense of scalability
  
  On Thu, 2002-01-31 at 09:51, Paulo Gaspar wrote:
   I think that the key bit is:
 and it is a mistake to try to program 
 as though a
 remote call had the same characteristics as a local one.
   
   Your app will always be more robust if you do NOT ignore the
   specific issues of a remote call.
   
   
   Have fun,
   Paulo Gaspar
   
-Original Message-
From: Fernandez Martinez, Alejandro
[mailto:[EMAIL PROTECTED]]
Sent: Thursday, January 31, 2002 1:50 PM
To: 'Jakarta General List'
Subject: [OT] RE: J2EE considered harmful


Hi Tim.

I agree with your point of view, we've been trying to avoid EJBs 
as much as
possible. But there's one thing I don't understand.

 -Mensaje original-
 De: Tim Hyde [mailto:[EMAIL PROTECTED]]
 Yes, EJB is a complete bodge of a design, and RPC invocation 
 techniques
 would only be acceptable if they were completely transparent, 
 instead of
 requiring you to do so much plumbing yourself. But 
 personally, I think RPC
 is entirely overrated, and it is a mistake to try to program 
 as though a
 remote call had the same characteristics as a local one.

Why is it a mistake? I think a remote proxy is a great way to 
  make remote
calls, shielding the developer from the complexity of it all. 
  The recent
discussion about AltRMI has shown that there's a lot of 
  interest in using
proxies, but it was Sun's implementation (the Remote* stuff) that was
flawed.

Un saludo,

Alex.

   
   --
   To unsubscribe, e-mail:   
  mailto:[EMAIL PROTECTED]
   For additional commands, e-mail: 
  mailto:[EMAIL PROTECTED]
   
  -- 
  www.superlinksoftware.com
  www.sourceforge.net/projects/poi - port of Excel format to java
  http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
  - fix java generics!
  
  
  The avalanche has already started. It is too late for the pebbles to
  vote.
  -Ambassador Kosh
  
  
  --
  To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
  For additional commands, e-mail: mailto:[EMAIL PROTECTED]
  
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
-- 
www.superlinksoftware.com
www.sourceforge.net/projects/poi - port of Excel format to java
http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
- fix java generics!


The avalanche has already started. It is too late for the pebbles to
vote.
-Ambassador Kosh


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful

2002-02-01 Thread Andrew C. Oliver

On Fri, 2002-02-01 at 08:27, Paulo Gaspar wrote:
 This is getting interesting and we have e lot of pieces for this kind
 of puzzle around Apache.
 
 Why must standards be ruled just by the BigCo's???
 
 De facto standards happen when a product is really good.
 
 This reminds me how the then tiny dog Borland turned Turbo Pascal 
 into the de facto standard Pascal language in a couple of years. All 
 Pascal language related products wanted to be compatible with it and 
 not with whatever was the standard Pascal. All the big dogs had to 
 run away.
 

+1

 
 
 Have fun,
 Paulo Gaspar
 
  -Original Message-
  From: Jeff Schnitzer [mailto:[EMAIL PROTECTED]]
  Sent: Thursday, January 31, 2002 10:54 PM
  To: Jakarta General List
  Subject: RE: J2EE considered harmful
  
  
   From: Micael Padraig Og mac Grene [mailto:[EMAIL PROTECTED]]
   
   Are you just talking about creating a new language, or what?  What is
  your
   idea?  I cannot tell.
  
  That's a good question, and ultimately one which would be determined by
  the constraints of the technology.  Prototyping would probably involve
  using an existing language and platform, and maybe we would ultimately
  discover that it is possible to build a system like this on top of a JVM
  (or CLR).  My suspicion is that it is not, and may be undesirable for
  legal reasons anyways.
  
  The later part of my diatribe was a hastily phrased way of approaching
  this subject:
  
  Unless you want to go back to the dark ages of C++, the future is
  shaping up to look like a choice between writing for the Sun platform or
  the Microsoft platform.  This does not make me comfortable, especially
  considering that Sun's approach to Java so far has been *wholly*
  anathema to the principals of Open Source.  At least Microsoft has
  submitted C# and the CLI to ECMA.  Quoth Jon: *WAKE UP PEOPLE*
  
  I am tantalized by the idea of a third choice:  the Apache platform.  I
  propose a discussion of just what that might be.
  
  Jeff Schnitzer
  [EMAIL PROTECTED]
  
  --
  To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
  For additional commands, e-mail: mailto:[EMAIL PROTECTED]
  
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
-- 
www.superlinksoftware.com
www.sourceforge.net/projects/poi - port of Excel format to java
http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
- fix java generics!


The avalanche has already started. It is too late for the pebbles to
vote.
-Ambassador Kosh


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: [OT] RE: J2EE considered harmful

2002-02-01 Thread Paulo Gaspar

Paul already talked about a couple ways of tuning the use of remote
calls without having to do it on a case by case basis.

However, the thumb rule is that:
 - Either you build the system to be scalable (which might make it
   a bit less efficient when having it working in a single machine
   when compared to a non scalable system);

 - Or you use some transparency mechanism and you tend to loose
   robustness/control when compared to a system that is aware of
   possible communications issues and tries to handle them.

Some communications issues can be recovered from and some not. And
sometimes the decision to try to recover or not depends on the
kind of operation you are performing.

And I also agree with Paul that the RemoteException is NOT a bit
help.

Do you believe on magic bullets that work everywhere?
We keep trying to get as close to having them as possible but...


Have fun,
Paulo Gaspar

 -Original Message-
 From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]]
 Sent: Friday, February 01, 2002 2:19 PM
 To: Jakarta General List
 Subject: RE: [OT] RE: J2EE considered harmful


 So what if you need to move an object that is defined as local to be
 load balanced across machines?  I think you're wrong on that one.  If
 you have to define it as local you loose scalability by definition
 unless you accept the hardware vendor's edition of scalability (buy an
 E1 instead and junk your old machine ;-) ).

 On Fri, 2002-02-01 at 08:06, Paulo Gaspar wrote:
  I do not think so. Handling in a proper way situations that are
  specific to a remote call does not mean that the architecture of
  the app must be less scalable.
 
 
  Have fun,
  Paulo
 
   -Original Message-
   From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]]
   Sent: Friday, February 01, 2002 7:03 AM
   To: Jakarta General List
   Subject: RE: [OT] RE: J2EE considered harmful
  
  
   Albeit at the expense of scalability
  
   On Thu, 2002-01-31 at 09:51, Paulo Gaspar wrote:
I think that the key bit is:
  and it is a mistake to try to program
  as though a
  remote call had the same characteristics as a local one.
   
Your app will always be more robust if you do NOT ignore the
specific issues of a remote call.
   
   
Have fun,
Paulo Gaspar
   
 -Original Message-
 From: Fernandez Martinez, Alejandro
 [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, January 31, 2002 1:50 PM
 To: 'Jakarta General List'
 Subject: [OT] RE: J2EE considered harmful


 Hi Tim.

 I agree with your point of view, we've been trying to avoid EJBs
 as much as
 possible. But there's one thing I don't understand.

  -Mensaje original-
  De: Tim Hyde [mailto:[EMAIL PROTECTED]]
  Yes, EJB is a complete bodge of a design, and RPC invocation
  techniques
  would only be acceptable if they were completely transparent,
  instead of
  requiring you to do so much plumbing yourself. But
  personally, I think RPC
  is entirely overrated, and it is a mistake to try to program
  as though a
  remote call had the same characteristics as a local one.

 Why is it a mistake? I think a remote proxy is a great way to
   make remote
 calls, shielding the developer from the complexity of it all.
   The recent
 discussion about AltRMI has shown that there's a lot of
   interest in using
 proxies, but it was Sun's implementation (the Remote*
 stuff) that was
 flawed.

 Un saludo,

 Alex.

   
--
To unsubscribe, e-mail:
   mailto:[EMAIL PROTECTED]
For additional commands, e-mail:
   mailto:[EMAIL PROTECTED]
   
   --
   www.superlinksoftware.com
   www.sourceforge.net/projects/poi - port of Excel format to java
   http://developer.java.sun.com/developer/bugParade/bugs/4487555.html
 - fix java generics!
  
  
   The avalanche has already started. It is too late for the pebbles to
   vote.
   -Ambassador Kosh
  
  
   --
   To unsubscribe, e-mail:
mailto:[EMAIL PROTECTED]
  For additional commands, e-mail:
mailto:[EMAIL PROTECTED]
 

 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]

--
www.superlinksoftware.com
www.sourceforge.net/projects/poi - port of Excel format to java
http://developer.java.sun.com/developer/bugParade/bugs/4487555.html
- fix java generics!


The avalanche has already started. It is too late for the pebbles to
vote.
-Ambassador Kosh


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [OT] RE: J2EE considered harmful

2002-02-01 Thread Ted Husted

Perhaps the question to ask is how are real sites providing real
scalabilty without resorting to Enterprise JavaBeans?

Take google.com and yahoo.com for example, 

Yahoo offers a signficant number of remote, multi-user applications like
the ones we would like to provide to our own clients. Are they using
EJBs? If not, what do they use? How can we turn Yahoo's approach into a
toolkit model that other developers can use?

Google is offering a single, read-only servvice, but at mind-bending
speed. How does it serve so many users so quickly? Again, how can we
package that approach in a way that it accessible to other developers?

Sorry to be providing more queries than code, but to paraphrase Linus,
it often takes one person to articulate an issue, and another to resolve
it =:o)


-- Ted Husted, Husted dot Com, Fairport NY USA.
-- Java Web Development with Struts.
-- Tel +1 585 737-3463.
-- Web http://www.husted.com/struts/

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: J2EE considered harmful

2002-02-01 Thread James Strachan

Hey Andrew

Insteresting thread ;-)

- Original Message -
From: Andrew C. Oliver [EMAIL PROTECTED]
 On Fri, 2002-02-01 at 04:14, James Strachan wrote:
  Hi Jeff
 
  I share your oppinions on EJB. Whenever I ask developers why they are
using
  EJB the common answer I get from people is 'well I get transactions for
  free'. When most of the time they don't do 2 phase commit with their
  database anyways. And all that extra work just to get 'acceptable'
  performance from EJB. Jeez this stuff is meant to help us not hinder us.
 
  I agree that EJB has shoved too many things together in one 'server side
  component' framework. Perhaps working from core specs is better and just
  choosing the bits you want/need, JTA, JDO, JNDI:, JMS etc. My personal
bias
  is to use 'local' object technologies such as Java Beans, Servlets,
JDBC,
  JSP, JDO, Turbine etc. Then use 'messaging' (whether it be SOAP, JMS,
HTTP
  or whatnot) when distribution is required. I try to avoid RMI if truth
be
  told. It seems so 80s ;-)
 
  I'm still not convinced at all that EJBs are even worth considering when
  when building web applications - why should be business logic be remote
in a
  web-centric world? Why not deploy the business logic with the web

 I agree with everything but this.

 For scalability you should have the option but should not always use
 it.

Agreed. Though I've 2 points to make.

#1 you don't need to use EJBs to distribute business logic If you do need to
distribute business logic, then there are various alternatives open, from
HTTP/Servlets, JMS, SOAP or EJB. Each should be evaluated on their merits,
cost/benefits etc.

#2 just because you may eventually distribute your business logic, assuming
you're going to from the start (and assuming that means EJBs and then
jumping through lots of EJB hoops  headeaches and paying a fortune to some
EJB vendors) is bad XP practice IMHO

I prefer to take an XP approach, first build a web application that works,
is performant and scalable then worry about whether business logic needs to
be distributed later. Afterall us Java folk are OO guys right? We can write
our business logic in such a way that it could migrate to EJB later if we
think thats the right thing to do.

Or to put that another way - I'd prefer to focus on giving the customer what
they want and making a good web application than grappling with EJBs just
because one day, maybe, under some conditions, I might want to distribute
some of the business logic in the web app under the 'faith' that its the
right thing to do.

Most business logic in most web applications is pretty minimal in terms of
computation and is often mostly database intensive so moving this code to
another process doesn't usually buy much in terms of scalability - if
anything its the reverse thats true - what with all that EJB distributed
garbage collection  connection based protocol stuff that needs to be done
scalability (and usually always performance) can go down.



 If your application will grow it is good to have a middle tier that
 can be moved and load balanced.  With Entity beans of course this is
 less possible.

(And stateful session beans ;-).

I think this is true of traditional GUIs, say a Swing client front end, a
middle tier server (say server side beans aka EJBs) and a database. I don't
think this is true of web applications as they are quite different things -
a servlet engine is not a 'GUI' client.

Servlet engines are a stable, performant and very scalable application
servers in their own right. Get a hardware load balancer and a farm of
servlet engines and your *way* scalable.

Arguing for the need for another, remote CORBA component-centric application
server based on mostly connection-based protocols, RMI, stubs and
distributed garbage collection to make your web-application more scalable
seems, well, strange.

In my experience web applications scale best when you have a big server farm
of servlet engines which are load balanced. A database at the back and
hopefully some kind of read only caching going on to take as much load off
the poor database as you can. Then you can distribute parts of your web
application into different server farms, get load balancing, shuffle things
around as load changes etc. Then pick the web technologies of your choice,
Struts, JSP, Velocity, Turbine etc. Away you go.

I still don't see the 'scalability' argument as in any way advocating that
EJBs are actually useful for web applications.

In fact this idea that EJBs are required to build scalable web applications
is plain false - probably marketing hype spread by the EJB vendors.

James


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: [OT] RE: J2EE considered harmful

2002-02-01 Thread Andrew C. Oliver

On Fri, 2002-02-01 at 08:59, Paulo Gaspar wrote:
 Paul already talked about a couple ways of tuning the use of remote
 calls without having to do it on a case by case basis.
 

I'll reread the archive after I finish my coffee ;-)

 However, the thumb rule is that:
  - Either you build the system to be scalable (which might make it
a bit less efficient when having it working in a single machine
when compared to a non scalable system);
 

true.  There are *how much* issue though.  I mean the 400-500 times
slower rule of CMP Entity beans would go into the area of being
ridiculous. Sun is still a year and a half behind.  A year and a half
ago when hardware was dirt cheap and programmers were expensive perhaps
this would have made more sense.  But even then...bandwidth wasn't 

Always build some scalability.  You'll either fail or succeed.  This
means you'll either have too few users or too many.  If your system
can't take it then there is a self correcting mechanism in place (users
all get ticked and go back to whatever they did before you came along). 
So you always need some scalability.  Always plan to refactor of course,
and good design can protect you from some issues (facades for areas that
will likely be implemented otherwise later), but the system must be
inherently scalable.  (This doesn't mean you need a CTM for your low
volume 1 megabyte website, but you get the picture) 

  - Or you use some transparency mechanism and you tend to loose
robustness/control when compared to a system that is aware of
possible communications issues and tries to handle them.
 

I still think there is a way to at least make this *configurable*.  

 Some communications issues can be recovered from and some not. And
 sometimes the decision to try to recover or not depends on the
 kind of operation you are performing.
 
 And I also agree with Paul that the RemoteException is NOT a bit
 help.
 

That of course had nothing to do with my issue.

 Do you believe on magic bullets that work everywhere?

No but I do believe that location transparency is a good thing.

 We keep trying to get as close to having them as possible but...
 
 
 Have fun,
 Paulo Gaspar
 
  -Original Message-
  From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]]
  Sent: Friday, February 01, 2002 2:19 PM
  To: Jakarta General List
  Subject: RE: [OT] RE: J2EE considered harmful
 
 
  So what if you need to move an object that is defined as local to be
  load balanced across machines?  I think you're wrong on that one.  If
  you have to define it as local you loose scalability by definition
  unless you accept the hardware vendor's edition of scalability (buy an
  E1 instead and junk your old machine ;-) ).
 
  On Fri, 2002-02-01 at 08:06, Paulo Gaspar wrote:
   I do not think so. Handling in a proper way situations that are
   specific to a remote call does not mean that the architecture of
   the app must be less scalable.
  
  
   Have fun,
   Paulo
  
-Original Message-
From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]]
Sent: Friday, February 01, 2002 7:03 AM
To: Jakarta General List
Subject: RE: [OT] RE: J2EE considered harmful
   
   
Albeit at the expense of scalability
   
On Thu, 2002-01-31 at 09:51, Paulo Gaspar wrote:
 I think that the key bit is:
   and it is a mistake to try to program
   as though a
   remote call had the same characteristics as a local one.

 Your app will always be more robust if you do NOT ignore the
 specific issues of a remote call.


 Have fun,
 Paulo Gaspar

  -Original Message-
  From: Fernandez Martinez, Alejandro
  [mailto:[EMAIL PROTECTED]]
  Sent: Thursday, January 31, 2002 1:50 PM
  To: 'Jakarta General List'
  Subject: [OT] RE: J2EE considered harmful
 
 
  Hi Tim.
 
  I agree with your point of view, we've been trying to avoid EJBs
  as much as
  possible. But there's one thing I don't understand.
 
   -Mensaje original-
   De: Tim Hyde [mailto:[EMAIL PROTECTED]]
   Yes, EJB is a complete bodge of a design, and RPC invocation
   techniques
   would only be acceptable if they were completely transparent,
   instead of
   requiring you to do so much plumbing yourself. But
   personally, I think RPC
   is entirely overrated, and it is a mistake to try to program
   as though a
   remote call had the same characteristics as a local one.
 
  Why is it a mistake? I think a remote proxy is a great way to
make remote
  calls, shielding the developer from the complexity of it all.
The recent
  discussion about AltRMI has shown that there's a lot of
interest in using
  proxies, but it was Sun's implementation (the Remote*
  stuff) that was
  flawed.
 
  Un saludo,
 
  Alex.
 

 --
 To unsubscribe, e-mail:
mailto:[EMAIL PROTECTED

Re: [OT] RE: J2EE considered harmful

2002-02-01 Thread Andrew C. Oliver

Those are both search engines with non-critical data update issues.  You
do need an example with more business-logic oriented type
functionality.  I could mock something like those up with Lucene just
with a few routers and pushing the indicies to the mirrored systems. 
This doesn't answer the enterprise system question.  Secondly we need
examples on a more moderate basis.  

(sorry, if that sounds critical, I don't mean to be, I think you're
heading the discussion the right direction, I just don't think those
examples do that)

On a more personal note.  Funny story: My wife went to high/grade school
with the Google guy.  Small world eh? 

-Andy

On Fri, 2002-02-01 at 08:57, Ted Husted wrote:
 Perhaps the question to ask is how are real sites providing real
 scalabilty without resorting to Enterprise JavaBeans?
 
 Take google.com and yahoo.com for example, 
 
 Yahoo offers a signficant number of remote, multi-user applications like
 the ones we would like to provide to our own clients. Are they using
 EJBs? If not, what do they use? How can we turn Yahoo's approach into a
 toolkit model that other developers can use?
 
 Google is offering a single, read-only servvice, but at mind-bending
 speed. How does it serve so many users so quickly? Again, how can we
 package that approach in a way that it accessible to other developers?
 
 Sorry to be providing more queries than code, but to paraphrase Linus,
 it often takes one person to articulate an issue, and another to resolve
 it =:o)
 
 
 -- Ted Husted, Husted dot Com, Fairport NY USA.
 -- Java Web Development with Struts.
 -- Tel +1 585 737-3463.
 -- Web http://www.husted.com/struts/
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
-- 
www.superlinksoftware.com
www.sourceforge.net/projects/poi - port of Excel format to java
http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
- fix java generics!


The avalanche has already started. It is too late for the pebbles to
vote.
-Ambassador Kosh


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful

2002-02-01 Thread Fernandez Martinez, Alejandro

Hi Jeff,

 -Mensaje original-
 De: Jeff Schnitzer [mailto:[EMAIL PROTECTED]]

[...]

 I've been giving a lot of thought to distributed object models lately.
 I've worked with DCOM, CORBA, RMI, and EJB, and for the most 
 part it's a
 lot of the same.  Since networks are getting so fast these days, I'm
 starting to really wonder what it would be like to have a model in
 which:
 
 * All objects are inherently remotable.
 * Objects transparently migrate for efficiency.

Welcome to the wonderful world of Mobile Agents. They suck.

In our experience, the security concerns far outweigh the advantages of
mobility. Anyways, that migration is only efficient in conditions of:
- limited processing power. Instead of making computations on a PDA,
you shift the agent to your server, perform the computations and then return
with the results. This sci-fi scenario is a bit absurd, since you can just
call a service that performs the same computations.

- limited bandwidth. You shift the agent to the machine that is
nearer to e.g. the database, so as to minimize communications. A good design
already takes care of this problem, and nowadays, bandwidth is much cheaper
than it used to be.

 I can think of many interesting, fairly revolutionary consequences of
 such a system and I'd love to discuss them.  Ultimately, if such a
 system ever made it out of research and into prototype, it could
 challenge both Java and .NET, and possibly stave off the 
 coming hegemony
 of the Sun/Microsoft duopoly.  (Yeah, yeah, there will always 
 be people
 who enjoy working on nonvirtual machines, but they're crazy :-)

You can just check out JADE, it's a nice LGPL platform for mobile agents
that can be programmed in JESS or Java. IMHO, not worth the trouble.

 Does anyone think some variant of this idea to be worth 
 pursuing?  Or is
 everyone wedded to the idea of working on the proprietary Sun platform
 known as Java?

It's not 'with me or against me'. We can dislike J2EE, but not necessarily
be keen on building a J2EE replacement.

Un saludo,

Alex. 



Re: [OT] RE: J2EE considered harmful

2002-02-01 Thread Ted Husted

yahoo.com goes way beyond a search engine:

Email, address books, auctions, classified ads, file storage, calendars
and shared calendars, personalized portals for like 27 different sub
applications, the list goes on.

Yahoo is delivering a vast number of dynamic applications to an
incredible number of users, with excellent performance and reliabity. If
there a success story in IT, this is it.

I picked yahoo.com and google.com as two different examples of high
traffic Web sites that are delivering scalability. 

I only mentioned google.com since it is ~blazingly fast~, and represents
a very different best-of-breed right now. 


Andrew C. Oliver wrote:
 
 Those are both search engines with non-critical data update issues.  You
 do need an example with more business-logic oriented type
 functionality.  I could mock something like those up with Lucene just
 with a few routers and pushing the indicies to the mirrored systems.
 This doesn't answer the enterprise system question.  Secondly we need
 examples on a more moderate basis.
 
 (sorry, if that sounds critical, I don't mean to be, I think you're
 heading the discussion the right direction, I just don't think those
 examples do that)
 
 On a more personal note.  Funny story: My wife went to high/grade school
 with the Google guy.  Small world eh?
 
 -Andy
 
 On Fri, 2002-02-01 at 08:57, Ted Husted wrote:
  Perhaps the question to ask is how are real sites providing real
  scalabilty without resorting to Enterprise JavaBeans?
 
  Take google.com and yahoo.com for example,
 
  Yahoo offers a signficant number of remote, multi-user applications like
  the ones we would like to provide to our own clients. Are they using
  EJBs? If not, what do they use? How can we turn Yahoo's approach into a
  toolkit model that other developers can use?
 
  Google is offering a single, read-only servvice, but at mind-bending
  speed. How does it serve so many users so quickly? Again, how can we
  package that approach in a way that it accessible to other developers?
 
  Sorry to be providing more queries than code, but to paraphrase Linus,
  it often takes one person to articulate an issue, and another to resolve
  it =:o)
 
 
  -- Ted Husted, Husted dot Com, Fairport NY USA.
  -- Java Web Development with Struts.
  -- Tel +1 585 737-3463.
  -- Web http://www.husted.com/struts/
 
  --
  To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
  For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
 --
 www.superlinksoftware.com
 www.sourceforge.net/projects/poi - port of Excel format to java
 http://developer.java.sun.com/developer/bugParade/bugs/4487555.html
 - fix java generics!
 
 The avalanche has already started. It is too late for the pebbles to
 vote.
 -Ambassador Kosh
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]

-- Ted Husted, Husted dot Com, Fairport NY USA.
-- Java Web Development with Struts.
-- Tel +1 585 737-3463.
-- Web http://www.husted.com/struts/

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [OT] RE: J2EE considered harmful

2002-02-01 Thread Andrew C. Oliver

On Fri, 2002-02-01 at 10:46, Ted Husted wrote:
 yahoo.com goes way beyond a search engine:
 
 Email, address books, auctions, classified ads, file storage, calendars
 and shared calendars, personalized portals for like 27 different sub
 applications, the list goes on.
 
 Yahoo is delivering a vast number of dynamic applications to an
 incredible number of users, with excellent performance and reliabity. If
 there a success story in IT, this is it.
 

True, but it isn't particularly transactional in nature as far as the
other features, more of a publishing type app.  Sure the email, but that
even has isolated data interaction..  Am I making sense?  

 I picked yahoo.com and google.com as two different examples of high
 traffic Web sites that are delivering scalability. 
 
 I only mentioned google.com since it is ~blazingly fast~, and represents
 a very different best-of-breed right now. 
 
 
 Andrew C. Oliver wrote:
  
  Those are both search engines with non-critical data update issues.  You
  do need an example with more business-logic oriented type
  functionality.  I could mock something like those up with Lucene just
  with a few routers and pushing the indicies to the mirrored systems.
  This doesn't answer the enterprise system question.  Secondly we need
  examples on a more moderate basis.
  
  (sorry, if that sounds critical, I don't mean to be, I think you're
  heading the discussion the right direction, I just don't think those
  examples do that)
  
  On a more personal note.  Funny story: My wife went to high/grade school
  with the Google guy.  Small world eh?
  
  -Andy
  
  On Fri, 2002-02-01 at 08:57, Ted Husted wrote:
   Perhaps the question to ask is how are real sites providing real
   scalabilty without resorting to Enterprise JavaBeans?
  
   Take google.com and yahoo.com for example,
  
   Yahoo offers a signficant number of remote, multi-user applications like
   the ones we would like to provide to our own clients. Are they using
   EJBs? If not, what do they use? How can we turn Yahoo's approach into a
   toolkit model that other developers can use?
  
   Google is offering a single, read-only servvice, but at mind-bending
   speed. How does it serve so many users so quickly? Again, how can we
   package that approach in a way that it accessible to other developers?
  
   Sorry to be providing more queries than code, but to paraphrase Linus,
   it often takes one person to articulate an issue, and another to resolve
   it =:o)
  
  
   -- Ted Husted, Husted dot Com, Fairport NY USA.
   -- Java Web Development with Struts.
   -- Tel +1 585 737-3463.
   -- Web http://www.husted.com/struts/
  
   --
   To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
   For additional commands, e-mail: mailto:[EMAIL PROTECTED]
  
  --
  www.superlinksoftware.com
  www.sourceforge.net/projects/poi - port of Excel format to java
  http://developer.java.sun.com/developer/bugParade/bugs/4487555.html
  - fix java generics!
  
  The avalanche has already started. It is too late for the pebbles to
  vote.
  -Ambassador Kosh
  
  --
  To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
  For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
 -- Ted Husted, Husted dot Com, Fairport NY USA.
 -- Java Web Development with Struts.
 -- Tel +1 585 737-3463.
 -- Web http://www.husted.com/struts/
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
-- 
www.superlinksoftware.com
www.sourceforge.net/projects/poi - port of Excel format to java
http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
- fix java generics!


The avalanche has already started. It is too late for the pebbles to
vote.
-Ambassador Kosh


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: [OT] RE: J2EE considered harmful

2002-02-01 Thread Alef Arendsen

As far as I can remember Google has started out in a small shed using just personal 
computers. No big mainframes, serverfarms or whatever. Just a proprietary server 
platform.

What the status is right now, I don't now...

alef
 -Original Message-
 From: Ted Husted [mailto:[EMAIL PROTECTED]]
 Sent: Friday, 01 February 2002 16:46
 To: Jakarta General List
 Subject: Re: [OT] RE: J2EE considered harmful
 
 
 yahoo.com goes way beyond a search engine:
 
 Email, address books, auctions, classified ads, file storage, 
 calendars
 and shared calendars, personalized portals for like 27 different sub
 applications, the list goes on.
 
 Yahoo is delivering a vast number of dynamic applications to an
 incredible number of users, with excellent performance and 
 reliabity. If
 there a success story in IT, this is it.
 
 I picked yahoo.com and google.com as two different examples of high
 traffic Web sites that are delivering scalability. 
 
 I only mentioned google.com since it is ~blazingly fast~, and 
 represents
 a very different best-of-breed right now. 
 
 
 Andrew C. Oliver wrote:
  
  Those are both search engines with non-critical data update 
 issues.  You
  do need an example with more business-logic oriented type
  functionality.  I could mock something like those up with 
 Lucene just
  with a few routers and pushing the indicies to the mirrored systems.
  This doesn't answer the enterprise system question.  
 Secondly we need
  examples on a more moderate basis.
  
  (sorry, if that sounds critical, I don't mean to be, I think you're
  heading the discussion the right direction, I just don't think those
  examples do that)
  
  On a more personal note.  Funny story: My wife went to 
 high/grade school
  with the Google guy.  Small world eh?
  
  -Andy
  
  On Fri, 2002-02-01 at 08:57, Ted Husted wrote:
   Perhaps the question to ask is how are real sites providing real
   scalabilty without resorting to Enterprise JavaBeans?
  
   Take google.com and yahoo.com for example,
  
   Yahoo offers a signficant number of remote, multi-user 
 applications like
   the ones we would like to provide to our own clients. Are 
 they using
   EJBs? If not, what do they use? How can we turn Yahoo's 
 approach into a
   toolkit model that other developers can use?
  
   Google is offering a single, read-only servvice, but at 
 mind-bending
   speed. How does it serve so many users so quickly? Again, 
 how can we
   package that approach in a way that it accessible to 
 other developers?
  
   Sorry to be providing more queries than code, but to 
 paraphrase Linus,
   it often takes one person to articulate an issue, and 
 another to resolve
   it =:o)
  
  
   -- Ted Husted, Husted dot Com, Fairport NY USA.
   -- Java Web Development with Struts.
   -- Tel +1 585 737-3463.
   -- Web http://www.husted.com/struts/
  
   --
   To unsubscribe, e-mail:   
mailto:[EMAIL PROTECTED]
  For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
 --
 www.superlinksoftware.com
 www.sourceforge.net/projects/poi - port of Excel format to java
 http://developer.java.sun.com/developer/bugParade/bugs/4487555.html
 - fix java generics!
 
 The avalanche has already started. It is too late for the pebbles to
 vote.
 -Ambassador Kosh
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]

-- Ted Husted, Husted dot Com, Fairport NY USA.
-- Java Web Development with Struts.
-- Tel +1 585 737-3463.
-- Web http://www.husted.com/struts/

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: J2EE considered harmful

2002-02-01 Thread Ted Husted

You know, since Apache is a member of the J2SE group at Apache, it would
make a lot of sense for us to develop a resource page regarding J2SE
scalability. 

I'd be very happy to start and maintain such a page here, as I do for
Struts. 

http://husted.com/struts/resources.htm

If anyone has some starter links, send them along, and I'll get going.

More importantly, we should also not hesitate to pubish our own orignal
material, such as case studies, if anyone here wants to pass one along
:-)

Personally, like James, I think all the tools are already there, and
much easier to deploy that bothering with EJBs. The vendor slove to say
you get this-and-that for free, but the hidden costs are staggering,
and in the end, it's obvious that you lose much more than you gain. Two
steps forward, six steps back.

-- Ted Husted, Husted dot Com, Fairport NY USA.
-- Java Web Development with Struts.
-- Tel +1 585 737-3463.
-- Web http://www.husted.com/struts/


James Strachan wrote:
 Agreed. Though I've 2 points to make.
 
 #1 you don't need to use EJBs to distribute business logic If you do need to
 distribute business logic, then there are various alternatives open, from
 HTTP/Servlets, JMS, SOAP or EJB. Each should be evaluated on their merits,
 cost/benefits etc.
 
 #2 just because you may eventually distribute your business logic, assuming
 you're going to from the start (and assuming that means EJBs and then
 jumping through lots of EJB hoops  headeaches and paying a fortune to some
 EJB vendors) is bad XP practice IMHO
 
 I prefer to take an XP approach, first build a web application that works,
 is performant and scalable then worry about whether business logic needs to
 be distributed later. Afterall us Java folk are OO guys right? We can write
 our business logic in such a way that it could migrate to EJB later if we
 think thats the right thing to do.
 
 Or to put that another way - I'd prefer to focus on giving the customer what
 they want and making a good web application than grappling with EJBs just
 because one day, maybe, under some conditions, I might want to distribute
 some of the business logic in the web app under the 'faith' that its the
 right thing to do.
 
 Most business logic in most web applications is pretty minimal in terms of
 computation and is often mostly database intensive so moving this code to
 another process doesn't usually buy much in terms of scalability - if
 anything its the reverse thats true - what with all that EJB distributed
 garbage collection  connection based protocol stuff that needs to be done
 scalability (and usually always performance) can go down.
 
  If your application will grow it is good to have a middle tier that
  can be moved and load balanced.  With Entity beans of course this is
  less possible.
 
 (And stateful session beans ;-).
 
 I think this is true of traditional GUIs, say a Swing client front end, a
 middle tier server (say server side beans aka EJBs) and a database. I don't
 think this is true of web applications as they are quite different things -
 a servlet engine is not a 'GUI' client.
 
 Servlet engines are a stable, performant and very scalable application
 servers in their own right. Get a hardware load balancer and a farm of
 servlet engines and your *way* scalable.
 
 Arguing for the need for another, remote CORBA component-centric application
 server based on mostly connection-based protocols, RMI, stubs and
 distributed garbage collection to make your web-application more scalable
 seems, well, strange.
 
 In my experience web applications scale best when you have a big server farm
 of servlet engines which are load balanced. A database at the back and
 hopefully some kind of read only caching going on to take as much load off
 the poor database as you can. Then you can distribute parts of your web
 application into different server farms, get load balancing, shuffle things
 around as load changes etc. Then pick the web technologies of your choice,
 Struts, JSP, Velocity, Turbine etc. Away you go.
 
 I still don't see the 'scalability' argument as in any way advocating that
 EJBs are actually useful for web applications.
 
 In fact this idea that EJBs are required to build scalable web applications
 is plain false - probably marketing hype spread by the EJB vendors.
 
 James
 
 _
 Do You Yahoo!?
 Get your free @yahoo.com address at http://mail.yahoo.com
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [OT] RE: J2EE considered harmful

2002-02-01 Thread Andrew C. Oliver

On Fri, 2002-02-01 at 11:07, Ted Husted wrote:
 Andrew C. Oliver wrote:
  
  On Fri, 2002-02-01 at 10:46, Ted Husted wrote:
   yahoo.com goes way beyond a search engine:
  
   Email, address books, auctions, classified ads, file storage, calendars
   and shared calendars, personalized portals for like 27 different sub
   applications, the list goes on.
  
   Yahoo is delivering a vast number of dynamic applications to an
   incredible number of users, with excellent performance and reliabity. If
   there a success story in IT, this is it.
  
  
  True, but it isn't particularly transactional in nature as far as the
  other features, more of a publishing type app.  Sure the email, but that
  even has isolated data interaction..  Am I making sense?
 
 You need to consider that they are doing *everything*, including a very
 complicated type of ecommerce through the auctions. That's the stunning
 part. It's not just one banana, it's the whole bunch.
 
Ahh, you know, you're right.  (I use all those things but forget they
are there since they don't break often ;-)...come to think of it yahoo
is a great example)

-Andy


 -- Ted Husted, Husted dot Com, Fairport NY USA.
 -- Java Web Development with Struts.
 -- Tel +1 585 737-3463.
 -- Web http://www.husted.com/struts/
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
-- 
www.superlinksoftware.com
www.sourceforge.net/projects/poi - port of Excel format to java
http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
- fix java generics!


The avalanche has already started. It is too late for the pebbles to
vote.
-Ambassador Kosh


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [OT] RE: J2EE considered harmful

2002-02-01 Thread Andrew C. Oliver

(too bad I'll be boycotting Yahoo soon because they use pop-up ads which
I consider SOoo unprofessional)

On Fri, 2002-02-01 at 11:00, Andrew C. Oliver wrote:
 On Fri, 2002-02-01 at 11:07, Ted Husted wrote:
  Andrew C. Oliver wrote:
   
   On Fri, 2002-02-01 at 10:46, Ted Husted wrote:
yahoo.com goes way beyond a search engine:
   
Email, address books, auctions, classified ads, file storage, calendars
and shared calendars, personalized portals for like 27 different sub
applications, the list goes on.
   
Yahoo is delivering a vast number of dynamic applications to an
incredible number of users, with excellent performance and reliabity. If
there a success story in IT, this is it.
   
   
   True, but it isn't particularly transactional in nature as far as the
   other features, more of a publishing type app.  Sure the email, but that
   even has isolated data interaction..  Am I making sense?
  
  You need to consider that they are doing *everything*, including a very
  complicated type of ecommerce through the auctions. That's the stunning
  part. It's not just one banana, it's the whole bunch.
  
 Ahh, you know, you're right.  (I use all those things but forget they
 are there since they don't break often ;-)...come to think of it yahoo
 is a great example)
 
 -Andy
 
 
  -- Ted Husted, Husted dot Com, Fairport NY USA.
  -- Java Web Development with Struts.
  -- Tel +1 585 737-3463.
  -- Web http://www.husted.com/struts/
  
  --
  To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
  For additional commands, e-mail: mailto:[EMAIL PROTECTED]
  
 -- 
 www.superlinksoftware.com
 www.sourceforge.net/projects/poi - port of Excel format to java
 http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
   - fix java generics!
 
 
 The avalanche has already started. It is too late for the pebbles to
 vote.
 -Ambassador Kosh
 
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
-- 
www.superlinksoftware.com
www.sourceforge.net/projects/poi - port of Excel format to java
http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
- fix java generics!


The avalanche has already started. It is too late for the pebbles to
vote.
-Ambassador Kosh


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: [OT] RE: J2EE considered harmful

2002-02-01 Thread Steve Downey

If you are _very_ lucky, the object is coarse grained enough, and has loose
enough performance requirements, that the rest of the system can tolerate
that calls to it will take 100 to 1000 times longer. 

I've never seen any system that lucky. 

Most objects don't work if they are made distributed without careful
consideration.

 -Original Message-
 From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]]
 Sent: Friday, February 01, 2002 8:19 AM
 To: Jakarta General List
 Subject: RE: [OT] RE: J2EE considered harmful
 
 
 So what if you need to move an object that is defined as local to be
 load balanced across machines?  I think you're wrong on that one.  If
 you have to define it as local you loose scalability by definition
 unless you accept the hardware vendor's edition of scalability (buy an
 E1 instead and junk your old machine ;-) ).
 
 On Fri, 2002-02-01 at 08:06, Paulo Gaspar wrote:
  I do not think so. Handling in a proper way situations that are
  specific to a remote call does not mean that the architecture of
  the app must be less scalable.
  
  
  Have fun,
  Paulo
  
   -Original Message-
   From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]]
   Sent: Friday, February 01, 2002 7:03 AM
   To: Jakarta General List
   Subject: RE: [OT] RE: J2EE considered harmful
   
   
   Albeit at the expense of scalability
   
   On Thu, 2002-01-31 at 09:51, Paulo Gaspar wrote:
I think that the key bit is:
  and it is a mistake to try to program 
  as though a
  remote call had the same characteristics as a local one.

Your app will always be more robust if you do NOT ignore the
specific issues of a remote call.


Have fun,
Paulo Gaspar

 -Original Message-
 From: Fernandez Martinez, Alejandro
 [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, January 31, 2002 1:50 PM
 To: 'Jakarta General List'
 Subject: [OT] RE: J2EE considered harmful
 
 
 Hi Tim.
 
 I agree with your point of view, we've been trying to 
 avoid EJBs 
 as much as
 possible. But there's one thing I don't understand.
 
  -Mensaje original-
  De: Tim Hyde [mailto:[EMAIL PROTECTED]]
  Yes, EJB is a complete bodge of a design, and RPC 
 invocation 
  techniques
  would only be acceptable if they were completely 
 transparent, 
  instead of
  requiring you to do so much plumbing yourself. But 
  personally, I think RPC
  is entirely overrated, and it is a mistake to try 
 to program 
  as though a
  remote call had the same characteristics as a local one.
 
 Why is it a mistake? I think a remote proxy is a great way to 
   make remote
 calls, shielding the developer from the complexity of it all. 
   The recent
 discussion about AltRMI has shown that there's a lot of 
   interest in using
 proxies, but it was Sun's implementation (the Remote* 
 stuff) that was
 flawed.
 
 Un saludo,
 
 Alex.
 

--
To unsubscribe, e-mail:   
   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: 
   mailto:[EMAIL PROTECTED]

   -- 
   www.superlinksoftware.com
   www.sourceforge.net/projects/poi - port of Excel format to java
   
 http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
 - fix java generics!
   
   
   The avalanche has already started. It is too late for the 
 pebbles to
   vote.
   -Ambassador Kosh
   
   
   --
   To unsubscribe, e-mail:   
 mailto:[EMAIL PROTECTED]
   For additional commands, e-mail: 
 mailto:[EMAIL PROTECTED]
   
  
  --
  To unsubscribe, e-mail:   
 mailto:[EMAIL PROTECTED]
  For additional commands, e-mail: 
 mailto:[EMAIL PROTECTED]
  
 -- 
 www.superlinksoftware.com
 www.sourceforge.net/projects/poi - port of Excel format to java
 http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
   - fix java generics!
 
 
 The avalanche has already started. It is too late for the pebbles to
 vote.
 -Ambassador Kosh
 
 
 --
 To unsubscribe, e-mail:   
 mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: 
 mailto:[EMAIL PROTECTED]
 
This electronic mail transmission
may contain confidential information and is intended only for the person(s)
named.  Any use, copying or disclosure by any other person is strictly
prohibited.  If you have received this transmission in error, please notify
the sender via e-mail. 

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: [OT] RE: J2EE considered harmful

2002-02-01 Thread Steve Downey

A 10,000 node linux cluster. http://www.google.com/press/highlights.html


 -Original Message-
 From: Alef Arendsen [mailto:[EMAIL PROTECTED]]
 Sent: Friday, February 01, 2002 10:58 AM
 To: Jakarta General List
 Subject: RE: [OT] RE: J2EE considered harmful
 
 
 As far as I can remember Google has started out in a small 
 shed using just personal computers. No big mainframes, 
 serverfarms or whatever. Just a proprietary server platform.
 
 What the status is right now, I don't now...
 
 alef
  -Original Message-
  From: Ted Husted [mailto:[EMAIL PROTECTED]]
  Sent: Friday, 01 February 2002 16:46
  To: Jakarta General List
  Subject: Re: [OT] RE: J2EE considered harmful
  
  
  yahoo.com goes way beyond a search engine:
  
  Email, address books, auctions, classified ads, file storage, 
  calendars
  and shared calendars, personalized portals for like 27 different sub
  applications, the list goes on.
  
  Yahoo is delivering a vast number of dynamic applications to an
  incredible number of users, with excellent performance and 
  reliabity. If
  there a success story in IT, this is it.
  
  I picked yahoo.com and google.com as two different examples of high
  traffic Web sites that are delivering scalability. 
  
  I only mentioned google.com since it is ~blazingly fast~, and 
  represents
  a very different best-of-breed right now. 
  
  
  Andrew C. Oliver wrote:
   
   Those are both search engines with non-critical data update 
  issues.  You
   do need an example with more business-logic oriented type
   functionality.  I could mock something like those up with 
  Lucene just
   with a few routers and pushing the indicies to the 
 mirrored systems.
   This doesn't answer the enterprise system question.  
  Secondly we need
   examples on a more moderate basis.
   
   (sorry, if that sounds critical, I don't mean to be, I 
 think you're
   heading the discussion the right direction, I just don't 
 think those
   examples do that)
   
   On a more personal note.  Funny story: My wife went to 
  high/grade school
   with the Google guy.  Small world eh?
   
   -Andy
   
   On Fri, 2002-02-01 at 08:57, Ted Husted wrote:
Perhaps the question to ask is how are real sites providing real
scalabilty without resorting to Enterprise JavaBeans?
   
Take google.com and yahoo.com for example,
   
Yahoo offers a signficant number of remote, multi-user 
  applications like
the ones we would like to provide to our own clients. Are 
  they using
EJBs? If not, what do they use? How can we turn Yahoo's 
  approach into a
toolkit model that other developers can use?
   
Google is offering a single, read-only servvice, but at 
  mind-bending
speed. How does it serve so many users so quickly? Again, 
  how can we
package that approach in a way that it accessible to 
  other developers?
   
Sorry to be providing more queries than code, but to 
  paraphrase Linus,
it often takes one person to articulate an issue, and 
  another to resolve
it =:o)
   
   
-- Ted Husted, Husted dot Com, Fairport NY USA.
-- Java Web Development with Struts.
-- Tel +1 585 737-3463.
-- Web http://www.husted.com/struts/
   
--
To unsubscribe, e-mail:   
 mailto:[EMAIL PROTECTED]
   For additional commands, e-mail: 
 mailto:[EMAIL PROTECTED]
  
  --
  www.superlinksoftware.com
  www.sourceforge.net/projects/poi - port of Excel format to java
  http://developer.java.sun.com/developer/bugParade/bugs/4487555.html
  - fix java generics!
  
  The avalanche has already started. It is too late for the pebbles to
  vote.
  -Ambassador Kosh
  
  --
  To unsubscribe, e-mail:   
 mailto:[EMAIL PROTECTED]
  For additional commands, e-mail: 
 mailto:[EMAIL PROTECTED]
 
 -- Ted Husted, Husted dot Com, Fairport NY USA.
 -- Java Web Development with Struts.
 -- Tel +1 585 737-3463.
 -- Web http://www.husted.com/struts/
 
 --
 To unsubscribe, e-mail:   
 mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: 
 mailto:[EMAIL PROTECTED]
 
 
 --
 To unsubscribe, e-mail:   
 mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: 
 mailto:[EMAIL PROTECTED]
 
This electronic mail transmission
may contain confidential information and is intended only for the person(s)
named.  Any use, copying or disclosure by any other person is strictly
prohibited.  If you have received this transmission in error, please notify
the sender via e-mail. 

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: J2EE considered harmful

2002-02-01 Thread James Strachan

From: Andrew C. Oliver [EMAIL PROTECTED]
  #1 you don't need to use EJBs to distribute business logic If you do
need to
  distribute business logic, then there are various alternatives open,
from
  HTTP/Servlets, JMS, SOAP or EJB. Each should be evaluated on their
merits,
  cost/benefits etc.
 

 True, I don't like the Servlet approach.  I tend to admire clean code
 and a Servlet approach makes this less likely (assuming the team is more
 than 1 guy and you have differing skill levels on the team).

There are many ways to work with HTTP, servlets is just one. There are many
others even just at Jakarta. JSP, Velocity, Struts, Turbine, Avalon, Cocoon
etc.

Incidentally having worked with various 'distributed models' such as CORBA
and EJB I find Servlets the cleanest and best designed applicaiton server
solution so far by quite some margin. There's a great open source
implementation of the spec (Tomcat 4) and look at all the diversity in
layers added on top to improve developer productivity.


 JMS is not
 appropriate for a number of areas.

Like what?

 In truth I've not yet learned enough
 about SOAP to speak intelligently  about it

All I'll say is I think SOAP has a much better future than EJBs.

  #2 just because you may eventually distribute your business logic,
assuming
  you're going to from the start (and assuming that means EJBs and then
  jumping through lots of EJB hoops  headeaches and paying a fortune to
some
  EJB vendors) is bad XP practice IMHO
 

 I'm not into XP, but often the scalability concern happens over night.
 There should be some framework in place for making it possible to do
 this somewhat suddenly.

There should be a strategy yes. Though this doesn't advocate EJBs. (Though I
don't think you are advocating them).


 I'd say you have about a weeks warning on most systems on just how much
 you need to scale up after deployment.  Systems are make it or break
 it.  You can apply techniques to make this more predictive, but a lot of
 this happens outside my area of control most of the time.  (Political,
 socio-economic and chaos theory are involved which often result in
 unpredictable community size, and you must plan to be way off no matter
 how careful or disciplined your approach)

Agreed. Scalability needs to be thought about seriously.

  I prefer to take an XP approach, first build a web application that
works,
  is performant and scalable then worry about whether business logic needs
to
  be distributed later. Afterall us Java folk are OO guys right? We can
write
  our business logic in such a way that it could migrate to EJB later if
we
  think thats the right thing to do.
 

 I'm more into a scalable version of the RUP.  In my opinion XP is a hack
 of a methodology (the RUP actually covers most of its issues).  XP also
 suffers from the misconception that programming is the most important
 activity in software development (I would argue requirements gathering
 as the most important activity in software development...programming is
 easy, figuring out WHAT to program is hard This is not to say I'm
 not into an iterative approach to this, only that I think XP is
 lacking.  At least it admits its own lack of scalability.)

 One day I'll start a project to create a methodology that merges the
 disciplined approach to software that I admire with the opensource
 principles and approaches that I think are necessary for effective
 teamwork.  (minus the flamewars ;-) ).

  Or to put that another way - I'd prefer to focus on giving the customer
what
  they want and making a good web application than grappling with EJBs
just

 That is irrelevant to the issue.

Not really but maybe I'm not expressing it properly. Using EJBs wastes
*alot* of valuable developer time when they could be doing something more
useful like adding new features, making things more scalable or making
things more performant.


 I would like to see an adequate
 distributed system (which it looks like there are at least 2 in the
 works within or slightly external to our community), and EJB does not
 fit the definition.

Agreed.

  because one day, maybe, under some conditions, I might want to
distribute
  some of the business logic in the web app under the 'faith' that its the
  right thing to do.
 

 That doesn't mean you plug your fingers in your ears and say na na na
 scalability I'll refactor later.

Agreed.

  I find a balanced approach between
 planing for the future and refactoring later works best.  We do need an
 adequate distributed object system for some situations.

Agreed - but like I said, they are pretty easy to do with HTTP, SOAP, JMS
etc. It doesn't *have* to be EJB. That was my main point. Too many
developers start building a web application and *start* with the EJB parts -
rather than building the actual web application then seeing where EJB, JMS,
SOAP or HTTP servers might help to distribute some of the load.


  I think this is true of traditional GUIs, say a Swing client front end,
a
  

Re: Re: J2EE considered harmful

2002-02-01 Thread acoliver

On Fri, 1 Feb 2002 18:35:55 - James Strachan
[EMAIL PROTECTED] wrote.
From: Andrew C. Oliver [EMAIL PROTECTED]
  #1 you don't need to use EJBs to distribute business logic If you do
need to
  distribute business logic, then there are various alternatives open,
from
  HTTP/Servlets, JMS, SOAP or EJB. Each should be evaluated on their
merits,
  cost/benefits etc.
 

 True, I don't like the Servlet approach.  I tend to admire clean code
 and a Servlet approach makes this less likely (assuming the team is more
 than 1 guy and you have differing skill levels on the team).

There are many ways to work with HTTP, servlets is just one. There are many
others even just at Jakarta. JSP, Velocity, Struts, Turbine, Avalon, Cocoon
etc.


Of these I've used JSP, Struts and Cocoon.  There are a few contributions I
need to make to the other technologies documentation-wise before I'm
ready/able to use them.  From what I know of Velocity, Turbine, Avalon, they
look very promising and I plan to use them in the future.

Incidentally having worked with various 'distributed models' such as CORBA
and EJB I find Servlets the cleanest and best designed applicaiton server
solution so far by quite some margin. There's a great open source
implementation of the spec (Tomcat 4) and look at all the diversity in
layers added on top to improve developer productivity.


 JMS is not
 appropriate for a number of areas.

Like what?


UI, guaranteed failure situations.

 In truth I've not yet learned enough
 about SOAP to speak intelligently  about it

All I'll say is I think SOAP has a much better future than EJBs.


From what I've read I'd tend to agree, though it looks...bulky.

  #2 just because you may eventually distribute your business logic,
assuming
  you're going to from the start (and assuming that means EJBs and then
  jumping through lots of EJB hoops  headeaches and paying a fortune to
some
  EJB vendors) is bad XP practice IMHO
 

 I'm not into XP, but often the scalability concern happens over night.
 There should be some framework in place for making it possible to do
 this somewhat suddenly.

There should be a strategy yes. Though this doesn't advocate EJBs. (Though
I
don't think you are advocating them).


+1


 I'd say you have about a weeks warning on most systems on just how much
 you need to scale up after deployment.  Systems are make it or break
 it.  You can apply techniques to make this more predictive, but a lot of
 this happens outside my area of control most of the time.  (Political,
 socio-economic and chaos theory are involved which often result in
 unpredictable community size, and you must plan to be way off no matter
 how careful or disciplined your approach)

Agreed. Scalability needs to be thought about seriously.

  I prefer to take an XP approach, first build a web application that
works,
  is performant and scalable then worry about whether business logic
needs
to
  be distributed later. Afterall us Java folk are OO guys right? We can
write
  our business logic in such a way that it could migrate to EJB later if
we
  think thats the right thing to do.
 

 I'm more into a scalable version of the RUP.  In my opinion XP is a hack
 of a methodology (the RUP actually covers most of its issues).  XP also
 suffers from the misconception that programming is the most important
 activity in software development (I would argue requirements gathering
 as the most important activity in software development...programming is
 easy, figuring out WHAT to program is hard This is not to say I'm
 not into an iterative approach to this, only that I think XP is
 lacking.  At least it admits its own lack of scalability.)

 One day I'll start a project to create a methodology that merges the
 disciplined approach to software that I admire with the opensource
 principles and approaches that I think are necessary for effective
 teamwork.  (minus the flamewars ;-) ).

  Or to put that another way - I'd prefer to focus on giving the customer
what
  they want and making a good web application than grappling with EJBs
just

 That is irrelevant to the issue.

Not really but maybe I'm not expressing it properly. Using EJBs wastes
*alot* of valuable developer time when they could be doing something more
useful like adding new features, making things more scalable or making
things more performant.


+1!  Like I said: EJB sucks.  We need something better, not *similar* but in
the same...space.  A few postings to this list have indicated such things
are in the works.  I'll be studying them once I achieve a lower level of
cycle utilization.


 I would like to see an adequate
 distributed system (which it looks like there are at least 2 in the
 works within or slightly external to our community), and EJB does not
 fit the definition.

Agreed.

  because one day, maybe, under some conditions, I might want to
distribute
  some of the business logic in the web app under the 'faith' that its
the
  right thing to do.
 

 That doesn't 

Re: [OT] RE: J2EE considered harmful

2002-02-01 Thread Geir Magnusson Jr.

On 2/1/02 8:57 AM, Ted Husted [EMAIL PROTECTED] wrote:

 Perhaps the question to ask is how are real sites providing real
 scalabilty without resorting to Enterprise JavaBeans?
 
 Take google.com and yahoo.com for example,
 
 Yahoo offers a signficant number of remote, multi-user applications like
 the ones we would like to provide to our own clients. Are they using
 EJBs? If not, what do they use? How can we turn Yahoo's approach into a
 toolkit model that other developers can use?

Give them a C/C++ compiler?

 
 Google is offering a single, read-only servvice, but at mind-bending
 speed. How does it serve so many users so quickly?

Lots and lots of computers?

 Again, how can we
 package that approach in a way that it accessible to other developers?

I think that the two cases are different (Yahoo and Google), and I think (I
don't know as I don't work for Google or Yahoo) it comes down to engineering
the solution to the problem, and then using existing tools that fit *your*
design solution, and building the parts you can't buy.

It appears to me that the App server approach is the opposite - here is
your solution, can you bend the problem to fit?

(Like a joke we used to have : Unix, of course.  Now what was the
question?)

I am working on a rather large-ish, very complicated project that we are
going to implement in Java.  There are many J2EE technologies that we will
take advantage of such as JMS, JNDI, JTA, etc but the whole container
approach doesn't have any relevance other than we may be forced to run it to
get some of the services as an app client.  Dunno.


This does bring up an interesting question : could EJBs possibly work for
Yahoo?  (I bet not...)

-- 
Geir Magnusson Jr. [EMAIL PROTECTED]
System and Software Consulting
Be a giant.  Take giant steps.  Do giant things...


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: J2EE considered harmful (was [Fwd: cvscommit: jakarta-site2/xdocs index.xml])

2002-02-01 Thread David E. Jones


I agree quite a lot with Andrew. In fact, I agree enough that I stopped using 
EJBs around the middle of last year because they are SUCH a pain to build and 
maintain, and because the performance sucks and there's nothing you can do 
about it, even if you pay the high premiums for advanced application 
servers.

So, since there aren't really many alternatives I decided to make one as part 
of my open source project Open For Business (www.ofbiz.org or 
sf.net/projects/ofbiz). It's called the Entity Engine. The main idea behind 
it is: have an XML file that describes you data layout, and then handle 
generic persistence functionality through a single class. The GenericValue 
object works just like a value object in the EJB design patterns context but 
is Generic so you don't have to create one for every database table or 
combination of tables. It also handles View Entities to combine tables and 
a few other nice features such as JTA transaction support.

The upside of it (which I was chasing) is that it is easy to change the data 
structure and have it update the database and the run-time data layout 
enforcement as well as immediately making new columns and such immediately 
available in the GenericValue objects. So, when you want to change something 
in the data layout, wham, it's done and you can move on to your application 
functionality.

I don't know if it will ever become a standard and replace EJBs, but talk 
about this kind of tool has been going around for a while, and here is one 
implementation of those ideas that is being used in commercial deployments 
and is available open source.

Even if it doesn't replace EJBs for everyone, it certainly has for me, and 
has saved me hundreds of hours and hundreds of thousands of lines of 
generated EJB code (no, I haven't written it by hand in a while, way too much 
work for stupid persistence code).

Later,
-David Jones

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: Re: J2EE considered harmful

2002-02-01 Thread James Strachan

From: acoliver [EMAIL PROTECTED]
 On Fri, 1 Feb 2002 18:35:55 - James Strachan
 [EMAIL PROTECTED] wrote.
  JMS is not
  appropriate for a number of areas.
 
 Like what?
 

 UI, guaranteed failure situations.

I don't follow. JMS/MOM is one of the only solutions where clients and
servers work in a connectionless way - clients and servers don't need to be
running at the same time. The system can handle failures gracefully, with
persistent messages, retry, reconciliation, load balancing, fault tolerance
etc.


  In truth I've not yet learned enough
  about SOAP to speak intelligently  about it
 
 All I'll say is I think SOAP has a much better future than EJBs.
 

 From what I've read I'd tend to agree, though it looks...bulky.

Agreed - though its a universal messaging format that can pass across all
transports; which is kinda handy. So whether http/email/news/MOM is used you
can connect anything to anything across diverse transports.

 I was just emphasizing that web applications are scalable - just add more
 boxes - and often they require quite modest hardware. EJB systems on the
 other hand can often need huge machines just to make quite simple
systems.
 

 Agreed.  I have fully stated: EJB sucks.  However it would be nice to have
 something there where you can isolate your database resources into a pool
of
 *servers* such as with any transaction processing system (going back to
even
 DCE crap -- which did suck too, but served a purpose)

Totally agree. I think adding TP type abilities to web/MOM/SOAP would be
cool.

 So it looks like we basically agree. ;-)  We're very verbose guys ;-)

+10 ;-)

James


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful

2002-02-01 Thread Jeff Schnitzer

 From: James Strachan [mailto:[EMAIL PROTECTED]]
 
 (*) One thing I've noticed with SOAP is that developers from the
different
 camps (web/MOM, CORBA/EJB) seem to see SOAP as different things. The
 web/MOM
 guys tend to think of SOAP as a universal message format so the same
 structured message can pass across many transports http/email/news/MOM
to
 connect anything to anything in a language, platform and transport
neutral
 way which is kinda cool. CORBA/EJB guys seem to view SOAP as, well its
 CORBA
 but using XML rather than IIOP and go off building stubs/proxies/IDL
 compilers etc just like with EJB/CORBA.

I don't think web/MOM/SOAP and CORBA/EJB are comparable technologies.
The former are communication protocols, and the latter are (primarily)
programming APIs.  To emphasize this point, in the .NET universe, the
remote invocation protocols are pluggable... you can write to their
distributed object model API and use SOAP, DCE-RPC, IIOP, JRMP, SMTP, or
just about anything else you can dream up.  For that matter, there is no
reason why you couldn't create an EJB container which used HTTP/SOAP as
the transport protocol.

I would compare EJB to the programming API for your SOAP or MOM
implementation.  Theoretically EJB (or any distributed object model)
provides a high-level abstraction so you don't need to fuss with the
complexity of all the protocols and mechanisms underneath.  Of course,
the tradeoff is flexibility and performance.  The problem with EJB,
IMHO, is that it has merely replaced the complexity of the underlying
system with the even greater complexity of the EJB system, and still
significantly inhibits your ability to write well-performing
applications.

Jeff Schnitzer
[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: [OT] RE: J2EE considered harmful

2002-02-01 Thread Jeff Schnitzer

 From: Steve Downey [mailto:[EMAIL PROTECTED]]
 
 Most objects don't work if they are made distributed without careful
 consideration.

I wonder if that has to be the case.  Right now, our distributed object
containers are blissfully stupid.  We (humans) can point at any
individual class or interface and say remote thyself! but that's as
far as it goes.  The container just does what we programmers tell it to.

Just like me, a hypothetical smart container could make some pretty
educated guesses about where and when a set of existing objects should
be remoted.  Furthermore, it could automatically learn, over time, not
only where the best boundaries are, but what are the best situations to
perform the remoting/migration.  Instead of deciding which classes
should be remote, a smart container could decide which *objects* should
be remote.  And it could learn the answers by watching object behavior
over time.

Of course, architecture would still have a big effect on performance -
but it does already, even in a single-machine environment.  We don't
hand-optimize our assembly anymore, and suspect that eventually we won't
be hand-optimizing our distributed systems, either.
 
JADE and Mobile Agents are not quite what I have in mind.  The agent
concept is very thread-centric, whereas this idea is object-centric.  It
sounds like EOB and AltRMI are closer to the mark.  I'm going to have to
take a long look, and maybe try to restart this discussion on one of
their mailing lists :-)

Jeff Schnitzer
[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: J2EE considered harmful (was [Fwd: cvs commit: jakarta-site2/xdocs index.xml])

2002-01-31 Thread Tim Hyde

I've been lurking on this list for several years, and not speaking about
things I'm not contributing to.

But Andy's comment here about EJB  J2EE goes right to the point, and
triggers my passion ...

As an architect, I've been in 5 projects in the last 2.5 years where EJBs
were on the table, and in every case but one there have been overwhelming
reasons to avoid getting involved with that kind of technology. And in the
remaining case, it was already live when I came on board but thankfully the
designer had not used Entity Beans, which made it almost tolerable.

In the last project (a major customer-care callcenter app), they had used
Entity Beans, and Websphere, and there were 500 EJBs, and 4700 distinct
application classes. It took 2 days of continuous processing just to
'deploy' the beans, and I was called in when they found they couldn't meet
adequate performance. Related, of course to the modelling of the database
through Entity Beans. I won't go into the details, but believe me there were
big problems in just about every area I looked at, not least developer
productivity with the toolsets.

My advice was unreservedly to junk both EJB and Websphere, since any
competent designer could implement a solution with about a tenth of the
complexity involved, and with no need for these opaque tools that you can't
control.

Yes, EJB is a complete bodge of a design, and RPC invocation techniques
would only be acceptable if they were completely transparent, instead of
requiring you to do so much plumbing yourself. But personally, I think RPC
is entirely overrated, and it is a mistake to try to program as though a
remote call had the same characteristics as a local one.

The Pointy Haired Management are influenced by other views of the
marketplace, of course, but they don't really make any sense if you can see
where technology like this is likely to end up in the longer term. (i.e.
replaced by something better).

The rest of J2EE ? Well, Servlets is great, JSP is just about OK, (but of
course you really wanted a templating engine). And among the rest of the
APIs, there seem to be some that are OK, but an awful lot of it is pretty
mediocre. Overall, it is Java *not* living up to its early promise.

In summary, after a couple of years wondering 'Why am I the only person to
see this ?' it's a relief to see Andy's post.

I also remember seeing Jon's comment 'WAKE UP PEOPLE' a few weeks back
(before Outlook trashed my mailbase) and though I think he is commenting on
Sun's military strategy rather than the technicalities of EJB (am I right
there ?) I do think that we need a much more public protest about the
weakness of the technologies on offer - too many companies are forcing
developers down the J2EE path. DotNet doesn't have to be the winner from
such a protest, either.

There are much better ways to do things, and at present customised solutions
win hands-down on every count except 'common culture'.

I know this is not much Jakarta related (unless Jakarta can take on J2EE
directly ?), but it does seem a very important issue in the context of
server-side Java.

How much support exists for this point of view ? Does anyone have pointers
for areas where rational discontent is brewing in a less 'humble' form ?

- Tim

- Original Message -
From: Andrew C. Oliver [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: 31 January 2002 01:58
Subject: Re: [Fwd: cvs commit: jakarta-site2/xdocs index.xml]



 On Wed, 2002-01-30 at 19:54, Jon Scott Stevens wrote:
  on 2002.1.30 4:15 PM, Andrew C. Oliver [EMAIL PROTECTED] wrote:
 
   My only issue and I guess this is directed more at you Jon, is it
   doesn't give me a clear idea about what we want.  Can you give me a
   good idea and I'll be glad to submit a patch to that effect.  It just
   seems like we should be asking for something and being specific.
  
   -Andy
 
  That is a very good point. However, privately, Sun knows exactly what we
  want.
 
  There is still some stuff that goes on behind the scenes around here
that
  unfortunately isn't exposed. Needless to say, discussions about opening
some
  of that up (including posting what we want to the public site) are going
on
  now.
 

 For starters:
 I think the J2EE stuff should be under at least the same license as the
 rest of the JDK.

 Personally I'm having a hard time getting particularly in uproar as I
 think the central core of J2EE - Enterprise Java Beans is such a poor
 standard, that I'm not particularly upset that its not *free*.  I should
 not say these things publicly, as I still have to work in these things,
 but in truth EJB and particularly Entity beans is a less that elegant
 kludge.

 In truth J2EE is kind of a scam.  It claims to be aiming for
 compatibility and universality but the truth is the vendors play too big
 of a role in it.  They want to have lots of room for proprietary
 extensions.  Its market one thing but actually sell another.

 I'd rather see someone come up with an opensource standard 

[OT] RE: J2EE considered harmful

2002-01-31 Thread Fernandez Martinez, Alejandro

Hi Tim.

I agree with your point of view, we've been trying to avoid EJBs as much as
possible. But there's one thing I don't understand.

 -Mensaje original-
 De: Tim Hyde [mailto:[EMAIL PROTECTED]]
 Yes, EJB is a complete bodge of a design, and RPC invocation 
 techniques
 would only be acceptable if they were completely transparent, 
 instead of
 requiring you to do so much plumbing yourself. But 
 personally, I think RPC
 is entirely overrated, and it is a mistake to try to program 
 as though a
 remote call had the same characteristics as a local one.

Why is it a mistake? I think a remote proxy is a great way to make remote
calls, shielding the developer from the complexity of it all. The recent
discussion about AltRMI has shown that there's a lot of interest in using
proxies, but it was Sun's implementation (the Remote* stuff) that was
flawed.

Un saludo,

Alex.



Re: J2EE considered harmful (was [Fwd: cvs commit: jakarta-site2/xdocs index.xml])

2002-01-31 Thread Santiago Gala

Andrew C. Oliver wrote:

To be fair, WebSphere is probably more troublesome then the other
containers (at least thats been my experience with it).  I do think 
there is a time and place for RPC.  I however think better support for
location independence is required. 

(snip)


I would suggest gaining experience with other containers (BEA and jBoss
for starters, you can download a trial of the former and the latter is
opensource) so that you can discriminate the problems that are exist in
WebSphere from those in EJBs as a whole.  Not because you want to just
do not-ejb but so that you don't repeat the same mistakes.

I have implemented a system using Container Managed EntityBeans that 
worked fairly well. I used Jonas (it was some time ago). It was smaller 
than the original poster example (about 20 entity classes, tens of 
thousands of instances). I spent a lot of time getting the entity design 
right. From the original description, it looks like the problems in the 
quoted project came from bad system design, more than from EJB 
technology as such.

Comments on my experience:

- The location and engine independence was a true marvel. I was 
developing with postgres/linux and deploying under MSSQLServer/NT with 
the same source code. Only small diffs in configuration needed.
- Performance was not good, but scalability was.
- Leaving transaction and persistence management to the container proved 
good at the end.
- My main issue in the development were related with using JSP for the 
interface (JSP sucks (c) Jon :) )

So, while I agree with political/licensing issues being of concern, I 
would not disqualify EJB as a whole from a technological point of view. 
YMMV.




--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful (was [Fwd: cvs commit: jakarta-site2/xdocs index.xml])

2002-01-31 Thread Steve Downey


snip

 I have implemented a system using Container Managed EntityBeans that 
 worked fairly well. I used Jonas (it was some time ago). It 
 was smaller 
 than the original poster example (about 20 entity classes, tens of 
 thousands of instances). I spent a lot of time getting the 
 entity design 
 right. From the original description, it looks like the 
 problems in the 
 quoted project came from bad system design, more than from EJB 
 technology as such.
 
 Comments on my experience:
 
 - The location and engine independence was a true marvel. I was 
 developing with postgres/linux and deploying under 
 MSSQLServer/NT with 
 the same source code. Only small diffs in configuration needed.
 - Performance was not good, but scalability was.
 - Leaving transaction and persistence management to the 
 container proved 
 good at the end.
 - My main issue in the development were related with using 
 JSP for the 
 interface (JSP sucks (c) Jon :) )
 
 So, while I agree with political/licensing issues being of concern, I 
 would not disqualify EJB as a whole from a technological 
 point of view. 
 YMMV.
 

My experience with Distributed Object Systems goes back to early CORBA and
DCOM. I've seen about as many failures in just about every distributed
system, regardless of technology flavour. EJB is just the latest, and as
seems usual in our industry, lots of people are coming in, treating it as
green field development, and are making the same mistakes.

Mostly, they ignore that the choice of making a system distributed is
fundamental. You can not take an Object Model and arbitrarily cleave it and
produce a good Distributed Object Model. The worst case of this I ever saw
was a system that had String as a CORBA object. 

EJB also brings to the table all of the problems of the Object/Relational
impedance mismatch. It's an empirical fact at this point that rows in a
table are bad objects. They're data, and have no behavior. Turning them into
objects with container managed persistence doesn't make them good objects.
Objects are composed out of many rows spanning several tables. That's hard
to do with CMP.

Just my $0.02.

This electronic mail transmission
may contain confidential information and is intended only for the person(s)
named.  Any use, copying or disclosure by any other person is strictly
prohibited.  If you have received this transmission in error, please notify
the sender via e-mail. 

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful

2002-01-31 Thread Andrus Adamchik

At 12:36 PM 1/31/2002 -0500, Steve Downey wrote:
EJB also brings to the table all of the problems of the Object/Relational
impedance mismatch. It's an empirical fact at this point that rows in a
table are bad objects. They're data, and have no behavior. Turning them into
objects with container managed persistence doesn't make them good objects.
Objects are composed out of many rows spanning several tables. That's hard
to do with CMP.

Just my $0.02.

Well, if EJB (or others) are doing it wrong, it doesn't mean that Object 
Relational approach is bad. I agree that objects mapped straight to the 
rows one to one are not of much use by themselves. But they provide 
something that you will need to build your less fine grained objects, 
namely *persistence transparency*. By the same token you can say that any 
objects that use Java Bean pattern are useless, since all they have is get 
and set methods.

But well, some people may like to concatenate SQL strings every time they 
want to get some data written or read to/from the database. The keyword 
here is productivity.


~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
- Andrei (a.k.a. Andrus) Adamchik
http://objectstyle.org
list email: andrus-jk at objectstyle dot org
personal email: andrus at objectstyle dot org


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful

2002-01-31 Thread Paulo Gaspar

*persistence transparency* = *waste of efficiency*

There are no good systems that solve that yet. It only works for very
simple schemas.

Besides,
 (1) Not using that kind of layer does NOT mean that you have to
 concatenate Strings;
 (2) The use of Javabeans is abused.

For (1) I use SQL generators for the most common operations and SQL
templates - defined in an XML file - for the others. Having SQL defined
outside the Java code often saves a lot of time and avoids the
concatenation mess.

For (2)... just go to the jakarta-commons mail archives and check the
discussions about the DynaBeans stuff.


Have fun,
Paulo Gaspar



 -Original Message-
 From: Andrus Adamchik [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, January 31, 2002 8:43 PM
 To: [EMAIL PROTECTED]
 Subject: RE: J2EE considered harmful

 ...

 Well, if EJB (or others) are doing it wrong, it doesn't mean that Object
 Relational approach is bad. I agree that objects mapped straight to the
 rows one to one are not of much use by themselves. But they provide
 something that you will need to build your less fine grained objects,
 namely *persistence transparency*. By the same token you can say that any
 objects that use Java Bean pattern are useless, since all they
 have is get
 and set methods.

 But well, some people may like to concatenate SQL strings every time they
 want to get some data written or read to/from the database. The keyword
 here is productivity.


 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
 - Andrei (a.k.a. Andrus) Adamchik
 http://objectstyle.org
 list email: andrus-jk at objectstyle dot org
 personal email: andrus at objectstyle dot org



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful

2002-01-31 Thread Paulo Gaspar

A bit more of OT inline:
=;o)

 -Original Message-
 From: Andrus Adamchik [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, January 31, 2002 10:50 PM
 To: Jakarta General List
 Subject: RE: J2EE considered harmful


 At 09:11 PM 1/31/2002 +0100, Paulo Gaspar wrote:
   (1) Not using that kind of layer does NOT mean that you have to
   concatenate Strings;

 Yes, am pretty sure there are ways to make life easier with SQL,
 sorry for bad comparison.

No reason to be sorry. The traditional approach you pointed is a PITA.
I am just mentioning alternatives.


 See, despite all of the skepticism about O/R mechanisms, I
 believe in this
 approach for one reason - I used a good O/R tool for major
 development for
 about 4 years now. I am talking about WebObjects. I believe this was the
 first application server out there (I think before even the term was
 coined). Now it lives in a relative obscurity since NeXT (the inventor of
 it) was bought by Apple, and Apple has no reputation for enterprise
 solutions.

I always read good thinking about WebObjects. I am really getting
curious about it.

 The bottom line here is that developer productivity goes up
 significantly.
 Code produced is incomparably easier to understand and maintain. And
 performance price is not that big (definitely not comparable to
 the impact EJB would make).

UAU! Good performance too?

I did read a lot about its productivity but nothing about
performance.


   (2) The use of Javabeans is abused.

 Totally agree. Still does not make this pattern bad. One use is a
 transport
 mechanism for data between the application parts. Clean and easy
 to understand.

Yes, but I think javabeans should be reserved for complex business
logic where it shines on the clean  easy aspects.

For data transport a lot can be automated in Java using approaches
like the Dynabeans. I mean, code like this:

bean1.field1 = someOtherSource.getObject(field1);
bean1.field2 = someOtherSource.getObject(field2);
...
bean1.field47 = someOtherSource.getObject(field47);

is really dumb and painful.

  Sorry for an OT post, this J2EE licensing discussion got a
 bit off hand.

A lot of interesting discussions go on OT all the time.
=;o)

 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
 - Andrei (a.k.a. Andrus) Adamchik
 http://objectstyle.org
 list email: andrus-jk at objectstyle dot org
 personal email: andrus at objectstyle dot org

Have fun,
Paulo Gaspar


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: [OT] RE: J2EE considered harmful

2002-01-31 Thread Andrew C. Oliver

Albeit at the expense of scalability

On Thu, 2002-01-31 at 09:51, Paulo Gaspar wrote:
 I think that the key bit is:
   and it is a mistake to try to program 
   as though a
   remote call had the same characteristics as a local one.
 
 Your app will always be more robust if you do NOT ignore the
 specific issues of a remote call.
 
 
 Have fun,
 Paulo Gaspar
 
  -Original Message-
  From: Fernandez Martinez, Alejandro
  [mailto:[EMAIL PROTECTED]]
  Sent: Thursday, January 31, 2002 1:50 PM
  To: 'Jakarta General List'
  Subject: [OT] RE: J2EE considered harmful
  
  
  Hi Tim.
  
  I agree with your point of view, we've been trying to avoid EJBs 
  as much as
  possible. But there's one thing I don't understand.
  
   -Mensaje original-
   De: Tim Hyde [mailto:[EMAIL PROTECTED]]
   Yes, EJB is a complete bodge of a design, and RPC invocation 
   techniques
   would only be acceptable if they were completely transparent, 
   instead of
   requiring you to do so much plumbing yourself. But 
   personally, I think RPC
   is entirely overrated, and it is a mistake to try to program 
   as though a
   remote call had the same characteristics as a local one.
  
  Why is it a mistake? I think a remote proxy is a great way to make remote
  calls, shielding the developer from the complexity of it all. The recent
  discussion about AltRMI has shown that there's a lot of interest in using
  proxies, but it was Sun's implementation (the Remote* stuff) that was
  flawed.
  
  Un saludo,
  
  Alex.
  
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
-- 
www.superlinksoftware.com
www.sourceforge.net/projects/poi - port of Excel format to java
http://developer.java.sun.com/developer/bugParade/bugs/4487555.html 
- fix java generics!


The avalanche has already started. It is too late for the pebbles to
vote.
-Ambassador Kosh


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful

2002-01-31 Thread Jeff Schnitzer

Amusingly enough, I've been considering writing an article with this
exact same title.  I've implemented two medium-sized systems using EJBs
(http://www.similarity.com and http://mav.sourceforge.net/pig) and I've
been haunting the ejb-interest list for more than a year.  I was never
ecstatic about the technology, but now I'm starting to feel downright
disillusioned with it.

This is not coming from someone stumbling around with the technology.
The first thing I did was read Richard Monson-Haefel's book
cover-to-cover, and I started with EJB2.0 (pd1) when Orion was the only
implementation.  I've got most of the 2.0 spec memorized.  I have no
trouble writing the deployment descriptors by hand.

The problem is, even after more than a year of this, I still find that
writing software using EJBs is a steady progress of fighting the
technology to make it do what you want.  It shouldn't be like this.

Having to write three or four different classes, plus an elaborate
deployment descriptor for each object slows things down a bit.  Tools
like xdoclet help, but it's still a complicated and painful process to
refactor anything.

Basic software design patterns are agonizing or impossible to implement.
Observable?  Time to learn JMS and Message-Driven Beans.  Singleton?
Not in the framework... you have to set up an external RMI server.

Presistance in the EJBland is a disappointment.  Even with EJB 2.0,
entity beans are not remotely mature.  There is no support for
relationship attributes or automatically generated primary keys.  The
query language is constrictive, offering no support for ordering,
aggregation functions, or retrieving data which spans more than a single
class.  After 20+ years of research and advancement in RDBMS technology,
this is a colossal step backwards, and the consequence is that entity
beans radically underperform systems with more direct database access.
I find that I must constantly sidestep the container with direct JDBC in
order to meet performance or feature requirements, and it sounds like
this is a common problem.

Overall, my feeling is that Sun tried to cram too many disparate
technologies into a single API.  EJB!  It's a distributed object model,
transaction model, security model, persistence model, component model,
message queue, desert topping, and floor wax all rolled into one!  Some
of it makes sense, but some of it (especially persistence) doesn't.

I'm surprised that people can build large applications with EJB.  My
guess is that it's probably very effective for one particular class of
problem - ecommerce apps.  I'm sure it's no accident that all the
examples in the spec are Order, LineItem, etc.  Unfortunately, this
doesn't help me, or any of the rest of the people who are working on
applications that are actually interesting.  And my guess is that since
ecommerce is 90% of the market for expensive app servers, Sun doesn't
really care.


Ok, enough whining.  What to do about it?  I really like the idea of an
Apache community building a truly free competitor to J2EE.  I don't like
being tied to technologies owned by a single company, so I'm already
pretty nervous by the stranglehold that Sun has on Java and (especially)
J2EE.  But it's not enough to build a marginal improvement over the
existing system, even with Apache's mindshare.  Besides, who wants to
copy a mediocre idea? :-)

I've been giving a lot of thought to distributed object models lately.
I've worked with DCOM, CORBA, RMI, and EJB, and for the most part it's a
lot of the same.  Since networks are getting so fast these days, I'm
starting to really wonder what it would be like to have a model in
which:

* All objects are inherently remotable.
* Objects transparently migrate for efficiency.

I can think of many interesting, fairly revolutionary consequences of
such a system and I'd love to discuss them.  Ultimately, if such a
system ever made it out of research and into prototype, it could
challenge both Java and .NET, and possibly stave off the coming hegemony
of the Sun/Microsoft duopoly.  (Yeah, yeah, there will always be people
who enjoy working on nonvirtual machines, but they're crazy :-)

Does anyone think some variant of this idea to be worth pursuing?  Or is
everyone wedded to the idea of working on the proprietary Sun platform
known as Java?

Jeff Schnitzer
[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: J2EE considered harmful

2002-01-31 Thread Micael Padraig Og mac Grene

Are you just talking about creating a new language, or what?  What is your 
idea?  I cannot tell.

At 12:38 PM 1/31/02 -0800, you wrote:
Amusingly enough, I've been considering writing an article with this
exact same title.  I've implemented two medium-sized systems using EJBs
(http://www.similarity.com and http://mav.sourceforge.net/pig) and I've
been haunting the ejb-interest list for more than a year.  I was never
ecstatic about the technology, but now I'm starting to feel downright
disillusioned with it.
Ok, enough whining.  What to do about it?  I really like the idea of an
Apache community building a truly free competitor to J2EE.  I don't like
being tied to technologies owned by a single company, so I'm already
pretty nervous by the stranglehold that Sun has on Java and (especially)
J2EE.  But it's not enough to build a marginal improvement over the
existing system, even with Apache's mindshare.  Besides, who wants to
copy a mediocre idea? :-)






--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]