<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Thinking inside a bigger box - Latest Comments in Four bold claims about SOA</title><link>http://thinkinginsideabiggerbox.disqus.com/</link><description></description><atom:link href="https://thinkinginsideabiggerbox.disqus.com/four_bold_claims_about_soa/latest.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Wed, 07 May 2008 05:20:55 -0000</lastBuildDate><item><title>Re: Four bold claims about SOA</title><link>http://johannesbrodwall.com/2008/04/30/four-bold-claims-about-soa/#comment-1798932</link><description>&lt;p&gt;Both Geir and Lars Arne seems to have more insight into the use of ESBs than me.&lt;/p&gt;&lt;p&gt;Personally, I have never seem the problem that Geir is describing with using OO in an event driven world. Granted, I have never perceived this to be a major source of problems, but I end up translating events (usually incoming documents) to "command objects" which update the state of the object model. I've never missed an ESB when doing this. What am I misunderstanding?&lt;/p&gt;&lt;p&gt;Lars Arne's "galvanic divider" is closer to things I have encountered. But in my cases the "galvanic divider" became just another layer of crud on top of many more layers of crud. As I understand it, this view of ESBs would either mean that you have to have a generic representation of any message type or you need to have individual representations for different messages. If you go for the first option, you're screwed, as most people who've tried know. If you go for the second option, don't you just add another layer of complexity with no corresponding value, as the new representation will have to match the old one, anyway?&lt;/p&gt;&lt;p&gt;Maybe it would be clearer to me if I saw the ESB tool you guys use.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johannes Brodwall</dc:creator><pubDate>Wed, 07 May 2008 05:20:55 -0000</pubDate></item><item><title>Re: Four bold claims about SOA</title><link>http://johannesbrodwall.com/2008/04/30/four-bold-claims-about-soa/#comment-1798931</link><description>&lt;p&gt;I think you hit the spot about popular claims. In addition, myself and others throw in a claim that this SOA-fad also put an emphasis on semantic interoperability as well as the technical interoperability; i.e. we often times get into an argument "what is a good service". A similar claim was given with OO-fad ("What is good object"). For some reason still does not get that wide attention. Maybe because the technical stuff is easier to disagree/agree on.&lt;/p&gt;&lt;p&gt;Of these claim, I have to admit it is the 2. one I have the most faith in at the moment. The WS-* gang went into the same trap as the Corba-gang did with to much focus on solving all possible techical interoperability challenges which in turn created tight coupling in practice which again violated the originial intention. The WS-thing was so much easier to deal with when it was only XML and HTTP. Maybe that is the reason why REST is getting so popular these days.&lt;/p&gt;&lt;p&gt;Many smart people claim that REST is insufficient for "real stuff"; in particular vendors of tools supporting SOAP and the other WS-* stuff. However, we are clearly observing that the use of REST tend to be much more dynamic and agile in "real life" than these "ultra-flexible" and "ultra-powerful" standardized WS-stuff.&lt;/p&gt;&lt;p&gt;The usefulness of the BPM stuff is greatly overrated to say the least - at least at the current state. In many ways it resembles the state of the case tools we had in the 80s and the 90s. Still, I like to live in the hope that one day this could be really useful; the fact that BPEL is being used and getting some support - even outside of the vendors providing tools for BPEL show some promise. BPEL doesn't solve everything, but being fairly simple and "low-key" is in my mind a good thing. Maybe it should be kept that way.&lt;/p&gt;&lt;p&gt;Getting back to claim nr. 2, I am in much favour of the view that a service bus is no more than a "galvanic divider" between a service provider and a service requestor, and in some circumstances this gives value; i.e. when you want loose coupling between systems. The reason why there is issues with this claim, is all the other stuff vendors put in the ESB. They create ambiguity in where to put stuff, and also introduces yet another operational complexity which again also gives even more deployment complexity which is hard enough as it is.&lt;/p&gt;&lt;p&gt;My faith lies on the open source movement and that the vendors will react constructively to what is usually called light weight ESB which again may lead to more practically oriented ESBs. Similar things did happen to J2EE/Java EE with Spring and some important adjustments to the EJB spec in EJB 3.0. While not being perfect yet - the movement seems to be healthy.&lt;/p&gt;&lt;p&gt;- My reaction to this very insightful blog. Thanks!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lars Arne Skår</dc:creator><pubDate>Wed, 07 May 2008 04:59:51 -0000</pubDate></item><item><title>Re: Four bold claims about SOA</title><link>http://johannesbrodwall.com/2008/04/30/four-bold-claims-about-soa/#comment-1798926</link><description>&lt;p&gt;I mean ESBs, but explained myself very badly.&lt;/p&gt;&lt;p&gt;For me, SOA is a quite amorphous term. What I tried to say was that I like the idea of being able to use an ESB for tasks that are asynchronous in nature - stuff like EDIFACT-like messages flowing through your system.&lt;/p&gt;&lt;p&gt;I have seen people try to use servlets for handling message-based problems. I don't think servlets are very well suited to publish-consume style tasks. Have a look at JSR 32 if you are wondering what I am on about - this is the servlet API applied to asynchronous messaging.&lt;/p&gt;&lt;p&gt;I have also been subjected to opinions that ended up as "we only need ESBs" in my head. I may be to blame here. though. ESBs are not a very good environment to implement request-response style applications - the technology tends to get in the way. We have servlets to do that kind of stuff.&lt;/p&gt;&lt;p&gt;There is also a possible mismatch between a rich domain model - where the subclasses has behaviour - and a message-based paradigm, where the intelligence sits in transformers along the path of the messages. I keep feeling that the messages are anemic domain objects getting passed around between transaction scripts, but I am also confident I need to move carefully here, lest I start a holy war. You can move to a rich domain model within the services/transformers themselves, but the technologies I have been using seem to get in the way of doing this - I tend to spend most of my time copying object contents if I force the information into a domain model.There may be something I don't see, though.&lt;/p&gt;&lt;p&gt;I really, really want some way of bolting behaviour to the side of a data carrier without having to write boilerplate code. Qi4j or annotations would work, but nobody seems to know these technologies out there yet, so I tend to try not to use them in projects.&lt;/p&gt;&lt;p&gt;Hope this helps.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Geir Hedemark</dc:creator><pubDate>Mon, 05 May 2008 09:16:00 -0000</pubDate></item><item><title>Re: Four bold claims about SOA</title><link>http://johannesbrodwall.com/2008/04/30/four-bold-claims-about-soa/#comment-1798937</link><description>&lt;p&gt;Hi, Geir&lt;/p&gt;&lt;p&gt;Do you mean ESBs or BPM? I thought BPM was what people used to deal with events?&lt;/p&gt;&lt;p&gt;Personally, I've never found a conflict between object orientation and event driven applications. I would love to hear a bit of elaboration on this.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johannes Brodwall</dc:creator><pubDate>Mon, 05 May 2008 07:31:59 -0000</pubDate></item><item><title>Re: Four bold claims about SOA</title><link>http://johannesbrodwall.com/2008/04/30/four-bold-claims-about-soa/#comment-1798941</link><description>&lt;p&gt;Good post, Johannes, and thanks for the kind words.&lt;/p&gt;&lt;p&gt;I have a slightly more positive view on SOA than you do, especially when it comes to ESBs, and if you have chosen to stay clear of the "SOA is WS-*" crowd.&lt;/p&gt;&lt;p&gt;Some tasks out there are by nature sequential and/or asynchronous. You can take a big hammer and force these things into a synchronous, object-oriented way of developing, but the mismatch between what you are solving and the tools you are using to create a solution will cause pain. I think that pain may very often be larger than using an ESB. In these cases, I think an ESB is a very good option.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Geir Hedemark</dc:creator><pubDate>Sat, 03 May 2008 02:44:27 -0000</pubDate></item><item><title>Re: Four bold claims about SOA</title><link>http://johannesbrodwall.com/2008/04/30/four-bold-claims-about-soa/#comment-1798936</link><description>&lt;p&gt;Geir Hedemark &lt;a href="http://hedemark.net/blog/?p=23" rel="nofollow noopener" target="_blank" title="http://hedemark.net/blog/?p=23"&gt;points out&lt;/a&gt; another thing that I didn't really think of about BPM: If you expose and reuse your services (Use Case steps, remember?), you can no longer change these. So your "flexible" processes may be composed of "frozen" steps.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johannes Brodwall</dc:creator><pubDate>Fri, 02 May 2008 14:24:38 -0000</pubDate></item><item><title>Re: Four bold claims about SOA</title><link>http://johannesbrodwall.com/2008/04/30/four-bold-claims-about-soa/#comment-1798940</link><description>&lt;p&gt;Brilliant - one of the best pieces I have read on SOA.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mahnve</dc:creator><pubDate>Fri, 02 May 2008 04:46:38 -0000</pubDate></item></channel></rss>