I know this probably seems sudden - but I'm not going to be blogging here any more.
As of now, my blog is moving to Wordpress.com - come and find me at the new The lost outpost.
Don't forget to update your RSS reader - my new feed is here.
There will be more about the change over at the new blog in the near future.
Sunday, March 26, 2006
Saturday, March 25, 2006
Renewing car tax online
UK-based readers who haven't had to renew their car tax lately may be interested to know that when you get the renewal notice from the DVLA, it now includes information on how to go about doing so on the Internet - avoiding the queues in the Post Office. In fact it also avoids the need to dig out your insurance and MOT documents.
You simply go over to www.direct.gov.uk/taxdisc and enter your reference number. The system checks your insurance and MOT are up-to-date automatically, and you can then pay online.
How well this will work in practice remains to be seen - I suspect it will depend on how long it takes for the new tax disc to arrive in my letter box, since I need a new one by the end of the month. However, this is the first time I've actually been impressed by a so-called "e-Government" / Directgov service, at least in terms of the ease of use. Fingers crossed the disc arrives and doesn't ruin my impression of the service.
Another nice surprise was that under the new VED rules that came out in the Budget on Tuesday, the cost for my car has actually gone down by £5 per year. Not that that would ever be enough for me to vote for Mr "squeeze 'em 'til the pips squeak" Brown, but it was a small bonus.
You simply go over to www.direct.gov.uk/taxdisc and enter your reference number. The system checks your insurance and MOT are up-to-date automatically, and you can then pay online.
How well this will work in practice remains to be seen - I suspect it will depend on how long it takes for the new tax disc to arrive in my letter box, since I need a new one by the end of the month. However, this is the first time I've actually been impressed by a so-called "e-Government" / Directgov service, at least in terms of the ease of use. Fingers crossed the disc arrives and doesn't ruin my impression of the service.
Another nice surprise was that under the new VED rules that came out in the Budget on Tuesday, the cost for my car has actually gone down by £5 per year. Not that that would ever be enough for me to vote for Mr "squeeze 'em 'til the pips squeak" Brown, but it was a small bonus.
Friday, March 24, 2006
Fedora Core 5 and nVidia drivers
As of now, to get nVidia drivers working on FC5, you have to jump through hoops. This has partly to do with the FC5 kernel and partly to do with the driver....
[Via Eudyptula minor]
Well, that puts off my upgrade to FC5 for a while.
Technorati tags: Linux Fedora nVidia
Thursday, March 23, 2006
Information roadmap for WebSphere Message Broker
I've just come across an excellent resource for WMB - the developerWorks Information Roadmap. I don't know how I've never seen this before. It's an excellent resource, bringing together product manuals, Supportpacs, developerWorks articles, tuning and performance information... well worth a visit if you are a broker practitioner. Slightly disappointed that my article on Dynamically updating Web Service interfaces is not listed, I'll have to get in touch with the dW editors.
Technorati tags: IBM broker developerWorks WebSphere
Technorati tags: IBM broker developerWorks WebSphere
The seive-like qualities of Firefox 1.5
I'm sitting here on a train. No network connection.
I pop open the Windows Task Manager and sort by memory usage.
firefox.exe sits at the top of the list, using 433,312K of memory with a VM size of 445,100K. In the time it took me to type that, Mem Usage grew to 433,372K. CPU is at anywhere up to 10%.
To be fair, I have 33 tabs open (including James Governor's interesting thoughts on Open Source messaging, which I've not got around to responding to).
I've been round this loop before, and people have told me, no, Firefox is fine, must be your extensions. Fair point, I have 34 of them. So a few weeks ago, I disabled about half of them. Hasn't helped. Guess I'll just have to disable the other half, and try again.
Mem Usage now 439,088K and rising. Leaky, leaky, leaky.
Technorati tags: firefox MQ
I pop open the Windows Task Manager and sort by memory usage.
firefox.exe sits at the top of the list, using 433,312K of memory with a VM size of 445,100K. In the time it took me to type that, Mem Usage grew to 433,372K. CPU is at anywhere up to 10%.
To be fair, I have 33 tabs open (including James Governor's interesting thoughts on Open Source messaging, which I've not got around to responding to).
I've been round this loop before, and people have told me, no, Firefox is fine, must be your extensions. Fair point, I have 34 of them. So a few weeks ago, I disabled about half of them. Hasn't helped. Guess I'll just have to disable the other half, and try again.
Mem Usage now 439,088K and rising. Leaky, leaky, leaky.
Technorati tags: firefox MQ
Tuesday, March 21, 2006
Movie time
We had a small and belated family celebration of my advanced age on Sunday. Among the gifts was the DVD of Sin City.
It's a stunningly shot film. Time and time again I found myself wondering just how they'd managed to get the different effects to work. I know a little of Frank Miller's work, and this seemed very true to the style.
Very, very grim to watch, and horribly violent. At first I found that OK, because it was done in a comic book style... but it did become a bit much. I'm not a huge fan of violent imagery, and although the visual style and music were both compelling, I'm not sure how often I could rewatch this.
I also thought the story and format of the film was a bit reminiscent of one of my all-time least favourite films (now there's a controversial statement), Pulp Fiction. Surprise surprise, Tarantino was a "guest director" on Sin City. The way the story split, parts ran out of chronological order, and came back together, reminded me of Tarantino. Or maybe it was the other way around.
Apparently there's an extended version available on DVD, that splits the stories out separately rather than having them intertwined.
Sounds like Sin City 2 and Sin City 3 (and probably more) are on the way. I know one person in our family won't be watching it, as she positively hated this first installment. I'm going to have to think about whether I can cope with the next one...
It's a stunningly shot film. Time and time again I found myself wondering just how they'd managed to get the different effects to work. I know a little of Frank Miller's work, and this seemed very true to the style.
Very, very grim to watch, and horribly violent. At first I found that OK, because it was done in a comic book style... but it did become a bit much. I'm not a huge fan of violent imagery, and although the visual style and music were both compelling, I'm not sure how often I could rewatch this.
I also thought the story and format of the film was a bit reminiscent of one of my all-time least favourite films (now there's a controversial statement), Pulp Fiction. Surprise surprise, Tarantino was a "guest director" on Sin City. The way the story split, parts ran out of chronological order, and came back together, reminded me of Tarantino. Or maybe it was the other way around.
Apparently there's an extended version available on DVD, that splits the stories out separately rather than having them intertwined.
Sounds like Sin City 2 and Sin City 3 (and probably more) are on the way. I know one person in our family won't be watching it, as she positively hated this first installment. I'm going to have to think about whether I can cope with the next one...
Monday, March 20, 2006
Review of ESB suites
Network Computing have published their full comparative review of ESB software from a number of different vendors. You may remember that one of the product reviews they ran earlier in the series was for WebSphere Message Broker, which I responded to in a blog post.
Message Broker scores C+, which in my opinion is surprising. I find it remarkable that the product scored relatively low on routing, transformation, and protocol support - especially when the earlier review was pretty positive in these areas. It was marked down on orchestration, which is not so surprising since WebSphere Process Server is the BPEL engine that provides that kind of support. As one of my colleagues has pointed out, the author of the review admits elsewhere that the question of whether an ESB should support BPEL is somewhat contentious, so it is remarkable that orchestration is the single largest weighted factor in the comparison.
It is a shame that there is no score for performance, as my gut feeling is that Message Broker would probably have scored 6 out of 5 on that measure :-)
The other interesting article published a short while ago is Network Computing's market analysis of the ESB.
Technorati tags: IBM WebSphere ESB BPEL message broker
Message Broker scores C+, which in my opinion is surprising. I find it remarkable that the product scored relatively low on routing, transformation, and protocol support - especially when the earlier review was pretty positive in these areas. It was marked down on orchestration, which is not so surprising since WebSphere Process Server is the BPEL engine that provides that kind of support. As one of my colleagues has pointed out, the author of the review admits elsewhere that the question of whether an ESB should support BPEL is somewhat contentious, so it is remarkable that orchestration is the single largest weighted factor in the comparison.
It is a shame that there is no score for performance, as my gut feeling is that Message Broker would probably have scored 6 out of 5 on that measure :-)
The other interesting article published a short while ago is Network Computing's market analysis of the ESB.
Update: a colleague just pointed out that the comparison doesn't include MS Biztalk, which is slightly disappointing.
Technorati tags: IBM WebSphere ESB BPEL message broker
Encroaching on freedom
I missed this news item from last week, but it seems that people in London are now under more surveillance than they were previously, via the Oyster card system.
Dead computer
We had a power cut on Saturday. We've had them before, but generally they have been momentary blips of less than a minute. This time the power went off, and it didn't seem to want to come back. I called the power company, and was told that yes, there was a fault, and that if it hadn't come back within 4 hours, to call again. As it happened, everything burst back into life within about 50 minutes.
Unfortunately I don't have an Uninterruptible Power Supply. On this occasion, when the power came on my workhorse P3 server came straight back into life and booted fine. My top-of-the-range Athlon 64 (Gigabyte K8VNXP motherboard) machine went bang, and smoke came out of the power supply.
Off I went to Maplin to buy a new PSU. I opted for a 650W unit with plenty of fans. Having fitted it, I thought all would be happier. However, now when I plug the machine in, it spontaneously starts (I don't need to touch the power button). The graphics card information is displayed on the screen, there's a beep, but the BIOS information is never displayed, and the machine starts again. This happens two or three times, then it seems to decide to take a rest, and may pop back into life again a few minutes later for another attempt or two.
I've tried reseating all the cards... I've tried removing the memory and reseating it (plugging it in without memory resulted in multiple panicky beeps, so I guess the motherboard knows that something is going on). I can't figure what is dead. It could be the board itself has suffered damage, or maybe the CPU, or the memory... or even the power switch on the case, I suppose.
I'm looking at going down the route of a new motherboard, but technology has moved on. I've got a range of PCI cards that I'm happy with, so I don't want a PCI-Express board. Socket 754 is no more, so it's a new CPU, and I would like an Athlon 64 X2. I also want something to support Linux. So I'm thinking about an Abit AV8 Third Eye board, which has been discontinued but is still widely available... and I'm counting on my existing RAM being OK. Not sure what else I can do. I'm annoyed, but it is at least partly my fault. I really must get a UPS.
Update: I've cracked it. It's the power switch. Fortunately this means that I don't have to order a new motherboard when the existing one works fine. It does mean that I have to figure out how to wire a new switch into my case, or buy a new one. Suggestions, anyone?
Unfortunately I don't have an Uninterruptible Power Supply. On this occasion, when the power came on my workhorse P3 server came straight back into life and booted fine. My top-of-the-range Athlon 64 (Gigabyte K8VNXP motherboard) machine went bang, and smoke came out of the power supply.
Off I went to Maplin to buy a new PSU. I opted for a 650W unit with plenty of fans. Having fitted it, I thought all would be happier. However, now when I plug the machine in, it spontaneously starts (I don't need to touch the power button). The graphics card information is displayed on the screen, there's a beep, but the BIOS information is never displayed, and the machine starts again. This happens two or three times, then it seems to decide to take a rest, and may pop back into life again a few minutes later for another attempt or two.
I've tried reseating all the cards... I've tried removing the memory and reseating it (plugging it in without memory resulted in multiple panicky beeps, so I guess the motherboard knows that something is going on). I can't figure what is dead. It could be the board itself has suffered damage, or maybe the CPU, or the memory... or even the power switch on the case, I suppose.
I'm looking at going down the route of a new motherboard, but technology has moved on. I've got a range of PCI cards that I'm happy with, so I don't want a PCI-Express board. Socket 754 is no more, so it's a new CPU, and I would like an Athlon 64 X2. I also want something to support Linux. So I'm thinking about an Abit AV8 Third Eye board, which has been discontinued but is still widely available... and I'm counting on my existing RAM being OK. Not sure what else I can do. I'm annoyed, but it is at least partly my fault. I really must get a UPS.
Update: I've cracked it. It's the power switch. Fortunately this means that I don't have to order a new motherboard when the existing one works fine. It does mean that I have to figure out how to wire a new switch into my case, or buy a new one. Suggestions, anyone?
Friday, March 17, 2006
WMB updates of note
I've already commented on the fact that fixpack 2 for Message Broker File Extender is available... just in case you missed it, I'm mentioning it again :-)
Two interesting SupportPacs have recently been updated:
Technorati tags: IBM WebSphere MQ broker supportpac
Two interesting SupportPacs have recently been updated:
- IA0X FTP Server Input Node: I've played with this previously, but not used it in a real situation. As soon as I get some time to have a look at this, I'm going to try out the new version (which now works with v6). Once I've done so, I'll share any interesting discoveries here.
- IA98 TCP/IP Nodes: now these, I have used for real... they are mentioned in passing in an older blog entry. Although there is some effort involved in understanding the way that TCP/IP itself works, once you have got your head round the basics, I've found that these nodes work well. Great to see that John Reeve has updated them for version 6.
Technorati tags: IBM WebSphere MQ broker supportpac
More news in brief
Random interesting things from around the web that I've been looking at this week:
Technorati tags: IBM Notes Eclipse DB2 Lotus
- Doug Tidwell on Eclipse
- Using Eclipse for building UNIX applications
- Migrating from Outlook Express to Lotus Notes
- DB2 on Linux HOWTO
- The $39 experiment
Technorati tags: IBM Notes Eclipse DB2 Lotus
Thursday, March 16, 2006
Fame, and bananas
As I just posted over on the Hursley blog, Raising the Eight Bar... the local newspaper has picked up the Blue Fusion event, and as a result you can see a picture of yours truly holding an inflatable banana. Such is the price of fame.
News bytes
Not a lot of time this morning, so here are a few random and largely unrelated things from around the blogosphere.
IBM's Edd Brill's blog is rated as one of the best blogs for hidden corporate and product gems. He has also posted new screenshots of Sametime 7.5. I'm also alpha testing the product, and I'll try to blog more on this soon.
Fix Pack 2 for WebSphere Message Broker File Extender is out.
Comedy genius Dave Gorman has discovered Flickr.
Amazon's new S3 storage service has got bloggers thinking.
My friend and colleague Chris Nott has co-authored a developerWorks piece on choosing an ESB to fit your business model.
Technorati tags: IBM Lotus sametimefixpack WebSphere broker Flickr S3 Gorman Amazon
IBM's Edd Brill's blog is rated as one of the best blogs for hidden corporate and product gems. He has also posted new screenshots of Sametime 7.5. I'm also alpha testing the product, and I'll try to blog more on this soon.
Fix Pack 2 for WebSphere Message Broker File Extender is out.
Comedy genius Dave Gorman has discovered Flickr.
Amazon's new S3 storage service has got bloggers thinking.
My friend and colleague Chris Nott has co-authored a developerWorks piece on choosing an ESB to fit your business model.
Technorati tags: IBM Lotus sametimefixpack WebSphere broker Flickr S3 Gorman Amazon
Wednesday, March 15, 2006
New weblogs of note
These will be making it into my sidebar, at some point:
Design Patterns for Modern Life (from the infamous Richard Brown)
Per Henrik Lausten
Gerhard Poul
Philip Hartman
Design Patterns for Modern Life (from the infamous Richard Brown)
Per Henrik Lausten
Gerhard Poul
Philip Hartman
Tuesday, March 14, 2006
Genetics of dragons, wisdom of monkeys
I've spent the past two days as an activity host at the Blue Fusion event in Hursley. The title of the post will become clearer if you read on...
For those that don't know, every year (for the past 11 years) IBM participates in the UK's National Science Week, by inviting teams of students from schools from the surrounding area to come into the lab to take part in science-based activities. Each school can bring a team of 6. Throughout the day they are accompanied by an IBMer (a school host), and rotate through a number of different activities (run by activity hosts). They score points according to how well they manage to complete the activity, including points for teamwork, and at the end of the day the top 3 schools win prizes. There are also a number of guest speakers, one at the beginning and one at the end of each day. We try to keep the day varied and interesting.
This is my second year as a helper. Last year I ran an activity called Kids Run e-business - basically a simulation of business process management. It was such an addictive experience that I signed up again this year. Yesterday I hosted Dragonetics, which explored the ideas of genetics and inheritance by using a family tree of dragons. The students seemed to really enjoy it, and once I'd got over the initial "oops how does this work and how do I run it?" Monday morning nerves, I had a great time, too. Today the activity I was hosting was testing communication skills using Morse code, semaphore, and reading Braille.
Probably the most interesting part of the day for me is seeing how different groups from different schools - and different mixes of genders in the groups - behave and work together as a team. Last year the range of behaviours was anything from highly motivated and driven to win, to relatively disinterested. This year's teams have largely been extremely motivated, although not always particularly well organised. One group had a strong leader; another one seemed to be excluding a couple of the brighter individuals through their enthusiasm for getting stuck in. The levels of teamwork and communication can vary tremendously. It's a fascinating study in psychology! The added dimension is that during the day, the scores for each activity and each school are displayed in the main hall in Hursley House, so the teams can see how they are doing compared with the others - towards the end of the day, the top few teams can become ultra-competitive, and some of those at the bottom of the table sometimes lose some of their energy.
So, why do I choose to get involved?
1. It is time out from ordinary activities. For me, this has meant time to recharge, in some ways - although it is hard work, and a long day, it's so totally different from what I normally do, it is very refreshing.
2. It is an opportunity to provide giveback to the community.
3. It involves entirely different skills from my day job. Although I do a lot of mentoring / coaching / skills transfer with our customers, working with children demands an different set of capabilities.
4. It really is enormous fun. I can't wait for tomorrow to come around.
For me, before I came into IT, I was always going to be a teacher - so this is a way for me to explore that kind of experience without having to change careers.
For those that don't know, every year (for the past 11 years) IBM participates in the UK's National Science Week, by inviting teams of students from schools from the surrounding area to come into the lab to take part in science-based activities. Each school can bring a team of 6. Throughout the day they are accompanied by an IBMer (a school host), and rotate through a number of different activities (run by activity hosts). They score points according to how well they manage to complete the activity, including points for teamwork, and at the end of the day the top 3 schools win prizes. There are also a number of guest speakers, one at the beginning and one at the end of each day. We try to keep the day varied and interesting.
This is my second year as a helper. Last year I ran an activity called Kids Run e-business - basically a simulation of business process management. It was such an addictive experience that I signed up again this year. Yesterday I hosted Dragonetics, which explored the ideas of genetics and inheritance by using a family tree of dragons. The students seemed to really enjoy it, and once I'd got over the initial "oops how does this work and how do I run it?" Monday morning nerves, I had a great time, too. Today the activity I was hosting was testing communication skills using Morse code, semaphore, and reading Braille.
Probably the most interesting part of the day for me is seeing how different groups from different schools - and different mixes of genders in the groups - behave and work together as a team. Last year the range of behaviours was anything from highly motivated and driven to win, to relatively disinterested. This year's teams have largely been extremely motivated, although not always particularly well organised. One group had a strong leader; another one seemed to be excluding a couple of the brighter individuals through their enthusiasm for getting stuck in. The levels of teamwork and communication can vary tremendously. It's a fascinating study in psychology! The added dimension is that during the day, the scores for each activity and each school are displayed in the main hall in Hursley House, so the teams can see how they are doing compared with the others - towards the end of the day, the top few teams can become ultra-competitive, and some of those at the bottom of the table sometimes lose some of their energy.
So, why do I choose to get involved?
1. It is time out from ordinary activities. For me, this has meant time to recharge, in some ways - although it is hard work, and a long day, it's so totally different from what I normally do, it is very refreshing.
2. It is an opportunity to provide giveback to the community.
3. It involves entirely different skills from my day job. Although I do a lot of mentoring / coaching / skills transfer with our customers, working with children demands an different set of capabilities.
4. It really is enormous fun. I can't wait for tomorrow to come around.
For me, before I came into IT, I was always going to be a teacher - so this is a way for me to explore that kind of experience without having to change careers.
Sunday, March 12, 2006
Friday, March 10, 2006
Optimising my route around London
This is one for my colleague Richard Brown... who has stated his intention to start a new blog on efficient commuting. Optimise my daily route from London Waterloo to Old Street (or from Farnborough Main mainline station, if you prefer). The Waterloo and City line is due to close from April to September... which is no big deal, since I intensely dislike the daily scrum at Waterloo to get onto the Waterloo and City line anyway. So far I've tried W&C to Bank, followed by Northern to Old Street... currently my preferred choice is Northern Line Charing X Branch to Euston, and down to Old Steet.
Current travel time is approx 45 mins from Farnborough to Waterloo, and half an hour from Waterloo to Old Street on the Northern - I leave Farnborough at 0745 for a 0900 start. I'd prefer to make no more than two changes (currently from mainline to tube, and then one change on the tube), but I'll allow up to one more change.
Thoughts?
Current travel time is approx 45 mins from Farnborough to Waterloo, and half an hour from Waterloo to Old Street on the Northern - I leave Farnborough at 0745 for a 0900 start. I'd prefer to make no more than two changes (currently from mainline to tube, and then one change on the tube), but I'll allow up to one more change.
Thoughts?
Thursday, March 09, 2006
Satnav again - decision made
Following on from my last post on the subject, more information on the new TomTom models is now available. I want a TomTom GO 910... the more I read, the more I know that it must be mine... but it sounds like it won't be available in the UK until May. Two months after my birthday. Blast.
Technorati tags: satellite gps tomtom satnav
Technorati tags: satellite gps tomtom satnav
Stopping MQExceptions being logged to the console in Java
I've been writing some Java code that uses the WebSphere MQ base Java API. When there is an error, even if the MQException is caught, I've been finding that the exception is logged to the console.
There's a simple way to stop this from happening. Somewhere in your initialization method, you can include this statement:
Of course, you can - and should! - still catch and handle the exceptions as normal, and get at the text of the exception if required. This just prevents them from always being printed on the console (or location of System.err).
There's a simple way to stop this from happening. Somewhere in your initialization method, you can include this statement:
// by default, MQExceptions are logged on System.err
// this will switch off that behaviour
MQException.log = null;
Of course, you can - and should! - still catch and handle the exceptions as normal, and get at the text of the exception if required. This just prevents them from always being printed on the console (or location of System.err).
Wednesday, March 08, 2006
Implementing information as a service
A topic that I've been interested in for some time is the concept of Information as a Service. My Software Services colleague Bobby Woolf[*] has just discussed this idea this on his blog. In summary, you can implement services in your SOA that provide an interface to your data, rather than accessing it directly using, for example, JDBC calls - separating your application from the format and location of that data. I thought I'd add my own spin on this by providing a real-world example, and hopefully demonstrate how easy it can be to implement this kind of model.
Background: four months ago I was working on a project where we had been asked to create a portal interface to a proprietary, legacy backend system. We were implementing SOA, so chose to use WebSphere Message Broker as the Advanced ESB product to build a service facade over the backend system. When a portlet running in WebSphere Portal needed to invoke one of the backend APIs (say, GetCustomerDetails or ReportFault), it would send a JMS message to the ESB. The broker would then reformat the incoming XML message into something more palatable to the backend, initiate a sockets connection to the iSeries system from a JavaCompute node, perform the call, and then return some XML to the invoking portlet over JMS.
(of course, we could have put HTTP nodes on the ends of the message flows instead of JMS queues, and generated WSDL, but for various reasons we chose not to do so on this occasion)
So far, so good. The other thing that we needed to do was to get some information from a backend database. Naturally, we could have done this using JDBC calls from the portlet. Instead, we chose to implement an interface that was consistent with the one that we were using to access the backend system - namely, a service exposed over JMS.
One line of ESQL in the Broker (similar to the following) created an output message that was consistent with the format of the responses from the backend.
What this code does is query the SERVICES table in a database and return the SVCCODE and SVCDESC columns as an array, which is used to populate an XML structure - we end up with a set of Service elements in our Response message.
When we later needed to query a second database table as part of the same operation, we were able to use the broker to do this - it merged the two sets of data, and returned a single JMS message containing the response. All in a single line of code.
This example only shows a read operation - but we could implement create, update or delete just as easily, and touch multiple datasources if we chose to do so.
So, what were the key advantages of implementing the Information as a Service pattern here?
Incidentally, just to clarify, since it seems to be something of a misconception (in this review, for instance) - you do not have to use ESQL in order to access a database using WMB. We offer Java and Mapping nodes which have similar capabilities. In this case, I wanted to illustrate just how straightforward it can be to build an XML message from a database query using ESQL (it uses less space in my blog!).
[*] I've met Bobby only once, briefly, after a session at a conference about 15 months ago. You can tell he's a guru because he's blessed with a blog at IBM developerWorks. Plenty of interesting stuff to read over there.
Background: four months ago I was working on a project where we had been asked to create a portal interface to a proprietary, legacy backend system. We were implementing SOA, so chose to use WebSphere Message Broker as the Advanced ESB product to build a service facade over the backend system. When a portlet running in WebSphere Portal needed to invoke one of the backend APIs (say, GetCustomerDetails or ReportFault), it would send a JMS message to the ESB. The broker would then reformat the incoming XML message into something more palatable to the backend, initiate a sockets connection to the iSeries system from a JavaCompute node, perform the call, and then return some XML to the invoking portlet over JMS.
(of course, we could have put HTTP nodes on the ends of the message flows instead of JMS queues, and generated WSDL, but for various reasons we chose not to do so on this occasion)
So far, so good. The other thing that we needed to do was to get some information from a backend database. Naturally, we could have done this using JDBC calls from the portlet. Instead, we chose to implement an interface that was consistent with the one that we were using to access the backend system - namely, a service exposed over JMS.
One line of ESQL in the Broker (similar to the following) created an output message that was consistent with the format of the responses from the backend.
SET OutputRoot.XML.Response.Services.Service[] =
(SELECT T.SVCCODE AS Code, T.SVCDESC AS Description FROM Database.SERVICES as T);
What this code does is query the SERVICES table in a database and return the SVCCODE and SVCDESC columns as an array, which is used to populate an XML structure - we end up with a set of Service elements in our Response message.
When we later needed to query a second database table as part of the same operation, we were able to use the broker to do this - it merged the two sets of data, and returned a single JMS message containing the response. All in a single line of code.
This example only shows a read operation - but we could implement create, update or delete just as easily, and touch multiple datasources if we chose to do so.
So, what were the key advantages of implementing the Information as a Service pattern here?
- Very simple to code in broker - I'd even use the word, "trivial".
- No mixing of APIs on the portal side; JMS (or SOAP/HTTP) only, no JDBC.
- XML data returned to the portal is ready for use by the same XML parser used to get data out of the responses from the backend, in the same format as it came from other services.
- The ESB can insulate the presentation layer from database changes... if the database schema changes then it can still return messages that look the same if required.
- Other services can call the data service if required, so the scope and implementation of the data calls are not limited to the portal.
Incidentally, just to clarify, since it seems to be something of a misconception (in this review, for instance) - you do not have to use ESQL in order to access a database using WMB. We offer Java and Mapping nodes which have similar capabilities. In this case, I wanted to illustrate just how straightforward it can be to build an XML message from a database query using ESQL (it uses less space in my blog!).
[*] I've met Bobby only once, briefly, after a session at a conference about 15 months ago. You can tell he's a guru because he's blessed with a blog at IBM developerWorks. Plenty of interesting stuff to read over there.
Tuesday, March 07, 2006
WebSphere Message Broker reviewed
Thanks to Google News Alerts, I found a very interesting article about WebSphere Message Broker (the review is at Network Computing, but I came across it via the Messaging Pipeline, a site I'd not been aware of before). It is particularly interesting because it is a review, and I don't think I've ever read a review of WMB before. The article is mostly positive, which is great. It also provides a few comparisons with aspects of competitive products, and I'm always grateful for the insight.
I'd like to make it clear that I am not an official spokesperson for the product, but as a consultant I have been using Broker in customer situations for over five years now. There are a couple of points in the article that I think are worth picking up:
Overall, I enjoyed reading this review. There's much more about WebSphere Message Broker - IBM's Advanced ESB - over on IBM developerWorks.
I'll leave the inimitable Richard Brown to pipe up on the true meaning of orchestration, he seems to have things to say on the matter...
Technorati tags: IBM WebSphere MQ message broker ESB XML ESQL XSLT Rational
I'd like to make it clear that I am not an official spokesperson for the product, but as a consultant I have been using Broker in customer situations for over five years now. There are a couple of points in the article that I think are worth picking up:
- We rebranded MQSeries as part of the WebSphere family (WebSphere MQ) a few years ago - I think it is always worth getting this right.
- The article doesn't explicitly explain what the simple scenario that was being built actually did, so I can't really respond to the charge that a significant "depth and breath of knoweldge" was needed to build it.
- Message Broker's ability not to have to use XML for data parsing and transformation is, indeed, one of its greatest strengths. Not only that, it is worth adding that the broker uses just in time and partial parsing technology, which can significantly improve performance. What this means is that (unless otherwise configured) when a message arrives at a message flow, it is only parsed the first time that you address a field inside it. When that happens, the message is parsed to the point at which that field exists in the message, and no further. Of course, if you want to, you could tell the broker to parse and fully validate every field in the message before processing it in the flow - but you don't have to. Partial parsing is great for performance. Say you were routing a message on the contents of an XML element that existed in the first, say, 50 bytes of the message - you could do that without having to parse the whole ~200Kb document.
- The broker has a number of methods of transforming data - Java, XSLT, ESQL and drag-and-drop graphical mapping. The author of the article appears to refer to building a mapping, and having that generate the XSLT required. The article also suggests that there is no tooling for building an XSLT visually. Actually, our Rational tooling (on which the Broker toolkit is based) does provide exactly this function, and it sounds like the author used it... so I'm a bit confused here. As well as a graphical XSLT editor, the Eclipse editors provided with the Broker provide everything you'd expect for editing XSLT, like syntax colouring and context assist. It is possible that the XML development capabilities were not enabled, but it is a simple matter of switching them on via the toolkit preferences.
- The article mentions that in order to access a database for a simple lookup, ESQL or Java coding is required. In fact, the broker has a number of database nodes. These use the mapping technology to provide a drag-and-drop interface to database tables. You can even discover a schema from a datasource using the Data perspective in the IDE, import the table definition, and work directly with it in the database nodes. So, you could build a database lookup without using either Java or ESQL.
Overall, I enjoyed reading this review. There's much more about WebSphere Message Broker - IBM's Advanced ESB - over on IBM developerWorks.
I'll leave the inimitable Richard Brown to pipe up on the true meaning of orchestration, he seems to have things to say on the matter...
Technorati tags: IBM WebSphere MQ message broker ESB XML ESQL XSLT Rational
Sunday, March 05, 2006
Orchid festival
Ola and I spent part of Saturday at the 2006 Orchid Festival at Kew Gardens. The theme was Orchids in Art and Design. Wonderful displays. There were several large (probably 8ft tall) paintbrushes where the ends were covered in colourful orchids as if covered in paint, and some artist's palettes with the blobs of paint made up of orchid displays. The exhibition ends today, so we just caught the end of it... but it turns out that it is an annual event, so I'm sure we'll visit again next year.
A great opportunity to make use of some of the techniques in Photographing Plants and Flowers. Apparently one of the best ways to capture the unique shape of orchids is to face them, and then position the camera at about 45 degrees to the side, and 45 degrees up or down. Seemed to work well.
And so begins the last week of my 20s. Sigh.
A great opportunity to make use of some of the techniques in Photographing Plants and Flowers. Apparently one of the best ways to capture the unique shape of orchids is to face them, and then position the camera at about 45 degrees to the side, and 45 degrees up or down. Seemed to work well.
And so begins the last week of my 20s. Sigh.
Friday, March 03, 2006
Photo backlog
I'm slowly getting through a huge photo backlog from last year. This is the latest upload.
The one thing this has highlighted is how out of whack my displays are. My Linux box (where I edited this, and whence I uploaded it) shows the image with richer / more saturated colour than either of my two Windows laptops. It seems like it might be time to invest in a Spyder or Huey.
In other news, my favourite Flickr tool jUploader was updated to version 1.0 a couple of weeks ago. I only just noticed.
Technorati tags: Flickr jUploadr calibration Spyder Huey Linux
The one thing this has highlighted is how out of whack my displays are. My Linux box (where I edited this, and whence I uploaded it) shows the image with richer / more saturated colour than either of my two Windows laptops. It seems like it might be time to invest in a Spyder or Huey.
In other news, my favourite Flickr tool jUploader was updated to version 1.0 a couple of weeks ago. I only just noticed.
Technorati tags: Flickr jUploadr calibration Spyder Huey Linux
Getting around London
My colleague, WebSphere maestro Richard Brown is currently running an occasional series on his blog, sharing his secrets for optimising journeys around our capital.
There's no substitute for such first-hand local knowledge, of course, but if you are interested in planning your journey at a slightly higher level, the latest Google Maps mashup I've found provides a tube journey planner. Similar to the one offered by Transport for London, but faster. Plus it shows where the lines actually run, which is quite neat.
Incidentally, I notice that the iconic London tube map has made it into the final three for the Design Museum's Great British Design Quest, as supported by the BBC Culture Show. Of the remaining entries, I think it is going to get my vote - partly because it is so enduring.
Technorati tags: Google London BBC tube map
There's no substitute for such first-hand local knowledge, of course, but if you are interested in planning your journey at a slightly higher level, the latest Google Maps mashup I've found provides a tube journey planner. Similar to the one offered by Transport for London, but faster. Plus it shows where the lines actually run, which is quite neat.
Incidentally, I notice that the iconic London tube map has made it into the final three for the Design Museum's Great British Design Quest, as supported by the BBC Culture Show. Of the remaining entries, I think it is going to get my vote - partly because it is so enduring.
Technorati tags: Google London BBC tube map
Thursday, March 02, 2006
Going 50mm
Since I got my 50mm lens a few weeks ago, I've been making an effort to use it as often as possible... but I still fall back on my existing zooms fairly often. The truth is that we've not been out to do much photography - which is why I've been posting stuff from my back catalogue to my Flickr photostream.
I wanted to share a few really interesting articles about 50mm photography. The best article I've read is The Forgotten Lens. There is also Rediscover the 50mm Lens and this blog entry on 50mm prime lenses (which refers back to the first article I've linked).
I'm excited, but not getting out enough. I hope to remedy that soon.
Technorati tags: photography 50mm lens canon
I wanted to share a few really interesting articles about 50mm photography. The best article I've read is The Forgotten Lens. There is also Rediscover the 50mm Lens and this blog entry on 50mm prime lenses (which refers back to the first article I've linked).
I'm excited, but not getting out enough. I hope to remedy that soon.
Technorati tags: photography 50mm lens canon
Choosing an in-car satellite navigation system
Last week, my wife told me that she wants to buy me a satellite navigation system for the car as a present for a significant birthday that I have coming up far too shortly. The only challenge was that I knew next to nothing about the systems, and she was relying on me to help to choose the appropriate one!
The main criteria is that it would be good if it covered both the UK and Poland. Other than that, we don't mind too much. I've been told that cost is not an issue, which is very nice (and somewhat surprising!) to know.
Initial research suggested that the TomTom GO 700 was the best option since it does cover Poland - admittedly only 18% coverage but I can't find anything better than that. It has nice features like Bluetooth hands-free calling with a mobile, and downloadable voices including John Cleese..... As a techie, it was nice to see that that particular model runs Linux, too. The concern I had is that ~50% of the reviews on Amazon seemed to indicate that the units have a fairly high failure rate.
I posted a request for information to an internal forum at work, and several people replied with suggestions. The main players seem to be Garmin and TomTom.
Yesterday, TomTom announced a whole range of new models, due out in April. I'd suspected that this was on the cards, since their existing range was available at a significant discount. Mmmm. The new TomTom GO 910 sounds amazing. May have to wait until after my birthday, now.
Technorati tags: satellite gps tomtom garmin satnav
The main criteria is that it would be good if it covered both the UK and Poland. Other than that, we don't mind too much. I've been told that cost is not an issue, which is very nice (and somewhat surprising!) to know.
Initial research suggested that the TomTom GO 700 was the best option since it does cover Poland - admittedly only 18% coverage but I can't find anything better than that. It has nice features like Bluetooth hands-free calling with a mobile, and downloadable voices including John Cleese..... As a techie, it was nice to see that that particular model runs Linux, too. The concern I had is that ~50% of the reviews on Amazon seemed to indicate that the units have a fairly high failure rate.
I posted a request for information to an internal forum at work, and several people replied with suggestions. The main players seem to be Garmin and TomTom.
Yesterday, TomTom announced a whole range of new models, due out in April. I'd suspected that this was on the cards, since their existing range was available at a significant discount. Mmmm. The new TomTom GO 910 sounds amazing. May have to wait until after my birthday, now.
Technorati tags: satellite gps tomtom garmin satnav
Subscribe to:
Posts (Atom)