
Geoffrey Fox wrote:
As you gather requirements, I would suggest looking at several mashups and the new generation of (workflow) tools they are supported by such as http://www.protosw.com/ (which offer an ipod a day in their mashup building contest) and Yahoo pipes http://pipes.yahoo.com/pipes/. A trivial discussion of mashups versus workflow is at http://grids.ucs.indiana.edu/ptliupages/presentations/Web20Mar04-07.ppt
I am known for following fads too much but I think the rather complex web service workflow will face increasing competition from Mashup technology with its naturally larger customer and developer base.
While some mashups do show the power of ad-hoc programming, there are areas where workflows have a distinct set of benefits. Firstly, I've been discovering over the past months how workflows are key to many business processes and planning (e.g. airports aren't mashups, even if they look like it superficially to travellers). Secondly, every mashup I've ever heard of relies on having the end user as a computation locus; the mashup is in their browser. The problem is that this requires the end user to be present and using a (full featured) browser. In turn, that restricts the applicability quite strongly, especially in relation to small devices and part-time networks. It's also not clear to me just how well mashups tackle security; I've certainly read in the past that this is a distinct problem from a privacy perspective. It's usually much clearer what is going on with a workflow, and that clarity is important in many application domains (especially ones with non-trivial legal requirements). In short, workflows (especially not service-oriented ones) can go places where mashups can't; the mashup advantage is in the presentation layer and not the business-logic layer. Maybe some businesses will try to keep the business-logic layer largely transparent so as to better support mashups, but many (most?) won't and there are many known problems with the approach of putting lots of critical code in the presentation layer. Donal.