A belated response of sorts to JJ's post back in May...
Stu, I work for a BEA shop and my management had asked me to elaborate on all the SOA domains that you guys have defined. I can assure you that you guys were millions of miles away from providing guidance that would deliver successful SOAs. You simply did not get it.
Compared to your vision, perhaps. Though I'll note that not very many people understand your vision. This isn't to say you're wrong -- I happen to agree with some of what you say, particularly around interaction, though I don't certainly agree with everything. But you continue to denigrate pretty much everyone in this industry as clueless, whereas you seem to have "the answer", and not only is that hard to believe, it's hard to figure out what your problem with them is other than that they're "wrong". I suggest a more effective approach is to cite your sources and those others that agree with you; perhaps it will lead to better communication. Because, as much as you claim the REST community is providing no solutions, you're not really providing them either, if people are unable to communicate with you.
Regarding BEA: compared to other competitors, and even most system integrators, I think the thought leaders within BEA really did get it, at least for a while. When getting into deep discussions or consulting engagements, however, BEA's performance often was a regional affair; the U.S. West field region had a different style and approach than U.S. East, or my area, Canada.
Today, your analysis is that returning to the principles of the Web is somehow going to give us this magical programming model that everyone is looking for. What's the evidence? I am desperately seeking that evidence. Even though some people don't like my style, I am genuinely open to anything that works. I have no technology or product interest, I work for an IT organization. I do expect that people would be just as open as I am, but that's not always true.
Dude, look around. Look at how we're communicating. There's lots of evidence that the Web's architecture is something to embrace, not something to throw away or minimize. If you want more evidence of that, all I can say is "stay tuned".
Could there be a possibility that one more time you would be going in the wrong direction? Have you ever considered that your experience and training conditioned you to pretty much create the same programming model over and over? from EJB to Web Services to REST. Behind the bytes, isn't it the same thing?
Of course there's a possibility that this is the wrong direction. Point me to either a sound theory (with references) or working alternative software that should be a better direction. Though note, I'm pretty sure that the WS-* stack is not it.
Behind the bytes, from EJB to Web Services, they absolutely are similar things, at least in the session bean sense of EJB. With REST, it's pretty different. I do think it has some similarities to object-orientation (identity, reference vs. value, message-orientation, shared protocols as a basis of interchange) . I do think it can be abused to defeat the properties that it fosters. I don't think it's the be-all end-all architectural style, but basically, I like that it forces us to revisit the role of data vs. behaviour in a scalable system.
I would argue that data concerns (identity, reference, base semantics of access, provenance, the role of time & concurrency) should be the foundation of a scalable networked system-of-systems; only after we have that foundation can we address issues of behaviour, interaction and choreography. That's the main reason why I'm a REST proponent; if you want to convince me otherwise, you'll probably have to start with that assumption (e.g. should behavioural interactions be the basis? how would we ever agree on the semantics?)
Now, isn't it clear that the Web, even though it is the largest information system by far, has a very limited programming model unsuitable for building enterprise class information systems?
It's clear to me is that the Web isn't an architecture for building an localized information system. You need several styles needed for any of such things.
The Web's benefit is as a "system of systems" architecture; it's a way of dealing with issues of governance when you span systems and agencies. I don't think that it's the final approach -- there will be successors. But I think aspects of it, such as the URI, probably will endure for decades. And I think enterprises would benefit greatly if they adopted, at the very least, URIs more prevalently.
So please note, I don't think 'the answer to IT woes' is to rebuild your enterprise systems as "web applications" with RESTful resources, full stop. I think that's hopelessly naive. The point, again, is that there are many architectural styles, and the web's exhibits properties that I think would benefit most enterprises for what they've been usually been using WS-* for, in my experience. But it's far from the only architectural style that the enterprise uses or will use in the future.
Stu, the way I view it, when you say the "Web is enough" you are simply rejecting the all the vendors (small or large, from Redmond to Waldorf) as well as the standards and technologies they produce, rather than convincingly provide a solution to the problem.
I never said the Web is enough. I said that it's probably the way forward - a foundation for a next generation of sharing information at scale. I think any successors in the near future will have to start with the Web and drop or change the parts that don't work (for their domain) rather than inventing something from scratch. For example, turning the Web from client/server to event-based is an obvious one. Though we'd have to be careful not to lose the RESTful benefits; asynchronous messaging tends to lead to more complicated and less scalable systems when designed in an amateurish way.
As for rejecting all the vendors' standards and technologies -- considering the level of RESTful activity going on in Redmond and Armonk these days, I'd say they're (on some levels) doing a good enough job on their own of at least hedging their own efforts. Most standards these days are not driven by good technology, they're driven by power politics. There's only so many times you can compromise for political reasons before you just want to duck the whole system and try something new.
So, how am I providing a solution to the problem of making the Web more suitable for enterprise systems? Firstly, this isn't something one can solve in a blog. It requires working software and specifications. I don't think a Grand Unified Theory of Everything approach, the approach I worry we sometimes were moving towards in our "chats" about BPM and interactions and choreography in early 2008, is productive -- it just leads to frustration and communication breakdowns. All I can do is hope to catalyze the growth of knowledge in this area. To that end:
(a) I would like to dedicate time to frame discussions on some key problems; there's a long-awaited article I've been sitting on to discuss an architecture for business process & interactions on top of REST, which will be useful food for thought (it's a big topic, so I've had to revisit it several times, to the chagrin of my very patient editor, who's likely given up by now [grin]);
(b) There's a long dormant article or blog post on semantics of action that I'd like to get around to (about why REST or ARRESTED is a suitable foundation for enterprise systems-of-systems interactions) ;
(c) What takes most of my time up is that I'm now the technology leader at a startup in a growing industry; I'm going to do what I can to drive forward approaches that I think are productive & open. You can bet that the Web's architecture will be a part (but not anywhere near the only part) of that effort.

Stu:
thanks for taking the time to respond. All I see is that pretty much no one is using RESTful approaches for real-world problems:
a) Flash, Flex, Air, Silverlight, GWT,... pretty much every RIA framework is not following REST
b) Who is using REST to solve integration problems again?
c) Who is using REST to build enterprise solutions?
Yes the Web is something you cannot ignore but claiming any kind of victory because bored developers in Redmond added a couple annotations in WCF and created a CRUD framework that works with GET, PUT and DELETE is kind of a stretch.
I think many are declaring victory "on the consumer web"; not in the enterprise.
RIA frameworks are a mixed bag. They certainly haven't "won" on the public web, though sure they will be used in the enterprise. And whether they abuse REST or not is questionable (sometimes yes, sometimes no).
RESTful architectures are being used to solve integration problems on the Web today -- look at OpenID or OAuth, for example.
REST in the enterprise? Probably not a lot, though I do know there are cases where one can at least have secured GET access to important dynamic documents like customer profiles.
There's much work to be done, and you may be right that it may not GET done (sorry for the pun).
>> many are declaring victory "on the consumer web"; not in the enterprise.
Yes we agree, Roy's REST is great and REST principles can be applied to mashups successfully.
the (other) REST (the one that is trying to compete with SOAP and WS-*) has proven absolutely nothing so far.
I have not problem believing that RESTful principles can be used to solve some integration problems (specially on the Web) but can you "honestly" say that all integration problems solved by WS-* can be solved as efficiently by HTTP+APP? If you answer yes, where is the proof?
Can you honestly say that when you integrate a PHP web front end with a manufacturing system, the interactions with the manufacturing system can be made RESTful magically? can you honestly say that any legacy system can be front-ended easily with a RESTful API? (even with "tools").
Maybe, just maybe, you guys could use a little bit of engineering integrity and demonstrate that what you actually recommend works before you trash something else, that actually kind of works. Not perfect, but that's a start. REST for integration is the past, it is client server, it is synchronous, it is CRUD oriented, there is no future to that kind of middleware. Been there, done that.
Jean,
I assume you are referring to the Astoria framework when it comes to the Redmond comment?
As far as my research goes, I think MS is a bit more serious than making REST an academic exercise.
The centerpiece of their online vision - LiveMesh has its cloud services for device management, device state & content storage built using RESTful paradigms.
Here's my source:
http://channel9.msdn.com/shows/Going+Deep/Abolade-Gbadegesin-Live-Mesh-Architecture/
Also, I think a RESTful architecture ties beautifully into the Document Management space. I have had a lot of success promoting RESTful approaches to content retrieval for some of our enterprise customers.
I agree however, that there is much to do & REST will not be the answer to everything.
Cheers,
Zubin.
Zubin:
yes, I am referring to Astoria.
I am an enterprise architect so the cloud is a bit high in the air for me. IT is just finishing a virtualization "revolution" (in IT terms this is revolutionary) it is going to be a while before IT starts investing in the cloud. Then we'll talk about how REST applies to building enterprise class information systems.
I have no problem to believe that you can be successful in Document Management with REST. REST call them resources, but you might as well call them Web Documents, the lifecycle of resources matches very well the lifecycle of Documents, so no surprise there.
All I am asking is that show me the proof that I can use REST to build enterprise information systems: ERP, CRM (that should work since they are very light in business logic), SCM, PLM...
Show me the proof and then we will talk about who wins.
Today REST is a pattern, something worthwhile to know but to apply with consideration. The mad scientists that claim that REST is a mature technology that has "won" over other technologies such as SOAP, are just mad scientists who are about to inflict the last blow to IT. They actually have no idea what they are talking about, but boy isn't it fun to make so much noise?