This week, and really the end of last week, has been so intense. I submitted an early draft of Chapter 1 of the new book to Dominic my editor at the weekend, and so far it looks great. It's always a good sign when your editor seems eager about the work, and even more eager to see more. I've got a very good feeling about this.
I didn't have much of a chance though to get the chapter finished this week. The "Learn Biztalk in one week" study program I invented for myself to do the client presentation today really kicked into full gear as the day of the presentation approached. I've still only scratched the surface of what Biztalk can do, but I have to say, I've had an epiphany.
I've had something of a long term fondness for the concepts behind SOA, but until you actually start thinking about designing a system with it, it's hard to accept some very subtle mind shifts in it. For example, we've all grown used to thinking of web services as a great way to invoke a remote method, a kind of slow bulky RPC using XML. But, with SOA you need to think different. Web services are about message passing between services. It sounds the same thing but it really isn't, and at this point I don't really have a good way of explaining just what the difference is in a clear and subtle way. It's kinda along the lines of asynchronous by default. Until you start to get your head around these very subtle mind-shifts, it's hard to imagine SOA as being anything more than an architectural pattern (which it is, but it's also more than that).
Well, the thing is, when you throw Biztalk Server 2004 into the mix and start to really think through the opportunities that that tool offers, huge halogen lights come on in your head. Biztalk Server 2004 is an incredible tool, and SOA is most definately the future. Put the two together and the future really is now. When you add Sharepoint and Office into the mix you really have the ultimate set of tools for building Bill's Digital Nervous System today, and my epiphany was that this is how all systems should be built from this point forward. There are so many fantastic business reasons for adopting SOA, not least of which are shorter development cycles, more reliable software, and a highly flexible software infrastructure. More importantly SOA is the realization of software as a tool for realizing profit, for making your business more agile, and very adaptable. Biztalk enables all this. Sharepoint delivers all this, and Office is the best set of tools out there for managing and investigating all this. Of course, .NET is the plumbing behind everything.
SOA is the future, and Biztalk is your very own flux capacitor powered DeLorean.
I intend to base a business around it. Watch this space.