Phil Wainewright writes about an excellent SOA success story at Verizon wireless. The project itself sounds interesting and I congratulate the team (it'll be just my luck if they turn out to be a reference customer for one of my competitors but still....). What I found most interesting was the emphasis on the non-technical aspects. This is absolutely spot on. This is a very different way of working and, as with all attempts to introduce change, you ignore the human aspects at your peril.
Correctly identifying those entrenched behaviours that imperrilled the project and putting in incentives to change them (peer recognition counts for a lot) was a smart move.
The full InfoWorld article is here.
Friday, January 20, 2006
BusinessWorks
No... I'm not about to write about that fine product from the lovely people at Tibco.
Rather, I was reading this article by James Governor. He observes that Lotus' VP of marketing is blogging on developerWorks. On one level, my thought is: so what?! But as soon as you try to leave a comment you'll see the problem: it does seem slightly odd that a marketing blog requires you to get a user ID on a developers' network in order to comment... I'll drop him a note to find out why that is. Now, I should add that developerWorks is a fine, fine site. Indeed, they did me the honour of hosting my first ever PodCast and will soon be running an article i've written for them. So a solution to James' dilemma may be for the whole world to migrate to developerWorks :-)
However, I was more taken by James' perfectly reasonable question of why we have a developerWorks but not a productionWorks or even a businessWorks.
I think Sage may also be upset if we launched businessWorks. But, who knows.... maybe when they and Tibco realise they share a trademark, they'll get distracted by each other and not notice what we do :-p
Rather, I was reading this article by James Governor. He observes that Lotus' VP of marketing is blogging on developerWorks. On one level, my thought is: so what?! But as soon as you try to leave a comment you'll see the problem: it does seem slightly odd that a marketing blog requires you to get a user ID on a developers' network in order to comment... I'll drop him a note to find out why that is. Now, I should add that developerWorks is a fine, fine site. Indeed, they did me the honour of hosting my first ever PodCast and will soon be running an article i've written for them. So a solution to James' dilemma may be for the whole world to migrate to developerWorks :-)
However, I was more taken by James' perfectly reasonable question of why we have a developerWorks but not a productionWorks or even a businessWorks.
I think Sage may also be upset if we launched businessWorks. But, who knows.... maybe when they and Tibco realise they share a trademark, they'll get distracted by each other and not notice what we do :-p
Thursday, January 19, 2006
New newsgroups for WebSphere Process Server
There are two new newsgroups on nntp://news.software.ibm.com for anyone interested in WebSphere Process Server and WebSphere Integration Developer.
Point your favourite newsreaders at ibm.software.websphere.process-server and ibm.software.websphere.integration-developer and start asking your questions :-)
I'll be keeping an eye on those groups and will chip in with answers whenever I see something I can help with... but remember that they don't replace the regular support processes, etc, etc, usual disclaimer, etc.
Point your favourite newsreaders at ibm.software.websphere.process-server and ibm.software.websphere.integration-developer and start asking your questions :-)
I'll be keeping an eye on those groups and will chip in with answers whenever I see something I can help with... but remember that they don't replace the regular support processes, etc, etc, usual disclaimer, etc.
Show vs Tell
Redmonk's Stephen O'Grady has a perceptive piece on product demos.
He makes the reasonable observation that, when trying to understand a new technology or new product, it's much easier (and fulfiling) if you can get your hands on it and play with it for yourself.
Quite rightly, he argues that slideware is far from convincing and managed demos (where you don't get to actually poke it yourself) are little better.
On one level, I have to agree with him: I spent several years travelling the world performing pilots, proofs of concepts and live demos of IBM's middleware products to potential customers. It was hard work, stressful, the hours were long and I lived with an ever-present fear that a mistake I'd made when developing the demo would cause the whole thing to fail when we presented it to the CIO.
But it was an extraordinarily exciting time and there is no better way to help people understand what you're offering them than letting them try it for themselves.
However, I think his call for vendors to "ship him the bits" could perhaps be worded a little better. Shipping working demos is the key. Just shipping the product and telling someone to install it and figure it out for themselves is probably not a good use of their time. Sending them a pre-configured scenario - with the ability for them to play with it and make changes - seems far more valuable to me.
Regardless, he has touched upon a key aspect of human nature: we tend to be far more visual than we would like to admit: a well-drawn diagram can obviate the need for three PowerPoint pages of text yet I - and many others - are guilty of ignoring this in almost every deck we produce.
He makes the reasonable observation that, when trying to understand a new technology or new product, it's much easier (and fulfiling) if you can get your hands on it and play with it for yourself.
Quite rightly, he argues that slideware is far from convincing and managed demos (where you don't get to actually poke it yourself) are little better.
On one level, I have to agree with him: I spent several years travelling the world performing pilots, proofs of concepts and live demos of IBM's middleware products to potential customers. It was hard work, stressful, the hours were long and I lived with an ever-present fear that a mistake I'd made when developing the demo would cause the whole thing to fail when we presented it to the CIO.
But it was an extraordinarily exciting time and there is no better way to help people understand what you're offering them than letting them try it for themselves.
However, I think his call for vendors to "ship him the bits" could perhaps be worded a little better. Shipping working demos is the key. Just shipping the product and telling someone to install it and figure it out for themselves is probably not a good use of their time. Sending them a pre-configured scenario - with the ability for them to play with it and make changes - seems far more valuable to me.
Regardless, he has touched upon a key aspect of human nature: we tend to be far more visual than we would like to admit: a well-drawn diagram can obviate the need for three PowerPoint pages of text yet I - and many others - are guilty of ignoring this in almost every deck we produce.
Thursday, January 12, 2006
SOA, Web Services and hard-coded XML strings
The "Does SOA = Web Services" discussion has kicked off again.
Joe McKendrick has an interesting posting about the role of Web Services in Service Oriented Architectures. He links to Amir Shevat's piece on whether SOA and Services are synonymous. Amir has correctly observed that synchronous request-reply (in the form of SOAP over HTTP, say) is not always the best choice. Indeed, they seem to be in broad agreement that, as an architectural approach, SOA is entirely independent of invocation mechanism. However, Joe counsels that we shouldn't take this too far: you can build an SOA with other technologies (even home grown ones), but why take the effort when there are all these lovely industry-proven specs available?
I have sympathy with this opinion but we need to be clear when we're talking about these kinds of issues.
No client I have ever visited has been building their SOA in a vacuum. They have existing systems - on more platforms than one could possibly imagine - and usually have some integration solutions in production already. You can be pretty sure any serious SAP shop will be firing IDOCS left, right and centre between their machines, for example. There's likely to be some JMS (most likely MQ) in there and they may have a bunch of web services. Those web services, incidentally, will be on a variety of platforms and some will be home grown. Some will be from the early-adopter days and not conform to any known WS-* spec. You can also be sure that there's no way they're going to change them :-)
So, what's the answer in these real-world situations?
My view is that these problems become soluble when we intermediate the service requester and the service provider. The architectural construct used here is increasingly known as the Enterprise Service Bus (ESB) and I wrote about how I thought it fitted here briefly in November.
The inclusion of a conceptual ESB makes the solution clear: existing systems can continue to run unchanged. They can expose the services they offer in whatever way makes most sense to them. On the invocation side, however, you should consider mandating a standard. This could be MQ, JMS, SOAP over HTTP, whatever (perhaps a choice depending on context). The point is that we provide a simple, standards-based way for new applications to invoke existing services. The ESB is the facade that takes these requests and forwards them to the appropriate provider.... making any necessary conversions along the way.
The ESB can be as heavy-weight or as light-weight as you like or as you need. In some cases, you may have no specific implementation at all - it will simply be a guiding architectural principle. The point is that in the real world of existing systems, something like an ESB allows you to build up the ESB without having to tear down all the work you've already done and allows you to square the "SOA must be Web Services" argument with the "We're not going to redo everything!" camp.
[Update 2006-01-12: Ronan Bradley has also spotted Amir's article and writes about it here. He has also spotted that it is making an argument for an ESB]
Joe McKendrick has an interesting posting about the role of Web Services in Service Oriented Architectures. He links to Amir Shevat's piece on whether SOA and Services are synonymous. Amir has correctly observed that synchronous request-reply (in the form of SOAP over HTTP, say) is not always the best choice. Indeed, they seem to be in broad agreement that, as an architectural approach, SOA is entirely independent of invocation mechanism. However, Joe counsels that we shouldn't take this too far: you can build an SOA with other technologies (even home grown ones), but why take the effort when there are all these lovely industry-proven specs available?
I have sympathy with this opinion but we need to be clear when we're talking about these kinds of issues.
No client I have ever visited has been building their SOA in a vacuum. They have existing systems - on more platforms than one could possibly imagine - and usually have some integration solutions in production already. You can be pretty sure any serious SAP shop will be firing IDOCS left, right and centre between their machines, for example. There's likely to be some JMS (most likely MQ) in there and they may have a bunch of web services. Those web services, incidentally, will be on a variety of platforms and some will be home grown. Some will be from the early-adopter days and not conform to any known WS-* spec. You can also be sure that there's no way they're going to change them :-)
So, what's the answer in these real-world situations?
My view is that these problems become soluble when we intermediate the service requester and the service provider. The architectural construct used here is increasingly known as the Enterprise Service Bus (ESB) and I wrote about how I thought it fitted here briefly in November.
The inclusion of a conceptual ESB makes the solution clear: existing systems can continue to run unchanged. They can expose the services they offer in whatever way makes most sense to them. On the invocation side, however, you should consider mandating a standard. This could be MQ, JMS, SOAP over HTTP, whatever (perhaps a choice depending on context). The point is that we provide a simple, standards-based way for new applications to invoke existing services. The ESB is the facade that takes these requests and forwards them to the appropriate provider.... making any necessary conversions along the way.
The ESB can be as heavy-weight or as light-weight as you like or as you need. In some cases, you may have no specific implementation at all - it will simply be a guiding architectural principle. The point is that in the real world of existing systems, something like an ESB allows you to build up the ESB without having to tear down all the work you've already done and allows you to square the "SOA must be Web Services" argument with the "We're not going to redo everything!" camp.
[Update 2006-01-12: Ronan Bradley has also spotted Amir's article and writes about it here. He has also spotted that it is making an argument for an ESB]
Tuesday, January 10, 2006
David Chappell on SCA
David Chappell has written a piece where he compares the Service Component Architecture (SCA) to Windows Communication Foundation (WCF). For those not familiar with WCF, Microsoft's chief raa-raa man for WCF (Rich Turner) is on a mission to explain and is a prolific poster to his excellent blog; it's well worth a read.
David's article gave me pause for thought. I hadn't thought of SCA as playing in the same space as WCF until now. In my mind, I have (perhaps naively) considered WCF to be Microsoft's new plumbing for web services, messaging, remoting and the rest. By contrast, I picture SCA as a way to describe, invoke, package and compose services in a location, implementation and runtime-transparent manner (simplifying gratuitously, of course). I intend to re-read David's article with the WCF FAQ open at the same time. My first impression is that he may have downplayed the importance of WebSphere Process Server - as a shipping implementation, it suggests answers to many of his questions about how SCA may support JMS, security, transactions, etc.
I think one of the potential similarities between the two models (if WCF does what I think it does) is the deliberate blurring between "programming in the small" and "programming in the large". That is: SCA can be used as a component model for building a regular application. And the exact same technology can be used to build a highly-distributed composite serivce-oriented application. This encouragement to think about services in everything we do is crucial. The SCA (and WCF) applications of today must not become the monolothic legacy apps of tomorrow... we're not just consuming services; we should be exposing them, too.
I need to give this some more thought and do more reading on WCF. Microsoft's WCF FAQ is good.
David blogs here. I can't believe I've only just found it... it's fascinating. However, there doesn't seem to be any way to comment or fire trackbacks, which is a shame.
David's article gave me pause for thought. I hadn't thought of SCA as playing in the same space as WCF until now. In my mind, I have (perhaps naively) considered WCF to be Microsoft's new plumbing for web services, messaging, remoting and the rest. By contrast, I picture SCA as a way to describe, invoke, package and compose services in a location, implementation and runtime-transparent manner (simplifying gratuitously, of course). I intend to re-read David's article with the WCF FAQ open at the same time. My first impression is that he may have downplayed the importance of WebSphere Process Server - as a shipping implementation, it suggests answers to many of his questions about how SCA may support JMS, security, transactions, etc.
I think one of the potential similarities between the two models (if WCF does what I think it does) is the deliberate blurring between "programming in the small" and "programming in the large". That is: SCA can be used as a component model for building a regular application. And the exact same technology can be used to build a highly-distributed composite serivce-oriented application. This encouragement to think about services in everything we do is crucial. The SCA (and WCF) applications of today must not become the monolothic legacy apps of tomorrow... we're not just consuming services; we should be exposing them, too.
I need to give this some more thought and do more reading on WCF. Microsoft's WCF FAQ is good.
David blogs here. I can't believe I've only just found it... it's fascinating. However, there doesn't seem to be any way to comment or fire trackbacks, which is a shame.
Perceived Complexity
Don Ferguson (IBM's Chief Software Architect) blogged over Christmas on the perceived complexity of our WebSphere integration products.
He's done a good job of explaining how they fit together and why they exist. That second point is the key: not all clients have the same needs or are starting from the same place.
It was good to see him mention a few of the new services in our Process Server product and what they're for. Selectors, for example, are key to our "versioning" and "dynamicity" stories - an area I spoke briefly about on this developerWorks PodCast.
He's done a good job of explaining how they fit together and why they exist. That second point is the key: not all clients have the same needs or are starting from the same place.
It was good to see him mention a few of the new services in our Process Server product and what they're for. Selectors, for example, are key to our "versioning" and "dynamicity" stories - an area I spoke briefly about on this developerWorks PodCast.
Monday, January 09, 2006
New Year Resolutions
I have a patchy record of making resolutions - and an even patchier record of sticking to them. Nevertheless, I think I may have one or two that are specific, measurable, attainable, realistic and tangible so why not document them....
OK... so perhaps they're not all totally specific or tangible but they'll do for now.
The "local community" one is an interesting one. I originally formulated that as "get involved with charity (above merely donating money)". However, I'm not sure that is necessarily as altruistic as it sounds. Two hours spent stuffing envelopes could have been spent earning extra money (e.g. achieving one of my bonus objectives) which could then have been donated. This is likely (not definitely!) to be more than the cost of hiring somebody to stuff envelopes for two hours. Thus, I could provide more value to a charity by simply giving more money (with appropriate boxes ticked to allow them to reclaim tax, etc, etc).
I'm not entirely convinced that my argument is sound... and I may be discounting the value of being physically present (both to me and to those who have to put up with me). However, it was enough to convince me to phrase the resolution as I did.
The politics resolution was driven by my increasing interest in the role of economics and the effects of various governmental policies (past and present).
As for the career-goals... I envy those who knew, at an early age, what they wanted to do and how they worked unceasingly until they had achieved it. The rule I've set for myself is that I should think about what I would like to be doing if I didn't need to earn money. It's an obvious qualification to make but one that I hadn't made until now (which probably explains more about me than I would care to admit).
Right... I'm off to find some competitors to bash... normal service will be resumed shortly.
- Become actively involved in my local community
- Become actively involved in politics (not necessarily party-politics, however)
- Decide on my career-goals - and then work harder than I've ever worked before to make them happen.
OK... so perhaps they're not all totally specific or tangible but they'll do for now.
The "local community" one is an interesting one. I originally formulated that as "get involved with charity (above merely donating money)". However, I'm not sure that is necessarily as altruistic as it sounds. Two hours spent stuffing envelopes could have been spent earning extra money (e.g. achieving one of my bonus objectives) which could then have been donated. This is likely (not definitely!) to be more than the cost of hiring somebody to stuff envelopes for two hours. Thus, I could provide more value to a charity by simply giving more money (with appropriate boxes ticked to allow them to reclaim tax, etc, etc).
I'm not entirely convinced that my argument is sound... and I may be discounting the value of being physically present (both to me and to those who have to put up with me). However, it was enough to convince me to phrase the resolution as I did.
The politics resolution was driven by my increasing interest in the role of economics and the effects of various governmental policies (past and present).
As for the career-goals... I envy those who knew, at an early age, what they wanted to do and how they worked unceasingly until they had achieved it. The rule I've set for myself is that I should think about what I would like to be doing if I didn't need to earn money. It's an obvious qualification to make but one that I hadn't made until now (which probably explains more about me than I would care to admit).
Right... I'm off to find some competitors to bash... normal service will be resumed shortly.
Back to work
Today was my first day back at work after the Christmas break. It was good to see my colleagues and sobering to realise that the world didn't stop when I was away. Darn.
In non-work news, my investments have been doing rather well of late. I'm up 13% on my original investment - which I made in August (I think). So, I'm quite happy at present. Of course, I will lose everything before I decide to sell, no doubt. But it's a nice feeling while it lasts.
I made a deliberate point of staying away from the IT industry over Christmas. Instead, I indulged my interests in economics and politics (as well as visitng family and friends and partying, I should add... I'm not entirely strange).
In particular, I have been reading
As I hinted above, I deliberately avoided almost all IT-industry-related thinking and reading so now have an enormous RSS feed backlog to clear...
[EDIT - almost immediately after posting to correct formatting ]
In non-work news, my investments have been doing rather well of late. I'm up 13% on my original investment - which I made in August (I think). So, I'm quite happy at present. Of course, I will lose everything before I decide to sell, no doubt. But it's a nice feeling while it lasts.
I made a deliberate point of staying away from the IT industry over Christmas. Instead, I indulged my interests in economics and politics (as well as visitng family and friends and partying, I should add... I'm not entirely strange).
In particular, I have been reading
- "The Undercover Economist" by Tim Harford. It was every bit as good as I expected it to be. I wish I could give a copy of that book to everybody who tries to tell me how high gas prices are all British Gas's fault or why lowering tube fares is the right thing to do.... or one of a million other annoying things people say when they are in need of a good economics primer (not that I know much more than them, I hasten to add)
- "The Wealth of Nations" by Adam Smith (don't click on his name if you're expecting his blog. He died some time ago...). I'm finding this heavy-going but am making slow but steady progress
- "Why Most Things Fail" by Paul Ormerod. I'm about half way through this and am finding it educational.
- "The Economist Style Guide". This is not, as my parents thought, a tutorial in how to dress like a mathematically-inclined social scientist but, rather, a book that tells you how to write clearly.
- "The Road To Serfdom" by Friedrich A. Hayek. (I haven't actually started this yet, I must admit.... but it's on my list).
As I hinted above, I deliberately avoided almost all IT-industry-related thinking and reading so now have an enormous RSS feed backlog to clear...
[EDIT - almost immediately after posting to correct formatting ]
Tuesday, December 27, 2005
At home in Liverpool
I spent Christmas at my parents' home in Liverpool. It was good to see my parents, sister, brother and cousin again and I had a pleasant and relaxing time.
My cousin is visiting Europe and working in Ireland before returning to Australia sometime next year. He works in the mining sector and it was fascinating to hear about the effect that high commodity prices are having on areas such as Western Australia - abandoned mines that I visited when I was there ten years ago are now economic again.
I am always amazed at how much Liverpool changes from one visit to the next. Antony Gormley's "Another Place" sculptures litter the beachfront by my parents' house (indeed, you can see a few from their bedroom window) and the effect of 100 identical life-size statues strewn across a large beach is very impressive.
The centre of Liverpool is also in full-scale redevelopment mode... the tell-tale outline of cranes was visible in the drive from John Lennon Airport to home. I discovered by accident that VLM have an offer on at present: my ticket will allow me to use the airport's lounge free of charge on my return trip - I'm not expecting anything like Virgin's Heathrow Clubhouse but it will make a nice change from the litter-strewn departure area that I encoutered last time I used LPL.
I met up with an old school friend and his girlfriend last night. They are working abroad at present and both trying to find roles in London so they can move back to the UK. I asked what it would take to persuade them to move back to Liverpool and work here instead. We concluded that we couldn't think of any scenarios where we would do that.
This isn't the fault of Liverpool - or any other city in the country (indeed, both he and I have spent time living and working on the South Coast). Rather, it's a realisation that the sheer size of London's economy means that it would be madness to live or work anywhere else. There is more competition for skilled labour there, the salaries are higher and there is more to do.
Those who know me may find it strange, therefore, that I still work for the company I worked for when I lived in Southampton. That's not really contradictory - the mere fact that I live in London is enough to keep my options open. And, contrary to what I may sometimes suggest, I actually quite like my work.
My cousin is visiting Europe and working in Ireland before returning to Australia sometime next year. He works in the mining sector and it was fascinating to hear about the effect that high commodity prices are having on areas such as Western Australia - abandoned mines that I visited when I was there ten years ago are now economic again.
I am always amazed at how much Liverpool changes from one visit to the next. Antony Gormley's "Another Place" sculptures litter the beachfront by my parents' house (indeed, you can see a few from their bedroom window) and the effect of 100 identical life-size statues strewn across a large beach is very impressive.
The centre of Liverpool is also in full-scale redevelopment mode... the tell-tale outline of cranes was visible in the drive from John Lennon Airport to home. I discovered by accident that VLM have an offer on at present: my ticket will allow me to use the airport's lounge free of charge on my return trip - I'm not expecting anything like Virgin's Heathrow Clubhouse but it will make a nice change from the litter-strewn departure area that I encoutered last time I used LPL.
I met up with an old school friend and his girlfriend last night. They are working abroad at present and both trying to find roles in London so they can move back to the UK. I asked what it would take to persuade them to move back to Liverpool and work here instead. We concluded that we couldn't think of any scenarios where we would do that.
This isn't the fault of Liverpool - or any other city in the country (indeed, both he and I have spent time living and working on the South Coast). Rather, it's a realisation that the sheer size of London's economy means that it would be madness to live or work anywhere else. There is more competition for skilled labour there, the salaries are higher and there is more to do.
Those who know me may find it strange, therefore, that I still work for the company I worked for when I lived in Southampton. That's not really contradictory - the mere fact that I live in London is enough to keep my options open. And, contrary to what I may sometimes suggest, I actually quite like my work.
Wednesday, December 14, 2005
We don't all work for Global Services
Microsoft's Rich Turner is being playful again...
He is responding to an email from James Governor about one of his previous articles.
It's a long article and he makes some bold assertions.... I'll deal with a few of the more extravagant claims :-) (from my own perspective, as always.... none of this is an official response, etc, etc)
Firstly, he believes that the forthcoming WebSphere Enterprise Service Bus is essentially a triumph of marketing over technical innovation. I agree with him that our marketing team have done a stellar job of late. For what seems like the first time in a long time, we have managed to consistently describe our offerings, relate them to each other and to wider industry themes - and do it in a way that addresses our clients' real issues. However, it's a little unfair to imply that Kareem's team are also developing the product in their spare time. They're good... but they're not that good!
Rather, there is a lot of real innovation in there that will make this a compelling proposition to a large number of clients. Take one example: this will be the first ESB product in the market to deliver Service Component Architecture (SCA) functionality. *
Secondly, we haven't renamed Message Broker to "Advanced ESB". Of course, we did tinker with the product's name (it's now called "WebSphere Message Broker"). That seems to be something of an annual ritual for this product... I think it's had five different names in the five years I've been at IBM. However, we did do something important in this area in relation to the concept of an ESB. What Rich has noticed is that we now explicitly talk about broker in terms of ESB. To my mind, this is just pragmatic. Like it or not (and I happen to like it), the concept of an ESB is very important right now and we would be doing a dis-service to our existing customers if we didn't make it clear that they're on the right track (for they are) and we would confuse potential customers if we didn't explain to them that they can build an ESB on this technology. In other words, if everybody has settled on a name for a concept, it would be somewhat obstinate of me if I refused to explain how my stuff related. So the bottom line here is that message broker's name hasn't changed in any material sense but we do now make a point of emphasizing how well it allows an advanced enterprise service bus to be constructed.
Finally, Rich makes the mistake of assuming every consultant in IBM works for Global Services. IBM Global Services is a fine organisation but it isn't the case that we all work for them. I, for example, work for our Software Group - in IBM Software Services for WebSphere. I am measured on client success.... successful projects.... "enablement" (a fancy word for how well I help clients become self-sufficient), etc, etc. A very similar measurement model to MCS by the sounds of it. Indeed, if I spend more than a few weeks at a single client, it would be unusual. We, like Microsoft, simply want our clients to be successful with our products. Of course we partner with Global Services where appropriate - that's good for us and good for our clients. But to claim that the world's second biggest software company (which is what we are) exists solely to cross-sell services hours is absurd.
* It's not the first product in any class - our WebSphere Process Server wins that prize
He is responding to an email from James Governor about one of his previous articles.
It's a long article and he makes some bold assertions.... I'll deal with a few of the more extravagant claims :-) (from my own perspective, as always.... none of this is an official response, etc, etc)
Firstly, he believes that the forthcoming WebSphere Enterprise Service Bus is essentially a triumph of marketing over technical innovation. I agree with him that our marketing team have done a stellar job of late. For what seems like the first time in a long time, we have managed to consistently describe our offerings, relate them to each other and to wider industry themes - and do it in a way that addresses our clients' real issues. However, it's a little unfair to imply that Kareem's team are also developing the product in their spare time. They're good... but they're not that good!
Rather, there is a lot of real innovation in there that will make this a compelling proposition to a large number of clients. Take one example: this will be the first ESB product in the market to deliver Service Component Architecture (SCA) functionality. *
Secondly, we haven't renamed Message Broker to "Advanced ESB". Of course, we did tinker with the product's name (it's now called "WebSphere Message Broker"). That seems to be something of an annual ritual for this product... I think it's had five different names in the five years I've been at IBM. However, we did do something important in this area in relation to the concept of an ESB. What Rich has noticed is that we now explicitly talk about broker in terms of ESB. To my mind, this is just pragmatic. Like it or not (and I happen to like it), the concept of an ESB is very important right now and we would be doing a dis-service to our existing customers if we didn't make it clear that they're on the right track (for they are) and we would confuse potential customers if we didn't explain to them that they can build an ESB on this technology. In other words, if everybody has settled on a name for a concept, it would be somewhat obstinate of me if I refused to explain how my stuff related. So the bottom line here is that message broker's name hasn't changed in any material sense but we do now make a point of emphasizing how well it allows an advanced enterprise service bus to be constructed.
Finally, Rich makes the mistake of assuming every consultant in IBM works for Global Services. IBM Global Services is a fine organisation but it isn't the case that we all work for them. I, for example, work for our Software Group - in IBM Software Services for WebSphere. I am measured on client success.... successful projects.... "enablement" (a fancy word for how well I help clients become self-sufficient), etc, etc. A very similar measurement model to MCS by the sounds of it. Indeed, if I spend more than a few weeks at a single client, it would be unusual. We, like Microsoft, simply want our clients to be successful with our products. Of course we partner with Global Services where appropriate - that's good for us and good for our clients. But to claim that the world's second biggest software company (which is what we are) exists solely to cross-sell services hours is absurd.
* It's not the first product in any class - our WebSphere Process Server wins that prize
Tuesday, December 13, 2005
Monday, December 12, 2005
IBM Systems Journal on SOA
A colleague (thanks Isabelle!) sent me a link to the current issue of the IBM Systems Journal. This issue is completely dedicated to SOA. I haven't read any of the articles yet but some of the author names suggest it should be a very interesting read and provide useful pointers on where we're going. Peter Niblett, Beth Hutchison, Peter Lambros, Rob Phippen are just some of the senior technical leaders at Hursley who have contributed.
[EDIT: minor typo]
[EDIT: minor typo]
One down, more to go....
No.... it's not another "Heathrow should be demolished" diatribe. Rather, it's a celebration and time to rejoice.
IBM UK's very own Andy Piper is joining the conversation and you can read his musings here. Andy is particularly well connected within IBM's global community of internal bloggers and I'm sure his positive style and inclusive attitude will encourage many more of them to join this side too (it's not an either/or, after all)
A deep WebSphere Message Broker expert (among other things), he has been one of our key thinkers in the ESB space and I look forward to his contributions in this area. He has also promised to treat us to selected highlights of his past output. And if that wasn't enough to get you over to his blog (----->http://thelostoutpost.blogspot.com/<-----), he also links to some other IBMers who I was previously unaware of. So, what are you waiting for?!
IBM UK's very own Andy Piper is joining the conversation and you can read his musings here. Andy is particularly well connected within IBM's global community of internal bloggers and I'm sure his positive style and inclusive attitude will encourage many more of them to join this side too (it's not an either/or, after all)
A deep WebSphere Message Broker expert (among other things), he has been one of our key thinkers in the ESB space and I look forward to his contributions in this area. He has also promised to treat us to selected highlights of his past output. And if that wasn't enough to get you over to his blog (----->http://thelostoutpost.blogspot.com/<-----), he also links to some other IBMers who I was previously unaware of. So, what are you waiting for?!
Sunday, December 11, 2005
Famous people in our midst
It has been a source of disappointment to me that, in almost two years of London living, I have encountered almost no famous people at all. Indeed, with the exception of Jeffrey Archer, I have encountered none.
That changed this evening. A few friends took me along to "Rebel Rebel" - where I encountered not only T4's Simon Amstell but also Neil Tennant and Kele from Bloc Party (well.... "encounter" is a strong word. "Observed from a distance" would probably be more accurate). I should go to alternative college Indie nights more often, it would seem.
Of course, going out on an inadvertent celebrity hunt meant that I didn't go to Scoble's Geek Dinner..... a shame since there were several people on the sign-up list that I would have liked to meet. There's always next time I guess....
That changed this evening. A few friends took me along to "Rebel Rebel" - where I encountered not only T4's Simon Amstell but also Neil Tennant and Kele from Bloc Party (well.... "encounter" is a strong word. "Observed from a distance" would probably be more accurate). I should go to alternative college Indie nights more often, it would seem.
Of course, going out on an inadvertent celebrity hunt meant that I didn't go to Scoble's Geek Dinner..... a shame since there were several people on the sign-up list that I would have liked to meet. There's always next time I guess....
Saturday, December 10, 2005
Celebrity Columnists
I'm not sure if Tim Harford counts as a celebrity columnist or not.... but the sudden recollection that his two excellent columns would be in the FT magazine was sufficient for me to put down my copy of the Guardian and pick up the Financial Times in Tesco just now.
Sorry Alan.... I hope I didn't miss anything interesting in today's issue...
Of course, I was probably being completely irrational since most of Tim's content is online anyway but, still.... I've never experienced this before. It's rare that I'll buy a different newspaper because of the promise of one column.
Incidentally, my friend Polly is also a fan. This gives me confidence that my decision was correct as her taste is far superior to mine.
[Update 101205 1529] D'oh! Looks like I was right.... one of his two pieces is online.
Sorry Alan.... I hope I didn't miss anything interesting in today's issue...
Of course, I was probably being completely irrational since most of Tim's content is online anyway but, still.... I've never experienced this before. It's rare that I'll buy a different newspaper because of the promise of one column.
Incidentally, my friend Polly is also a fan. This gives me confidence that my decision was correct as her taste is far superior to mine.
[Update 101205 1529] D'oh! Looks like I was right.... one of his two pieces is online.
Thursday, December 08, 2005
Right. This time I mean it.
Andy, Aidy, Brian, Darren and the rest of you Hursley BlogCentral lot..... get your asses outside the firewall!
Brian: Don't you just itch to counter Jonathan Schwarz?
Andy and Aidy: Are you going to take this lying down?! We can't leave Governor to stand up for us.... he's an analyst. They're fickle :-p I've written something here.... but I've read your internal post, Andy, and it blows mine out of the water...
[EDIT: oops... forgot about eightbar.... sorry Darren!]
Brian: Don't you just itch to counter Jonathan Schwarz?
Andy and Aidy: Are you going to take this lying down?! We can't leave Governor to stand up for us.... he's an analyst. They're fickle :-p I've written something here.... but I've read your internal post, Andy, and it blows mine out of the water...
[EDIT: oops... forgot about eightbar.... sorry Darren!]
It's not just an abstraction layer!
James Governor writes about the Service Component Architecture here. He also linked to Neil Ward-Dutton's take.
He is, of course, right to be sceptical... a major announcement like this should be critically assessed and the the technology evaluated on how well it solves real problems... It's our job to both argue for its merits and, more importantly, demonstrate that our clients are achieving real value from using it. As an IBM Software Services consultant, my job falls primarily into the second bucket. I wish I could blog about some of the exciting projects I'm seeing right now.
From reading the press coverage, however, I see two misconceptions appear again and again.
Misconception 1) "It's just a spec". Not quite... WebSphere Process Server is built on SCA and is shipping today.
Misconception 2) "It's a new abstraction layer". Not quite... it is more than that. I tried to articulate what I mean here but I'm not convinced I've done a good job. This point is very important so I'll try again soon.
He is, of course, right to be sceptical... a major announcement like this should be critically assessed and the the technology evaluated on how well it solves real problems... It's our job to both argue for its merits and, more importantly, demonstrate that our clients are achieving real value from using it. As an IBM Software Services consultant, my job falls primarily into the second bucket. I wish I could blog about some of the exciting projects I'm seeing right now.
From reading the press coverage, however, I see two misconceptions appear again and again.
Misconception 1) "It's just a spec". Not quite... WebSphere Process Server is built on SCA and is shipping today.
Misconception 2) "It's a new abstraction layer". Not quite... it is more than that. I tried to articulate what I mean here but I'm not convinced I've done a good job. This point is very important so I'll try again soon.
Up in the air
I see that my esteemed colleague Ed Brill discovered the joy of Canary Wharf yesterday. Sadly, the description of his cabbie's behaviour is not as unusual as it should be :-(
However, London City Airport - and VLM airlines - are indeed two of the pleasures of living in London's Docklands. Being able to check in 20 minutes before takeoff - and never having to wait for any checked luggage make it my favourite place to fly to and from. The extension of the DLR to LCY is the icing on the cake.
As for that photo.... I think there's only one place it could have been taken from - but I guess it depends on your Point of View... :-p
However, London City Airport - and VLM airlines - are indeed two of the pleasures of living in London's Docklands. Being able to check in 20 minutes before takeoff - and never having to wait for any checked luggage make it my favourite place to fly to and from. The extension of the DLR to LCY is the icing on the cake.
As for that photo.... I think there's only one place it could have been taken from - but I guess it depends on your Point of View... :-p
Tuesday, December 06, 2005
ESBs...
Rich Turner takes a pop at WebSphere Message Broker here.
I think he's being a little playful in his implication that you can't build an ESB with broker because of its support for WebSphere MQ - but he does cover some important points.
Firstly, of course he's right that an ESB has to support open standards - how else are any new open-standards-based applications expected to take advantage of the services on offer via the bus? And in many cases, focussing primarily on open standards, web services, etc., is just what you want when implementing your ESB. Our forthcoming WebSphere ESB product provides just this functionality.
However, there are also large numbers of cases where you need support that goes beyond this. We offer WebSphere Message Broker as our recommended tool for delivering an ESB that integrates both standards and non-standards based applications. We can argue about where MQ sits in the standards spectrum but broker's deep support for MQ is obviously a huge plus.
As for whether adding SOAP support was a "stretch" for Broker's Hursley developers... I'm sure they'll take the suggestion good-naturedly as testament to their technical prowess and of the superior architecture of the product :-p
Incidentally, my first job in IBM was testing Message Broker (before it was called that...). I'm still officially based in Hursley but now live in London. I wonder if that means I count as a Hursley Blogger. James?
[EDIT 071205 1502 to fix link]
I think he's being a little playful in his implication that you can't build an ESB with broker because of its support for WebSphere MQ - but he does cover some important points.
Firstly, of course he's right that an ESB has to support open standards - how else are any new open-standards-based applications expected to take advantage of the services on offer via the bus? And in many cases, focussing primarily on open standards, web services, etc., is just what you want when implementing your ESB. Our forthcoming WebSphere ESB product provides just this functionality.
However, there are also large numbers of cases where you need support that goes beyond this. We offer WebSphere Message Broker as our recommended tool for delivering an ESB that integrates both standards and non-standards based applications. We can argue about where MQ sits in the standards spectrum but broker's deep support for MQ is obviously a huge plus.
As for whether adding SOAP support was a "stretch" for Broker's Hursley developers... I'm sure they'll take the suggestion good-naturedly as testament to their technical prowess and of the superior architecture of the product :-p
Incidentally, my first job in IBM was testing Message Broker (before it was called that...). I'm still officially based in Hursley but now live in London. I wonder if that means I count as a Hursley Blogger. James?
[EDIT 071205 1502 to fix link]
Amen!
I first discovered Microsoft's Rich Turner when I listened to a PodCast about an Indigo roadshow he was running. I'd like to say he stuck out because of his clear articulation of the technology or his clear passion for his work (although both were the case) but he first dragged me out of my early-morning-commute-stupor because of his familiar-sounding British accent. At least I *think* it was him.... if it wasn't, I have no idea at all how I came to find his blog. Anyhow....
I subscribed to his blog shortly after hearing the podcast and have given it passing attention since. Of late, however, he has been catching my attention increasingly often.
Take this. I suspect he and I may disagree over quite how far web services should be deployed and over how suitable they are for various applications but his core argument is spot on: if performance is the only thing holding you back from using a SOAP/HTTP web service (meaning that you're satisfied with the qualities of service offered and all other aspects of the decision) then do some tests - realistic ones. You may be surprised to find your assumptions challenged.
I subscribed to his blog shortly after hearing the podcast and have given it passing attention since. Of late, however, he has been catching my attention increasingly often.
Take this. I suspect he and I may disagree over quite how far web services should be deployed and over how suitable they are for various applications but his core argument is spot on: if performance is the only thing holding you back from using a SOAP/HTTP web service (meaning that you're satisfied with the qualities of service offered and all other aspects of the decision) then do some tests - realistic ones. You may be surprised to find your assumptions challenged.
Monday, December 05, 2005
IBM Software Group Analyst Conference
The news articles are beginning to trickle out about IBM's annual analyst conference. Here's Bloor's Phil Howard's initial take.
The annual analyst event is not the kind of event to which mere mortals like me are invited. So, I relive it vicariously through the writeups...
From what I've read so far, it's heartening that there's nothing surprising here.... everything I'm reading (e.g. in Phil's initial writeup) is consistent both with the message I hear internally - and with what I am telling my clients. Phew!
One thing did surprise me slightly, however: Phil thought that our lack of discussion of web services in the context of SOA was noteworthy. He is correct, of course, to justify this in the way he did - SOA and Web Services are not synonymous and you can have one without the other - but it suggests he believes his target audience need to be told this.
Incidentally, Joe McKendrick linked to a good stab at defining SOA last week. I need to check how close it is to our definition but it looks promising to me. And, of course, it doesn't mention web services.
The annual analyst event is not the kind of event to which mere mortals like me are invited. So, I relive it vicariously through the writeups...
From what I've read so far, it's heartening that there's nothing surprising here.... everything I'm reading (e.g. in Phil's initial writeup) is consistent both with the message I hear internally - and with what I am telling my clients. Phew!
One thing did surprise me slightly, however: Phil thought that our lack of discussion of web services in the context of SOA was noteworthy. He is correct, of course, to justify this in the way he did - SOA and Web Services are not synonymous and you can have one without the other - but it suggests he believes his target audience need to be told this.
Incidentally, Joe McKendrick linked to a good stab at defining SOA last week. I need to check how close it is to our definition but it looks promising to me. And, of course, it doesn't mention web services.
Loosely Coupled has an interesting story today about a meeting organised by J.P. Rangaswami, the CIO of Dresdner Kleinwork Wasserstein, in London last week.
Rangaswami's over-riding theme is the need to settle on a vendor-neutral, generic architecture for their companies and their applications.... I couldn't agree more.... I'm looking forward to hearing more about this event. We vendors can make a lot of noise in the market place - an initiative such as this... where the consumers of our technologies unite into one voice... is a rare and valuable thing.
Rangaswami's over-riding theme is the need to settle on a vendor-neutral, generic architecture for their companies and their applications.... I couldn't agree more.... I'm looking forward to hearing more about this event. We vendors can make a lot of noise in the market place - an initiative such as this... where the consumers of our technologies unite into one voice... is a rare and valuable thing.
Business State Machines
One of the new features in WebSphere Process Server is support for the concept of a "Business State Machine". The concept of a state machine is hardly new but this is the first time I've seen an engine implement them in the context of a business process.
The idea is that many business processes are inherently event-driven and are not linear. For example, the processing of a mortgage application follows a pretty rigid set of steps. If you want to model your process with a view to automating it, it makes sense to draw it as a logical sequence of steps.
However, some business processes are not like this at all. I saw a colleague use the great example of a DVD-rental store today. If we treat the lifecycle of a DVD rental as a process, then we quickly see that the process is entirely driven by events - the hiring of a DVD, the return of a DVD, the expiry of a rental period, the making of a reservation, etc, etc.
Until now, modelling such a process with standard business modeling tools was difficult.
WebSphere Process Server allows you, instead, to model the process in a far more natural manner and the tooling and runtime work together to take care of the execution for you.
It's an area I'm still investigating but I can think of several client engagements from the past that would have been a lot easier with this technology.
The idea is that many business processes are inherently event-driven and are not linear. For example, the processing of a mortgage application follows a pretty rigid set of steps. If you want to model your process with a view to automating it, it makes sense to draw it as a logical sequence of steps.
However, some business processes are not like this at all. I saw a colleague use the great example of a DVD-rental store today. If we treat the lifecycle of a DVD rental as a process, then we quickly see that the process is entirely driven by events - the hiring of a DVD, the return of a DVD, the expiry of a rental period, the making of a reservation, etc, etc.
Until now, modelling such a process with standard business modeling tools was difficult.
WebSphere Process Server allows you, instead, to model the process in a far more natural manner and the tooling and runtime work together to take care of the execution for you.
It's an area I'm still investigating but I can think of several client engagements from the past that would have been a lot easier with this technology.
Friday, December 02, 2005
It is not enough for information to be available...
... it's only valuable to you if you consume it.
When I started thinking about making equity investments a few months ago, I struggled with the asymmetry I faced in terms of information. Professional investors had access to all the information I did (i.e. the internet) plus their proprietary information feeds plus the informal information they could pick up due to their position.
I therefore reasoned that I stood the best chance of doing well in areas where I could discover useful information (legally) for myself.
So, I chose to concentrate a large portion of my pot in retail. Why retail? Well, I am already heavily exposed to IT (all my human capital is invested there for a start...) so that wasn't an option if I wanted some diversification. I chose retail as the second best as it's the industry I probably have most exposure to.... I visit shops every day... I have friends who have worked for retailers at various levels and it's a simple business to understand. I figured that my own experience as a shopper would give me a good handle on which retailers were doing well and which were on the slide long before their profit figures showed a problem.
However, my best investment turns out to have been one of my smaller ones. It was a bet I placed on a Japanese Market index. Why did that perform so well? A lot of it was, of course, luck.
But I have belatedly realised that there is a second reason. My initial theory... that I would do best when I had access to information that others don't have... wasn't the whole story. It wasn't that I needed proprietary information... it was that I just needed it before most other people.
It's obvious in hindsight but I had been assuming that information travels - and is consumed - instantaneously. This is, of course, not the case.
My Japanese investment is an example of this: The Economist reported the opportunities in Japan several weeks before the mainstream newspapers started telling their readers to invest there. Those few weeks were when I made a lot of my gains.
Now... this case was good luck. But it hits on an important point. I am a very quick reader and can extract the key points from a mass of text with a skim read. This allows me to invest a small amount of time each day skimming internal IBM blogs, newsgroups and intranet sites to gain a disproportionately large amount of information to help me with my job.
Looking externally, the same is true... the economics, business, technical and news sites I read consume less of my time than one would think. My question is: does this give me an advantage that I can exploit - either for my investments or for my career?
When we are asked to think about our strengths, "reading comprehension" isn't usually at the top of anybody's list but perhaps it really can be used as a strength. I think it certainly gives me an information advantage in multiple situations... presumably this is true for lots of other people... I wonder if there are techniques one can use (or career paths to follow) to get the maximum benefit from this ability?
When I started thinking about making equity investments a few months ago, I struggled with the asymmetry I faced in terms of information. Professional investors had access to all the information I did (i.e. the internet) plus their proprietary information feeds plus the informal information they could pick up due to their position.
I therefore reasoned that I stood the best chance of doing well in areas where I could discover useful information (legally) for myself.
So, I chose to concentrate a large portion of my pot in retail. Why retail? Well, I am already heavily exposed to IT (all my human capital is invested there for a start...) so that wasn't an option if I wanted some diversification. I chose retail as the second best as it's the industry I probably have most exposure to.... I visit shops every day... I have friends who have worked for retailers at various levels and it's a simple business to understand. I figured that my own experience as a shopper would give me a good handle on which retailers were doing well and which were on the slide long before their profit figures showed a problem.
However, my best investment turns out to have been one of my smaller ones. It was a bet I placed on a Japanese Market index. Why did that perform so well? A lot of it was, of course, luck.
But I have belatedly realised that there is a second reason. My initial theory... that I would do best when I had access to information that others don't have... wasn't the whole story. It wasn't that I needed proprietary information... it was that I just needed it before most other people.
It's obvious in hindsight but I had been assuming that information travels - and is consumed - instantaneously. This is, of course, not the case.
My Japanese investment is an example of this: The Economist reported the opportunities in Japan several weeks before the mainstream newspapers started telling their readers to invest there. Those few weeks were when I made a lot of my gains.
Now... this case was good luck. But it hits on an important point. I am a very quick reader and can extract the key points from a mass of text with a skim read. This allows me to invest a small amount of time each day skimming internal IBM blogs, newsgroups and intranet sites to gain a disproportionately large amount of information to help me with my job.
Looking externally, the same is true... the economics, business, technical and news sites I read consume less of my time than one would think. My question is: does this give me an advantage that I can exploit - either for my investments or for my career?
When we are asked to think about our strengths, "reading comprehension" isn't usually at the top of anybody's list but perhaps it really can be used as a strength. I think it certainly gives me an information advantage in multiple situations... presumably this is true for lots of other people... I wonder if there are techniques one can use (or career paths to follow) to get the maximum benefit from this ability?
Why Gendal World?
I don't think I ever explained why this blog is called "Gendal World".
No... it's not some horrific (and misspelled) "Lord of the Rings" reference. It's actually very simple. Gendal, for reasons that my parents have never satisfactorily explained, is my middle name.
As a child, I was told that Gendal was the name of a Welsh great uncle. When several Welsh people told me they had never heard the word before, my parents said that perhaps it is Cornish.
Who knows.....
It has several advantages..... for one, I can almost always get the user id I want on any given system (except for DNS... I used to own www.gendal.com but let it lapse...)
No... it's not some horrific (and misspelled) "Lord of the Rings" reference. It's actually very simple. Gendal, for reasons that my parents have never satisfactorily explained, is my middle name.
As a child, I was told that Gendal was the name of a Welsh great uncle. When several Welsh people told me they had never heard the word before, my parents said that perhaps it is Cornish.
Who knows.....
It has several advantages..... for one, I can almost always get the user id I want on any given system (except for DNS... I used to own www.gendal.com but let it lapse...)
Thursday, December 01, 2005
The Deployment Descriptor on Steroids...
Well.... the thing that I had been hoping to see for some time now happened yesterday... Oracle, IBM, Sybase, Siebel, BEA, SAP and IONA announced support for the Service Component Architecture (SCA). SCA is at the heart of WebSphere Process Server and so I've been exposed to this technology for some time now.
Why do we need SCA? What problem does it solve? What's wrong with WS-*? JAX-RPC? J2EE? etc, etc, etc.
The links above are worth looking at for the "official answer" - and the reasons are good. However, the motivation for SCA that I give is usually as follows. I'm not claiming this is the real reason it was invented or that this is necessarily the most important aspect but I've found it useful for my own internal thinking.
So here goes....
Let's imagine we're starting a new development project. We've heard all about SOA... perhaps there is even an existing SOA initiative in our organisation. Perhaps several key services have already been exposed (and advertised) as reusable services. Perhaps there is even some governance in place around them. Excellent.
We start to design our system and we realise we can use these services in our application. That is: we will be building a composite application that contains both new code and invocations of existing code... we will orchestrate the execution of services hosted elsewhere if you like.
Two immediate technical questions arise. 1) How do we invoke these services? 2) How do we build our own application such that it isn't monolithic but can, in turn, provide services to other users in the enterprise?
Today, the answer to the first question will vary based on who you speak to. But the answer usually comes down to some API (JAX-RPC? JMS? EJB calls? whatever...) and some meta-language for describing the service (WSDL?). This is just fine... as long as you're happy to treat these services as end-points.
But what happens when we look at our own piece of development work? It is likely that we will be trying to build a modular solution which consists of various "chunks" of functionality and we may even wish to regard these pieces of functionality as services in themselves. That is: we will use this new functionality but it's sufficiently coarse-grained to make parts of it suitable for exposing to other users in time.
The big problem, however, is that these components are not just end-points.... they are components that provide both a service and which have dependencies. This is a problem since we're writing this application! It's up to us to satisfy these dependencies.
What SCA does is allow us to write our applications as we always have done if we choose (Session Beans, chunks of java, whatever makes sense for each component) and attach a descriptor to each component in the application which contains several pieces of information: the interface provided by this component and the interfaces it needs to call in order to perform its work. This descriptor contains other information but these two aspects (the interfaces and references) are the key.
They are key because it means we now have a consistent way to build and package components that provide and consume services. Even better, since we now have a useful descriptor for each component, we can create tooling to facilitate the building of such applications - the descriptor (the ".component file") tells the tooling all it needs to know to allow users to "wire" components together.
Now, a secondary benefit of this is that we now have a unified API for invoking services (a component merely says to the runtime "give me the service which implements this interface that I am dependent on - and wired to" and the runtime is responsible for taking care of the invocation, regardless of the actual technology in use). However, this benefit really is secondary.
So, to my mind, the big step forward with SCA is not the "extra layer" or the "unified API". Rather, it's the fact that we now have way of describing components and for wiring them together to build composite applications that is consistent whether we're programming "in the large" or "in the small" - and which extends service-orientation from the end-points into the heart of an application in a unified manner.
Of course, not everybody seems to think this is a good idea :-)
Why do we need SCA? What problem does it solve? What's wrong with WS-*? JAX-RPC? J2EE? etc, etc, etc.
The links above are worth looking at for the "official answer" - and the reasons are good. However, the motivation for SCA that I give is usually as follows. I'm not claiming this is the real reason it was invented or that this is necessarily the most important aspect but I've found it useful for my own internal thinking.
So here goes....
Let's imagine we're starting a new development project. We've heard all about SOA... perhaps there is even an existing SOA initiative in our organisation. Perhaps several key services have already been exposed (and advertised) as reusable services. Perhaps there is even some governance in place around them. Excellent.
We start to design our system and we realise we can use these services in our application. That is: we will be building a composite application that contains both new code and invocations of existing code... we will orchestrate the execution of services hosted elsewhere if you like.
Two immediate technical questions arise. 1) How do we invoke these services? 2) How do we build our own application such that it isn't monolithic but can, in turn, provide services to other users in the enterprise?
Today, the answer to the first question will vary based on who you speak to. But the answer usually comes down to some API (JAX-RPC? JMS? EJB calls? whatever...) and some meta-language for describing the service (WSDL?). This is just fine... as long as you're happy to treat these services as end-points.
But what happens when we look at our own piece of development work? It is likely that we will be trying to build a modular solution which consists of various "chunks" of functionality and we may even wish to regard these pieces of functionality as services in themselves. That is: we will use this new functionality but it's sufficiently coarse-grained to make parts of it suitable for exposing to other users in time.
The big problem, however, is that these components are not just end-points.... they are components that provide both a service and which have dependencies. This is a problem since we're writing this application! It's up to us to satisfy these dependencies.
What SCA does is allow us to write our applications as we always have done if we choose (Session Beans, chunks of java, whatever makes sense for each component) and attach a descriptor to each component in the application which contains several pieces of information: the interface provided by this component and the interfaces it needs to call in order to perform its work. This descriptor contains other information but these two aspects (the interfaces and references) are the key.
They are key because it means we now have a consistent way to build and package components that provide and consume services. Even better, since we now have a useful descriptor for each component, we can create tooling to facilitate the building of such applications - the descriptor (the ".component file") tells the tooling all it needs to know to allow users to "wire" components together.
Now, a secondary benefit of this is that we now have a unified API for invoking services (a component merely says to the runtime "give me the service which implements this interface that I am dependent on - and wired to" and the runtime is responsible for taking care of the invocation, regardless of the actual technology in use). However, this benefit really is secondary.
So, to my mind, the big step forward with SCA is not the "extra layer" or the "unified API". Rather, it's the fact that we now have way of describing components and for wiring them together to build composite applications that is consistent whether we're programming "in the large" or "in the small" - and which extends service-orientation from the end-points into the heart of an application in a unified manner.
Of course, not everybody seems to think this is a good idea :-)
Wednesday, November 30, 2005
Siemens Success!
My colleague, Andy Piper, hinted in the comments to a previous post that merely getting my contacts file to display in an emulated Siemens SX1 was unimpressive and that a real techie would have written some code to transfer them from the emulator to my new phone.
It was a ridiculous challenge - automating a task you will perform once is madness - but any suggestion that my consulting and travel has dumbed down my technical abilities must be countered. And countered AT ONCE!
Accordingly, Iwasted invested my evening yesterday in solving this problem. You could argue that there are better ways to spend a Tuesday evening. And I would agree with you. However, the time is gone forever so let's press on....
The lazy reader can quit reading here if they like: the bottom line is that I have managed to take my unreadable contacts.cdb file and import it into my new Nokia 6021 without having to do any manual retyping of contact information. Hurrah! Yay for me. &c.
For the more inquiring reader, here is how I did it.
Firstly, I would like to pretend that I analysed the problem, planned an approach, sized the work involved and methodically reached a successful conclusion. However, that would be a lie. Rather, I made egregious use of google, grep, sample code, hacking, guesswork and luck. Nevertheless, the problem can be broken down into several areas:
1) Writing a program to run on the phone emulator to interrogate the contacts database programmatically
2) Using the program from step 1) to write the data into a form that could be extracted from the emulator
3) Some technique to take the output of step 2 and turn it into something that the Nokia sync software understood (e.g. a Windows Adress Book file)
4) Sync of the data onto my phone.
These problems each presented their own challenges. I don't pretend to be proud of the solution I came up with. But it worked. Which is important. Of course, if I'd done this for a client, I should have been sacked.
So, firstly, how did I interrogate the contacts database? My language of choice (Java) was quickly ruled out as I couldn't get any of the sample java applications to run on the emulator - I simply couldn't get them to install :-( The SX1 emulator seemed incapable of loading .jar or .jad files. When I was seriously considering hosting them on a web server and configuring the emulated phone to download them over a simulated WAP connection I knew I should change approach.
So, instead, I dusted off my trusty copy of Microsoft Visual Studio 6.0 and followed the instructions in the Symbian 6.1 SDK on how to get the "HelloWorldPlus" application to run inside Visual Studio. Very neat - and it actually worked!
I now had a sample C++ Symbian Application that I could modify.
I found another PDF (shipped with the SDK - or perhaps the SMTK) that gave some sample snippets on how to drive the CContactsDatabase. Apart from one mis-step (you have to regenerate the Visual Studio workspace if you add any dependencies on other libraries to the .mmp file), I quite quickly had an app that would iterate over my contacts and display them in a pop up window on the device. Excellent!
Not so fast..... this was, it turned out, the easy part. The hardest part was that I couldn't find any nice way at all to write to a file in any useful way. Conversions between 8-bit and 16-bit string representations, my lack of knowledge of the Symbian primitives and more meant that I got bogged down here. (Not having written any C++ for five years also didn't help).
Eventually, I discovered how to create a useful character array on the heap and, after more digging, how to copy individual strings into it. I used this knowledge to write my contacts into a contiguous chunk of memory (with various tags and delimiters to separate contacts, field names and values)
Hurrah! You see: I am a hacker at heart so once I had everything in a contiguous chunk of memory I was done. I simply placed a breakpoint at the end of my program, checked where my buffer was located on the heap, viewed that piece of memory and used copy/paste to get the data into Notepad. (Yes: it's horrible... but it worked....).
So now my problem was one of search/replace and some nifty perl to generate a useful CSV file.
A bit of tweaking in Excel and I had a CSV. I used Outlook express to turn it into a .wab file. I could then sync it to the phone.
SUCCESS!!!
The question, of course, is: why did this need to be so difficult? I return to my original statement on this whole saga: open standards are a beautiful thing. Siemens/Nokia/Symbian should be thoroughly ashamed of themselves.
It was a ridiculous challenge - automating a task you will perform once is madness - but any suggestion that my consulting and travel has dumbed down my technical abilities must be countered. And countered AT ONCE!
Accordingly, I
The lazy reader can quit reading here if they like: the bottom line is that I have managed to take my unreadable contacts.cdb file and import it into my new Nokia 6021 without having to do any manual retyping of contact information. Hurrah! Yay for me. &c.
For the more inquiring reader, here is how I did it.
Firstly, I would like to pretend that I analysed the problem, planned an approach, sized the work involved and methodically reached a successful conclusion. However, that would be a lie. Rather, I made egregious use of google, grep, sample code, hacking, guesswork and luck. Nevertheless, the problem can be broken down into several areas:
1) Writing a program to run on the phone emulator to interrogate the contacts database programmatically
2) Using the program from step 1) to write the data into a form that could be extracted from the emulator
3) Some technique to take the output of step 2 and turn it into something that the Nokia sync software understood (e.g. a Windows Adress Book file)
4) Sync of the data onto my phone.
These problems each presented their own challenges. I don't pretend to be proud of the solution I came up with. But it worked. Which is important. Of course, if I'd done this for a client, I should have been sacked.
So, firstly, how did I interrogate the contacts database? My language of choice (Java) was quickly ruled out as I couldn't get any of the sample java applications to run on the emulator - I simply couldn't get them to install :-( The SX1 emulator seemed incapable of loading .jar or .jad files. When I was seriously considering hosting them on a web server and configuring the emulated phone to download them over a simulated WAP connection I knew I should change approach.
So, instead, I dusted off my trusty copy of Microsoft Visual Studio 6.0 and followed the instructions in the Symbian 6.1 SDK on how to get the "HelloWorldPlus" application to run inside Visual Studio. Very neat - and it actually worked!
I now had a sample C++ Symbian Application that I could modify.
I found another PDF (shipped with the SDK - or perhaps the SMTK) that gave some sample snippets on how to drive the CContactsDatabase. Apart from one mis-step (you have to regenerate the Visual Studio workspace if you add any dependencies on other libraries to the .mmp file), I quite quickly had an app that would iterate over my contacts and display them in a pop up window on the device. Excellent!
Not so fast..... this was, it turned out, the easy part. The hardest part was that I couldn't find any nice way at all to write to a file in any useful way. Conversions between 8-bit and 16-bit string representations, my lack of knowledge of the Symbian primitives and more meant that I got bogged down here. (Not having written any C++ for five years also didn't help).
Eventually, I discovered how to create a useful character array on the heap and, after more digging, how to copy individual strings into it. I used this knowledge to write my contacts into a contiguous chunk of memory (with various tags and delimiters to separate contacts, field names and values)
Hurrah! You see: I am a hacker at heart so once I had everything in a contiguous chunk of memory I was done. I simply placed a breakpoint at the end of my program, checked where my buffer was located on the heap, viewed that piece of memory and used copy/paste to get the data into Notepad. (Yes: it's horrible... but it worked....).
So now my problem was one of search/replace and some nifty perl to generate a useful CSV file.
A bit of tweaking in Excel and I had a CSV. I used Outlook express to turn it into a .wab file. I could then sync it to the phone.
SUCCESS!!!
The question, of course, is: why did this need to be so difficult? I return to my original statement on this whole saga: open standards are a beautiful thing. Siemens/Nokia/Symbian should be thoroughly ashamed of themselves.
Tuesday, November 29, 2005
Why can I only think of business ideas in the FMCG space?
I was reading last week (may have been on New Scientist - I don't recall) that a new theory for the high incidence of MRSA in British hospitals is excessive hygiene - rather than poor hygiene.
The suggestion was that doctors shouldn't use alcohol gels before visiting patients. Rather, they should immerse their hands in live yoghurt. This would have the effect of coating their hands with lots of "good" bacteria and so provide far less opportunity for other opportunistic bacteria to take hold... they would have to compete with the existing ones for resource, space, etc.
My idea is that there probably exists an opportunity for somebody to start selling "pro-biotic" handwashes and kitchen cleaners for households.
Remember, folks, you saw it here first...
The suggestion was that doctors shouldn't use alcohol gels before visiting patients. Rather, they should immerse their hands in live yoghurt. This would have the effect of coating their hands with lots of "good" bacteria and so provide far less opportunity for other opportunistic bacteria to take hold... they would have to compete with the existing ones for resource, space, etc.
My idea is that there probably exists an opportunity for somebody to start selling "pro-biotic" handwashes and kitchen cleaners for households.
Remember, folks, you saw it here first...
How to learn things without really trying
Regular readers of my blog may be familiar with the Siemens SX1 phone I so ill-advisedly bought some time ago. It finally died last week and I thought I had been very clever in backing up my contacts database just in time. For readers familiar with Symbian/Siemens/Nokia Series 60 phones, contacts appear to be stored in a proprietary format as a "contacts.cdb" file.
I never could have imagined quite how difficult it would have been to gain access to the contents without a running phone. Here are just some of the things I tried:
I first tried to find any software (free or otherwise) that could read the file format on Windows - and got nowhere (there were lots of code samples for Symbian but that didn't really help given that my phone was dead....). There is a business opportunity here.
I then started looking at the Siemens (now Ben-Q) website for more details and spotted that you can download phone emulators.... A HA! I thought..... I can get a Siemens phone running in emulation, find where it stores its contacts file, replace it with my backed up one and then view all my contacts on the emulator!
Sadly, if things were that simple, I wouldn't have still been working on this at midnight last night.
The problem is that different Siemens phones store their contacts in different formats and - worse - the emulator for the SL65 and CX70 emulates everything except the file systems --- which is "different" between real and emulated phones, apparently. (The reason I was using SL65 and CX70 emulators was because the site I found didn't offer an SX1 emulator.)
Undaunted, I had another brainwave..... I realised that I could use the Siemens phone manager software to "back up" the SL65. I would then have a back-up representation of the phone..... and that was precisely the format my rescued contacts file was in (since I had obtained it by backing up my SX1). I could swap the file on the backup and then sync back to the phone.
So all I had to do was install the Siemens Mobile Phone Manager software. Except... the backup format for the SL65 turned out to be different to the SX1. Arghhhh.
I was ready to give up..... unless..... perhaps...... maybe there really was an SX1 emulator. For reasons that are still not clear to me, I hadn't explicitly searched google for one of these until now. As soon as I did it, one popped up. It wasn't as full-featured as the SL65 emulator (it couldn't sync to the siemens data suite) but it DID run and it DOES use the contacts.cdb format.
So, at midnight last night, I booted an emulated Siemens SX1 with my backed-up contacts database running. HURRAH!!!
I will now have to copy the entries one-by-one by hand onto my new phone but at least I have them.... which is more than I had this time yesterday.
The lesson here, of course, is that it's insufficient to perform backups: one must also test them.
Ironically, I was discussing this with a colleague last week where I gravely nodded when he told me tales of those who had forgotten this advice. The shame.
I never could have imagined quite how difficult it would have been to gain access to the contents without a running phone. Here are just some of the things I tried:
I first tried to find any software (free or otherwise) that could read the file format on Windows - and got nowhere (there were lots of code samples for Symbian but that didn't really help given that my phone was dead....). There is a business opportunity here.
I then started looking at the Siemens (now Ben-Q) website for more details and spotted that you can download phone emulators.... A HA! I thought..... I can get a Siemens phone running in emulation, find where it stores its contacts file, replace it with my backed up one and then view all my contacts on the emulator!
Sadly, if things were that simple, I wouldn't have still been working on this at midnight last night.
The problem is that different Siemens phones store their contacts in different formats and - worse - the emulator for the SL65 and CX70 emulates everything except the file systems --- which is "different" between real and emulated phones, apparently. (The reason I was using SL65 and CX70 emulators was because the site I found didn't offer an SX1 emulator.)
Undaunted, I had another brainwave..... I realised that I could use the Siemens phone manager software to "back up" the SL65. I would then have a back-up representation of the phone..... and that was precisely the format my rescued contacts file was in (since I had obtained it by backing up my SX1). I could swap the file on the backup and then sync back to the phone.
So all I had to do was install the Siemens Mobile Phone Manager software. Except... the backup format for the SL65 turned out to be different to the SX1. Arghhhh.
I was ready to give up..... unless..... perhaps...... maybe there really was an SX1 emulator. For reasons that are still not clear to me, I hadn't explicitly searched google for one of these until now. As soon as I did it, one popped up. It wasn't as full-featured as the SL65 emulator (it couldn't sync to the siemens data suite) but it DID run and it DOES use the contacts.cdb format.
So, at midnight last night, I booted an emulated Siemens SX1 with my backed-up contacts database running. HURRAH!!!
I will now have to copy the entries one-by-one by hand onto my new phone but at least I have them.... which is more than I had this time yesterday.
The lesson here, of course, is that it's insufficient to perform backups: one must also test them.
Ironically, I was discussing this with a colleague last week where I gravely nodded when he told me tales of those who had forgotten this advice. The shame.
Saturday, November 26, 2005
Investment Update
It's time for an update of how my foray into equities investing has been going.
The news is currently quite good.
Morrisons (MRW.L) are still trading below the price I paid. Which is, of course, inconvenient.
However, my FTSE 100 tracker is slightly up and my Japan MSCI tracker is up a stonking 14.5% since I bought it a few months ago.
So, it's about three months since I started moving cash into equities and I am currently sitting on a modest 2.9% gain. I think this is pretty good for three months. News stories of four-year highs (such as we have had recently with the FTSE) worry me - in retrospect those kinds of stories are always the ones that mean you should have sold by now... but in the absence of anywhere better to put the cash, I'm going to leave it exactly where it is but keep an eye open...
The news is currently quite good.
Morrisons (MRW.L) are still trading below the price I paid. Which is, of course, inconvenient.
However, my FTSE 100 tracker is slightly up and my Japan MSCI tracker is up a stonking 14.5% since I bought it a few months ago.
So, it's about three months since I started moving cash into equities and I am currently sitting on a modest 2.9% gain. I think this is pretty good for three months. News stories of four-year highs (such as we have had recently with the FTSE) worry me - in retrospect those kinds of stories are always the ones that mean you should have sold by now... but in the absence of anywhere better to put the cash, I'm going to leave it exactly where it is but keep an eye open...
Hear me speak!
I found Irving Wladawsky-Berger's recent post very interesting. He talks about (and links to discussions of) various schools of thought around the value of process in business.
It was interesting on several levels. Firstly, this is the area in which I work (I spend a lot of time consulting on how to effectively model and automate business processes with software) - and I regularly worry about how to best advise my clients on getting the right balance between automating / optimising their current processes and ensuring they build in enough flexibilty to innovate (or simply to react to the innovations of others).
I think the key point - that we can all agree on - is that it would be madness to automate the execution of a business process in a manner that inhibited future changes. One of the very promises of the technology would have been cruelly broken.
Coincidentally, I specialise in worrying about this problem of "dynamicity" on projects that use WebSphere Process Server. If we're going to deploy a solution that helps us manage a business process (e.g. a mortgage application process), how do we make sure it can be changed easily if regulation changes? What if a competitor changes the game and we need to respond? What if we change our offering? What if a third-party we depend on (credit scoring?) goes out of business?
These problems and more are ones a business should be considering anyway - but it gets pressing if you start to formally document - and enforce - the process.
I recorded a brief PodCast about this last month and it is now on IBM developerWorks. This was my first PodCast and I've learned a few lessons from it (namely, say less, say it more slowly and don't jump around!). However, I think it gives a good overview of some of the problems we need to think about when working on these sorts of business process management projects.
The download page is here: http://www-128.ibm.com/developerworks/podcast/websphere/ws-soa5progmod.html
The MP3 is here: ftp://www6.software.ibm.com/software/developer/podcast/websphere/ws-soa5progmod.mp3
It was interesting on several levels. Firstly, this is the area in which I work (I spend a lot of time consulting on how to effectively model and automate business processes with software) - and I regularly worry about how to best advise my clients on getting the right balance between automating / optimising their current processes and ensuring they build in enough flexibilty to innovate (or simply to react to the innovations of others).
I think the key point - that we can all agree on - is that it would be madness to automate the execution of a business process in a manner that inhibited future changes. One of the very promises of the technology would have been cruelly broken.
Coincidentally, I specialise in worrying about this problem of "dynamicity" on projects that use WebSphere Process Server. If we're going to deploy a solution that helps us manage a business process (e.g. a mortgage application process), how do we make sure it can be changed easily if regulation changes? What if a competitor changes the game and we need to respond? What if we change our offering? What if a third-party we depend on (credit scoring?) goes out of business?
These problems and more are ones a business should be considering anyway - but it gets pressing if you start to formally document - and enforce - the process.
I recorded a brief PodCast about this last month and it is now on IBM developerWorks. This was my first PodCast and I've learned a few lessons from it (namely, say less, say it more slowly and don't jump around!). However, I think it gives a good overview of some of the problems we need to think about when working on these sorts of business process management projects.
The download page is here: http://www-128.ibm.com/developerworks/podcast/websphere/ws-soa5progmod.html
The MP3 is here: ftp://www6.software.ibm.com/software/developer/podcast/websphere/ws-soa5progmod.mp3
Friday, November 25, 2005
Heathrow Twilight Zone
I arrived back at Heathrow today from Madrid on Iberia. The plane was scheduled to land at terminal 2 and the little yellow number at the gate did, indeed, start with 2.
However, we seemed to be in a bizarre Monument/Bank terminal-duality situation. As soon as I left the plane, there were loads of signs saying terminal one. I followed the most obvious route and ended up at a sign telling me to turn left for Terminal 2 passport control and right for terminal 1. Weird! I never knew there was a secret little passage between them.
I took a gamble and stuck with T2. It paid off as there were no queues at passport control. However, now that I know that you can move between T2 and T1 on arrival I'll have to devise some new "getting from the aircraft to the Heathrow Express in minimal time" strategies.... after all, T1 is closer to the heathrow express than T2. And every second counts :-p
However, we seemed to be in a bizarre Monument/Bank terminal-duality situation. As soon as I left the plane, there were loads of signs saying terminal one. I followed the most obvious route and ended up at a sign telling me to turn left for Terminal 2 passport control and right for terminal 1. Weird! I never knew there was a secret little passage between them.
I took a gamble and stuck with T2. It paid off as there were no queues at passport control. However, now that I know that you can move between T2 and T1 on arrival I'll have to devise some new "getting from the aircraft to the Heathrow Express in minimal time" strategies.... after all, T1 is closer to the heathrow express than T2. And every second counts :-p
Thursday, November 24, 2005
Time flies...
During a break this week I wrote the following line on the whiteboard and invited the audience members to interpret it in such a way that it is both correct English and is not nonsensical.
"Time flies. I can't. They move too fast."
I first discovered this line when I was about 10 in a puzzle book and thought it was fantastic. It is great to see people's reactions (including native English speakers) as they try to devise an interpretation that makes sense.
Oh... and before I forget... to my IBM readers: I had the privilege of sharing several dinners and breakfasts with Richard Whyte on this trip. He is an utter genius..... his enthusiasm, knowledge and experience makes him an astonishing asset for the company. He's one of the few people I've met recently who is both technically brilliant and proud of it. More of this please!
"Time flies. I can't. They move too fast."
I first discovered this line when I was about 10 in a puzzle book and thought it was fantastic. It is great to see people's reactions (including native English speakers) as they try to devise an interpretation that makes sense.
Oh... and before I forget... to my IBM readers: I had the privilege of sharing several dinners and breakfasts with Richard Whyte on this trip. He is an utter genius..... his enthusiasm, knowledge and experience makes him an astonishing asset for the company. He's one of the few people I've met recently who is both technically brilliant and proud of it. More of this please!
Reflections on teaching in Madrid
Tomorrow is the last day of my two one-week trips to Spain. I've been teaching a class of colleagues about WebSphere Process Server version 6.0.
I have a tendency to talk very fast so it is always a challenge for me (and my audience!) when I present to non-English speakers. I do my best to slow down, enunciate clearly and use simple language but I still find myself speeding up if I get to a particularly interesting section or deviate from the slides to make an alternative argument for a particular decision or claim.
The audience were excellent - highly skilled, alert and keen to participate. I'm slightly concerned that they seemed more interested in learning all the English wods I used that they hadn't previously heard ("Peculiarity" was a favourite) but I'll let it pass...
It has been a valuable fortnight - but I can't wait to get home.
I have a tendency to talk very fast so it is always a challenge for me (and my audience!) when I present to non-English speakers. I do my best to slow down, enunciate clearly and use simple language but I still find myself speeding up if I get to a particularly interesting section or deviate from the slides to make an alternative argument for a particular decision or claim.
The audience were excellent - highly skilled, alert and keen to participate. I'm slightly concerned that they seemed more interested in learning all the English wods I used that they hadn't previously heard ("Peculiarity" was a favourite) but I'll let it pass...
It has been a valuable fortnight - but I can't wait to get home.
Nokia Shortage
I ordered a new phone on Monday (to replace my broken Siemens SX1) and rang to check on the status today. According to the person I spoke to at BT Mobile, there is a national shortage - across all networks - of Nokia handsets at present in the UK. She may have meant just my model but she certainly gave the impression of the problem being more widespread.
I don't have any inside knowledge of course so I really wish I had the ability to make use of little tidbits like this. If I could verify it - and assuming it wasn't widely known - I could presumably use it to my advantage if I thought it would affect their next quarterly results.
Sadly, I have no such ability. It'd be nice though...
I don't have any inside knowledge of course so I really wish I had the ability to make use of little tidbits like this. If I could verify it - and assuming it wasn't widely known - I could presumably use it to my advantage if I thought it would affect their next quarterly results.
Sadly, I have no such ability. It'd be nice though...
Tuesday, November 22, 2005
Open standards are a beautiful thing
We preach open standards so loudly and so often in the IT industry that it's arresting when your life is impacted by the failure of a vendor to join the party.
I am very suspicious of premature standardisation - it is in nobody's interest to agree a dangerous or broken standard (imagine if we'd standardised home power outlets at 20V or something...). However, open standards do perform the enormously valuable role of limiting opportunities for vendor lock-in and maximising opportunities for users to be free to choose implementations.
I made the mistake of purchasing a phone from Siemens a year or so ago. They have subsequently admitted (by selling the business) that they were not very good at this enterprise and the SX1 I so naively purchased was a perfect demonstration of this.
The phone began spontaneously rebooting even more frequently than normal yesterday morning so I figured I had better back it up. The only data I was desperate to save was my contact database. I managed to rescue this before the phone completely expired.
So far, so bad..... I am now in Madrid without a cellphone. Not the end of the world but it feels like I have lost a limb.
However, this is where things become unpleasant. The Siemens "Data Suite" can only synchronise with Microsoft Outlook. I work for IBM. We don't have very many Outlook licenses deployed here, you may not be surprised to learn.
So.... how do I get hold of my contacts? Well.... surely the file format is documented? Sadly, it genuinely does appear to be the case that the Siemens/Nokia/Symbian "cdb" file format is not officially documented. Worse, try as I might, I cannot find anybody on the internet who writes or sells PC software to parse these files and turn them into something useful (e.g. csv).
The closest I have managed to get so far is somebody explaining how to get a Symbian development environment running on my laptop. Wow.... That is one option I suppose.
So, with my optimistic hat on, I am happy that I have a backup of my contacts database. But I can't help being slightly perturbed that I can't read it :-(
I will investigate a little more when I get home at the weekend. Hopefully by then, my new phone will have arrived.
I am very suspicious of premature standardisation - it is in nobody's interest to agree a dangerous or broken standard (imagine if we'd standardised home power outlets at 20V or something...). However, open standards do perform the enormously valuable role of limiting opportunities for vendor lock-in and maximising opportunities for users to be free to choose implementations.
I made the mistake of purchasing a phone from Siemens a year or so ago. They have subsequently admitted (by selling the business) that they were not very good at this enterprise and the SX1 I so naively purchased was a perfect demonstration of this.
The phone began spontaneously rebooting even more frequently than normal yesterday morning so I figured I had better back it up. The only data I was desperate to save was my contact database. I managed to rescue this before the phone completely expired.
So far, so bad..... I am now in Madrid without a cellphone. Not the end of the world but it feels like I have lost a limb.
However, this is where things become unpleasant. The Siemens "Data Suite" can only synchronise with Microsoft Outlook. I work for IBM. We don't have very many Outlook licenses deployed here, you may not be surprised to learn.
So.... how do I get hold of my contacts? Well.... surely the file format is documented? Sadly, it genuinely does appear to be the case that the Siemens/Nokia/Symbian "cdb" file format is not officially documented. Worse, try as I might, I cannot find anybody on the internet who writes or sells PC software to parse these files and turn them into something useful (e.g. csv).
The closest I have managed to get so far is somebody explaining how to get a Symbian development environment running on my laptop. Wow.... That is one option I suppose.
So, with my optimistic hat on, I am happy that I have a backup of my contacts database. But I can't help being slightly perturbed that I can't read it :-(
I will investigate a little more when I get home at the weekend. Hopefully by then, my new phone will have arrived.
Thursday, November 17, 2005
Tres Cantos
I am in Spain this week teaching a group of IBMers and Business Partners from the south west of Europe about WebSphere Process Server. The course has a lot of content so we have to go at a quick pace but people are keeping up - which is good.
I flew out from Gatwick North Terminal. It was a surprisingly pleasant place. It turns out that I've never flown from there before. Whenever I've used Gatwick in the past, I've flown from the horrific south terminal. If I'd seen the north terminal earlier I may have been far less scathing of the airport than I've been in the past.
I'm staying in the Foxa Tres Cantos. It's a pretty nice hotel.... very, very new and has free wireless and high-speed ethernet in every room, large rooms, stunning bathroom and more. The room rate was, however, very low. My colleague Richard Whyte observed that rooms have a red light illuminated outside when the occupant is inside. Judging by the small number of lights on my corridor, I think it is safe to assume they currently have a very low occupancy rate - hence the price. (Of course, the illuminations are useful for staff and fire safety but provide a useful piece of information for burglars)
I flew out from Gatwick North Terminal. It was a surprisingly pleasant place. It turns out that I've never flown from there before. Whenever I've used Gatwick in the past, I've flown from the horrific south terminal. If I'd seen the north terminal earlier I may have been far less scathing of the airport than I've been in the past.
I'm staying in the Foxa Tres Cantos. It's a pretty nice hotel.... very, very new and has free wireless and high-speed ethernet in every room, large rooms, stunning bathroom and more. The room rate was, however, very low. My colleague Richard Whyte observed that rooms have a red light illuminated outside when the occupant is inside. Judging by the small number of lights on my corridor, I think it is safe to assume they currently have a very low occupancy rate - hence the price. (Of course, the illuminations are useful for staff and fire safety but provide a useful piece of information for burglars)
Friday, November 11, 2005
SOA != SOAP over HTTP
I was surprised to read this article by Steve Hoffman, linked to by Joe McKendrick.
He seems to be conflating the problems solved by service orientation with the problems solved by constructs such as ESBs.
He is correct to imply that you cannot easily consume services if they're all exposed using different protocols and transports. However, that doesn't mean having multiple invocation technologies in an enterprise is a bad thing. Sometimes you have no choice but to let pragmatism trump purity. Rather, it's an argument for a separation between the logical description of the services offered and the physical details of how to invoke them. The enterprise service bus is the construct to which you delegate the problem of doing the switching.
He seems to be conflating the problems solved by service orientation with the problems solved by constructs such as ESBs.
He is correct to imply that you cannot easily consume services if they're all exposed using different protocols and transports. However, that doesn't mean having multiple invocation technologies in an enterprise is a bad thing. Sometimes you have no choice but to let pragmatism trump purity. Rather, it's an argument for a separation between the logical description of the services offered and the physical details of how to invoke them. The enterprise service bus is the construct to which you delegate the problem of doing the switching.
Go West
Joe McKendrick has picked up on James Governor's musings on our San Francisco project.
I'm still trying to find out more about the project - it was before my time (and its own, it would seem) but it's not hard to see why it attracted interest.
I'm still trying to find out more about the project - it was before my time (and its own, it would seem) but it's not hard to see why it attracted interest.
Subscribe to:
Posts (Atom)
