Re.Mark

My Life As A Blog

Archive for June 2007

wso2 podcast

leave a comment »

Here‘s a podcast that Dana Gardner did with Ron Schmelzer, senior analyst at ZapThink, and Paul Fremantle, co-founder and vice president of technology at wso2.   The transcript is here.

Advertisements

Written by remark

June 25, 2007 at 10:07 pm

wso2 ESB

leave a comment »

Having found Apache Synapse yesterday, I found wso2 ESB today.  It’s built on Synapse and includes a web front end for configuration and management.  The samples work and managing the ESB through the web front end is comfortable – no code required.  In a real world environment, I’d be nervous about configuring the ESB through the web front end – I favour some sort of release process with testing, provision for rollback to last known good configuration and so forth.  Since you can see the XML configuration, a controlled release process is possible.

Written by remark

June 23, 2007 at 7:27 pm

Executable XML

with one comment

Earlier I posted about Synapse.  My biggest concern about Synapse is that there is a lot of XML to write.  To be fair, this is hardly a unique characteristic of Synapse.  nspectre is primarily configured in XML – although you can write your own implementation of IConfigurationReader if you prefer something else.   With the advent of .NET 3.0 XAML is a development that can’t be ignored.

So, all this XML is a great thing, right?  Er, well, no.  I don’t think so.  In a lot of cases, we are using XML as the basis of a DSL – which means that the XML is code.  And that means it gets executed.  And here’s the issue – how do you test all that code?  The unit testing support that is standard fare in most modern languages is absent in this space.  We know what happens when you don’t unit test.  And this gets even worse when the XML is generated by a tool, because in addition to the unit testing issue, it can become difficult to diff – which makes bug detection even harder.  (I should just add a quick note about nspectre here.  Since it generates code at runtime for use by .NET code, it is relatively straightforward to unit test the logic expressed in the configuration – which means you can write unit tests that express the intent and if you change the config in a way that breaks the tests then you know you have a problem.)

I also get the feeling that sometimes XML is being used to add a dynamic capability to static languages.  If that is the case, then shouldn’t we be using languages that have the features we want?

I like flexibility as much as the next person, but I’m concerned about anything that is a block to change.  And executable XML often falls into this category.  Proceed with caution.

Written by remark

June 23, 2007 at 1:28 pm

Synapse

leave a comment »

I came across Synapse yesterday.  There’s a good overview of Synapse on the IBM site here.  This morning I downloaded the 1.0 release and followed a few of the many examples.  The first observation is that Synapse starts up quickly and the samples I tried worked.  The second observation is that it seems very powerful – especially the ability to specify dynamic elements of the configuration in external XML files (here‘s an example.)  You can also use languages like Javascript, Ruby and Python to extend Synapse, courtesy of the Bean Scripting Frameworkhere‘s an example using Ruby.

So, first impressions are good.  This is a framework that doesn’t get in the way and works as I’d hope.  I’ve looked at other ESBs and they’ve either made my eyes bleed because of their complexity or I couldn’t really see that they would play nicely with .NET – ok, they all play nicely with .NET if you restrict yourself to web services, but then you lose so much of what many ESBs offer.

Written by remark

June 23, 2007 at 10:06 am

Feedburner

leave a comment »

Since WordPress.com retired feedstats, I, like Ben, have set up a feedburner feed.  If you’re currently subscribed, it’d be great if you could update your feed.  The new feed location is:

http://feeds.feedburner.com/Remark

Written by remark

June 18, 2007 at 9:47 pm

Posted in General, Tools

Request-Response with ActiveMQ and NMS

leave a comment »

I’ve posted an article about how to implement request-response with ActiveMQ and NMS.   Read it here.

Written by remark

June 16, 2007 at 6:06 pm

Reading habits

leave a comment »

I’ve just changed my feed reader.  I’d been using JetBrains Omea Pro until recently and Omea Reader before it.  I tried a bunch of online readers, but never got on with them.  I tried using a desktop reader at home and at work, but the lack of synchronisation was too painful.  At home, I need a Mac based reader.  So I’ve settled on NetNewsWireLite for now, and the web based NewsGator Online for PC access.  I wish I’d figured this arrangement out a little sooner.

Written by remark

June 10, 2007 at 10:37 pm

Posted in General, Tools