Friday, September 01, 2006

The perfect day

Back from vacation, where I was forced into a 2 week spell of not being able to read email. At first I was a little concerned (it's sad, but in the past 5 years there has never been a time when I've been away from email for more than 2 days!), but I quickly forgot about it (I'd have these moments of "Oh, I wonder what's happening back at work" now and then). In the end, I had one of the best vacations I can remember in a long time: kind of an extended perfect day. Now I'm back, I'm welcomed by 1500 emails (and that's not including junk).

Wednesday, August 16, 2006

Tuesday, August 15, 2006

Two releases in 1 week!

I definitely need a break! Two releases in the space of a week! First JBossTS and then JBossESB. The latter was my first real experience of working with a team composed of full time employees as well as community members. It could simply be down to the team composition, or maybe this is the general rule for open source projects, but this worked like a dream. I couldn't have asked for more from the group of people I have to manage than if they were all full-time employees of Redhat. Well done guys!

Saturday, August 12, 2006

Mac OS versus Windows and their relevance to WS-* versus REST

Before I start I have to make it clear that computer illiteracy is not a bad thing. Some people just don't take to using computers very easily. Nature endows everyone with the ability to learn, but some subjects (not just computing) are just too difficult for the brain to grasp. Some people can't drive cars, some people can't learn foreign languages (I fall into this category: for some reason, I don't have a problem with computer languages, but basic French and German from 20 years ago is my limit for human languages), etc. etc.

There are a couple of computer illiterate people in my family (names withheld!). Over the years I've helped them get to grips with The Internet on various ranges of PCs. The operating system has always been Windows variants: starting with 95, then 98, then 2000 (I skipped NT because it was never intended for end-users!) and finally XP. Over the years (probably 10 years now), there have always been questions from my family about the way things work in Windows. For example: "where'd it save my attachments?", "what's a virus?", "why won't it recognise my digital camera?" and the perennial "why did they change that?" The interesting thing is that I got less questions concerning how to accomplish the easy tasks (such as email and browsing) back in the 95/98 days than I did in the 2000/XP days. I didn't look forward to Vista for these people!

So when the time came for a change (old machines, too many viruses etc.) I opted to move these people to Mac OS X. I've been using it successfully for a few years and I really like it. It's got a nice look-and-feel and runs everything I need. Plus it's Unix! But the one reason I wanted to move my computer-phobic family members across was simply manageability: I wouldn't have to worry (so much) that they'd remember to update their virus checker or run Windows-update (auto-update is fine if you're sure it's not going to screw with some other piece of software you've installed). Plus one thing I should have mentioned: I don't live close by, so fixing problems often requires a special trip elsewhere in the country. So manageability, and the confidence that things are going to remain operational for long stretches of time, is paramount for the computer "challenged".

Now you may ask why did I go with Windows in the first place for my family? I don't think anyone could honestly say that it's ever been in the "install once and never have to touch it for years" category. (What operating system is? But relatively speaking it doesn't score high.) However, it is convenient. Plus most of the software you'd want to run probably runs on Windows first.

For hardened computer scientists I think Windows is fine (well, almost). These days it offers far more powerful tools and capabilities than it used to and there's a lot of flexibility there too. As I said in another post, my move to Windows from Unix was because of convenience and despite its short-comings IMO it did the job. I know the rules: update frequently and be defensive. But computer illiterate people don't. Where else in someone's life does this kind of thing happen? When was the last time you contacted your car manufacturer to see if there was a problem with your make and model? Such things do happen in the auto-trade, but they're so infrequent as to not be the norm. Plus if there is a problem (for example with the axle) it's unlikely to affect the car stereo system!

Alright I may be over exaggerating slightly, but it can seem this bad for people who only want to use a computer for convenience and don't know how (or why) to manage it. So the move to Mac OS X seemed like a good idea for purely that reason. However, it turned out that there was an added bonus: simplicity. Both people took to the Mac interface a lot quicker than Windows. To paraphrase "it's more natural" and "more integrated". Now it's difficult for me to be objective on this aspect. I think that's because when I started using computers they were "raw" and I'm used to all of their "qwerks". But trying to see beyond this, I think I understand what they mean and agree with them. The Mac seems to have found that sweet spot between usability and power.

Now it's true that the Mac is a niche player and my 2 family members don't allow for a good statistical distribution, particularly when you consider how many Windows users there are out there. Surely Windows must have hit the 80/20 mark or 98/02 mark, right? I don't really know and I'm not sure anyone has the right demographic information. Maybe computer illiterate people using Windows just put up with it because they don't know any better or have on-call "system administrators" (aka family members) to help them.

By now you're probably wondering what this has to do with WS-* or REST. Well there's been a debate for many years about one versus the other. I first came across it back in 2002 when I was on the W3C WS-Architecture working group. It seemed to come up every year, with the help of the likes of Mark and Eric. It has continued and can sometimes be an almost religious war on the scale of Macs versus PCs. Apparently you've got to be either pro REST (and against WS-*) or vice versa. Sitting on the fence is seen as a cop-out!

However, I'm one of the fence sitters for the following reasons: I've never believed in the one-size fits all argument; REST has simplicity/manageability to offer in certain circumstances and WS-* works better in others. As far as distributed internet-based computing is concerned, REST is probably closer to Mac OS X and that makes WS-* the Windows. For what people want to do today I think REST is at the sweet spot I mentioned earlier. But as application requirements get more complex, WS-* takes over. We shouldn't lose sight of the fact that they can compliment each other: it need not be a case of eiher one or the other.

Taking my analogy of Mac OS X/REST and Windows/WS-* further, my only concern is that we don't lose sight of who will be using these systems: they're not necessarily going to be computer experts and may very well be the next generation equivalents of computer illiterates. The Web has been successful so far because its protocols are relatively simple (there are 80 year old ladies in Florida running their own web sites and writing HTML!) As I've said before, complexity can't be simple! But we need to hit the 80/20 mark! And that also includes the fact that once deployed, people shouldn't need to worry about continually updating these systems.

Monday, August 07, 2006

Busy (but then what's new?)

I've let this blog thing slip for a while. Got (and still am) thrashing over many different things, including (and in no specific order): the Redhat move, a new JBossTS release, working towards the first beta release of JBossESB, SCA, AMQP, sales trips and presentations, standards work and probably 1001 other details I've forgotten! Plus I'm going on the annual vacation to Canada next week to visit the in-laws. However, I am going to try to post a few entries before I leave for a couple of weeks rest!

Monday, July 31, 2006

SCA update

We're now a member of the SCA consortium. I'm going to blog on SCA and what it means for us as soon as I find time, but in the meanwhile it's interesting to read what the press think.

Thursday, July 13, 2006

Middleware for Service-Oriented Computing Workshop CFP

Middleware for Service-Oriented Computing Workshop
of the ACM/IFIP/USENIX 7th Int. Middleware Conference

Published by ACM

November 27 - December 1, 2006
Melbourne, Australia
http://www.dedisys.org/mw4soc/

Submission Deadline: August 10, 2006
Author Notification: September 14, 2006


Call for Papers:

Service-Oriented Computing (SOC) is an emerging computing paradigm utilizing services to support the rapid development of distributed applications in heterogeneous environments. While the immediate need of middleware support for Service-Oriented Architectures (SOA) is evident, current approaches and solutions mostly fall short by primarily providing support for the Enterprise Application Integration aspect of SOC only and do not address other important aspects. Furthermore, non-functional properties (like dependability and security) and Quality of Service (QoS) need to be addressed in terms of integrated middleware support. Thus, the topics of particular interest for our workshop include, but are not limited to:

* Architectures and infrastructural principles of middleware for SOC
- "Traditional" middleware functions (replication, transactions)
"revisited" for SOC.
- Middleware support for data integration in SOC.
- Middleware support for dynamic and flexible service re-configuration,
re-composition, and re-engineering during run-time in accordance with
an extensible set of QoS properties and policies.
* Quality-of-Service (qualitative and quantitative)
- Service-level Agreement (SLA) middleware, QoS negotiation and
agreement, contracts, composition of QoS requirements, QoS-aware
service composition.
- Middleware support for end-to-end dependability, security, fault-
tolerance, replication, high-availability, mission-critical systems.
- Middleware support for mobile computing and pervasive services.
- Middleware languages and protocols for non-functional properties,
composability of non-functional requirements, support for explicit
trading of non-functional requirements and constraints.
* Service management and monitoring
- Autonomic capabilities and self-properties
- Measures and metrics for autonomic capabilities.
- Service governance across organizational boundaries.
* Business-oriented services computing
- Run-time support for business policies and rules.
- Adaptive workflows, aspect-orientation in process design and execution
(including BPEL).
- Middleware support for cross-organizational services computing.
- Trends impacting Middleware for SOC: Open-source, software
commoditization, solution outsourcing.
- Evaluation and experience reports


Workshop Program Chairs:

Karl M. Goeschka (Vienna Univ. of Technology, Austria)
Schahram Dustdar (Vienna Univ. of Technology, Austria)
Frank Leymann (Univ. of Stuttgart, Germany)
Stefan Tai (IBM T.J. Watson, USA)


Program Committee:

Gustavo Alonso, ETH Zurich (Switzerland)
Mark Baker, independent consultant (USA)
Boualem Benatallah, UNSW (Australia)
Francisco Curbera, IBM (USA)
Wolfgang Emmerich, UC London (UK)
Pascal Felber, Universite de Neuchatel (Switzerland)
Harald C. Gall, Univ. Zurich (Switzerland)
Yanbo Han, ICT Chinese Academy of Sciences (China)
Manfred Hauswirth, EPFL (Switzerland)
ValÈrie Issarny, INRIA (France)
Mehdi Jazayeri, Univ. d. Svizzera Italiana (Switzerland)
Bernd Kr‰mer, University of Hagen (Germany)
Mark Little, JBoss (USA)
Heiko Ludwig, IBM Research (USA)
Rui Oliveira, Universidade do Minho (Portugal)
Maria Orlowska, UQ (Australia)
Mike Papazoglou, Tilburg University (Netherlands)
Fernando Pedone, Univ. d. Svizzera Italiana (Switzerland)
Jose Pereira, Universidade do Minho (Portugal)
Bruno Schulze, Nat. Lab for Scientific Computing (Brazil)
Steve Vinoski, IONA (USA)
Sanjiva Weerawarana, WS02 (Sri Lanka)
Eric Wohlstadter, University of British Columbia (Canada)



Detailed information can be found at http://www.dedisys.org/mw4soc/

Tuesday, June 20, 2006

Thursday, June 08, 2006

Middleware 2006 workshops announced

As part of my PC duty, here's the announcement.

Tuesday, June 06, 2006

Wednesday, May 31, 2006

Web-NG

As I mentioned before, I'm still not so sure about all of the things that get the Web 2.0 tag applied to them. Is it a technology (seems not)? Is it an architecture (seems not)? But maybe it is a name for a transition that occurred a few years back in the way we use and interact with the WWW. From what I've seen and heard so far, it just seems to be a name for another era in our ongoing evolution of the Web. And as far as that goes, I'm happy to use a tag.

However, as reported, Orielly has decided to trademark Web 2.0. Since it would appear he invented the term, there's nothing wrong with him wanting to protect it. Unfortunately I think they're a little late off the mark on this one. If you believe everything that's been written (and I have no reason to not do so), then the name came up in 2004. Since then it has taken off like wildfire in many circles (I've been reviewing papers for a number of conferences and workshops over the past 2 months and the term has come up on several occasions). It would seem to me that the cat's out of the bag on this one and it's far too late to come along and put a trademark on it. Alright, maybe this was always the intention but it's just taken a little longer than expected. But I'd still say it's too late. But then I'm no lawyer and I'm sure this will go in their favour. (Side note: it's a good job that another Tim didn't trademark the Web.)

So going back to what I said at the start of this entry: I think having some classification for this point in time of the Web's evolution is a good thing. If we can't use Web 2.0 for fear of getting Cease-and-Desist orders, then I propose we coin another term. The best one I've come up with so far is Web-NG, which I freely give to the world ;-) No fear that I'm going to retract that and try and trademark it. If anyone can think of a better name, then let me know. The name is secondary: the fact that it's free for use for all time is the most important thing.

Friday, May 26, 2006

The death of Web 2.0

How crazy can you get? Well look at this if you want an answer!

Monday, May 22, 2006

SOA 2.0 ignorance

The viral nature of gossip has taken hold of SOA 2.0 and run with it. There are more and more articles coming out every day, or so it seems.

My question is this: why do we need the term? OK, if you're an analyst firm looking to stand out from the crowd I can understand throwing a lot of new buzzwords at a wall and seeing which ones stick! But for the rest of us living in the real world, it has no meaning at all. Despite all the hype, I think we're all agreed on what SOA means: it's an architectural approach to building loosely coupled applications. Companies have been "doing SOA" for many years, even before the term was coined, using technologies as diverse as CORBA and JMS. Think of it as a pattern, or an architectural approach in the same was as distributed object-oriented systems. It has its place in any good architects toolbelt and we're finally coming to grips with it as an industry.

Then WHAM! Along comes SOA 2.0! How? Why? WTF?! I also expected more of Oracle on this one! Giving an architectural approach a version number is crazy: it makes no sense at all! Only in software would we even consider such a thing. Can you imagine going back in pre-history: is a hut also to be known as Cave 2.0? Would a house be Cave 3.0 or Hut 2.0? Where would the St Paul's Basilica come in the grand scheme of things?! If something is truly an architectural advance over its predecessors, then it should be named uniquely for a start. Caves, huts, houses, high-rise buildings all share some commonality, but they have different architectural approaches too. To call the Empire State Building an upgraded cave is to do it an injustice (at the very least)!

Steve says it's about a combination of EDA and SOA. I hate that distinction because I think that either EDA is a specific implementation of SOA or it's simply another way of reasoning about your SOA system. Gartner then say that the difference is that SOA 1.0 (yuch!) was about client-server interactions and SOA 2.0 is about events. Apart from seeing my previous comment concerning EDA, where does it say that SOA is all about clients and servers? For a start, that implies synchronous interactions, which SOA certainly doesn't require. Secondly, I know of many SOA deployments that work on an asynchronous peer-to-peer level. Hey, maybe those guys are doing SOA 3.0?!

But in all seriousness, it seems to me that people are confusing implementation with architecture. Where does it say that SOA has to be client-server driven? That's a fairly arbitrary (aka poor) way on which to base architectural differences: by any strict definition of interaction styles, something is always a client (sender) and something is always a server (receiver), but those roles can be transient and change between invocations. That's the case in most distributed systems, not just SOA based. In the early days of distributed systems it was common to have entities that were pure clients: that's less of the case these days. Take a look at some event-driven systems: they have clients and servers too!

Furthermore, is it then really necessary to confuse the issue by adding implementation semantics within the architectural approach (i.e., events)? Why not give it its own acronym, something like that captures events, the fact that they drive things and that it's an architectural methodology? Hmmm, that would then be EDA and I'm sure some analysts coined that term a long time ago, but it didn't really capture the public imagination like some other three-letter acronyms.

You know, a more cynical person might think that the only reason for SOA 2.0 is to ride on the back of all the Web 2.0 hype that's going round at the moment. But our industry doesn't work that way, now does it?

So stay clear of SOA 2.0. If you really want to talk about SOA and EDA then do so as separate entities in their own right, or coin a new term (any suggestions?) EDSOA?

Friday, May 19, 2006

NoThoughtWorks?

Savas has a few things on this paper from ThoughtWorks. I wonder if Jim wants to step in ;-) I'm on my way back from JavaOne so haven't had a chance to read it yet. However, my first question would be: What's wrong with the interoperability we've been achieving successfully with Web Services? Seems like we're doing a good enough job so far!

I need how much space?

Maybe someone can explain this to me? Why do I need 15Gig disk space for Vista? No wonder we're being told to wait for a few years!

Thursday, May 18, 2006

Schweet!!

I saw a black MacBook yesterday when I called into the local Apple shop here in San Fransciso. All I can say is: drool!!!!

SOA 2.0?!

WTF?!

Tuesday, May 16, 2006

Infoq launches

Floyd Marinescu, who was the driving force behind TSS has launched his new site Infoq and asked me to publicise it. Take a look. There's an interesting article there that should you pay particular attention to ;-).

Saturday, May 13, 2006

Another busy week ahead

I'm about to leave for JavaOne, where it's going to be an extremely busy week. On Tuesday I'm on a panel session called What's Happening With SOA in Open Source?, where I'll say a few things about JBossESB, there's another JSR Spec Lead Dinner on the evening, followed by the BOF on transactional Web Services that I'm giving with Kevin. On Wednesday I'm giving a number of interviews, plus a press round table event (on standards and Java), before attending the JCP Community Awards event on behalf of JBoss.

In there somewhere I also want to go to a few sessions (as well as the JBoss Party!) It turns out that Greg's in town too, so there will definitely be a catch-up session involved there. I've also just found out that my friend and ex-Arjuna colleague Arnaud will be coming this year, so I hope to see him too.

Friday, May 12, 2006

At long last

It's only taken us 9 years (if you include the original OMG work), but finally ...

The Expert Group for JSR-000095 J2EE Activity Service for Extended
Transactions has completed its work and published the Final Release of the
specification.

The Final Release of the specification is available from the Java
Community Process Web site at:

http://jcp.org/en/jsr/stage?listBy=final

and also from the JSR 95 detail page:

http://jcp.org/en/jsr/detail?id=95