<?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>Rich Internet Applications (RIA) &#187; Java RIA</title>
	<atom:link href="http://canoo.com/blog/category/java-ria/feed/" rel="self" type="application/rss+xml" />
	<link>http://canoo.com/blog</link>
	<description></description>
	<lastBuildDate>Thu, 12 Aug 2010 11:50:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Juggling with DLLs, WebStart and Maven</title>
		<link>http://canoo.com/blog/2010/05/06/juggling-with-dlls-webstart-and-maven/</link>
		<comments>http://canoo.com/blog/2010/05/06/juggling-with-dlls-webstart-and-maven/#comments</comments>
		<pubDate>Thu, 06 May 2010 11:00:16 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[Technical Concepts]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[dll]]></category>
		<category><![CDATA[drag & drop]]></category>
		<category><![CDATA[jacob]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[office integration]]></category>
		<category><![CDATA[UltraLightClient]]></category>
		<category><![CDATA[webstart]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1219</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/05/06/juggling-with-dlls-webstart-and-maven/";</script>Juggling with DLLs, WebStart and Maven
Recently we were asked to implement a Drag &#38; Drop mechanism between Microsoft Outlook and a Java based internet application. This necessitated our Java server having to communicate with COM objects on the client side. How do you do that?
The good thing is that our application was built using UltraLightClient, [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/05/06/juggling-with-dlls-webstart-and-maven/";</script><h1>Juggling with DLLs, WebStart and Maven</h1>
<p>Recently we were asked to implement a Drag &amp; Drop mechanism between Microsoft Outlook and a Java based internet application. This necessitated our Java server having to communicate with COM objects on the client side. How do you do that?</p>
<p>The good thing is that our application was built using <a href="http://www.canoo.com/ulc/" target="_new">UltraLightClient</a>, so we had java on both the server and on the client side. And after some thinking, the steps seemed pretty clear, even if a tiny bit of juggling would be required. However, the juggle almost turned into a struggle when we encountered some unexpected pitfalls.</p>
<p>In this blog I will give a quick sketch of our solution and point out some of the traps to be aware of.</p>
<h3>Step 1: Talking COM using JACOB</h3>
<p>In order to communicate with Microsoft programs from Java you need a Java COM Bridge.<br />
We were using <a href="http://sourceforge.net/projects/jacob-project/" target="_new">JACOB</a> and it was surprisingly easy to extract Outlook mails into Java objects.</p>
<p><strong>The idea:</strong><br />
The following method extracts the selected outlook mails to a directory and returns the list of created files:<br />
<pre style="overflow: auto; font-size: 12px; line-height: 14px; width: 100%;"></pre><br />
<strong>The trap:</strong><br />
Using the email subject as a file name is practical, but it can contain many weird characters which may not be supported when the files are created. We found out that JACOB has problems creating files containing even characters like &#8220;:&#8221; and &#8220;,&#8221;. Furthermore, no exception is thrown, although the file fails to be created completely.</p>
<p><strong>The solution:</strong><br />
Replace potentially dangerous characters with something neutral using regular expressions:<br />
<pre style="overflow: auto; font-size: 12px; line-height: 14px; width: 100%;">[[code]]czoxOTU6XCINCnB1YmxpYyBTdHJpbmcgZ2V0VmFsaWRGaWxlTmFtZShTdHJpbmcgcmF3U3RyaW5nKSB7DQogICAgUGF0dGVybiBpbnZ7WyYqJl19YWxpZENoYXJhY3RlcnMgPSBQYXR0ZXJuLmNvbXBpbGUoXCJbXkEtWmEtejAtOV8ge30rIV1cIik7DQogICAgcmV0dXJuIGludmFsaWRDe1smKiZdfWhhcmFjdGVycy5tYXRjaGVyKHJhd1N0cmluZykucmVwbGFjZUFsbChcIiBcIik7DQp9DQpcIjt7WyYqJl19[[/code]]</pre><br />
To be on the safe side we were using a whitelist approach. We treat everything as invalid except for characters which are listed after the &#8220;^&#8221; character.</p>
<h3>Step 2: Shipping a DLL with Webstart</h3>
<p>JACOB can talk to Outlook because it comes with a DLL which has to be present in the classpath. This means we either have to ensure that all our users have this library installed (yikes!) or we ship it together with the application client using Java Webstart.</p>
<p><strong>The idea:</strong><br />
We include the DLL in the jar file and sign it with a valid certificate. Then it can be referenced from the JNLP file that launches your web application:<br />
<pre style="overflow: auto; font-size: 12px; line-height: 14px; width: 100%;">[[code]]czoxNjc6XCINClsuLi5dDQogICAgPCEtLSBBdHRlbnRpb246IFRoaXMgZG9lcyBub3Qgd29yayEhISAtLT4NCiAgICA8cmVzb3VyY2V7WyYqJl19cyBvcz1cIldpbmRvd3NcIj4NCiAgICAgICAgPG5hdGl2ZWxpYiBocmVmPVwibXktZGxsLmphclwiIGRvd25sb2FkPVwibGF6eVwiLz4NCiAgIHtbJiomXX0gPC9yZXNvdXJjZXM+DQpbLi4uXQ0KXCI7e1smKiZdfQ==[[/code]]</pre><br />
<strong>The trap:</strong><br />
We were using the optional parameter download=&#8221;lazy&#8221; to ensure that the library is only downloaded when it is really needed. The result was that it never got loaded at all(!) because we did not specify to which &#8220;part&#8221; the library belongs. This is another optional parameter which turns mandatory in combination with download=&#8221;lazy&#8221;.<br />
Unfortunately this little detail is not too well documented. The only hint found was <a href="http://www.dpunkt.de/java/Programmieren_mit_Java/Deployment/9.html#id519" target="_new">this one</a> (in german). It took me quite some time to find this critical information.</p>
<p><strong>The solution:</strong><br />
Since the jar containing our DLL is really small we chose to use download=&#8221;eager&#8221; (which is the default anyway) instead of defining &#8220;parts&#8221; in our JNLP.<br />
<pre style="overflow: auto; font-size: 12px; line-height: 14px; width: 100%;">[[code]]czoxNTE6XCINClsuLi5dDQogICAgPCEtLSBUaGlzIG9uZSBpcyBlYXNpZXIgYW5kIGl0IHdvcmtzISAtLT4NCiAgICA8cmVzb3VyY2V7WyYqJl19cyBvcz1cIldpbmRvd3NcIj4NCiAgICAgICAgPG5hdGl2ZWxpYiBocmVmPVwibXktZGxsLmphclwiLz4NCiAgICA8L3Jlc291cmNlcz4NClt7WyYqJl19Li4uXQ0KXCI7e1smKiZdfQ==[[/code]]</pre></p>
<h3>Step 3: Using native lib references with the webstart-maven-plugin</h3>
<p>We already were using Maven as a build system and our client distribution is generated with the <a href="http://mojo.codehaus.org/webstart/webstart-maven-plugin/" target="_new">webstart-maven-plugin</a> as follows:<br />
- We use a separate module with packaging type &#8220;pom&#8221; for the generation of the webstart client. Of course, this module is part of the multi module build for our application.<br />
- We provide a template for the JNLP file containing a parameter &#8220;$dependencies&#8221; which will be replaced by a list of the dependencies of the current module<br />
- At build time the dependencies will be signed and put into a zip file together with the JNLP file.<br />
- The zip file can be extracted to a java webstart server or, in our case, into a war file that will be deployed on a server.</p>
<p><strong>The idea:</strong><br />
Since JACOB is available via <a href="http://repo2.maven.org/maven2/net/sf/jacob-project/" target="_new">Maven Central</a> integration seemed pretty easy. We only have to generate the correct reference to the native library.</p>
<p><strong>The trap:</strong><br />
Unfortunately the current version of the webstart-maven-plugin (1.0-alpha-2) does not support native libs (<a href="http://jira.codehaus.org/browse/MWEBSTART-8" target="_new">open issue</a>). So we will need a workaround that wraps the jacob.dll into a jar file and generates the nativelib reference in our JNLP.</p>
<p><strong>The solution:</strong><br />
Perform the following steps:<br />
- Change the packaging type for the module from &#8220;pom&#8221; to &#8220;jar&#8221;.<br />
- Configure the pom.xml to copy jacob.dll from the maven repository into the build directory of the module using the <a href="http://maven.apache.org/plugins/maven-dependency-plugin/" target="_new">maven-dependency-plugin</a><br />
- Add the nativelib reference to the velocity template using the build artifact of the current module as a reference.<br />
<pre style="overflow: auto; font-size: 12px; line-height: 14px; width: 100%;"></pre><br />
<pre style="overflow: auto; font-size: 12px; line-height: 14px; width: 100%;">[[code]]czoyNjA6XCINClsuLi5dDQogICAgPHJlc291cmNlcz4NCiAgICAgICAgPGoyc2UgdmVyc2lvbj1cIjEuNStcIiBpbml0aWFsLWhlYXAtc3tbJiomXX1pemU9XCIyNTZNXCIgbWF4LWhlYXAtc2l6ZT1cIjUxMk1cIi8+DQogICAgICAgICRkZXBlbmRlbmNpZXMNCiAgICA8L3Jlc291cmNlcz4NCntbJiomXX0gICAgPHJlc291cmNlcyBvcz1cIldpbmRvd3NcIj4NCiAgICAgICAgPG5hdGl2ZWxpYiBocmVmPVwiJHtwcm9qZWN0LmJ1aWxkLmZpbmFse1smKiZdfU5hbWV9LmphclwiLz4NCiAgICA8L3Jlc291cmNlcz4NClsuLi5dDQpcIjt7WyYqJl19[[/code]]</pre></p>
<h3>Summary:</h3>
<p>After successfully having avoided the traps (okay: by stepping into them and finding a way out again) we got an application with a pretty cool feature integrated seamlessly in our build process. Nice!</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2010/05/06/juggling-with-dlls-webstart-and-maven/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2010/05/06/juggling-with-dlls-webstart-and-maven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Business RIA redefined!</title>
		<link>http://canoo.com/blog/2010/05/02/java-business-ria-redefined/</link>
		<comments>http://canoo.com/blog/2010/05/02/java-business-ria-redefined/#comments</comments>
		<pubDate>Sun, 02 May 2010 10:00:23 +0000</pubDate>
		<dc:creator>Felix Schrape</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[upcoming release]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1182</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/05/02/java-business-ria-redefined/";</script>The future belongs to Rich Internet Applications (RIA) &#8211; they are increasingly replacing the classical desktop application. And it is no wonder, as this latest generation of web applications offers a totally new kind of interactivity. Furthermore, RIAs spare your budget thanks to their operating system independence and the fact that they can be used [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/05/02/java-business-ria-redefined/";</script><p>The future belongs to Rich Internet Applications (RIA) &#8211; they are increasingly replacing the classical desktop application. And it is no wonder, as this latest generation of web applications offers a totally new kind of interactivity. Furthermore, RIAs spare your budget thanks to their operating system independence and the fact that they can be used without installation. According to the market research organization Forrester Research, RIA technology will be deployed in around 60% of all software development projects in the coming years.</p>
<p><img class="alignleft size-full wp-image-1186" style="padding-bottom: 20px;" title="RIAbox_middle" src="http://canoo.com/blog/wp-content/uploads/2010/04/RIAbox_middle.png" alt="RIAbox_middle" width="300" height="334" /></p>
<p>The disadvantage of most of today&#8217;s RIA frameworks is that they were developed for the optimization of web sites. They rapidly reach their limits, therefore, with complex business applications. Canoo Engineering&#8217;s <strong>Canoo RIA Suite</strong> with its modular design provides a remedy. It&#8217;s heart is ULC (UltraLightClient), a proven and stable component for the development of RIAs &#8211; optimized for the performance requirements of business applications. Thanks to the 100% java-based homogeneous programming model, ULC reduces the complexity of RIA projects to a minimum. RIAs developed with ULC score highly due to their low development and maintenance costs, and are more than a match for classical desktop applications in user-friendliness, functionality, attractiveness, robustness and performance.</p>
<p>Since March 31, 2010, ULC Core is available as a <a href="http://www.canoo.com/ulc/beta/" target="_blank">Beta Release</a>. The <strong>Canoo Ria Suite</strong> will be released officially just before Pentecost 2010. The advantages at a Glance:</p>
<ul>
<li>Up to 50% reductions in development costs</li>
<li>Puts business functionality on to the web without quality losses</li>
<li>Lower operational costs thanks to server side maintenance and standardized technology</li>
<li>Maximum security thanks to standard conformity</li>
<li>Straightforward and rapid development due to uniform Java basis</li>
<li>Robust and scalable architecture</li>
<li>No longer time-consuming client-side deployment</li>
<li>Enables highly interactive and user friendly interfaces</li>
<li>No browser adaptation required</li>
<li>Optimal user productivity due to rapid response times</li>
<li>Lower project risk thanks to well engineered, tried and tested technology</li>
<li>Impressive prototypes in minimal time</li>
</ul>
<blockquote><p>&#8220;We switched to ULC in the middle of a large software project, as we were not able to implement all the requirements with the technology we were using at the time. ULC then enabled us to at least double our productivity, in turn allowing the project to be completed on time.&#8221;</p>
<p>Greg Hutchinson, Principal Developer of a large Canadian financial institution</p></blockquote>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2010/05/02/java-business-ria-redefined/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2010/05/02/java-business-ria-redefined/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What RIA developers could learn from the iPhone</title>
		<link>http://canoo.com/blog/2010/05/01/what-ria-developers-could-learn-from-the-iphone/</link>
		<comments>http://canoo.com/blog/2010/05/01/what-ria-developers-could-learn-from-the-iphone/#comments</comments>
		<pubDate>Sat, 01 May 2010 21:00:41 +0000</pubDate>
		<dc:creator>Felix Schrape</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1168</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/05/01/what-ria-developers-could-learn-from-the-iphone/";</script>The Apple iPhone, just like its bigger brother (the iPad), does not exactly shine with its universality: In the end, the technical options and the contents that may be used are determined by the parent company.
However, it is precisely this limitation in the user and developer flexibility, in addition to the purist and inherently coherent [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/05/01/what-ria-developers-could-learn-from-the-iphone/";</script><p>The Apple iPhone, just like its bigger brother (the iPad), does not exactly shine with its universality: In the end, the technical options and the contents that may be used are determined by the parent company.</p>
<p>However, it is precisely this limitation in the user and developer flexibility, in addition to the purist and inherently coherent design of the user interface that are the secret of its universal success. The user experiences a successful reduction in complexity from app to app within a homogenous user interface environment, in which he quickly finds his way around. The problem of information transport, according to media expert <a href="http://en.wikipedia.org/wiki/Neil_Postman" target="_blank"><span style="color: #000000;"><span style="text-decoration: none;">Neil Postman</span></span></a>, has long been solved. Now it is about developing the right selection techniques in order to come to terms with this flood of information.</p>
<h2 style="font-size: 1.5em;">Successful complexity reduction</h2>
<p>Precisely this demand is fulfilled by the in-house engineers at Apple, as well as the developers of successful programs that run on the iPhone. Now however, these inventers often are not exactly world-beaters when it comes to experience in UI design or architecture development. Rather they place themselves intuitively in the shoes of the users and ask themselves what information they would like to call up on their iPhone themselves. And Apple supports this implementation via an SDK that delivers many graphic effects and interface components out of the box. This intentional simplification of options creates a world which eases the navigation through this flood of information to such a degree that most users happily put up with any such limitations.</p>
<h2 style="font-size: 1.5em;">Levelling the fastest routes</h2>
<p>What can we learn now from the iPhone phenomenon for the development of Rich Internet Applications? In production systems it is less crucial to push the limits of technical feasibility or to place emphasis on the maximum user flexibility. What counts instead is to smooth the most rapid route to the required information and functions for the users, without them having the need to deal with the intricacies of program structure. To fulfil these needs the developers need to put themselves in the users&#8217; shoes, which is easier in the case of greatly restricted iPhone apps than with complicated web applications that quite often cover the scope of entire departments.</p>
<p>In view of these over-complications it seems tempting in the initial phase of a project not to pose too many questions to the end users (or indeed one&#8217;s own intuition), but rather to proceed in the hope that people will get used to the technically more familiar structures. These are, however, shortcuts that can come with acrimonious paybacks at a later date.</p>
<p><a href="http://canoo.com/blog/2010/03/19/10-lessons-learned-from-usability-testing/" target="_self">Tools</a> that help those in charge to see things from the users&#8217; point of view (e.g. paper prototyping) may initially appear laborious and, due to the lack of &#8220;hard&#8221; results, unnecessary. But rather than definitive guide-rails, this phase is more concerned with developing a feeling how the users&#8217; workflows could be integrated into the future application, and to identify which paths in the current IT environment are often or only seldom trodden, so as to provide orientation for the subsequent development process.</p>
<p>The goal is therefore to pick out the basic limitations and requirements for simplification right at the start of a project, so as to attain similar complexity reductions in the context of productive systems such as some successful iPhone apps demonstrate.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2010/05/01/what-ria-developers-could-learn-from-the-iphone/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2010/05/01/what-ria-developers-could-learn-from-the-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIA Forum on GUI Technology</title>
		<link>http://canoo.com/blog/2010/01/25/ria-forum-on-gui-technology/</link>
		<comments>http://canoo.com/blog/2010/01/25/ria-forum-on-gui-technology/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 14:29:23 +0000</pubDate>
		<dc:creator>Felix Schrape</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=955</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/25/ria-forum-on-gui-technology/";</script>
We are happy to announce the second RIA forum which will take place in Darmstadt (close to Frankfurt), 23rd of April 2010! This time, with Canoo Engineering AG as premium sponsor, four well known speakers will talk about the advantages and disadvantages of four different ways to create effective user interfaces (especially in business contexts).
Instead [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/25/ria-forum-on-gui-technology/";</script><p><img class="alignnone size-full wp-image-956" title="600px-darmstadt_panorama" src="http://canoo.com/blog/wp-content/uploads/2010/01/600px-darmstadt_panorama.jpg" alt="600px-darmstadt_panorama" width="650" height="110" /></p>
<p>We are happy to announce the second RIA forum which will take place in Darmstadt (close to Frankfurt), 23rd of April 2010! This time, with Canoo Engineering AG as premium sponsor, four well known speakers will talk about the advantages and disadvantages of four different ways to create effective user interfaces (especially in business contexts).</p>
<p>Instead of giving details here I recommend to visit the forum page directly: <a style="text-decoration: underline; text-shadow: #ffffff 0px 1px 0px; color: #2563ab;" rel="external" href="http://www.riaforum.com/" target="_blank">http://www.riaforum.com</a> (in German). Please be aware that we can only provide entrance to a limited audience, so if you want to join, make sure you sign up quickly.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2010/01/25/ria-forum-on-gui-technology/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2010/01/25/ria-forum-on-gui-technology/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Canoo Fellow Dierk König about Pros and Cons of Language Diversity</title>
		<link>http://canoo.com/blog/2010/01/25/canoo-fellow-dierk-konig-about-pros-and-cons-of-language-diversity/</link>
		<comments>http://canoo.com/blog/2010/01/25/canoo-fellow-dierk-konig-about-pros-and-cons-of-language-diversity/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 08:43:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Dierk König]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=943</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/25/canoo-fellow-dierk-konig-about-pros-and-cons-of-language-diversity/";</script>Watch an interesting interview (in German) with Dierk König about the actual language diversity in the Java community — Groovy, Scala, Clojure, JRuby and all the rest of them! If you are interested in this topic, we also recommend to take a look on the schedule of the Java Language Days 2010 (moderated by Dierk König and Markus [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/25/canoo-fellow-dierk-konig-about-pros-and-cons-of-language-diversity/";</script><p><a href="http://it-republik.de/jaxenter/news/JAX-TV-Dierk-Koenig-ueber-Pro-und-Contra-der-Sprachenvielfalt-053492.html" target="_blank">Watch an interesting interview</a> (in German) with Dierk König about the actual language diversity in the Java community — Groovy, Scala, Clojure, JRuby and all the rest of them! If you are interested in this topic, we also recommend to take a look on the schedule of the <a href="http://it-republik.de/konferenzen/jax2010/specialdays/">Java Language Days 2010</a> (moderated by Dierk König and Markus Völter (<a href="http://www.itemis.com/">itemis</a>).</p>
<p><a href="http://it-republik.de/jaxenter/news/JAX-TV-Dierk-Koenig-ueber-Pro-und-Contra-der-Sprachenvielfalt-053492.html" target="_blank"><img class="alignnone size-full wp-image-944" title="Dierk König interviewed" src="http://canoo.com/blog/wp-content/uploads/2010/01/Bild-2.png" alt="Dierk König interviewed" width="544" height="309" /></a></p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2010/01/25/canoo-fellow-dierk-konig-about-pros-and-cons-of-language-diversity/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2010/01/25/canoo-fellow-dierk-konig-about-pros-and-cons-of-language-diversity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When is it worth deploying RIA technology?</title>
		<link>http://canoo.com/blog/2010/01/21/rich-internet-applications-for-business/</link>
		<comments>http://canoo.com/blog/2010/01/21/rich-internet-applications-for-business/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 14:30:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=932</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/21/rich-internet-applications-for-business/";</script>Excerpt of  &#8221;Rich Internet Applications for Business&#8221;, an article by Hans Dirk Walter, CEO Canoo Engineering AG (in print). 
Even if RIA technology continues to expand steadily in the future and the number of purely HTML based applications does decline, it is nonetheless not recommended to resort to an RIA framework or library for technology’s [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/21/rich-internet-applications-for-business/";</script><p><em>Excerpt of  &#8221;Rich Internet Applications for Business&#8221;, an article by Hans Dirk Walter, CEO Canoo Engineering AG (in print). </em></p>
<p>Even if RIA technology continues to expand steadily in the future and the number of purely HTML based applications does decline, it is nonetheless not recommended to resort to an RIA framework or library for technology’s sake alone when developing online applications. Instead, the decision depends on the user interface requirements.</p>
<p><span style="color: #ffffff;"><span style="color: #000000;"><br />
</span></span></p>
<div id="attachment_934" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-934 " title="Figure 1" src="http://canoo.com/blog/wp-content/uploads/2010/01/Figure1.jpg" alt="Figure 1 provides a schematic illustration of various categories of application depending on usage, and shows the dependency of these applications with regard to interactivity requirements and interface richness (UI functionality, drag &amp; drop, graphics)." width="600" height="450" /><p class="wp-caption-text">Figure 1 provides a schematic illustration of various categories of application depending on usage, and shows the dependency of these applications with regard to interactivity requirements and interface richness (UI functionality, drag &amp; drop, graphics).</p></div>
<p><span style="color: #ffffff;">.</span></p>
<p>Typical web applications such as online shopping or rail timetables, that are only occasionally visited by their customers, need to be self explanatory and easy to operate. Speed and sophisticated interaction are of secondary importance in these cases. This type of application is best implemented using form based “wizards”. The functionality offered by HTML is generally more than sufficient in such cases. This does not apply, however, to productive systems, whose users often spend several hours per day with the application. The interface need not necessarily be self explanatory, while training is normally worthwhile. These kinds of application should be developed using RIA technology. The final types of program identified are games, which place the most demanding requirements of all in terms of interactivity (extremely speedy program reaction times in response to rapid successive inputs), as well as sophistication (3D animations, film sequences, etc.) Such application have so far scarcely been realised in satisfactory quality as RIAs.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2010/01/21/rich-internet-applications-for-business/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2010/01/21/rich-internet-applications-for-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The renaissance of user-oriented interface designs</title>
		<link>http://canoo.com/blog/2010/01/21/the-renaissance-of-user-oriented-interface-designs/</link>
		<comments>http://canoo.com/blog/2010/01/21/the-renaissance-of-user-oriented-interface-designs/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 10:15:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=949</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/21/the-renaissance-of-user-oriented-interface-designs/";</script>Excerpt of  &#8221;Rich Internet Applications for Business&#8221;, an article by Hans Dirk Walter, CEO Canoo Engineering AG (in print).

Alongside the ascendancy of the World Wide Web (WWW) as global information platform, its technology has increasingly been employed as the basis for enterprise applications in the course of the last 10 years. Web based application have [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/21/the-renaissance-of-user-oriented-interface-designs/";</script><p><em>Excerpt of  &#8221;Rich Internet Applications for Business&#8221;, an article by Hans Dirk Walter, CEO Canoo Engineering AG (in print).</em></p>
<div>
<p>Alongside the ascendancy of the World Wide Web (WWW) as global information platform, its technology has increasingly been employed as the basis for enterprise applications in the course of the last 10 years. Web based application have successively squeezed out the previously widespread client-server applications. Ever more IT managers have recognised the operational advantages of centralised application management (re-)enabled through this technology and have placed a total emphasis upon HTML in their application development. This trend has rather conveyed the impression in recent years, therefore, that page based user interfaces were <em>the last word</em>, while user-oriented layout and design appeared consigned to oblivion.</p>
<p>In the wake of the euphoria surrounding HTML there were always organisations who expressed their dissatisfaction at the shortcomings of pure HTML interfaces. Meanwhile, a significant number of middle sized IT companies made their money developing RIAs for such organisations. Publicly, however, these efforts scarcely attracted attention. It was not until the Eclipse project, with its popular Rich Client Platform (RCP)<a href="#_ftn1">[1]</a> several years ago, that the ordinary developer was once again reminded of the far more ergonomic interfaces of the client-server technology of the 1980s and 1990s.</p>
<p>The term “rich client” now became newly synonymous with this technology.  Since RCP is a “fat client” technology it did not correspond to the centralised “zero footprint”<a href="#_ftn2">[2]</a> approach of classical HTML applications. These benefits, in which no application specific code whatsoever was of installed on the client, thus employed so called “rich thin client” technology, which in turn however merely represented a transient niche. It was not until Jesse James Garrett coined the phrase “Ajax”<a href="#_ftn3">[3]</a> in 2005, thus bestowing respectability on JavaScript based Internet technology that the idea of “Rich Internet Applications” became familiar to a broader public, who has since been demanding the same level of interface interactivity in online connections as that of pure desktop applications.</p>
<p>This trend has been reinforced to now by discussions about the fuzzy, yet enigmatic term “Web 2.0”<a href="#_ftn4">[4]</a>. According to this “hype”, the hitherto largely passive bulk of internet users would become highly active web content authors in the coming years or even site “programmers”. Thus, “Web 1.0 was commerce. Web 2.0 is people. [...] 2015, everyone alive will [..] write a song, author a book, make a video, craft a weblog, and code a program” (Kelly, <em>Wired<a href="#_ftn5">[5]</a></em>). However, in order to motivate and enable the average surfer not just to consume but also to actively contribute new content, the web needs to be equipped with a suitable interactive interface, with whose help the user can rapidly and easily become active. RIAs bridge this gap perfectly with respect to the dizzying expectations of Web 2.0. They represent the technology, without which the entire aspiration and utopia would evaporate.</p>
<p>However, RIA technology offers so many advantages not only for the Web 2.0 community but also for everyday enterprise applications, that the demise of exclusively HTML based “poor ugly web applications” (PUWA) is foreseeable in the not too distant future.</p>
<hr size="1" /><a href="#_ftnref">[1]</a> Jeff McAffer, Jean-Michel Lemieux: Eclipse Rich Client Platform; Addison-Wesley, 2005.</p>
<p><a href="#_ftnref">[2]</a> “Zero footprint” means that no additional Software needs to be installed on the client in order to launch an application</p>
<p><a href="#_ftnref">[3]</a> Jesse James Garrett: AJAX: A New Approach to Web Applications; www.adaptivepath.com/publications/essays/archives/000385.php</p>
<p><a href="#_ftnref">[4]</a> Tim O’Reilly: What is Web 2.0;</p>
<p><a href="#_ftnref">[5]</a> Kelly, K.: We are the Web. In: Wired 13.08 (08/2005)</div>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2010/01/21/the-renaissance-of-user-oriented-interface-designs/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2010/01/21/the-renaissance-of-user-oriented-interface-designs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Significant Software Development Developments 2009</title>
		<link>http://canoo.com/blog/2010/01/14/significant-software-development-developments-2009/</link>
		<comments>http://canoo.com/blog/2010/01/14/significant-software-development-developments-2009/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 09:34:49 +0000</pubDate>
		<dc:creator>Felix Schrape</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=888</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/14/significant-software-development-developments-2009/";</script>Recently, Dustin Marx postet his top ten of the most &#8220;Software Development Developments of 2009&#8220;. Here is a short summary as a basis for further discussion:
Mergers and Acquisitions: SpringSource acquiring Cloud Foundry, SpringSource itself being acquired by VMware; Oracle&#8217;s acquisition of Virtual Iron and GoldenGate, Microsoft&#8217;s acquiring of Interactive Supercomputing, Google&#8217;s acquisitions of companies such as [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2010/01/14/significant-software-development-developments-2009/";</script><p>Recently, <a href="http://marxsoftware.blogspot.com/">Dustin Marx</a> postet his top ten of the most &#8220;<a href="http://www.javaworld.com/community/?q=node/3869">Software Development Developments of 2009</a>&#8220;. Here is a short summary as a basis for further discussion:</p>
<div style="font-weight: normal;"><strong>Mergers and Acquisitions</strong>: <em>SpringSource </em>acquiring <em>Cloud Foundry,</em> <em>SpringSource</em> itself being acquired by <em>VMware</em>; <em>Oracle</em>&#8217;s acquisition of <em>Virtual Iron</em> and <em>GoldenGate</em>, <em>Microsoft</em>&#8217;s acquiring of <em>Interactive Supercomputing</em>, <em>Google</em>&#8217;s acquisitions of companies such as <em>reCAPTCHA</em> and <em>Teracent</em>, etc.</div>
<p><span style="font-weight: normal;"><strong>Changing Landscape of Software Development Conferences</strong>: <em>Colorado Software Summit</em> and <em>SDWest</em> and <em>SD Best Practices</em> terminated their long-running tradition in 2009. There is speculation that <em>JavaOne 2009</em> may have been the last.</span></p>
<p><span style="font-weight: normal;"><strong>Java IDE Wars</strong>: <em>IntelliJ IDEA</em> has been the only one of the four leading Java IDEs that has not been available without charge. In 2009, the availability of an open source community edition of <em>IntelliJ IDEA</em> potentially changed the Java IDE landscape.</span></p>
<p><span style="font-weight: normal;"><strong>Groovy</strong>: <em>Groovy</em> claims to be &#8220;the most popular and successful dynamic language for the JVM&#8221;. According to Marx, this certainly seems to be the case (he mentions the high number of books on <em>Groovy</em> (and <em>Grails</em>) and the existence of a <em>DZone</em> area dedicated to Groovy (<a href="http://groovy.dzone.com/">Groovy Zone</a>) for evidence.</span></p>
<p><span style="font-weight: normal;"><strong>Java EE 6</strong>: Marx defines the December release of <em>Java EE 6</em> as a significant development in the enterprise space.</span></p>
<p><span style="font-weight: normal;"><strong>Oracle buys Sun</strong>: According to Marx, even developers who do not use <em>Sun</em> or <em>Oracle </em>products are likely to be at least indirectly affected by this acquisition because it will almost certainly affect the entire software development competitive landscape.</span></p>
<p><span style="font-weight: normal;"><br />
</span></p>
<p>Also included in the ranking were topics as:</p>
<ul>
<li><strong>Programming Environments for Mobile Devices</strong></li>
<li><strong>Bing Search Engine</strong></li>
<li><strong>Scala</strong></li>
<li><strong>Java SE 7 News</strong></li>
<li><strong>Cloud Computing</strong></li>
<li><strong>Google Chrome OS</strong></li>
</ul>
<p>If you are interested in Marx&#8217; full review of 2009, please read his blog entry at <a href="http://www.javaworld.com/community/?q=node/3869">JW Blogs</a>. He also cited other annual reviews from <a href="http://java.dzone.com/articles/java-2009-retrospective">JavaLobby</a> and <a href="http://www.computerworld.com/s/article/9142626/Software_development_s_winners_and_losers_2009_edition">Computerworld</a>. <strong>So what are last year&#8217;s most significant developments in software development from your point of view?</strong></p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2010/01/14/significant-software-development-developments-2009/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2010/01/14/significant-software-development-developments-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ULC Load 3.0.2 available for Mac OS X</title>
		<link>http://canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/</link>
		<comments>http://canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 15:02:44 +0000</pubDate>
		<dc:creator>marcel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=851</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/";</script>We are pleased to announce that ULCLoad 3.0.2 for Mac OS X is now available for download.
This are maintenance release for ULCLoad 3.0. Please see the release notes for a list of implemented feature requests and fixed problem reports. 
Please note: the ULCLoad 3.0 license key is valid for all software releases labeled ULCLoad 3.0. [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/";</script><p>We are pleased to announce that <a href="http://www.canoo.com/ulc/products/ulcload.html">ULCLoad 3.0.2 for Mac OS X</a> is now available for download.</p>
<p>This are maintenance release for ULCLoad 3.0. Please see the <a href="http://www.canoo.com/ulc/external/load-releasenotes.html">release notes</a> for a list of implemented feature requests and fixed problem reports. </p>
<p>Please note: the ULCLoad 3.0 license key is valid for all software releases labeled ULCLoad 3.0. If you already have a ULCLoad 3.0 license key, a new license key is not required.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix release for ULC &#8216;08 update 4 available</title>
		<link>http://canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/</link>
		<comments>http://canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 15:02:24 +0000</pubDate>
		<dc:creator>marcel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=848</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/";</script>We are pleased to announce that new maintenance releases for UltraLightClient is now available for download.
This is a maintenance release for UltraLightClient &#8216;08 that fixes the issue
UBA-7852 introduced by update 4.
In addition we have fixed three other issues

[UBA-7573] &#8211; ULCComponent.add/removeNotify() does not work inside ULCTabbedPane and ULCCardPane
[UBA-7580] &#8211; Missing column selection event for ULCTableTree with [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/";</script><p>We are pleased to announce that new maintenance releases for <a href="http://www.canoo.com/ulc/products/canooulc.html ">UltraLightClient</a> is now available for download.</p>
<p>This is a maintenance release for UltraLightClient &#8216;08 that fixes the issue<br />
<a href="https://www.canoo.com/jira/browse/UBA-7852">UBA-7852</a> introduced by update 4.<br />
In addition we have fixed three other issues</p>
<ul>
<li>[<a href="https://www.canoo.com/jira/browse/UBA-7573">UBA-7573</a>] &#8211; ULCComponent.add/removeNotify() does not work inside ULCTabbedPane and ULCCardPane</li>
<li>[<a href="https://www.canoo.com/jira/browse/UBA-7580">UBA-7580</a>] &#8211; Missing column selection event for ULCTableTree with expansion listener</li>
<li>[<a href="https://www.canoo.com/jira/browse/UBA-7760">UBA-7760</a>] &#8211; [Mac OS X 10.5.7, JRE 1.5] Installing shortcuts on the dock messed up the dock</li>
</ul>
<p>Please see the <a href="http://www.canoo.com/ulc/external/releasenotes.html">ULC &#8216;08 update 4 release notes</a> for the complete list of implemented feature requests and fixed problem reports. </p>
<p>Please note: the UltraLightClient &#8216;08 license key is valid for all software releases labeled UltraLightClient &#8216;08. If you already have a ULC &#8216;08 license key, a new license key is not required.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
