<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1.2" -->
<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/"
	>

<channel>
	<title>Not Just Java</title>
	<link>http://www.appistry.com/blogs/jasen</link>
	<description>Jasen’s thought stream on Java, software architecture, application fabrics and other geeky topics.</description>
	<pubDate>Wed, 29 Aug 2007 02:36:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>
	<language>en</language>
			<item>
		<title>The last mile for SOA</title>
		<link>http://www.appistry.com/blogs/jasen/uncategorized/the-last-mile-for-soa/</link>
		<comments>http://www.appistry.com/blogs/jasen/uncategorized/the-last-mile-for-soa/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 02:36:34 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[fabric]]></category>

		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/uncategorized/the-last-mile-for-soa/</guid>
		<description><![CDATA[I have been asked about how we support SOA many times over the last few months.&#160; The emergence of SOA as an architectural paradigm has been a huge influence on the middleware software market.&#160; You can&#8217;t find a middleware or integration platform today that doesn&#8217; t pitch how great it supports SOA.&#160; Having built a [...]]]></description>
			<content:encoded><![CDATA[<p>I have been asked about how we support SOA many times over the last few months.&nbsp; The emergence of SOA as an architectural paradigm has been a huge influence on the middleware software market.&nbsp; You can&#8217;t find a middleware or integration platform today that doesn&#8217; t pitch how great it supports SOA.&nbsp; Having built a couple systems with SOA technologies I can tell you that&nbsp;most of&nbsp;that hype is misplaced.&nbsp; SOA is really&nbsp;a combination of two main features.&nbsp;&nbsp;First it is an agreement by everyone to use the same syntax for interface invocations and second its a way to organize your software system&#8217;s capabilities.&nbsp; The first feature is enforced by standards like WSDL, SOAP, and UDDI as well as recent additions like the SCA, SDO, and of course the collection of WS-* standards.&nbsp; The second feature however really can&#8217;t be enforced.&nbsp; To me the web service standards are important but I would say the organization of software into services is really the critical feature of a SOA.</p>
<p>Sam Charrington in a <a href="http://searchwebservices.techtarget.com/originalContent/0,289142,sid26_gci1144953,00.html">recent interview</a> had a great quote that I&#8217;ll repeat here about how Appistry helps in a SOA architecture:</p>
<p>&quot;SOA is great about providing agility from the perspective of software infrastructure,&quot; he said. &quot;What SOA doesn&#8217;t help with is agility as it pertains to physical infrastructure. If you have a service that is mission-critical, you end up being encumbered by a traditional IT approach.&quot; </p>
<p>With a traditional IT approach, if a service really takes off, Charrington said, organizations may think they have to put it on an expensive box to meet availability and performance demands. &quot;But this is not the agility of SOA; it takes away from the huge benefit of SOA.&quot; </p>
<p>This is where virtualization comes into play, he said. &quot;By virtualizing applications across a commodity infrastructure, managed by, or as part of an application fabric, you&#8217;re able to get the full benefit that SOA offers.&quot;</p>
<p>So basically&nbsp;Appistry&#8217;s EAF&nbsp;become the &quot;service container&quot; in a SOA stack.&nbsp; Once you have an ESB and expose your services with a WSDL interface where do you actually run your services?&nbsp; You can continue to run them on legacy hardware after integrating with the ESB if you wish.&nbsp; But at that point is when I ask my favorite question, &quot;What happens if it works?&quot;&nbsp; Basically what happens if all your efforts come to fruition and people actually start using your services?&nbsp; There&#8217;s really no reason to build a SOA if that&#8217;s not what you want to happen.&nbsp; So what do you do when you have to scale your services beyond your legacy hardware&#8217;s capacity?&nbsp; That&#8217;s when you need agility at the hardware layer.&nbsp; An application fabric is the best way to bring the promise of SOA full circle to the hardware architecture.&nbsp; That&#8217;s why I came up with the phrase, &quot;The last mile for SOA&quot;.&nbsp; You can get close to a full SOA without an application fabric, but you may end up pushing your integration pain into a scalabilty problem pretty fast.&nbsp; But with Appistry&#8217;s EAF as the service container, you don&#8217;t have to worry about that either and you get the full benefit of the dream of a true service oriented <em><strong>architecture</strong></em>, not just a way to call code over web services.</p>
<p>-jasen</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Funcategorized%2Fthe-last-mile-for-soa%2F&amp;title=The+last+mile+for+SOA', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div><p class="tags">Technorati: <a href="http://technorati.com/tag/SOA" title="See the Technorati tag page for 'SOA'." rel="tag">SOA</a>, <a href="http://technorati.com/tag/architecture" title="See the Technorati tag page for 'architecture'." rel="tag">architecture</a>, <a href="http://technorati.com/tag/service" title="See the Technorati tag page for 'service'." rel="tag">service</a>, <a href="http://technorati.com/tag/container" title="See the Technorati tag page for 'container'." rel="tag">container</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/uncategorized/the-last-mile-for-soa/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to write a bug</title>
		<link>http://www.appistry.com/blogs/jasen/uncategorized/how-to-write-a-bug/</link>
		<comments>http://www.appistry.com/blogs/jasen/uncategorized/how-to-write-a-bug/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 21:36:11 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[reliability]]></category>

		<category><![CDATA[fabric]]></category>

		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/uncategorized/how-to-write-a-bug/</guid>
		<description><![CDATA[In order to break my slump I thought I&#8217;d give a quick description of a project I recently worked on.&#160; I was helping set up a demo of an application that was moved onto the fabric.&#160; The app was written in C and we didn&#8217;t change any of its code.&#160; We ended up running it [...]]]></description>
			<content:encoded><![CDATA[<p>In order to break my slump I thought I&#8217;d give a quick description of a project I recently worked on.&nbsp; I was helping set up a demo of an application that was moved onto the fabric.&nbsp; The app was written in C and we didn&#8217;t change any of its code.&nbsp; We ended up running it by shelling out from Java to make it easy for the developers who didn&#8217;t know C.&nbsp; The person asking for the demo wanted to see our reliability feature but didn&#8217;t want to see the usual hardware demo we give which involved pulling a power cord or network cable.&nbsp; So I had to invent a software bug that would illustrate how an application can be made reliable by running it on top of Appistry&#8217;s software.</p>
<p>So to make a short story long, here&#8217;s what my first try looked like:</p>
<p>Random generator = new Random(System.currentTimeMillis()); <br />
if( (generator.nextInt() % 4 ) &gt; 0 ) <br />
{&nbsp;<br />
&nbsp;&nbsp; doSomething();<br />
}</p>
<p>The basic idea being that by generating a random integer in the code running on the fabric I could then use the modulo operator to inject a bug about 25% of the time.&nbsp; Because it&#8217;s random, it would be unpredictable (the best kind of bug).&nbsp; The modulo operator would give me values from 0-3 and therefore if I got a 0 I would run the bug:</p>
<p>else <br />
{<br />
&nbsp;&nbsp; throw new Exception();<br />
}</p>
<p>The error case just throws an Exception because the fabric will attempt to retry the job if an unchecked exception is thrown.&nbsp;&nbsp;We tested out our new bug and it didn&#8217;t work.&nbsp; It was running the error case way too much.&nbsp; So basically I had a bug in my bug.&nbsp; After reading the javadoc on the Random.nextInt() method I figured out that it will generate negative numbers!&nbsp; So I added the following fix:</p>
<p>if( Math.abs(generator.nextInt() % 4 ) &gt; 0 )</p>
<p>Now I get my 25% failure rate like we wanted.&nbsp; We show the client running and submitting a handfull of requests to the fabric.&nbsp; Then, on the log on, the fabric, we show in realtime that the failure randomly occurs.&nbsp; But when it does, the job is automatically resubmitted on the fabric and the answer is sent back to the client.&nbsp; The client doesn&#8217;t have to be concerned with retry logic and only gets its correct answer.</p>
<p>I thought a cool web demo would be to use Ajax and setup a button for people to cause a software bug to happen while the results are coming back to the browser in realtime.&nbsp; Maybe I&#8217;ll write that in my &quot;spare&quot; time&#8230;</p>
<p>-jasen</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Funcategorized%2Fhow-to-write-a-bug%2F&amp;title=How+to+write+a+bug', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/uncategorized/how-to-write-a-bug/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My first program</title>
		<link>http://www.appistry.com/blogs/jasen/programming/my-first-program/</link>
		<comments>http://www.appistry.com/blogs/jasen/programming/my-first-program/#comments</comments>
		<pubDate>Fri, 06 Jul 2007 21:15:06 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/programming/my-first-program/</guid>
		<description><![CDATA[I have some friends that run the online community GrupThink. I went and signed up for an alias and added a grup for posting programming cookbook questions and answers.&#160; The Perl Cookbook was the most valuable book to me when I was learning Perl and I always look for content like that when picking up [...]]]></description>
			<content:encoded><![CDATA[<p>I have some friends that run the online community <a href="http://www.grupthink.com">GrupThink</a>. I went and signed up for an alias and added a grup for posting programming cookbook questions and answers.&nbsp; The <a href="http://www.amazon.com/Perl-Cookbook-Second-Tom-Christiansen/dp/0596003137/ref=pd_bbs_sr_1/105-5099809-5918856?ie=UTF8&amp;s=books&amp;qid=1183756841&amp;sr=1-1">Perl Cookbook</a> was the most valuable book to me when I was learning Perl and I always look for content like that when picking up a new language.&nbsp; I envision people posting questions and getting replies with code examples.&nbsp; It could become a repository for multiple languages&#8230;or not&#8230;whatever.</p>
<p>I posted the first question asking how to write an infinite loop in BASIC.&nbsp; My first 100% original program was this:</p>
<p>10 PRINT &quot;KMart Sucks!&quot;</p>
<p>20 GOTO 10</p>
<p>I used to type that in on the computers on the shelves and then walk around the store for awhile.&nbsp; The monitors would be scrolling with the message and there was no way to stop it unless you knew how to break the interpreter or shut the machine off.&nbsp; I caught employees several times shutting the machines off which made me very happy, it meant that I won.&nbsp; I must have been like 10 years old when I was doing that stuff.&nbsp; What a nerd.</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Fprogramming%2Fmy-first-program%2F&amp;title=My+first+program', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/programming/my-first-program/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Barcelona</title>
		<link>http://www.appistry.com/blogs/jasen/java/barcelona/</link>
		<comments>http://www.appistry.com/blogs/jasen/java/barcelona/#comments</comments>
		<pubDate>Fri, 06 Jul 2007 21:08:37 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[java]]></category>

		<category><![CDATA[Spring]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[TSS]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/java/barcelona/</guid>
		<description><![CDATA[Well, I finished the show and made it home.&#160; On the last day, the crowd was mostly into the tech talks and not interested in the vendors so much.&#160; I talked with a few of the people there, like the Azul guys.&#160; I also talked with the IceFaces guys about maybe doing a demo together.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I finished the show and made it home.&nbsp; On the last day, the crowd was mostly into the tech talks and not interested in the vendors so much.&nbsp; I talked with a few of the people there, like the <a href="http://www.azulsystems.com/">Azul</a> guys.&nbsp; I also talked with the <a href="http://www.icefaces.com/main/home/index.jsp">IceFaces</a> guys about maybe doing a demo together.&nbsp; Appistry could be the back end hosting some business logic and they could be the front end gui.&nbsp; It would be the merger of AJAX and grids.&nbsp; That could be really cool.&nbsp; The future of Java looks really fragmented.&nbsp; There is no denying the influence of the Spring and Ruby communities in the enterprise software world.&nbsp; SOA looks non-existant.&nbsp; There are a ton of web frameworks now. I hope that shakes out a little.&nbsp; Java is starting to show its age a bit.&nbsp; People have been predicting the death of JEE for some time and judging by the shows I&#8217;ve been to I think it&#8217;s already happened.&nbsp; Who&#8217;s writing new software for JEE?&nbsp; Nobody, as far as I can see.&nbsp; Its all about Spring/Hibernate apps with AJAX front ends.&nbsp; Some variations exist here and there, but that&#8217;s pretty much the de facto.</p>
<p>After the show was over, I managed to hike around Barcelona for a couple of days before coming home.&nbsp; I saw some great sights but I started wishing I knew more Spanish.&nbsp; I went to have lunch in a small place that looked tourist-friendly.&nbsp; They were off the beaten path, but it looked like thier menu was translated into English so I thought I was safe.&nbsp; But when I sat down and asked the waitress, &quot;Habla Ingles?&quot;&nbsp; She replied, &quot;No, cero.&quot;&nbsp; Which means, &quot;You stupid American tourist, there&#8217;s no way I&#8217;m going to make this easy for you.&quot;&nbsp; So I then decided to try to describe a sandwich by miming two pieces of bread with my hands and saying, &quot;Pan con carne?&quot;&nbsp; She said, &quot;No,&quot; and showed me a hand written spanish menu with 5 items on the top and 5 items on the bottom.&nbsp; I recognized &quot;spaghetti&quot; so I pointed at that.&nbsp; Then she wanted me to pick something from the bottom list also and said something about &quot;carne&quot; so I figured it was the meat course or something.&nbsp; I pointed blindly at something on the list and hoped for the best.&nbsp; She went to the next table and sat down with them, I heard them repeat the two things I ordered and laugh.&nbsp; That&#8217;s always a good sign when you&#8217;re in a foreign country.&nbsp; But it turned out I just ordered a sausage. It was pretty good.</p>
<p>All in all, I&#8217;d say Barcelona is a great place to visit.&nbsp; I&#8217;d highly recommend it.&nbsp; It was no coincidence though&nbsp;that the first night I was back home we went to <a href="http://www.cheeburger.com/">CheeburgerCheeburger</a> and I ordered a quarter pound burger with a milkshake.</p>
<p>-jasen</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Fjava%2Fbarcelona%2F&amp;title=Barcelona', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div><p class="tags">Technorati: <a href="http://technorati.com/tag/java" title="See the Technorati tag page for 'java'." rel="tag">java</a>, <a href="http://technorati.com/tag/appistry+blog" title="See the Technorati tag page for 'appistry blog'." rel="tag">appistry blog</a>, <a href="http://technorati.com/tag/appistry+blogs" title="See the Technorati tag page for 'appistry blogs'." rel="tag">appistry blogs</a>, <a href="http://technorati.com/tag/java" title="See the Technorati tag page for 'java'." rel="tag">java</a>, <a href="http://technorati.com/tag/java+conference" title="See the Technorati tag page for 'java conference'." rel="tag">java conference</a>, <a href="http://technorati.com/tag/application+fabric" title="See the Technorati tag page for 'application fabric'." rel="tag">application fabric</a>, <a href="http://technorati.com/tag/TSS" title="See the Technorati tag page for 'TSS'." rel="tag">TSS</a>, <a href="http://technorati.com/tag/Spring" title="See the Technorati tag page for 'Spring'." rel="tag">Spring</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/java/barcelona/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TheServerSide.com in Barcelona - Day Dos</title>
		<link>http://www.appistry.com/blogs/jasen/spring/theserversidecom-in-barcelona-day-dos/</link>
		<comments>http://www.appistry.com/blogs/jasen/spring/theserversidecom-in-barcelona-day-dos/#comments</comments>
		<pubDate>Thu, 28 Jun 2007 19:13:53 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[Spring]]></category>

		<category><![CDATA[TSS]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/spring/theserversidecom-in-barcelona-day-dos/</guid>
		<description><![CDATA[Well, day two picked up a little.&#160; I attended some fun sessions and the crowd seemed to warm up a bit.&#160; My favorate session was the GWT presentation.&#160; Brian Johnson gave a talk and explained the basic premise behind the toolkit.&#160; I was really into it and I am definitely going to download it and [...]]]></description>
			<content:encoded><![CDATA[<p>Well, day two picked up a little.&nbsp; I attended some fun sessions and the crowd seemed to warm up a bit.&nbsp; My favorate session was the <a href="http://googlewebtoolkit.blogspot.com/">GWT</a> presentation.&nbsp; Brian Johnson gave a talk and explained the basic premise behind the toolkit.&nbsp; I was really into it and I am definitely going to download it and see what I can do.&nbsp; I didn&#8217;t realize that it&#8217;s actually open source. That is rare for Google, so I am impressed.&nbsp; The other neat talk was by <a href="http://ola-bini.blogspot.com/">Ola Bini</a> on <a href="http://www.jruby.org">JRuby</a>.&nbsp; I liked seeing the Ruby syntax invoking Java objects. That was really cool.&nbsp; It made me start thinking about how lambda reduction and aspects are really the same thing.&nbsp; I should pitch that idea to the <a href="http://www.springframework.org">Spring</a> contingent tomorrow and see what they say.</p>
<p>Last night for dinner we took the local metro subway to the waterfront and ate at a place called <a href="http://www.7portes.com">7portes</a>. It was awesome!&nbsp;&nbsp; We had paella and it was one of the best meals I&#8217;ve ever had in my life.&nbsp; The salad was good, the wine was good and the main course was amazing.&nbsp; The music was funny though - they had a piano player who was playing American hits from the 80s like Richard Marx, which was a little weird.&nbsp; But other than that, it was cool.&nbsp; The metro was pretty neat. You can get all over town once you learn to read the color-coded signs.&nbsp; So, this weekend, I&#8217;m going to visit several museums and go to the beach. I can&#8217;t wait!</p>
<p>-jasen</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Fspring%2Ftheserversidecom-in-barcelona-day-dos%2F&amp;title=TheServerSide.com+in+Barcelona+-+Day+Dos', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div><p class="tags">Technorati: <a href="http://technorati.com/tag/java" title="See the Technorati tag page for 'java'." rel="tag">java</a>, <a href="http://technorati.com/tag/appistry+blog" title="See the Technorati tag page for 'appistry blog'." rel="tag">appistry blog</a>, <a href="http://technorati.com/tag/appistry+blogs" title="See the Technorati tag page for 'appistry blogs'." rel="tag">appistry blogs</a>, <a href="http://technorati.com/tag/java" title="See the Technorati tag page for 'java'." rel="tag">java</a>, <a href="http://technorati.com/tag/java+conference" title="See the Technorati tag page for 'java conference'." rel="tag">java conference</a>, <a href="http://technorati.com/tag/application+fabric" title="See the Technorati tag page for 'application fabric'." rel="tag">application fabric</a>, <a href="http://technorati.com/tag/TSS" title="See the Technorati tag page for 'TSS'." rel="tag">TSS</a>, <a href="http://technorati.com/tag/Spring" title="See the Technorati tag page for 'Spring'." rel="tag">Spring</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/spring/theserversidecom-in-barcelona-day-dos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TheServerSide.com in Barcelona - Day Uno</title>
		<link>http://www.appistry.com/blogs/jasen/fabric/theserversidecom-in-barcelona-day-uno/</link>
		<comments>http://www.appistry.com/blogs/jasen/fabric/theserversidecom-in-barcelona-day-uno/#comments</comments>
		<pubDate>Wed, 27 Jun 2007 17:37:32 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[fabric]]></category>

		<category><![CDATA[grid]]></category>

		<category><![CDATA[TSS]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/fabric/theserversidecom-in-barcelona-day-uno/</guid>
		<description><![CDATA[We are doing the European TSS show and I thought it would be fun to do some daily&#160;posts like I did for JavaOne.&#160; I have noticed some interesting cultural differences between European techies and us Americans.&#160; First of all, they don&#8217;t care about slinkys as much here.&#160; We couldn&#8217;t keep our free slinkys on the [...]]]></description>
			<content:encoded><![CDATA[<p>We are doing the <a href="http://javasymposium.techtarget.com/europe/europe_info.html?Offer=JSEtssel1213">European TSS show</a> and I thought it would be fun to do some daily&nbsp;posts like I did for JavaOne.&nbsp; I have noticed some interesting cultural differences between European techies and us Americans.&nbsp; First of all, they don&#8217;t care about slinkys as much here.&nbsp; We couldn&#8217;t keep our free slinkys on the table at JavaOne, here people always look at them and keep walking.&nbsp; We have given some away, but people always laugh at them like they&#8217;re ridiculous.&nbsp; A couple British people take them, but they always ask first which is also uncommon.&nbsp; So to summarize:</p>
<p>1) Americans:&nbsp; love slinkys, will try to trick you to get one for free, aren&#8217;t bringing them home for kids (that&#8217;s a lie they want it for their office to play with)</p>
<p>2) British:&nbsp; partially amused by slinkys, will apologize for thinking of taking one, bringing them home to make fun of Americans</p>
<p>3) Germans:&nbsp; think slinkys are foolish, will stare at you silently if you offer them one, may take one home to show kinder (children) how silly Americans are</p>
<p>4) All other Europeans:&nbsp; think slinkys are part of our product, don&#8217;t realize they are toys, may take one home to beef up their car&#8217;s suspension</p>
<p>As for Appistry&#8217;s software however, there is a lot of interest, especially by GigaSpaces employees.&nbsp; (I know they monitor use of their company name on blogs so this is a meta-joke to see if I can get their CEO to come say &quot;Hi&quot; to me.)&nbsp; But seriously the crowd is full of architects and developers and they like to discuss how to scale Java appllications on commodity hardware.&nbsp; They always ask great questions that show that they are engaged and are thinking about our solution.&nbsp; From that perspective all the countires are on the same page, they don&#8217;t like complexity and expense.&nbsp; Offering a simple easy to use product that cuts processing costs by an order of magnitude makes sense no matter where you&#8217;re from.</p>
<p>-jasen</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Ffabric%2Ftheserversidecom-in-barcelona-day-uno%2F&amp;title=TheServerSide.com+in+Barcelona+-+Day+Uno', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div><p class="tags">Technorati: <a href="http://technorati.com/tag/java" title="See the Technorati tag page for 'java'." rel="tag">java</a>, <a href="http://technorati.com/tag/appistry+blog" title="See the Technorati tag page for 'appistry blog'." rel="tag">appistry blog</a>, <a href="http://technorati.com/tag/appistry+blogs" title="See the Technorati tag page for 'appistry blogs'." rel="tag">appistry blogs</a>, <a href="http://technorati.com/tag/java" title="See the Technorati tag page for 'java'." rel="tag">java</a>, <a href="http://technorati.com/tag/java+conference" title="See the Technorati tag page for 'java conference'." rel="tag">java conference</a>, <a href="http://technorati.com/tag/application+fabric" title="See the Technorati tag page for 'application fabric'." rel="tag">application fabric</a>, <a href="http://technorati.com/tag/TSS" title="See the Technorati tag page for 'TSS'." rel="tag">TSS</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/fabric/theserversidecom-in-barcelona-day-uno/feed/</wfw:commentRss>
		</item>
		<item>
		<title>All about Generics</title>
		<link>http://www.appistry.com/blogs/jasen/java/all-about-generics/</link>
		<comments>http://www.appistry.com/blogs/jasen/java/all-about-generics/#comments</comments>
		<pubDate>Wed, 20 Jun 2007 21:08:05 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[java]]></category>

		<category><![CDATA[Natural Language Processing]]></category>

		<category><![CDATA[Artificial Intelligence]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/java/all-about-generics/</guid>
		<description><![CDATA[I ran across this cool post on a Natural Language Processing blog.&#160; The site distributes a tool that I&#8217;m using for an NLP project as part of my masters degree.&#160; The post discusses how they refactored to use generics and has some great discussion and recources on the topic.
&#34;My major complaint about Java when I [...]]]></description>
			<content:encoded><![CDATA[<p>I ran across this cool post on a <a href="http://www.alias-i.com/blog/wp-trackback.php?p=54">Natural Language Processing blog</a>.&nbsp; The site distributes a tool that I&#8217;m using for an NLP project as part of my masters degree.&nbsp; The post discusses how they refactored to use generics and has some great discussion and recources on the topic.</p>
<p>&quot;My major complaint about Java when I first saw it was the lack of parametric typing. Many, if not most, of my programming errors are from assigning something to the wrong argument. I&rsquo;m hopeless in Perl, for instance. As always, be careful what you wish for. Little prepared me for the complexity of Java 1.5 generics.&quot;&nbsp; <a href="http://www.alias-i.com/blog/wp-trackback.php?p=54">Read the entire post here</a>.</p>
<p>&nbsp;</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Fjava%2Fall-about-generics%2F&amp;title=All+about+Generics', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/java/all-about-generics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>That depends on what the definition of Grid is</title>
		<link>http://www.appistry.com/blogs/jasen/reliability/that-depends-on-what-the-definition-of-grid-is/</link>
		<comments>http://www.appistry.com/blogs/jasen/reliability/that-depends-on-what-the-definition-of-grid-is/#comments</comments>
		<pubDate>Fri, 25 May 2007 21:07:20 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[reliability]]></category>

		<category><![CDATA[fabric]]></category>

		<category><![CDATA[grid]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/reliability/that-depends-on-what-the-definition-of-grid-is/</guid>
		<description><![CDATA[I have been doing some reading and a few weeks ago I came across an article by Corey Klaasmeyer on JavaWorld&#8217;s website.&#160; He discusses the original definition of what a &#34;grid&#34; is with some of the history.&#160; For example he quotes Ian Foster and Carl Kessellman from The Grid: Blueprint for a New Computing Infrastructure [...]]]></description>
			<content:encoded><![CDATA[<p>I have been doing some reading and a few weeks ago I came across an article by <a href="http://www.javaworld.com/javaworld/jw-03-2007/jw-03-grid.html">Corey Klaasmeyer on JavaWorld&#8217;s</a> website.&nbsp; He discusses the original definition of what a &quot;grid&quot; is with some of the history.&nbsp; For example he quotes Ian Foster and Carl Kessellman from The Grid: Blueprint for a New Computing Infrastructure as saying, &quot;A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive and inexpensive access to high-end computational capabilities.&quot;</p>
<p>By this definition <a href="http://www.appistry.com">Appistry&#8217;s</a> EAF qualifies.&nbsp; But then Corey goes on to discuss the evolution of the definition and how Ian Foster has defined 3 requirements for being considerred a grid.&nbsp; According to Ian a grid:</p>
<ol>
<li>Coordinates resources that are not subject to centralized control;</li>
<li>Uses standard, open, general-purpose protocols and interfaces; and</li>
<li>Delivers nontrivial qualities of service.</li>
</ol>
<p>So Appistry again easily meets 1 &amp; 3 above.&nbsp; However 2. is debatable.&nbsp; We have our own xml based meta-data syntax that we use to coordinate task execution.&nbsp; We have discussed exposing this as WSDL and BPEL (which would be much more verbose) but then at least it would be &quot;standard&quot;.&nbsp; We are based on good old TCP/IP and UDP/IP so that sounds like general-purpose protocols to me.&nbsp; So basically if I provided a set of XSLT transforms from our succint meta-data syntax to WSDL and/or BPEL would that then make us a true grid by Ian Foster&#8217;s definition?</p>
<p>Corey and I met for lunch today and discussed this idea and other things over awesome food at Illegal Pete&#8217;s in downtown Denver.&nbsp; Ultimately I think we both decided that Appistry isn&#8217;t the purist form of a grid, but that we were compatible with it.&nbsp; We also discussed the industies move toward using the term &quot;grid&quot; in a larger way in the market place.&nbsp; <a href="http://fuzzypanic.blogspot.com">Fuzzy&#8217;s blog</a> discusses <a href="http://fuzzypanic.blogspot.com/2007/05/many-flavors-of-grid-computing.html">this concept</a> and refers to others who attempt to define the classes of grids that exist in the market place today.</p>
<p>We don&#8217;t like to call our product an application server or a cluster because that term has so much baggage.&nbsp; If we just call it a grid then its not clear how we are different than the efforts of the original father&#8217;s of grid computing.&nbsp; So we&#8217;ve settled on the term &quot;virutualized grid&quot;.&nbsp; It would be cool to hold a vote to see how developers and architects describe software in this space.&nbsp; Maybe <a href="http://slashdot.org">Slashdot</a> could do a poll.&nbsp;&nbsp;I&nbsp;would&nbsp;vote for Cowboy Neal Grid.</p>
<p>-j</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Freliability%2Fthat-depends-on-what-the-definition-of-grid-is%2F&amp;title=That+depends+on+what+the+definition+of+Grid+is', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/reliability/that-depends-on-what-the-definition-of-grid-is/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open source vs. commercial software</title>
		<link>http://www.appistry.com/blogs/jasen/fabric/open-source-vs-commercial-software/</link>
		<comments>http://www.appistry.com/blogs/jasen/fabric/open-source-vs-commercial-software/#comments</comments>
		<pubDate>Sat, 19 May 2007 03:35:31 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[fabric]]></category>

		<category><![CDATA[grid]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/fabric/open-source-vs-commercial-software/</guid>
		<description><![CDATA[I just read an interesting thread over at Panic from Fuzzy&#8217;s blog.&#160; Here is the thread&#8230; 
My favorite commenter Cameron Purdy of Tangosol/Oracle engaged in a friendly exchange with Fuzzy about the economics of releasing software as open source rather than keeping it closed and charging for licenses.&#160; I am a big open source advocate [...]]]></description>
			<content:encoded><![CDATA[<p>I just read an interesting thread over at <a href="http://fuzzypanic.blogspot.com/">Panic from Fuzzy&#8217;s</a> blog.&nbsp; <a href="http://www.blogger.com/comment.g?blogID=8655567&amp;postID=5121607495629866467">Here is the thread&#8230; </a></p>
<p>My favorite commenter <a href="http://www.jroller.com/page/cpurdy">Cameron Purdy</a> of Tangosol/Oracle engaged in a friendly exchange with Fuzzy about the economics of releasing software as open source rather than keeping it closed and charging for licenses.&nbsp; I am a big open source advocate and I proudly wear my OpenBSD shirt in public.&nbsp; However I have never worked for an open source software company.&nbsp; I don&#8217;t think that many people do actually.</p>
<p><a href="http://www.appistry.com">Appistry</a> is not an open source company, although we love open source software and are very careful not to lock in our customers.&nbsp; I was very impressed with our CEO, Kevin Haar,&nbsp;when he advocated for adding even more features to our product to make it easy for customers to remain decoupled from any of our proprietary APIs.&nbsp; However, we still charge money for our product and we don&#8217;t publish the source code.&nbsp; But does charging money make us evil?&nbsp; I don&#8217;t think so or I wouldn&#8217;t work here.&nbsp; Fuzzy is clearly a strong open source advocate, but if you follow his argument to the extreme does that mean software&nbsp;should always be free?&nbsp; Cameron points out that the amount of revenue made at a service company is much lower than a product company.&nbsp; So are we here in the good old USA now supposed to give everything away because Apache and JBoss do?</p>
<p>I don&#8217;t know the answer, I only know that I like writing software for a living, and as long as companies like BEA and IBM are charging for their software and making millions then why can&#8217;t everybody else try?&nbsp; One of Fuzzy&#8217;s points was standards, I totally get that.&nbsp; Being a software architect, I have been careful to&nbsp;leverage standards whenever possible.&nbsp; But if a product doesn&#8217;t lock you in architecturally and has years of intellectual property built up to help solve a problem, why can&#8217;t you charge for it?</p>
<p>I don&#8217;t think the whole software community wants to work as consultants during the day just so they can code open source apps at night.&nbsp; There will always be a product market as long as the product 1) works and 2) makes sense economically.&nbsp; I know full well that as our technology becomes more broad there will be a call to build an open source platform that is similar.&nbsp; That&#8217;s fine, even JBoss doesn&#8217; t have 100% market share.&nbsp; And it never will, service companies cannot scale to the necessary size so a vacuum will always exist for product companies that can afford to support customers because of their license revenue.&nbsp; So the waxing and waning of products and OSS will come and go.&nbsp;&nbsp;But there will always be free software and there will always be commercial software.&nbsp; That&#8217;s just the rules of the game now.</p>
<p>Or not.&nbsp; If I was any good at making predictions about software I would have bought Microsoft stock back in the early nineties.&nbsp; What can I say, I thought Windows 3.11 sucked.</p>
<p>-j</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Ffabric%2Fopen-source-vs-commercial-software%2F&amp;title=Open+source+vs.+commercial+software', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/fabric/open-source-vs-commercial-software/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaOne &#8216;07 - Day 4</title>
		<link>http://www.appistry.com/blogs/jasen/fabric/javaone-07-day-4/</link>
		<comments>http://www.appistry.com/blogs/jasen/fabric/javaone-07-day-4/#comments</comments>
		<pubDate>Sun, 13 May 2007 01:28:01 +0000</pubDate>
		<dc:creator>Jasen</dc:creator>
		
		<category><![CDATA[fabric]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[JavaOne]]></category>

		<guid isPermaLink="false">http://www.appistry.com/blogs/jasen/fabric/javaone-07-day-4/</guid>
		<description><![CDATA[I&#8217;m a little behind schedule on this post. We found a piano bar and didn&#8217;t get back to the hotel until early&#160;in the&#160;morning.&#160; I can still hear the chorus to Tiny Dancer ringing in my ears.
The last day of the booths being open at JavaOne was awesome.&#160; We had a lot of people wanting to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a little behind schedule on this post. We found a piano bar and didn&#8217;t get back to the hotel until early&nbsp;in the&nbsp;morning.&nbsp; I can still hear the chorus to Tiny Dancer ringing in my ears.</p>
<p>The last day of the booths being open at JavaOne was awesome.&nbsp; We had a lot of people wanting to talk about how to solve problems.&nbsp; It&#8217;s great to see people really resonate with our solution.&nbsp; I was in one discussion with a guy named Mike Moleschi from the University of Oxford who presented an <a href="http://www-jpc.physics.ox.ac.uk">x86 emulator</a> that ran on a Java VM.&nbsp; It sounded really awesome.&nbsp; He is also part of the group working on the <a href="http://www.nereus.physics.ox.ac.uk">Nereus Project</a> which is a &quot;Massively Parallel Computing&quot; platform.&nbsp; I am definitely going to have to play with the x86 emulator. I have some old DOS games that I&#8217;d love to play again.&nbsp; I told my wife that saving those boxes of old software would come in handy someday.</p>
<p>All in all, JavaOne has been a perfect show for <a href="http://www.appistry.com">Appistry</a>.&nbsp; The attendees that come to the show are thinking about issues they need to solve and are looking for ideas.&nbsp; I really enjoyed engaging with so many developers and architects.&nbsp; The domains were diverse and interesting and the people were friendly.</p>
<p>I ended my San Francisco trip by shopping a little in Chinatown before catching a shuttle back to SFO.&nbsp; Downtown San Francisco is an awesome place.&nbsp; I hope to see you next year. Maybe the slinkys will make a come back.</p>
<p>-j</p>
<div><a href="http://www.addthis.com/bookmark.php" onclick="window.open('http://www.addthis.com/bookmark.php?pub=&amp;url=http%3A%2F%2Fwww.appistry.com%2Fblogs%2Fjasen%2Ffabric%2Fjavaone-07-day-4%2F&amp;title=JavaOne+%2707+-+Day+4', 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://s3.addthis.com/button1-bm.gif" width="125" height="16" border="0" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.appistry.com/blogs/jasen/fabric/javaone-07-day-4/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
