<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: J3EE is moron bait</title>
	<atom:link href="http://www.bileblog.org/2004/01/j3ee-is-moron-bait/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/</link>
	<description>If you have nothing bad to say, say nothing.</description>
	<pubDate>Tue,  7 Sep 2010 02:20:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: J4VA</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4785</link>
		<dc:creator>J4VA</dc:creator>
		<pubDate>Mon, 17 May 2004 15:39:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4785</guid>
		<description>JAVA IS TEH ROXXOR!</description>
		<content:encoded><![CDATA[<p>JAVA IS TEH ROXXOR!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: read again</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4784</link>
		<dc:creator>read again</dc:creator>
		<pubDate>Sat, 31 Jan 2004 12:47:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4784</guid>
		<description>&lt;jon&gt;
Huh? You didn't get how .NET looks up components? I'll explain it to you again: 
DotNetComponent c = new DotNetComponent(); 
That's called a constructor, it's used to look up components in .NET. 
&lt;/jon&gt;

what ignorant bile.  You are showing a creator() most EJB code is about FINDERS.  What an ignorant pig.  We are talking about BEGINNER stuff here, not even that complex.  Oh I get it, it is because ioc shit only deals with singletons and stateless stuff.  


&lt;jon&gt;
say don't hold your breath. When they do I might reconsider my current position on EJB. 
&lt;/jon&gt;

after pooping your pants like this I wouldn't run around talking about big boy stuff like EJB.</description>
		<content:encoded><![CDATA[<p><jon><br />
Huh? You didn&#8217;t get how .NET looks up components? I&#8217;ll explain it to you again:<br />
DotNetComponent c = new DotNetComponent();<br />
That&#8217;s called a constructor, it&#8217;s used to look up components in .NET.<br />
</jon></p>
<p>what ignorant bile.  You are showing a creator() most EJB code is about FINDERS.  What an ignorant pig.  We are talking about BEGINNER stuff here, not even that complex.  Oh I get it, it is because ioc shit only deals with singletons and stateless stuff.  </p>
<p><jon><br />
say don&#8217;t hold your breath. When they do I might reconsider my current position on EJB.<br />
</jon></p>
<p>after pooping your pants like this I wouldn&#8217;t run around talking about big boy stuff like EJB.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Darl</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4783</link>
		<dc:creator>Darl</dc:creator>
		<pubDate>Fri, 30 Jan 2004 01:30:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4783</guid>
		<description>ALL YOUR J4EE ARE BELONG TO US

someone set us up the J4EE patent

we get signal

main SCO turn on</description>
		<content:encoded><![CDATA[<p>ALL YOUR J4EE ARE BELONG TO US</p>
<p>someone set us up the J4EE patent</p>
<p>we get signal</p>
<p>main SCO turn on</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: commons-services: J4EE</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4782</link>
		<dc:creator>commons-services: J4EE</dc:creator>
		<pubDate>Thu, 29 Jan 2004 21:11:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4782</guid>
		<description>the solution is of course to skip silly J3EE 
and instead work on true jakarta-way replacement,
enter commons-services already under construction:
http://www.mail-archive.com/jetspeed-dev@jakarta.apache.org/msg09585.html</description>
		<content:encoded><![CDATA[<p>the solution is of course to skip silly J3EE<br />
and instead work on true jakarta-way replacement,<br />
enter commons-services already under construction:<br />
<a href="http://www.mail-archive.com/jetspeed-dev@jakarta.apache.org/msg09585.html" rel="nofollow">http://www.mail-archive.com/jetspeed-dev@jakarta.apache.org/msg09585.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Clown Puncher</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4781</link>
		<dc:creator>Clown Puncher</dc:creator>
		<pubDate>Thu, 29 Jan 2004 01:05:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4781</guid>
		<description>Who the f--- are you calling hostile? 
Where's my clown? I'll show you hostility!</description>
		<content:encoded><![CDATA[<p>Who the f&#8212; are you calling hostile?<br />
Where&#8217;s my clown? I&#8217;ll show you hostility!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Terry Dye</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4780</link>
		<dc:creator>Terry Dye</dc:creator>
		<pubDate>Wed, 28 Jan 2004 04:15:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4780</guid>
		<description>I think you need to change professions, or perhaps lifestyles. This isn't a post to agree or disagree with your point. It is only to say, relax, take it easy or switch jobs. You only live once. You're constantly hostile and that only promotes more hostility. Just my opinion.</description>
		<content:encoded><![CDATA[<p>I think you need to change professions, or perhaps lifestyles. This isn&#8217;t a post to agree or disagree with your point. It is only to say, relax, take it easy or switch jobs. You only live once. You&#8217;re constantly hostile and that only promotes more hostility. Just my opinion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4779</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 27 Jan 2004 07:15:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4779</guid>
		<description>600 j2ee 'objects'? well don't blame j2ee for poor design. obviously your company's hiring policy isn't very good.

we have two 'j2ee' classes exluding the servlets and jsps at the front end. one is a stateless bean and the other is it's service locator.

the only other part that need manual maintainence are the domain objects, the pojo objects that perform operations on same. the transfer objects are generated from schemas with castor.

so we have ONE "ejb" class to maintain. which is a little plumbing (more than 8 lines) but it's code that would have to be repeated no matter what the layer. and what gives us declarative transactions, proxies and pooling and distributed execution better than a j2ee container?</description>
		<content:encoded><![CDATA[<p>600 j2ee &#8216;objects&#8217;? well don&#8217;t blame j2ee for poor design. obviously your company&#8217;s hiring policy isn&#8217;t very good.</p>
<p>we have two &#8216;j2ee&#8217; classes exluding the servlets and jsps at the front end. one is a stateless bean and the other is it&#8217;s service locator.</p>
<p>the only other part that need manual maintainence are the domain objects, the pojo objects that perform operations on same. the transfer objects are generated from schemas with castor.</p>
<p>so we have ONE &#8220;ejb&#8221; class to maintain. which is a little plumbing (more than 8 lines) but it&#8217;s code that would have to be repeated no matter what the layer. and what gives us declarative transactions, proxies and pooling and distributed execution better than a j2ee container?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4778</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 27 Jan 2004 03:37:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4778</guid>
		<description>&gt; DotNetComponent c = new DotNetComponent();
&gt; That's called a constructor, it's used to
&gt; look up components in .NET. 

That's creating a new instance though, isn't it? How do I hook up with an existing component instance? You're not suggesting every time I need to use a distributed object I have to create a new instance of it, so how does one find the existing pool that someone created in .NET if there's no lookup involved? How do you differentiate between creating and finding?

&gt; Oh, and your "8 line EJB" is not complete. You
&gt; also need at least two more interfaces

Well he said the rest is metatags. Can only assume this means XDoclet, EJBGen or such. Tags work for both .NET and J2EE (it's not in the J2EE spec but then there isn't a spec of "light weight containers" either, and the .NET with its single vendor implementation leaves a lot to be desired).

Attributes like scalability and maintainability are measurable. Show a single large production site using the new "light weight containers" and go after them and ask for data. 

As for your point on locking strategies -- well what do you expect if you move between two implementations that must implement features not in the spec. Are you claiming I can port from one "light weight container" implementation to another without having to deal with these problems? I'd like to see that! Or are you claiming I can port from one .NET implementation to another without having to deal with the exact same issues? I'd like to see that too.

So far you've provided nothing that convinces me your "lightweight container" or POJO strategies solves any of these problems. It is easy to criticize J2EE spec but you'd be a lot more convincing if you'd actually provided some answers to the points you complain about.</description>
		<content:encoded><![CDATA[<p>> DotNetComponent c = new DotNetComponent();<br />
> That&#8217;s called a constructor, it&#8217;s used to<br />
> look up components in .NET. </p>
<p>That&#8217;s creating a new instance though, isn&#8217;t it? How do I hook up with an existing component instance? You&#8217;re not suggesting every time I need to use a distributed object I have to create a new instance of it, so how does one find the existing pool that someone created in .NET if there&#8217;s no lookup involved? How do you differentiate between creating and finding?</p>
<p>> Oh, and your &#8220;8 line EJB&#8221; is not complete. You<br />
> also need at least two more interfaces</p>
<p>Well he said the rest is metatags. Can only assume this means XDoclet, EJBGen or such. Tags work for both .NET and J2EE (it&#8217;s not in the J2EE spec but then there isn&#8217;t a spec of &#8220;light weight containers&#8221; either, and the .NET with its single vendor implementation leaves a lot to be desired).</p>
<p>Attributes like scalability and maintainability are measurable. Show a single large production site using the new &#8220;light weight containers&#8221; and go after them and ask for data. </p>
<p>As for your point on locking strategies &#8212; well what do you expect if you move between two implementations that must implement features not in the spec. Are you claiming I can port from one &#8220;light weight container&#8221; implementation to another without having to deal with these problems? I&#8217;d like to see that! Or are you claiming I can port from one .NET implementation to another without having to deal with the exact same issues? I&#8217;d like to see that too.</p>
<p>So far you&#8217;ve provided nothing that convinces me your &#8220;lightweight container&#8221; or POJO strategies solves any of these problems. It is easy to criticize J2EE spec but you&#8217;d be a lot more convincing if you&#8217;d actually provided some answers to the points you complain about.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Henri Yandell</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4777</link>
		<dc:creator>Henri Yandell</dc:creator>
		<pubDate>Mon, 26 Jan 2004 23:22:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4777</guid>
		<description>And here I thought J3EE was a joke Hani made up. You mean this tripe is doing the rounds at TSS? 

The place that makes blogs look good.</description>
		<content:encoded><![CDATA[<p>And here I thought J3EE was a joke Hani made up. You mean this tripe is doing the rounds at TSS? </p>
<p>The place that makes blogs look good.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek K.</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4776</link>
		<dc:creator>Derek K.</dc:creator>
		<pubDate>Mon, 26 Jan 2004 23:09:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4776</guid>
		<description>My take on J2EE is that it's improved with every
release. 

There is marked improvement from EJB 1.0
to EJB 2.0, from JSP 1.0 to JSP 2.0 and so on.

Let's not give up on these guys yet - they've 
shown the ability to adjust based on user
feedback.</description>
		<content:encoded><![CDATA[<p>My take on J2EE is that it&#8217;s improved with every<br />
release. </p>
<p>There is marked improvement from EJB 1.0<br />
to EJB 2.0, from JSP 1.0 to JSP 2.0 and so on.</p>
<p>Let&#8217;s not give up on these guys yet - they&#8217;ve<br />
shown the ability to adjust based on user<br />
feedback.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Toy App Maker</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4775</link>
		<dc:creator>Toy App Maker</dc:creator>
		<pubDate>Mon, 26 Jan 2004 13:51:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4775</guid>
		<description>"To the one who does not know what ligthweigth means. 
How do you create J2EE object with 8 lines of code ? I got to maintain J2EE project wit 600 clases. When going through classes where moustly generated by J2EE wizards from Db tables. each table was represented with 13 generated classes 
or interfaces. That just java classes , not counting deployment descriptors e.t.c. Thats less than 50 entities. There should had been one or zero business clases per entity. 
Zero when entity is managed by build in framework standard behaviour." -Linards

Linards,
your post makes me happy--reminding me that I will always have a job.

First, I take it english isn't your first language--can't hold that against you, but you should try harder.

Second, that's what you get for letting wizards and tools design your app for you. 

Try reading the spec. Then read a J2EE patterns book. Once you understand both, then perhaps you'll understand why you look like a retard right now.</description>
		<content:encoded><![CDATA[<p>&#8220;To the one who does not know what ligthweigth means.<br />
How do you create J2EE object with 8 lines of code ? I got to maintain J2EE project wit 600 clases. When going through classes where moustly generated by J2EE wizards from Db tables. each table was represented with 13 generated classes<br />
or interfaces. That just java classes , not counting deployment descriptors e.t.c. Thats less than 50 entities. There should had been one or zero business clases per entity.<br />
Zero when entity is managed by build in framework standard behaviour.&#8221; -Linards</p>
<p>Linards,<br />
your post makes me happy&#8211;reminding me that I will always have a job.</p>
<p>First, I take it english isn&#8217;t your first language&#8211;can&#8217;t hold that against you, but you should try harder.</p>
<p>Second, that&#8217;s what you get for letting wizards and tools design your app for you. </p>
<p>Try reading the spec. Then read a J2EE patterns book. Once you understand both, then perhaps you&#8217;ll understand why you look like a retard right now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Srinivasa</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4774</link>
		<dc:creator>Srinivasa</dc:creator>
		<pubDate>Mon, 26 Jan 2004 11:23:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4774</guid>
		<description>Is that a racist comment?</description>
		<content:encoded><![CDATA[<p>Is that a racist comment?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4773</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sun, 25 Jan 2004 22:04:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4773</guid>
		<description>I heard they trained monkeys to program computers so you will no longer be needed.</description>
		<content:encoded><![CDATA[<p>I heard they trained monkeys to program computers so you will no longer be needed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cameron</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4772</link>
		<dc:creator>Cameron</dc:creator>
		<pubDate>Sun, 25 Jan 2004 21:47:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4772</guid>
		<description>Uh, Jon, around these here parts the bile comes from Hani ..</description>
		<content:encoded><![CDATA[<p>Uh, Jon, around these here parts the bile comes from Hani ..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Tirsen</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4771</link>
		<dc:creator>Jon Tirsen</dc:creator>
		<pubDate>Sun, 25 Jan 2004 10:46:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4771</guid>
		<description>Huh? You didn't get how .NET looks up components? I'll explain it to you again:
DotNetComponent c = new DotNetComponent();
That's called a constructor, it's used to look up components in .NET.

Yes, attributes are in JDK 1.5, but how long time will it take until they become part of J2EE? How long time before we won't have to create the stupid home/remote-interfaces? I'd say don't hold your breath. When they do I might reconsider my current position on EJB.

Oh, and your "8 line EJB" is not complete. You also need at least two more interfaces (and remember your actual bean is *not* allowed to implement the interfaces, noooo, that would be much to compile-time safe for the poor J2EE developer, he might be confused by the compiler errors and by the smart intentions in IDEA).

Riiight... You can use all sorts of clever hacks to work around some of the limitations. You can use XDoclet to generate that for you. That's all smells for an underlying technology simply not up to the test.

Proof!? How can you *prove* anything in this business? We don't even know what productivity *is*. Prove to me how EJB is better than not using it.

You managed to create a portable scaleable system with EJB? How did you manage to working around the completely different locking strategies that WebSphere and WebLogic uses (without falling down to non-portable extensions). The different pooling srategies, threading behaviour.

I'm not sure... But it sounds like you're the one who hasn't tried to implement a really scaleable system with EJB.</description>
		<content:encoded><![CDATA[<p>Huh? You didn&#8217;t get how .NET looks up components? I&#8217;ll explain it to you again:<br />
DotNetComponent c = new DotNetComponent();<br />
That&#8217;s called a constructor, it&#8217;s used to look up components in .NET.</p>
<p>Yes, attributes are in JDK 1.5, but how long time will it take until they become part of J2EE? How long time before we won&#8217;t have to create the stupid home/remote-interfaces? I&#8217;d say don&#8217;t hold your breath. When they do I might reconsider my current position on EJB.</p>
<p>Oh, and your &#8220;8 line EJB&#8221; is not complete. You also need at least two more interfaces (and remember your actual bean is *not* allowed to implement the interfaces, noooo, that would be much to compile-time safe for the poor J2EE developer, he might be confused by the compiler errors and by the smart intentions in IDEA).</p>
<p>Riiight&#8230; You can use all sorts of clever hacks to work around some of the limitations. You can use XDoclet to generate that for you. That&#8217;s all smells for an underlying technology simply not up to the test.</p>
<p>Proof!? How can you *prove* anything in this business? We don&#8217;t even know what productivity *is*. Prove to me how EJB is better than not using it.</p>
<p>You managed to create a portable scaleable system with EJB? How did you manage to working around the completely different locking strategies that WebSphere and WebLogic uses (without falling down to non-portable extensions). The different pooling srategies, threading behaviour.</p>
<p>I&#8217;m not sure&#8230; But it sounds like you&#8217;re the one who hasn&#8217;t tried to implement a really scaleable system with EJB.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marius</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4770</link>
		<dc:creator>Marius</dc:creator>
		<pubDate>Sun, 25 Jan 2004 07:22:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4770</guid>
		<description>Don't implement SessionBean directly.  Create a reusable AbstractSessionBean that implements this interface and subclass that, overriding only the methods you need to use.  This'll make things easier to read.  As for the JNDI, create yourself a decent ServiceLocator with 2 public methods; create() (for Home Interface) and lookup() (for Remote).  Have lookup() perform an implicit create.  Pass in the Home and Remote interface classes in as parameters.  This'll reduce your JNDI lookup + narrow + create to a single line.  Make a standard practice of putting the JNDINAME as a public constant on the Remote interface so your ServiceLocator doesn't need the extra parameter.  Once you do the legwork on this the first time, you shouldn't have to spend any time thinking about any of this stuff anymore.</description>
		<content:encoded><![CDATA[<p>Don&#8217;t implement SessionBean directly.  Create a reusable AbstractSessionBean that implements this interface and subclass that, overriding only the methods you need to use.  This&#8217;ll make things easier to read.  As for the JNDI, create yourself a decent ServiceLocator with 2 public methods; create() (for Home Interface) and lookup() (for Remote).  Have lookup() perform an implicit create.  Pass in the Home and Remote interface classes in as parameters.  This&#8217;ll reduce your JNDI lookup + narrow + create to a single line.  Make a standard practice of putting the JNDINAME as a public constant on the Remote interface so your ServiceLocator doesn&#8217;t need the extra parameter.  Once you do the legwork on this the first time, you shouldn&#8217;t have to spend any time thinking about any of this stuff anymore.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4769</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sun, 25 Jan 2004 03:42:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4769</guid>
		<description>Yes so you start with complaining how J2EE must go through evil name service (I should have seen that one coming, it is the "pico" equivalent of an AOP zealot coming up with Yet Another Example of How to Implement Tracing (YAEHIT) -- woohoo!! Big Deal!! Save the World!) to find other components, and then completely fail to show how .NET does it.

JSR-175 is in 1.5 if I recall, so your calls for progress have been taken a note of long time ago.

Yes and your POJO system serving 20 users was more portable (hah!), more scalable (sure!), and more maintanable (yeah if you are the single developer). Sure, we all buy that. Why don't you come up with some concrete evidence to prove it. Show they're for real and maybe people would actually take this POJO stuff seriously.</description>
		<content:encoded><![CDATA[<p>Yes so you start with complaining how J2EE must go through evil name service (I should have seen that one coming, it is the &#8220;pico&#8221; equivalent of an AOP zealot coming up with Yet Another Example of How to Implement Tracing (YAEHIT) &#8212; woohoo!! Big Deal!! Save the World!) to find other components, and then completely fail to show how .NET does it.</p>
<p>JSR-175 is in 1.5 if I recall, so your calls for progress have been taken a note of long time ago.</p>
<p>Yes and your POJO system serving 20 users was more portable (hah!), more scalable (sure!), and more maintanable (yeah if you are the single developer). Sure, we all buy that. Why don&#8217;t you come up with some concrete evidence to prove it. Show they&#8217;re for real and maybe people would actually take this POJO stuff seriously.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Tirsen</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4768</link>
		<dc:creator>Jon Tirsen</dc:creator>
		<pubDate>Sat, 24 Jan 2004 05:17:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4768</guid>
		<description>What's difficult about it?

Well, for example using it:
Context ctx = new InitialContext();
J2EEObjectHome home = PortableRemoteObject.narrow(J2EEObjectHome.class, ctx.lookup("someJndiName")); // (where do I get the JNDI name from? I can't even remember!)
J2EEObject o = home.create();
o.doSomething();

In C#:
new DotNetObject().DoSomething(); // only problem: ugly upper case on method name

Setting up declarative transaction:
&lt;some absurdly complicated XML soup that fortunately is ever so slightly specified&gt;

In C#:
[Transaction(TransactionOption.Required)]
public class DotNetObject : ServicedComponent

Or setting up pooling:
&lt;some absurdly complicated XML soup I'm not even going to get into, and besides that is completely proprietary&gt;

In C#
[ObjectPooling(MinPoolSize=1, MaxPoolSize=100, CreationTimeOut=30)]
public class DotNetObject : ServicedComponent


I know that you can get around some of the limitations with XDoclet but in DotNet all that is built into the standard as a *supported* way of building components. Besides wasn't Hanis point that you should *not* base your code on some cutting edge fuckwits spastic convolusions in front of a keyboard? (If you look at the XDoclet 1 codebase, that's more or less what it is.)

Don't get me wrong here, I love Java and J2EE, but the EJB mess really is completely pointless.

Now I've not even talked about whether you really need all that stuff from the start. I've built quite a few EJB-based systems in my days, and I've built quite a few "POJO" ones too. Guess which ones where more stable, portable, scalable, understandable, maintainable? The EJB system? Pfft, guess again.</description>
		<content:encoded><![CDATA[<p>What&#8217;s difficult about it?</p>
<p>Well, for example using it:<br />
Context ctx = new InitialContext();<br />
J2EEObjectHome home = PortableRemoteObject.narrow(J2EEObjectHome.class, ctx.lookup(&#8221;someJndiName&#8221;)); // (where do I get the JNDI name from? I can&#8217;t even remember!)<br />
J2EEObject o = home.create();<br />
o.doSomething();</p>
<p>In C#:<br />
new DotNetObject().DoSomething(); // only problem: ugly upper case on method name</p>
<p>Setting up declarative transaction:<br />
<some absurdly complicated XML soup that fortunately is ever so slightly specified></p>
<p>In C#:<br />
[Transaction(TransactionOption.Required)]<br />
public class DotNetObject : ServicedComponent</p>
<p>Or setting up pooling:<br />
</some><some absurdly complicated XML soup I'm not even going to get into, and besides that is completely proprietary></p>
<p>In C#<br />
[ObjectPooling(MinPoolSize=1, MaxPoolSize=100, CreationTimeOut=30)]<br />
public class DotNetObject : ServicedComponent</p>
<p>I know that you can get around some of the limitations with XDoclet but in DotNet all that is built into the standard as a *supported* way of building components. Besides wasn&#8217;t Hanis point that you should *not* base your code on some cutting edge fuckwits spastic convolusions in front of a keyboard? (If you look at the XDoclet 1 codebase, that&#8217;s more or less what it is.)</p>
<p>Don&#8217;t get me wrong here, I love Java and J2EE, but the EJB mess really is completely pointless.</p>
<p>Now I&#8217;ve not even talked about whether you really need all that stuff from the start. I&#8217;ve built quite a few EJB-based systems in my days, and I&#8217;ve built quite a few &#8220;POJO&#8221; ones too. Guess which ones where more stable, portable, scalable, understandable, maintainable? The EJB system? Pfft, guess again.</some></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4767</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sat, 24 Jan 2004 03:53:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4767</guid>
		<description>J2EE object in 8 lines:
public class J2EEObject implements SessionBean { 
public void ejbCreate() throws CreateException {} 
public void ejbActivate() {}
public void ejbPassivate() {}
public void ejbRemove() {}
public void setSessionContext(SessionContext ctx) { this.ctx = ctx; }
}

And no, don't ask me to format it. The rest is either meta tags or your component logic. Pretty simple. We have callbacks (look, its an IoC container!!!) for creation, removal, activation, passivation and per invocation context. What's so damn difficult about it?</description>
		<content:encoded><![CDATA[<p>J2EE object in 8 lines:<br />
public class J2EEObject implements SessionBean {<br />
public void ejbCreate() throws CreateException {}<br />
public void ejbActivate() {}<br />
public void ejbPassivate() {}<br />
public void ejbRemove() {}<br />
public void setSessionContext(SessionContext ctx) { this.ctx = ctx; }<br />
}</p>
<p>And no, don&#8217;t ask me to format it. The rest is either meta tags or your component logic. Pretty simple. We have callbacks (look, its an IoC container!!!) for creation, removal, activation, passivation and per invocation context. What&#8217;s so damn difficult about it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Linards</title>
		<link>http://www.bileblog.org/2004/01/j3ee-is-moron-bait/comment-page-1/#comment-4766</link>
		<dc:creator>Linards</dc:creator>
		<pubDate>Fri, 23 Jan 2004 18:34:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.bileblog.org/?p=179#comment-4766</guid>
		<description>To the one who does not know what ligthweigth means.
How do you create J2EE object with 8 lines of code ? I got to maintain J2EE project wit 600 clases. When going through classes where moustly generated by J2EE wizards from Db tables. each table was represented with 13 generated classes 
or interfaces. That just java classes , not counting deployment descriptors e.t.c. Thats less than 50 entities. There should had been one or zero business clases per entity.
Zero when entity is managed by build in framework standard behaviour.</description>
		<content:encoded><![CDATA[<p>To the one who does not know what ligthweigth means.<br />
How do you create J2EE object with 8 lines of code ? I got to maintain J2EE project wit 600 clases. When going through classes where moustly generated by J2EE wizards from Db tables. each table was represented with 13 generated classes<br />
or interfaces. That just java classes , not counting deployment descriptors e.t.c. Thats less than 50 entities. There should had been one or zero business clases per entity.<br />
Zero when entity is managed by build in framework standard behaviour.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
