<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>intellectualcramps</title>
	<atom:link href="http://intellectualcramps.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://intellectualcramps.wordpress.com</link>
	<description>A little bit of this and a little bit of that.</description>
	<lastBuildDate>Tue, 31 Jan 2012 19:44:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='intellectualcramps.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>intellectualcramps</title>
		<link>http://intellectualcramps.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://intellectualcramps.wordpress.com/osd.xml" title="intellectualcramps" />
	<atom:link rel='hub' href='http://intellectualcramps.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Does Popularity = Success?</title>
		<link>http://intellectualcramps.wordpress.com/2012/01/26/does-popularity-success/</link>
		<comments>http://intellectualcramps.wordpress.com/2012/01/26/does-popularity-success/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 01:24:30 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://intellectualcramps.wordpress.com/?p=941</guid>
		<description><![CDATA[Does the current popularity of an open source project, automatically mean that it is successful?   It can but how do we define successful for an open source project? Just because a project is popular does not necessarily mean that &#8230; <a href="http://intellectualcramps.wordpress.com/2012/01/26/does-popularity-success/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=941&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Does the current popularity of an open source project, automatically mean that it is successful?   It can but how do we define successful for an open source project?</p>
<p>Just because a project is popular does not necessarily mean that it is successful.  It just means at that point in time and duration it is also getting a lot of attention.   I&#8217;ve been involved with a wide variety of open source projects over the last 15 years.  Several I&#8217;ve started. Several I&#8217;ve participated in from both as a community member and as a committer.   Some I would say have been popular at one point or another, other&#8217;s I would say never hit the &#8220;High School&#8221; popularity meter thresh hold.</p>
<p><a href="http://www.learnersdictionary.com/search/popularity">Popularity</a> is defined by Merriam-Webster&#8217;s Learner&#8217;s dictionary as, &#8220;state of being liked, enjoyed, accepted, or done by a large number of people <strong>:</strong> the quality or state of being popular&#8221;.</p>
<p><a href="http://www.learnersdictionary.com/search/successful">Successful</a> is defined as &#8220;having the correct or desired result.&#8221;   So being successful does not necessarily equal popularity.   A successful open source project is one that has met its desired goals and objectives.   One of them could be, to become popular, and blogged about, and tweeted about constantly, but the winds of popularity change at a moments notice.  Success lasts for as long as the project is meeting its stated goals.</p>
<p>Success is defined by the commiters and the community that forms around the project.  Is it meeting its user&#8217;s needs?  Is it growing its user community and committer base?  Is it adapting and changing to meet knew requirements?   These are just some of the criteria that a project can be measured on to be successful.  Yes, popularity can be one criteria, but it should not be the sole deciding factor.</p>
<p>We need to be careful on tying success to popularity alone.   There are many projects out there that I would consider successful that have never hit the popularity threshold.  Those projects may not be used by Millions of people, but they have built a community around their project, and provide value to that community.   How many people are using it, or number of companies that have adopted it, should not take away from the success of the project if it has met its objectives.</p>
<p>So success is going to mean different things to different people.  There is no one way to measure if project is successful.  To me, if your project even gets a handful of people forming a community around it, you are already successful.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/941/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/941/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/941/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/941/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/941/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/941/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/941/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/941/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/941/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/941/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/941/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/941/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/941/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/941/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=941&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2012/01/26/does-popularity-success/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>
	</item>
		<item>
		<title>Caging Knowledge</title>
		<link>http://intellectualcramps.wordpress.com/2012/01/21/caging-knowledge/</link>
		<comments>http://intellectualcramps.wordpress.com/2012/01/21/caging-knowledge/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 18:19:54 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[documentation]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://intellectualcramps.wordpress.com/?p=936</guid>
		<description><![CDATA[So, Apple&#8217;s recent iBooks 2 announcement has many drooling in the media.  While I applaud the attempt to make textbooks more affordable, I do not like the proprietary nature of the implementation.   Consumers are getting locked more and more &#8230; <a href="http://intellectualcramps.wordpress.com/2012/01/21/caging-knowledge/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=936&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So, Apple&#8217;s recent <a href="http://www.apple.com/pr/library/2012/01/19Apple-Reinvents-Textbooks-with-iBooks-2-for-iPad.html">iBooks 2 announcement</a> has many drooling in the media.  While I applaud the attempt to make textbooks more affordable, I do not like the proprietary nature of the implementation.   Consumers are getting locked more and more into walled gardens.   If one legally purchases a digital book, movie, or song, they should be able to take and use this media on any device.   Unfortunately, it seems there is a big push to the Cloud to lock people into specific platforms.   This is great for the companies, but not so great for us as consumers.</p>
<p>If I leave said company&#8217;s ecosystem, and want my the same media elsewhere, if they do not give me a way to download those purchases and then upload them somewhere else, then I&#8217;m screwed as a consumer.  I&#8217;ll have to repurchase said items again.   The other disturbing item is that the book formats are not standardized, or they have DRM added to them.   Copyright should be protected but not at the expense of allowing a consumer to legaly move their digital content to other platforms.</p>
<p>Apple isn&#8217;t the sole cause of concern.  As more content moves to the cloud for storage, we as consumers should be demanding that our content is stored and available in a standard format for offline consumption.   Amazon Kindle and the Barnes and Noble Nook are also cause for concern, but not as much because you aren&#8217;t locked into a particular device to view the content.  Amazon and Nook should make the content available that you purchase in a standard format so that you do not need to re-purchase it elsewhere.</p>
<p>While I&#8217;m not a big fan of the Google book store, at least they provide some instructions on how to download your content for offline viewing, into ePub or PDF format.   Personally, ePub is a much better format than PDF and works better across devices.   Like or hate, Google, they are at least giving you the option to take your purchases with you if you decide to leave their cloud based system.</p>
<p>The big problem though with the Apple announcement is the fact that it locks you into the iPad/iPhone/iCloud ecosystem.  If I was part of a schools IT system, I&#8217;d be raising all sorts of hell about this lock in.  For one thing, it requires an iPad.  Not something that every school can or should have to purchase to educate children.   If the content was available in a standardized format, and available on multiple non-Apple devices I probably would not have as much problem with the announcement.   The costs are also out of wack for the public education system, as the books have to be purchased each year by the students.  Currently most schools loan the books to the students, and they turn them back in at the end of the year.   The current format of making the students by each of the books, is cost prohibitive to many in the public and even private education systems.</p>
<p>The proprietary nature can be addressed through standardization, and making sure we as consumers are demanding that our digital content work across multiple devices.  If you buy a book through the bookstores for Amazon, Apple, Google, Barnes and Noble, or other retailers, that purchase should work on whatever device you have.   If you want to use it on your Kindle, and purchased it from Apple, it should work.</p>
<p>Unfortunately, we as consumers seem to be getting complacent.  We seem to be taking the easy way out, and only really are protactive on something once it really seems to affect us.  Take a look at the recent Blackout by Wikipedia on the whole SOPA thing.   The vast majority of people probably had no clue what was happening until they could no longer access their content.   Now imagine the same thing happening for your other digital content being held in the Cloud.</p>
<p>I love the idea of digital textbooks, especially for the higher education institutions, I just think it needs to be portable and not locked into proprietary clouds and data formats.  Knowledge should not be caged.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/936/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=936&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2012/01/21/caging-knowledge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>
	</item>
		<item>
		<title>New Year, New Challenges</title>
		<link>http://intellectualcramps.wordpress.com/2012/01/06/new-year-new-challenges/</link>
		<comments>http://intellectualcramps.wordpress.com/2012/01/06/new-year-new-challenges/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 18:25:43 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[orion]]></category>
		<category><![CDATA[turmeric]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xslt]]></category>

		<guid isPermaLink="false">http://intellectualcramps.wordpress.com/?p=932</guid>
		<description><![CDATA[For the last year and half I have been working with eBay through Intalio, on the Turmeric SOA project.   With the new year, I&#8217;ll be transitioning off the Turmeric SOA project to an internal Intalio project.   I&#8217;ll still &#8230; <a href="http://intellectualcramps.wordpress.com/2012/01/06/new-year-new-challenges/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=932&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For the last year and half I have been working with eBay through Intalio, on the <a href="https://www.ebayopensource.org/index.php/Turmeric/HomePage">Turmeric SOA</a> project.   With the new year, I&#8217;ll be transitioning off the Turmeric SOA project to an internal <a href="http://www.intalio.com">Intalio</a> project.   I&#8217;ll still be involved with Turmeric, just not as much as I have been in the past.    Turmeric SOA will still be developed and lead by <a href="http://www.ebay.com/">eBay</a>  and hosted on their <a href="https://www.ebayopensource.org/">eBay Open Source</a> portal, and for those that need to support developing and deploying a SOA with in their Enterprise I still think it can be a good fit and something to at least consider.</p>
<p>The new project I&#8217;ll be working on gets me back to some of the things I like to do, plus will finally get me to learn some of the newer languages and play with  other technologies.   It should also free me up a bit to address some of the open source projects I&#8217;ve had to neglect over the last year at eclipse.  So hopefully, I&#8217;ll be able to get to some of the eclipse XSL Tools bugs reports, and maybe..just maybe, I&#8217;ll look at <a href="http://wiki.eclipse.org/Orion">Orion</a> and see what it would take to get an XML/XSLT editor going there.</p>
<p>I&#8217;ve got a lot of little projects going on at <a href="https://github.com/kingargyle">github</a> as well, and I&#8217;ve got some ideas around improving the state of  web service documentation that I feel are necessary to explore.   The early part of this year I have some presentations lined up at <a href="http://www.starstandard.org/">STAR</a> and <a href="http://www.hr-xml.org/?">HR-XML</a> around REST and Web 2.0.  So I hope to explore how to get organisations like <a href="http://www.oagis.org/">OAGI</a> and related data standard bodies looking at not just XML but how to play well with JSON in the new Web 2.0 world.</p>
<p>So I wish the Turmeric SOA project well, but I&#8217;m really looking forward to getting my hands back into some new stuff this year.  Embrace change, good things tend to happen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/932/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/932/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/932/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/932/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/932/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/932/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/932/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/932/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/932/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/932/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/932/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/932/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/932/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/932/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=932&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2012/01/06/new-year-new-challenges/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>
	</item>
		<item>
		<title>Testing Turmeric SOA Web Services</title>
		<link>http://intellectualcramps.wordpress.com/2011/12/21/testing-turmeric-soa-web-services/</link>
		<comments>http://intellectualcramps.wordpress.com/2011/12/21/testing-turmeric-soa-web-services/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 23:26:25 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[turmeric]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[wsdl]]></category>

		<guid isPermaLink="false">http://intellectualcramps.wordpress.com/?p=929</guid>
		<description><![CDATA[With the recent release of Turmeric SOA 1.1.0, I thought it was a good time to revist some of the tutorials around Turmeric.  While working on updating some these, I realised we can make testing of the web services a &#8230; <a href="http://intellectualcramps.wordpress.com/2011/12/21/testing-turmeric-soa-web-services/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=929&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With the recent release of <a href="https://www.ebayopensource.org/index.php/Turmeric/HomePage">Turmeric SOA 1.1.0</a>, I thought it was a good time to revist some of the tutorials around Turmeric.  While working on updating some these, I realised we can make testing of the web services a lot more painless.   Enter the jetty-maven-plugin.</p>
<p>We will use the jetty:run-war plugin.   To get started create a maven war project.  You can use the maven webapp archetype to create the project.  Once that is completed, you will need to add a dependency to your Turmeric SOA service implementation project and add a plugin entry to specify the version of jetty to use.   You will end up with something like this:</p>
<p><pre class="brush: xml;">

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;
  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  &lt;groupId&gt;com.example.test&lt;/groupId&gt;
  &lt;artifactId&gt;test-hello-world&lt;/artifactId&gt;
  &lt;version&gt;1.0.0-SNAPSHOT&lt;/version&gt;
  &lt;name&gt;Test Hello World Web App&lt;/name&gt;
  &lt;packaging&gt;war&lt;/packaging&gt;

  &lt;dependencies&gt;
     &lt;dependency&gt;
         &lt;groupId&gt;org.ebayopensource.turmeric.impl&lt;/groupId&gt;
         &lt;artifactId&gt;DemoHelloWorldV1&lt;/artifactId&gt;
         &lt;version&gt;1.0.0&lt;/version&gt;
     &lt;/dependency&gt;
  &lt;/dependencies&gt;
  &lt;build&gt;
    &lt;plugins&gt;
      &lt;plugin&gt;
        &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;
        &lt;artifactId&gt;jetty-maven-plugin&lt;/artifactId&gt;
        &lt;version&gt;7.5.4.v20111024&lt;/version&gt;
      &lt;/plugin&gt;
    &lt;/plugins&gt;
  &lt;/build&gt;

&lt;/project&gt;

</pre></p>
<p>To test and deploy your web service, you just need to type run: <strong>mvn jetty:run-war</strong></p>
<p>You can test that the service is deployed by point your favorite web browser to <strong>http://localhost:8080/DemoHelloWorldV1?wsdl</strong></p>
<p>Remember to replace the above with the name of your service.</p>
<p>I typically use this for some quick testing of changes done to a service, or items that need some sort of integration testing.  You could also use this to help with some automated testing, but in those cases I recommend writing your test to extend from the Turmeric SOA jetty-common-tests framework.  This framework provides an embedded instance of jetty that can be used in integration tests.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/929/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=929&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2011/12/21/testing-turmeric-soa-web-services/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>
	</item>
		<item>
		<title>Turmeric SOA 1.1.0 Released</title>
		<link>http://intellectualcramps.wordpress.com/2011/12/15/turmeric-soa-1-1-0-released/</link>
		<comments>http://intellectualcramps.wordpress.com/2011/12/15/turmeric-soa-1-1-0-released/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 17:59:04 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[cassandra]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[turmeric]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[policy admin]]></category>

		<guid isPermaLink="false">http://intellectualcramps.wordpress.com/?p=924</guid>
		<description><![CDATA[Turmeric SOA 1.1.0 is now available for download. https://www.ebayopensource.org/index.php/Turmeric/Downloads Included in this release are several new features and improvements. Cassandra storage support for both Rater Limiter, Runtime, and Monitoring Console. Metrics are captured and stored in a cassandra data store. &#8230; <a href="http://intellectualcramps.wordpress.com/2011/12/15/turmeric-soa-1-1-0-released/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=924&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.ebayopensource.org/index.php/Turmeric/HomePage">Turmeric SOA </a>1.1.0 is now available for download.</p>
<p>https://www.ebayopensource.org/index.php/Turmeric/Downloads</p>
<p>Included in this release are several new features and improvements.</p>
<ul>
<li><a href="http://cassandra.apache.org/">Cassandra</a> storage support for both Rater Limiter, Runtime, and Monitoring Console. Metrics are captured and stored in a cassandra data store. The JPA option for relational databases is still available for Monitoring and Runtime.</li>
<li><a href="http://www.eclipse.org/jetty/">Jetty</a> Turmeric application server. A pre-configured version of jetty 7.4 with turmeric runtime components and common service handlers has been provided for download. This should make testing and development of turmeric services simplier. All runtime items are deployed to a common location. Support for JPA (using Derby) and Cassandra data sources are available, as well as access to the various Security handlers.</li>
<li><a href="http://code.google.com/p/protobuf/">Protobuf</a> support has been added as an option for serialization and deserialization for services to use.</li>
<li>Expanded support for RESTful web services, using GET, PUT, POST, and DELETE operations.</li>
<li>OSGI improvements with the way classloaders are implemented. This will allow the turmeric runtime components to be used within an OSGI container.</li>
<li>Additional work on the Repository Service has been done.  This version requires WSO2 Governance Registry 4.x, and the service is still beta.  Work continues to implement the full functionality against the WSO2 Governance Registry.</li>
<li>Policy Admin UI is now released as 1.0.0.  Minor bug fixes have been included.  See the release notes for more information.</li>
</ul>
<p>Many bug fixes, and tweaks have been done as well. For further information please seen the <a href="https://www.ebayopensource.org/wiki/display/TURMERICDOC110GA/Release+Notes%2C+Turmeric+1.1.0">release notes</a>.</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/924/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=924&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2011/12/15/turmeric-soa-1-1-0-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>
	</item>
		<item>
		<title>Adding JSONP support to a Web Service</title>
		<link>http://intellectualcramps.wordpress.com/2011/12/11/adding-jsonp-support-to-a-web-service/</link>
		<comments>http://intellectualcramps.wordpress.com/2011/12/11/adding-jsonp-support-to-a-web-service/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 17:42:59 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[json]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[turmeric]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://intellectualcramps.wordpress.com/?p=920</guid>
		<description><![CDATA[With the Turmeric SOA runtime framework, and in particular the binding framework, a web service can return data in a variety of formats.  This is accomplished through the use of a plugable request/response serialization/deserialization framework.   As of version 1.0, &#8230; <a href="http://intellectualcramps.wordpress.com/2011/12/11/adding-jsonp-support-to-a-web-service/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=920&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With the <a href="https://www.ebayopensource.org/index.php/Turmeric/HomePage">Turmeric SOA</a> runtime framework, and in particular the binding framework, a web service can return data in a variety of formats.  This is accomplished through the use of a plugable request/response serialization/deserialization framework.   As of version 1.0, it can support SOAP, XML, JSON, Name Value, and XMLInfoSet.  With the soon to be released, 1.1 version, it will add <a href="http://code.google.com/p/protobuf/">Google ProtoBuf</a> support as well.</p>
<p><a href="https://www.ebayopensource.org/jira/browse/TURMERIC-295">Natively it doesn&#8217;t support</a> <a href="http://en.wikipedia.org/wiki/JSONP">JSONP</a>, which is used by many javascript applications.   However, you can easily add this support to your web service by adding a filter in your web.xml for your service.   Hidden out on Google Code is a project called, <a href="http://code.google.com/p/jsonp-java/">jsonp-java</a>.   It basically looks for response types that have the application/json, text/json, application/x-json, and other related mime-types.   If there is a callback parameter specified in the request, it will wrap the JSON data returned with the function name to be called.</p>
<p>To add this support to a Turmeric SOA web service or any web service that returns json, add the following code to your web.xml.</p>
<p><pre class="brush: xml;">

  &lt;filter&gt;
      &lt;display-name&gt;jsonp&lt;/display-name&gt;
      &lt;filter-name&gt;jsonp&lt;/filter-name&gt;
      &lt;filter-class&gt;org.jsonp.JsonpFilter&lt;/filter-class&gt;
      &lt;init-param&gt;
         &lt;param-name&gt;jsonp&lt;/param-name&gt;
         &lt;param-value&gt;jsonpCallback&lt;/param-value&gt;
      &lt;/init-param&gt;
      &lt;init-param&gt;
         &lt;param-name&gt;json-mime-types&lt;/param-name&gt;
         &lt;param-value&gt;application/json&lt;/param-value&gt;
      &lt;/init-param&gt;
   &lt;/filter&gt;

   &lt;filter-mapping&gt;
      &lt;filter-name&gt;jsonp&lt;/filter-name&gt;
      &lt;url-pattern&gt;*&lt;/url-pattern&gt;
   &lt;/filter-mapping&gt;


   &lt;mime-mapping&gt;
      &lt;extension&gt;json&lt;/extension&gt;
      &lt;mime-type&gt;application/json&lt;/mime-type&gt;
   &lt;/mime-mapping&gt;

</pre></p>
<p>If you need to support other mime types, add an appropriate mime mapping to the web.xml.  If you are using maven to build your WAR files, then you will need to add the jsonp.jar as a dependency during your war creation.</p>
<p><pre class="brush: xml;">
      &lt;dependency&gt;
         &lt;groupId&gt;org.jsonp&lt;/groupId&gt;
         &lt;artifactId&gt;jsonp&lt;/artifactId&gt;
         &lt;version&gt;1.0.1&lt;/version&gt;
      &lt;/dependency&gt;

</pre></p>
<p>Unfortunately the jsonp jar file is not in maven central so you will need to checkout the code and install it into your local repository.  Just run a <code>mvn clean install</code> after checking out the project.   The code currently is only available in a Subversion repository, but I&#8217;ll put my git version of the repository online shortly at github.</p>
<p>Once everything is setup and deployed.  To have a JSON request return as a JSONP request with Turmeric, you can add a <code>jsonpCallback</code> request parameter as part of your URL request.</p>
<p><pre class="brush: plain;">
localhost:8083/starws/StarWebServiceV1?X-TURMERIC-OPERATION-NAME=pullMessage&amp;X-TURMERIC-RESPONSE-DATA-FORMAT=JSON&amp;jsonpCallback=someFunction
</pre></p>
<p>Set the jsonpCallback query string to the name of the function that should be executed.  When the response is returned, the JSON data will be wrapped with the function to be executed on the callback.</p>
<p><pre class="brush: jscript;">
someFunction({
    &quot;jsonns.ns2&quot;: &quot;http://www.starstandards.org/webservices/2009/transport&quot;,
    &quot;jsonns.ns3&quot;: &quot;http://www.starstandards.org/webservices/2009/transport/bindings&quot;,
    &quot;jsonns.ms&quot;: &quot;http://www.ebayopensource.org/turmeric/common/v1/types&quot;,
    &quot;jsonns.xs&quot;: &quot;http://www.w3.org/2001/XMLSchema&quot;,
    &quot;jsonns.xsi&quot;: &quot;http://www.w3.org/2001/XMLSchema-instance&quot;,
    &quot;ns2.PullMessageResponse&quot;: {
        &quot;ns2.payload&quot;: {
            &quot;ns2.content&quot;: [
                {
                    &quot;@id&quot;: &quot;1&quot;
                }
            ]
        }
    }
});
</pre></p>
<p>The reason for the funky JSON, is that Turmeric SOA supports it&#8217;s own flavor of <a href="https://www.ebayopensource.org/wiki/display/TURMERICDOC/JSON">namespaces for JSON</a>.  Useful for dealing with existing XML formats that also need to served in a JSON format.  There are multiple ways to handle this and the above representation is just another flavor.   More on this in a future post.</p>
<p>The jsonp filter can be used with any web service that can return JSON data, it just needs to have the jsonpCallback query parameter set, so this isn&#8217;t limited to the Turmeric SOA framework.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/920/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=920&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2011/12/11/adding-jsonp-support-to-a-web-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>
	</item>
		<item>
		<title>Enterprise SOAP Services in a Web 2.0 REST/JSON World</title>
		<link>http://intellectualcramps.wordpress.com/2011/12/05/enterprise-soap-services-in-a-web-2-0-restjson-world/</link>
		<comments>http://intellectualcramps.wordpress.com/2011/12/05/enterprise-soap-services-in-a-web-2-0-restjson-world/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 20:06:02 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[json]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[turmeric]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[wsdl]]></category>

		<guid isPermaLink="false">http://intellectualcramps.wordpress.com/?p=913</guid>
		<description><![CDATA[Many enterprises have devoted a large amount of time and energy into supporting the W3C SOAP and Web Service stack.  In fact many people,  when the term Service Oriented Architecture is brought up automatically think this is SOAP and the &#8230; <a href="http://intellectualcramps.wordpress.com/2011/12/05/enterprise-soap-services-in-a-web-2-0-restjson-world/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=913&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://intellectualcramps.files.wordpress.com/2011/12/webservicestack.png"><img class="aligncenter size-full wp-image-914" title="webservicestack" src="http://intellectualcramps.files.wordpress.com/2011/12/webservicestack.png?w=640&#038;h=429" alt="The W3C Web Service Stack" width="640" height="429" /></a>Many enterprises have devoted a large amount of time and energy into supporting the W3C SOAP and Web Service stack.  In fact many people,  when the term Service Oriented Architecture is brought up automatically think this is SOAP and the Web Service stack that goes along with it.   However, this is wrong.   RESTful JSON/XML web services are also a key aspect to implementing a SOA.  SOA is much more though than just a web service a series of web services.  There is the need to monitor, track, and manage access to the services.    So regardless if you are implementing SOAP based web services or not the concepts developed over the years still apply.</p>
<p>With the popularlity of JSON and other NoSQL data standard formats, the complexity and in some cases the plain verbosity of XML formats are being shunned.  However, XML and the abilities and standards that have formed around it have become key to the enterprise and their business processes.   However, the needs of their customers require that they start to support multiple formats.    To this end, tooling frameworks like Axis2 have started to add support for taking WSDL based services and generate JSON responses.</p>
<p>Enterprises need to live in this post SOAP world, but leverage the expertise and SOA infrastructures they have developed over the years.   <a href="http://axis.apache.org/axis2/java/core/docs/json_support.html">Axis2</a> is one way to do it, but it doesn&#8217;t provide monitoring and policy support of the box.   Another alternative is the <a href="https://www.ebayopensource.org/index.php/Turmeric/HomePage">Turmeric SOA</a> project from ebay.    Natively out of the box one can take a WSDL like, the one provided by the STAR standard organization, and add support not only from SOAP 1.1/1.2, but also for REST style services serving XML, JSON, and other any other data format you would need to support.</p>
<p>There is a catch though, Turmeric SOA was not designed with full SOAP and the W3C web service stack in mind.  It uses WSDL to only describe the operations and the data formats supported by the service.   So advanced features like WS-Security, WS-Reliable Messaging, and XML Encryption are not natively built into Turmeric.   Depending on your needs you will need to work with pipeline Handlers and enhance the protocol processors to support some of the advance features.   However, these are items that can be worked around, and it can interoperate with existing web services to act as a proxy.</p>
<p>As an example, the <a href="http://www.starstandard.org/">STAR</a> organisation provides a <a href="http://www.starstandard.org/guidelines/Architecture/WebServices2011v1/index.html">web service specification</a> that has been implemented in the automative industry to provide transports for their specifications.  Using a framework like Turmeric SOA existing applications can be made available to trading partners and consumer of the service in multiple formats.   As an example, one could provide data in RESTful xml:</p>
<p><pre class="brush: xml;">

&lt;?xml version='1.0' encoding='UTF-8'?&gt;
&lt;ns2:PullMessageResponse xmlns:ms=&quot;http://www.ebayopensource.org/turmeric/common/v1/types&quot; xmlns:ns2=&quot;http://www.starstandards.org/webservices/2009/transport&quot;&gt;
   &lt;ns2:payload&gt;
      &lt;ns2:content id=&quot;1&quot;/&gt;
   &lt;/ns2:payload&gt;
&lt;/ns2:PullMessageResponse&gt;
</pre></p>
<p>Or one can provide the same XML represented in a JSON format:</p>
<p><pre class="brush: jscript;">
{
    &quot;jsonns.ns2&quot;: &quot;http://www.starstandards.org/webservices/2009/transport&quot;,
    &quot;jsonns.ns3&quot;: &quot;http://www.starstandards.org/webservices/2009/transport/bindings&quot;,
    &quot;jsonns.ms&quot;: &quot;http://www.ebayopensource.org/turmeric/common/v1/types&quot;,
    &quot;jsonns.xs&quot;: &quot;http://www.w3.org/2001/XMLSchema&quot;,
    &quot;jsonns.xsi&quot;: &quot;http://www.w3.org/2001/XMLSchema-instance&quot;,
    &quot;ns2.PullMessageResponse&quot;: {
        &quot;ns2.payload&quot;: {
            &quot;ns2.content&quot;: [
                {
                    &quot;@id&quot;: &quot;1&quot;
                }
            ]
        }
    }
}
</pre></p>
<p>The above is generated from the same web service, but with just a header changed to indicate the data format that should be returned.   No actual changes to business logic or the web service implementation code itself has to change.   In Turmeric this is handled with the Data Binding Framework and its corresponding pipeline handlers.   With Axis2 this is a message request configuration entry.   Regardless of how it is done, it is important to be able to leverage existing services, but provide the data in a format that your consumers require.</p>
<p>For those that are interested, I&#8217;ve created a sample STAR Web Service that can be used with Turmeric SOA to see how this works.   Code is available at <a href="https://github.com/kingargyle/starws-turmeric">github</a>.</p>
<p>While Turmeric handles the basics of the SOAP protocol, advance items like using and storing information in the soap:header are not as easily supported.  You can get to the information, but because the use of WSDL in Turmeric Services are there just to describe the data formats and messages, the underlying soap transport support is not necessarily leveraged to the full specification.  Depending on your requirements, Axis2 may be better, but Turmeric SOA provides additional items like Service Metrics, Monitoring Console, Policy Administration, Rate Limiting through XACML 2.0 based policies, and much more.   If you already have existing web services written the W3C way, but need to provide data in other formats, Turmeric can be used along side.  It isn&#8217;t a one or the other proposition.  Leverage the tools that provide you the greatest flexibility to provide the data to your consumers, with the least amount of effort.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/913/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/913/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/913/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/913/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/913/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/913/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/913/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/913/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/913/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/913/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/913/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/913/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/913/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/913/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=913&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2011/12/05/enterprise-soap-services-in-a-web-2-0-restjson-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>

		<media:content url="http://intellectualcramps.files.wordpress.com/2011/12/webservicestack.png" medium="image">
			<media:title type="html">webservicestack</media:title>
		</media:content>
	</item>
		<item>
		<title>Repost: EclipseCon 2012 &#8211; What I WANT!</title>
		<link>http://intellectualcramps.wordpress.com/2011/11/11/repost-eclipsecon-2012-what-i-want/</link>
		<comments>http://intellectualcramps.wordpress.com/2011/11/11/repost-eclipsecon-2012-what-i-want/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 17:29:43 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[eclipsecon]]></category>

		<guid isPermaLink="false">http://intellectualcramps.wordpress.com/?p=911</guid>
		<description><![CDATA[I&#8217;m reposting this, after having reviewed the first batch of submissions.  I&#8217;ve gone through and higlighted some key sections, at least for me.  You have through Monday for early bird selection.  Final submission deadline is Nov 18th. It&#8217;s that time &#8230; <a href="http://intellectualcramps.wordpress.com/2011/11/11/repost-eclipsecon-2012-what-i-want/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=911&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>I&#8217;m reposting this, after having reviewed the first batch of submissions.  I&#8217;ve gone through and higlighted some key sections, at least for me.  You have through Monday for early bird selection.  Final submission deadline is Nov 18th.</em></p>
<p>It&#8217;s that time of year again&#8230;<a href="http://www.eclipsecon.org/2012/">EclipseCon North America</a> submission time.</p>
<p>Like every year, the program committee is asking you to submit your talk early.  <a href="http://ianskerrett.wordpress.com/">Ian</a> and <a href="http://cdtdoug.blogspot.com/">Doug</a> have been cracking the whip pretty hard telling us to blog, so here I am.    One of the topics that came up recently is how do we choose the talks, what are we looking for, who are the rock stars that people want to see.   One sure way is to ask what you want to see or attend at the conference, so provide your feed back here, to Doug, Ian, or any of the other committee members.</p>
<p><a href="http://intellectualcramps.wordpress.com/2010/11/16/eclipsecon-submission-ideas/">Last year</a>, I referenced a paper, &#8220;<a href="http://www.sigplan.org/oopsla/oopsla96/how93.html">How to Get a Paper Accepted at OOPSLA</a>&#8220;, in which it outlined some of the items that, that committee was looking for in a submission.  So I&#8217;ll jot down some things that I&#8217;m looking for below.</p>
<p>I don&#8217;t have a particular technology or niche that I focus on any more, it used to be XML and the related technologies around it, but in most cases the XML tools at eclipse are good enough for most people&#8217;s uses.   So I&#8217;m not necessarily looking in that area, unless something REALLY REALLY cool comes along.  Also if you submitted the same talk in the past or presented it in the past&#8230;.not interested.</p>
<p><strong>I&#8217;m more focused over the last year or two on quality of the code that is produced by a project and developers in general.   How to make sure we keep the code maintainable and the practices around that.</strong>   So static analysis tools like PMD, and FindBugs are interesting, but I want to know how your projects are using these tools to improve your code.   What are the new and interesting things coming out of these tools?  Projects like <a href="http://www.eclipse.org/recommenders/">Code Recommenders</a> peak my interest, and the additions they provide.   Mylyn&#8230;well they do interesting things, so I&#8217;m looking not so much the Core Mylyn task oriented project, but their sub projects, and how they are improving developers lives.</p>
<p><strong>Experience reports from projects migrating to or from a centralized version control system to a distributed version control system.  The pains, the gotchas.</strong>    How can EGit be improved, how are you using JGit to get your work done.   Has moving to a distributed version control system made your life easier, harder?  Are they over hyped?</p>
<p>Builds&#8230;Builds&#8230;Builds.   The battle of the builds continues to happen, but more importantly what can we do about p2?   p2 started as provisioning system for an application, but is being used more and more for to provision a build and a repository for those build artifacts.   <strong>Are you doing any work in the enterprise or open source projects around addressing the issue of stale or non-existant p2 repositories.   How does this affect the reproducability of your build?  Are there ways to address this?  How does the p2 model of a repository compare the Maven Central concept?   Should the Eclipse foundation replicate the model for p2 and if so how?</strong></p>
<p>What are the problems that a project and committers coming from a corporate environment experience when working on a previously closed project that is now open?   How did you adapt, what leasons can be taken away from this?</p>
<p><strong>The web and mobile space is still hot, but how do we evolve our development environment and particularly the eclipse interface to the new touch screen mentality?</strong>   Is there something within Eclipse 4.x platform that allows for adapting to the new platform?  Is SWT even the right technology going forward?  Should we be looking at new ways to develop our user interfaces so they are cleaner and easier to use?   How do we get more UI specialists involved with open source projects in general?</p>
<p>In general, <strong>I&#8217;m interested in things that challenge the status quo, that make me think, and challenge my beliefs.   That help make me more productive, improve the quality of the code I produce, and make it easier for people that use that code.  Give me more demos, and less talk.</strong>  For tutorials, I really want lots of hands on, and short introductions to the topics that will be worked on in an exercise.   Get me up and running quickly.</p>
<p>So those are the types of things that will peak my interest on a submission.  <strong>It&#8217;s not so much the underlying technology (i.e. xtext, xml, emf, css, javascript, json, java, scala, osgi, etc), but what does it enable and improve upon.  Tell me how it improves or challanges the status quo.</strong></p>
<p>I look forward to your many <a href="http://www.eclipsecon.org/2012/submissions-are-open">submissions</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/911/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=911&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2011/11/11/repost-eclipsecon-2012-what-i-want/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>
	</item>
		<item>
		<title>Refactoring: Maintainable Web Services</title>
		<link>http://intellectualcramps.wordpress.com/2011/11/07/refactoring-maintainable-web-services/</link>
		<comments>http://intellectualcramps.wordpress.com/2011/11/07/refactoring-maintainable-web-services/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 21:26:24 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[clean code]]></category>
		<category><![CDATA[craftsmanship]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[turmeric]]></category>

		<guid isPermaLink="false">http://intellectualcramps.wordpress.com/?p=905</guid>
		<description><![CDATA[One of the problems I have with WSDL based web services is the fact that operations are typically generated into one big interface file that must be implemented.   I&#8217;ve seen WSDLs with 50 to 70 operations, and this leads &#8230; <a href="http://intellectualcramps.wordpress.com/2011/11/07/refactoring-maintainable-web-services/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=905&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the problems I have with WSDL based web services is the fact that operations are typically generated into one big interface file that must be implemented.   I&#8217;ve seen WSDLs with 50 to 70 operations, and this leads to a Service/Client Implementation that has 50 to 70 methods that need to be implemented.   The problem here is that the code becomes a magnet for change.  The correct thing to do is to refactor the WSDL into multiple services, but if you can&#8217;t do this and you don&#8217;t have control over the WSDL, how can you deal with this situation?</p>
<p>On twitter I mentioned we had a situation like this on the <a href="http://www.ebayopensource.org/index.php/Turmeric/HomePage">Turmeric SOA</a> project, and I&#8217;ve talked about similar situations regarding various eclipse project code as well.  For Turmeric there is a Repository Service, which provides a specification for Governance of Assets for a service as well as the lifecycle management of these assets.   The initial implementation of which for the WSO2 Governance Registry provider can be see <a href="https://github.com/ebayopensource/turmeric-repository/blob/ea753e5ed08e2c12e927e14a1550ba6d6cd7adaf/repository-service/repository-service-wso2/src/main/java/org/ebayopensource/turmeric/repository/wso2/RepositoryServiceProviderImpl.java">here</a>.   The code is done the way I see a majority of WSDL web service implementations done.  The methods contain all code related operations in the one class file.  This leads to several problems.   First the class is over 1500 lines long, making more difficult to understand what the class is doing and maintain.  Second it has more than one reason to change.   The class is handling Update, Delete, Subscription, Submittal, Add, etc of various repository assets.   So it is a magnet for any change that has to happen in the implementation.  It is difficult to test in isolation, and also tends to lead to some over use of static utility methods.  (The static utility method is another plague, but that is for another post).</p>
<p>There is a general rule of thumb that your classes should ideally be no more 500 lines long, and that they should have very few reasons to change.   The implementation above was refactored into the following:</p>
<ol>
<li><a href="https://github.com/ebayopensource/turmeric-repository/blob/8210f34cb16800b100d2eaf65aa6aa0a8caff716/repository-service/repository-service-wso2/src/main/java/org/ebayopensource/turmeric/repository/wso2/RepositoryServiceProviderImpl.java">Provider Implementation</a>.</li>
<li><a href="https://github.com/ebayopensource/turmeric-repository/tree/8210f34cb16800b100d2eaf65aa6aa0a8caff716/repository-service/repository-service-wso2/src/main/java/org/ebayopensource/turmeric/repository/wso2/operations">Operation Implementations</a>.</li>
</ol>
<p>Each of the operations now only has a single reason to change.  Each class is less than 500 lines, and is a bit easier to understand.   Just because an Interface defines all the methods does not mean that you have to put all the functionality within the class and method.  Break it up, make your code easier to test, and easier to maintain.     Ideally, I&#8217;d refactor this service into at least two or more separate services.   Are there other ways to handle this?  Is there another set of patterns besides Proxy/Delegate that could be used to handle this situation?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/905/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=905&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2011/11/07/refactoring-maintainable-web-services/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>
	</item>
		<item>
		<title>Turmeric SOA at JavaOne</title>
		<link>http://intellectualcramps.wordpress.com/2011/10/02/turmeric-soa-at-javaone/</link>
		<comments>http://intellectualcramps.wordpress.com/2011/10/02/turmeric-soa-at-javaone/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 16:18:00 +0000</pubDate>
		<dc:creator>kingargyle</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[turmeric]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[wsdl]]></category>

		<guid isPermaLink="false">https://intellectualcramps.wordpress.com/2011/10/02/turmeric-soa-at-javaone/</guid>
		<description><![CDATA[On Monday October 3, JavaOne will hold their Birds of a Feather.   Turmeric SOA is on the card.   We&#8217;ll be introducing what the project includes, and how you can get involved.   Sastry Malladi from eBay, the lead Architect behind the &#8230; <a href="http://intellectualcramps.wordpress.com/2011/10/02/turmeric-soa-at-javaone/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=903&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>On Monday October 3, JavaOne will hold their Birds of a Feather.   Turmeric SOA is on the card.   We&#8217;ll be introducing what the project includes, and how you can get involved.   Sastry Malladi from eBay, the lead Architect behind the platform will be there to answer your questions.  Turmeric SOA can be used complimentary to your existing SOA solution, and it can be used to help extend your existing services, so they can provide other data formats.</p>
<p>Stop by and learn about it&#8217;s capabilities, and how you can help out with the project.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intellectualcramps.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intellectualcramps.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intellectualcramps.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intellectualcramps.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intellectualcramps.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intellectualcramps.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intellectualcramps.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intellectualcramps.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intellectualcramps.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intellectualcramps.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intellectualcramps.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intellectualcramps.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intellectualcramps.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intellectualcramps.wordpress.com/903/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intellectualcramps.wordpress.com&amp;blog=20154979&amp;post=903&amp;subd=intellectualcramps&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intellectualcramps.wordpress.com/2011/10/02/turmeric-soa-at-javaone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdec28d17fb2417999492a96fb338eae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kingargyle</media:title>
		</media:content>
	</item>
	</channel>
</rss>
