I just finished attending the Omaha.NET December UG meeting where David Chappel spoke on SOA and Indigo. While I really enjoyed the Indigo talk it was very high level and I would have liked a bit more depth. I have been studying Indigo (Microsoft's next messaging framework) ever since it's announcement, but still don't feel like I have my head around the workings of it. We did get to see some syntax (already outdated of course) that provided some good examples of what to expect. I like the way he related Indigo and ServiceMethods to WebMethods. It really took the edge off with the audience and put them into a familiar zone having dealt with web services.
One of the things I was most impressed with and completely bewildered by at the same time was the following:
[ServiceMethod]
private void Something()
{
}
I don't know if I am quite sold on this idea, which is a fundamental idea of Indigo. The idea being that a method can be private and not accessible within the same app domain, but can be accessed through the exposed service. It was really the sticking point for me at which I started to really think hard about whether I thought that was a good or bad idea. I think it's an interesting concept and maybe I am just a little confused about it's implementation. It just feels weird. I probably just need to get used to this object vs. service thing. I do see the relevance of forcing a method to be called through a service in order to enforce some sort of process or authentication scheme. I also see the downside, being forced to call a service within a trusted area. Why be forced to call something that is going to take longer just because. I have heard Don Box talk several times on the push within Microsoft to make SOAP calls faster by making the XML parser faster etc.., but how long will that take?
Now I know Indigo will not be CTP until February (whole day of Indigo at VS Live! .. hmm), and the release will most likely be the latter part of 2006 (probably December 31st), but I still don't see how the benefit of making these types of calls will be speedy enough when release time comes. I love Indigo, don't get me wrong, I am simply a little more confused about the purpose and effort going on then before I went to this session. I may also be tired and grumpy as well.
David also talked about BizTalk and it's role in the SOA as a business management process server. He gave some very good explanations showing the need for a BizTalk environment within your communication infrastructure. I also really liked the way he pointed out the ways BizTalk 2004 is different then it's predecessors, which by the way is in almost every single way.
All in all it was an excellent break form my day and I appreciated the views. It was just about the opposite of Rocky's talk at the HDC last week, so seeing them back to back was really interesting. Both are very passionate about their ideas and are great presenters.