
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>pgt &#187; java ee</title>
	<atom:link href="http://pgt.de/tag/java-ee/feed/" rel="self" type="application/rss+xml" />
	<link>http://pgt.de</link>
	<description>t3chnology scouting GmbH</description>
	<lastBuildDate>Wed, 09 May 2012 11:54:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>GWT and standards compliance</title>
		<link>http://pgt.de/2011/01/30/gwt-and-standards-compliance/</link>
		<comments>http://pgt.de/2011/01/30/gwt-and-standards-compliance/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 17:11:14 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[java ee]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=828</guid>
		<description><![CDATA[<p>This is a sort of &#8220;standard&#8221; question when it comes down to the topic web frameworks, Java and finally the Google Web Toolkit (GWT).</p> <p>My first though is, what exactly is meant with &#8220;standard&#8221;? A short look at Wikipedia shows:</p> <p>Open Standard: An open standard is a standard that is publicly available and has [...]]]></description>
			<content:encoded><![CDATA[<p>This is a sort of &#8220;standard&#8221; question when it comes down to the topic web frameworks, Java and finally the Google Web Toolkit (GWT).</p>
<p>My first though is, what exactly is meant with &#8220;standard&#8221;?<br />
<span id="more-828"></span><br />
A short look at Wikipedia shows:</p>
<blockquote><p><a href="http://en.wikipedia.org/wiki/Open_standard" target="_blank">Open Standard</a>: An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed (e.g. open process). There is no single definition and interpretations do vary with usage.</p>
<p><a href="http://en.wikipedia.org/wiki/De_facto_standard">De facto standard</a>: A de facto standard is a custom, convention, product, or system that has achieved a dominant position by public acceptance or market forces (such as early entrance to the market). De facto is a Latin phrase meaning &#8220;concerning the fact&#8221; or &#8220;in practice&#8221;.</p>
<p><a href="http://en.wikipedia.org/wiki/Internet_standard" target="_blank">Internet standard</a>: In computer network engineering, an Internet Standard (STD) is a normative specification of a technology or methodology applicable to the Internet. Internet Standards are created and published by the Internet Engineering Task Force (IETF).</p></blockquote>
<p>No, no,  no! Not that kind of standard, right? Ah, ok, the Java EE standard!</p>
<p>Again, looking at Wikipedia you will find the following under &#8220;<a href="http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition#Nomenclature.2C_standards.2C_and_specifications" target="_blank">nomenclature, standards and specification</a>&#8220;:</p>
<blockquote><p>Java EE is defined by its specification. As with other Java Community Process specifications, providers must meet certain conformance requirements in order to declare their products as Java EE compliant.</p>
<p>Java EE includes several API specifications, such as JDBC, RMI, e-mail, JMS, web services, XML, etc., and defines how to coordinate them. Java EE also features some specifications unique to Java EE for components. These include Enterprise JavaBeans, Connectors, servlets, portlets (following the Java Portlet specification), JavaServer Pages and several web service technologies. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies.</p></blockquote>
<p>Which leaves us just a few options: the Servlet/ JSP and the JavaServer Faces specifications. While the Servlet and JSP specifications focus on how to handle HTTP request/ responses, the JSF specification defines a GUI component model for web applications.</p>
<p>The problem here is: there is no room anymore for another &#8220;compliant&#8221; web framework &#8211; JSF made it into the Java EE specification &#8211; end of line. But, despite of a wide industry support, JSF is not the only web framework being used today by Java developers. And to make things a little more trickier, typical Web 2.0 web applications do not render the UI on the server side but in the browser.</p>
<p>Fancy &#8220;Web 2.0&#8243; applications are not written in Java. Rich user interfaces are being rendered completely in the browser, avoiding the server roundtrip and minimizing latency. How? By simply using DHTML (technologies defined by the W3C).</p>
<p>So is this the end of Java? No! You will find people using Java backends for &#8220;Web 2.0&#8243; applications. But even as a backend technology we won&#8217;t be abiding by the rules of standard compliance by using RMI or SOAP to communicate: it is common to send lightweight JSON over HTTP. All you need for that is a Servlet and a little bit of JSON &lt;-&gt; Java objects mapping. People developing RIAs and using JSON back and forward to the server are measuring latency in milliseconds.</p>
<p>So, if you will be building a Web 2.0 application, don&#8217;t look for a specification at the Java EE side. It is the wrong side, as Java is actually the backend, not the frontend. That brings us back to the first standards I cited above: open standards, de facto standards and internet standards.</p>
<p>This is how things were before JSF, and this is how things became after Web 2.o.</p>
<p><a href="http://pgt.de/wp-content/uploads/2011/01/gwt-and-standards.png"><img class="aligncenter size-medium wp-image-829" title="gwt-and-standards" src="http://pgt.de/wp-content/uploads/2011/01/gwt-and-standards-300x203.png" alt="" width="300" height="203" /></a></p>
<p>So, back to the question, is GWT standard compliant or not? Well, besides of those blue boxes on the picture above I would say yes!</p>
<ul>
<li>The compiler is not standard, but I would not know what a standard compiler would be or mean to development anyway</li>
<li>The GWT-RPC mechanism is highly GWT proprietary, don&#8217;t use it if you don&#8217;t like it. But it is my belief that there aren&#8217;t too many developers out there that can code something better than GWT-RPC by hand&#8230;</li>
</ul>
<p><div style="padding: 50px 10px 50px 10px; text-align:center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-8682101792434953";
/* blogposts */
google_ad_slot = "3634251742";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div></p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2011/01/30/gwt-and-standards-compliance/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SpringSource announces an application plattform</title>
		<link>http://pgt.de/2008/05/05/springsource-announces-an-application-plattform/</link>
		<comments>http://pgt.de/2008/05/05/springsource-announces-an-application-plattform/#comments</comments>
		<pubDate>Mon, 05 May 2008 07:51:54 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[Java & Co.]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[java ee]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=124</guid>
		<description><![CDATA[ <p>SpringSource recently announced the Spring Aplication Platform, and this announcement is generating a lot of fuss. Google has recently launched the Google App Engine. From an Java enterprise developers point of view it is shamelessly easy to use, deploy, etc. Well, unfortunately it only takes Python apps for now, but it is stated [...]]]></description>
			<content:encoded><![CDATA[<div class="entry-content">
<p>SpringSource recently announced the <a href="http://feeds.feedburner.com/%7Er/Interface21TeamBlog/%7E3/280954280/" target="_blank">Spring Aplication Platform</a>, and this announcement is generating a lot of fuss. Google has recently launched the <a href="http://code.google.com/appengine/" target="_blank">Google App Engine</a>. From an Java enterprise developers point of view it is shamelessly easy to use, deploy, etc. Well, unfortunately it only takes Python apps for now, but it is stated that there will be more languages supported in the future. But it’s Google again putting its finger into the Java EE wound (first GWT with webapps, then Android shaking the Java ME world, and now App Engine showing how runtimes should look like).</p>
<p>Looking at Googles App Engine I thought how nice it would be to have the deployment, packaging and runtime of Java EE applications redesigned.  Those deployment descriptors really suck. As it seems (heard it at the Jax from speakers “off the record”) Java Dynamic Modules and Java Superpackages aren’t going to make it into the next Java relase &#8211; Java 7.</p>
<p>From this point of view, the Spring Application Platform is bringing fresh air into the Java EE development. The Java EE dream of a runtime didn’t come through. Modularization got lost somewhere in the way. Packaging and deployment is a nightmare, and tools didn’t solve the problem. Since Java EE 5 is being adopted very slowly and Java EE 6 is really far away, this is surely the best time to drop in an alternative. Well done. Though beeing an alternative, there seems to be <a href="http://www.theserverside.com/news/thread.tss?thread_id=49243#251548" target="_blank">some level of commitment regarding Java EE deployment support</a>.</p>
<p>IMHO the real shock came with the change in licensing terms. We are used to SpringSource licensing their products under the Apache 2 license. The license is clear and accepted by most companies. The Spring Application Platform is licensed under the GPL. GPL is, IMHO, the most misunderstood license we have in the OSS. I do not have nothing against the GPL, I only have a problem with the different interpretations. And if a license can be misunderstood, how can we rely on it? I won’t start another blog about how GPL works &#8211; please go read the GPL and the GPL FAQ, it’s worth it. A nice reply from Will Hartung about GPL on the TSS thread <a href="http://www.theserverside.com/news/thread.tss?thread_id=49243#251572" target="_blank">can be found here</a>.</p>
<blockquote><p>Does nobody actually, you know, READ these licenses?<br />
Users who change GPL code have absolutely no, zero, zippo, big bagel, goose egg obligation to give back to “the community”.<br />
I can take this code, make all the changes I want, sell it to my customers, and you can come knock on my door saying “I want the code, it’s GPL! Give me the code!” and I can nod and smile knowingly and tell you to pound sand. “Give me $100K and I’ll give you the software.</p></blockquote>
<p>Thanks Will. It’s beautiful.</p>
<p>Rod argues that if someone takes the code, makes changes and starts selling it, this someone will, sooner or later, have to provide the source code to a major number of customers and hence the changes will be available for the community, especially for SpringSource. Rod, I hope I did quote you right, sorry if I didn’t.</p>
<p>Another great statement from Will comes a <a href="http://www.theserverside.com/news/thread.tss?thread_id=49243#251590" target="_blank">few postings later</a>:</p>
<blockquote><p>But you certainly aren’t going to take back contributions that don’t have at least shared copyright, because as soon as that happens you can’t relicense the whole under something other than GPL. So, there’s not a whole lot of value to the community there.</p></blockquote>
<p>Later Rod <a href="http://www.theserverside.com/news/thread.tss?thread_id=49243#251853" target="_blank">makes a nice statement</a> about what’s ok:</p>
<blockquote><p>1. Using the platform to run closed source applications is OK. This immediately covers the vast majority of companies and developers who are end users. This would cover for example, software use by companies like Google, banks, media companies etc.<br />
2. Modifying and extending the platform and “hiding” (closing) it is OK, <em>unless you redistribute</em>. So if you modify it in your own company, or you modify it and distribute your modifications in GPL open source, that’s OK. If you modify it and distribute a closed source product including those modifications, that is not OK. This would exclude Oracle, for example, from modifying the server and redistributing it as a closed source product. We believe this is a Good Thing.<br />
3. It is fine to run closed source applications on the platform. Whether you can redistribute them as one closed product (bundling the platform) would depend if they constituted a derivative work.</p></blockquote>
<p>I liked <a href="http://www.theserverside.com/news/thread.tss?thread_id=49243#251858" target="_blank">this one too</a>:</p>
<blockquote><p>Wow, 174 replies and counting, mostly about GPL, hmm, i knew I should have done law!!! ha ha<br />
Lets stay technical please, even though it clearly doesn’t pay !!!</p></blockquote>
<p>This is perfectly showing how GPL, although commonly used in OSS projects, is really badly misunderstood by people.</p>
<p>IMHO GPL licensing was a bad idea. SpringSource targets the enterprise, the enterprise dislikes GPL, that’s a fact. Linux seems to be the exception to the rule. It’ nice to see how SpringSource understands GPL &#8211; but this understanding is not binding. What if someone wakes up next week and says &#8211; “oh sorry, I think we have to rethink our GPL understanding….”</p></div>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2008/05/05/springsource-announces-an-application-plattform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

