Tuesday, November 06, 2007
Ok, so I have a theme going and thought I might as well run with it. I promise this is the last "Is x Dead?" post.
Of course BizTalk isn't dead. But it is going to change in the next couple of years. What I am talking about here is "Oslo", the recently announced, next-generation distributed computing vision from Microsoft.
Oslo takes SOA to the Internet
I was out at the SOA conference last week where Microsoft first publicly shared the vision that they are code-naming Oslo. There is a great story here and I can tell you from meeting with people on the product team that this is real - there are large numbers of people in the Connected Systems division at Microsoft already working on various products to support this vision. However, it will take some time, roughly two years, before significant portions of this will be ready for release. In the meantime, it is important as always to understand where things are going in order to make good decisions with the technology available today. The following is my current impression of the vision, the components, and the impact of Oslo on BizTalk Server.
The Vision of Oslo
Oslo is first of all a vision about the future of distributed application development and hosting. If Windows DNA was about realizing the vision of distributed computing through Microsoft technology, and .NET Connected Systems was about extending this vision to the entire enterprise by embracing interoperability standards, Oslo is about extending the vision one more time out to the breadth of the internet.
This vision had been previously announced at the MIX conference and termed "Software + Services". Software + Services, or S+S, is a subtle but meaningful variation on the currently popular Service-Oriented Architecture (SOA) and Software as a Service (SaaS) themes. The best way to explain it is to compare and contrast it with the current buzzwords.
Whereas SOA is largely used to describe the architecture within the enterprise, S+S creates a world in which services inside and outside the enterprise are tied together seamlessly to build a new breed of applications - "Composite Applications". While the Enterprise Service Bus (ESB) is currently all the rage, Microsoft wants to take it up a step and build the Internet Service Bus (ISB).
And while SOA is primarily targeted toward Corporate IT as an enabler for controlling quality and consistency within an organization, S+S actually encourages and facilitates the building of "opportunistic application development" by power users. These users will be more tech-savvy than ever before (having grown up with video games and blogs and iPods) and will not want to wait on the Corporate IT group to create the applications they need to be more productive. Think of the wild and crazy days of the PC revolution. But the advantage is that it will be easier for Corporate IT to adopt these renegade applications and officially support them when they gain critical mass because they will be built in a service-oriented fashion.
Software as a Service (SaaS) is best exemplified by SalesForce.com, which is an immensely successful CRM system that is completely hosted externally and consumed by subscribing companies. However, SaaS so far has only been successful when an entire application is hosted externally. The vision of S+S is that services will be hosted externally and applications within the enterprise will be built consuming services from within and without the enterprise security boundaries. The crux of this an availability of services built on interoperable web service standards, tools for building composite applications, and a federated security model that allows enterprise applications to trust externally hosted services.
The Components of Oslo
1. Continued emphasis on and evolution of core Service-Oriented programming technologies (WCF, WF). This will become ".NET Framework 4.0".
2. A first class Repository for storing, discovering, and governing services.
3. Simplified developer experience for building distributed applications through better modeling tools. This will of course be realized in a new version of Visual Studio.
4. Federated security model (InfoCard).
5. Leveraging of Groove techniques for getting around firewall barriers to collaboration between services.
6. Evolution of BizTalk -
o Adapters migrating out from BizTalk-specific realm to general .NET availability. This has already begun through the WCF Adapter framework and the WCF Adapter Pack.
o Other BizTalk tools, such as the schema editor and mapper become more mainstream as part of the .NET Framework.
o Orchestration will be done using WF as the XLANG/S engine is deprecated (this has been public knowledge for over a year)
o A new in-memory pub/sub engine will make persistence/durability of messages optional, making BizTalk more suitable for low-latency applications.
o BizTalk as a server product may be primarily about the hosting model and look something like the old AppCenter.
7. Potential for Microsoft (and others) to host useful services "in the cloud" that will be subscribed to by enterprise clients to reuse in their composite applications. There is a CTP version of some utility services already hosted at http://biztalk.net/Default.aspx.
What it means for the future of BizTalk
Eventually BizTalk as we know it will be dead in the sense that it will be deprecated and replaced by a shiny new technology. But I see it just like the change from COM to .NET. COM as a technology was dead, while the core concepts of component-based programming and interoperability between components lived on bigger and better than ever in .NET. And in hindsight, COM was a quirky technology and most of us are glad to be freed from GUIDs and the registry and vTables, etc.
In the same way, I expect that the architectural principals that BizTalk made real (interoperability, pub/sub, legacy integration, web service orchestration, long running transactions, massive scalability, model-driven development, etc.) will live on, in fact be magnified, in Oslo. But some of the specific implementation details that we may have grown sentimentally attached to (the MessageBox, XLANG/S, etc), will go away. And while we'll moan and fret as this transition happens, we'll eventually embrace the new and be happy we did.
In fact, Oslo represents an expansion of the role BizTalk plays in the entire Microsoft platform. While today BizTalk development is a niche are that a relatively small number of developers have braved, in Oslo, the tools will become more mainstream.
In the meantime, while we wait for the next version of BizTalk and the other tools that will make up Oslo, we have to make decisions about the applications we need to build today. This will be the topic of many blogs and white papers to come (in fact I have a white paper in the works regarding choosing between BizTalk and WF). For now I will summarize my view like this:
- Oslo confirms Microsoft's commitment to Service-Oriented Architecture and development. So keep moving in that direction. Embrace WCF. Use WF where appropriate. And use BizTalk where appropriate.
- You have to build your applications today on the available technology. Oslo is really too far away to significantly impact your development plans today. If you need what BizTalk Server provides, you should use it. Maybe when a Beta 2 or RC version is out with firm RTM dates, then you might want to delay a project to use the new technology.
- Microsoft cannot make promises about upgrade paths at this point in the product cycle, but I feel there is no way they will fail to provide a way to upgrade orchestrations built on BizTalk 2006 R2 to run in the next WF-based orchestration engine. First of all, WF's roots are in XLANG/S so it isn't that hard to translate most features/constructs. Secondly, BizTalk is just too important and has too many mission-critical enterprise applications running on it for Microsoft to leave it hanging.
- Finally, although the current BizTalk engine will be deprecated, it will still be available and supported for a long time to come.
Ok, so I have a theme going and thought I might as well run with it. I promise this is the last "Is x Dead?" post.
Of course BizTalk isn't dead. But it is going to change in the next couple of years. What I am talking about here is "Oslo", the recently announced, next-generation distributed computing vision from Microsoft.
Oslo takes SOA to the Internet
I was out at the SOA conference last week where Microsoft first publicly shared the vision that they are code-naming Oslo. There is a great story here and I can tell you from meeting with people on the product team that this is real - there are large numbers of people in the Connected Systems division at Microsoft already working on various products to support this vision. However, it will take some time, roughly two years, before significant portions of this will be ready for release. In the meantime, it is important as always to understand where things are going in order to make good decisions with the technology available today. The following is my current impression of the vision, the components, and the impact of Oslo on BizTalk Server.
The Vision of Oslo
Oslo is first of all a vision about the future of distributed application development and hosting. If Windows DNA was about realizing the vision of distributed computing through Microsoft technology, and .NET Connected Systems was about extending this vision to the entire enterprise by embracing interoperability standards, Oslo is about extending the vision one more time out to the breadth of the internet.
This vision had been previously announced at the MIX conference and termed "Software + Services". Software + Services, or S+S, is a subtle but meaningful variation on the currently popular Service-Oriented Architecture (SOA) and Software as a Service (SaaS) themes. The best way to explain it is to compare and contrast it with the current buzzwords.
Whereas SOA is largely used to describe the architecture within the enterprise, S+S creates a world in which services inside and outside the enterprise are tied together seamlessly to build a new breed of applications - "Composite Applications". While the Enterprise Service Bus (ESB) is currently all the rage, Microsoft wants to take it up a step and build the Internet Service Bus (ISB).
And while SOA is primarily targeted toward Corporate IT as an enabler for controlling quality and consistency within an organization, S+S actually encourages and facilitates the building of "opportunistic application development" by power users. These users will be more tech-savvy than ever before (having grown up with video games and blogs and iPods) and will not want to wait on the Corporate IT group to create the applications they need to be more productive. Think of the wild and crazy days of the PC revolution. But the advantage is that it will be easier for Corporate IT to adopt these renegade applications and officially support them when they gain critical mass because they will be built in a service-oriented fashion.
Software as a Service (SaaS) is best exemplified by SalesForce.com, which is an immensely successful CRM system that is completely hosted externally and consumed by subscribing companies. However, SaaS so far has only been successful when an entire application is hosted externally. The vision of S+S is that services will be hosted externally and applications within the enterprise will be built consuming services from within and without the enterprise security boundaries. The crux of this an availability of services built on interoperable web service standards, tools for building composite applications, and a federated security model that allows enterprise applications to trust externally hosted services.
The Components of Oslo
1. Continued emphasis on and evolution of core Service-Oriented programming technologies (WCF, WF). This will become ".NET Framework 4.0".
2. A first class Repository for storing, discovering, and governing services.
3. Simplified developer experience for building distributed applications through better modeling tools. This will of course be realized in a new version of Visual Studio.
4. Federated security model (InfoCard).
5. Leveraging of Groove techniques for getting around firewall barriers to collaboration between services.
6. Evolution of BizTalk -
o Adapters migrating out from BizTalk-specific realm to general .NET availability. This has already begun through the WCF Adapter framework and the WCF Adapter Pack.
o Other BizTalk tools, such as the schema editor and mapper become more mainstream as part of the .NET Framework.
o Orchestration will be done using WF as the XLANG/S engine is deprecated (this has been public knowledge for over a year)
o A new in-memory pub/sub engine will make persistence/durability of messages optional, making BizTalk more suitable for low-latency applications.
o BizTalk as a server product may be primarily about the hosting model and look something like the old AppCenter.
7. Potential for Microsoft (and others) to host useful services "in the cloud" that will be subscribed to by enterprise clients to reuse in their composite applications. There is a CTP version of some utility services already hosted at http://biztalk.net/Default.aspx.
What it means for the future of BizTalk
Eventually BizTalk as we know it will be dead in the sense that it will be deprecated and replaced by a shiny new technology. But I see it just like the change from COM to .NET. COM as a technology was dead, while the core concepts of component-based programming and interoperability between components lived on bigger and better than ever in .NET. And in hindsight, COM was a quirky technology and most of us are glad to be freed from GUIDs and the registry and vTables, etc.
In the same way, I expect that the architectural principals that BizTalk made real (interoperability, pub/sub, legacy integration, web service orchestration, long running transactions, massive scalability, model-driven development, etc.) will live on, in fact be magnified, in Oslo. But some of the specific implementation details that we may have grown sentimentally attached to (the MessageBox, XLANG/S, etc), will go away. And while we'll moan and fret as this transition happens, we'll eventually embrace the new and be happy we did.
In fact, Oslo represents an expansion of the role BizTalk plays in the entire Microsoft platform. While today BizTalk development is a niche are that a relatively small number of developers have braved, in Oslo, the tools will become more mainstream.
In the meantime, while we wait for the next version of BizTalk and the other tools that will make up Oslo, we have to make decisions about the applications we need to build today. This will be the topic of many blogs and white papers to come (in fact I have a white paper in the works regarding choosing between BizTalk and WF). For now I will summarize my view like this:
- Oslo confirms Microsoft's commitment to Service-Oriented Architecture and development. So keep moving in that direction. Embrace WCF. Use WF was appropriate. And use BizTalk where appropriate.
- You have to build your applications today on the available technology. Oslo is really too far away to significantly impact your development plans today. If you need what BizTalk Server provides, you should use it. Maybe when a Beta 2 or RC version is out with firm RTM dates, then you might want to delay a project to use the new technology.
- Microsoft cannot make promises about upgrade paths at this point in the product cycle, but I feel there is no way they will fail to provide a way to upgrade orchestrations built on BizTalk 2006 R2 to run in the next WF-based orchestration engine. First of all, WF's roots are in XLANG/S so it isn't that hard to translate most features/constructs. Secondly, BizTalk is just too important and has too many mission-critical enterprise applications running on it for Microsoft to leave it hanging.
- Finally, although the current BizTalk engine will be deprecated, it will still be available and supported for a long time to come.
I've been busy, but obviously not blogging. My last blog entry was May 2006! Since then I've:
- Continued to lead the Enterprise Integration Practice at twentysix New York (http://www.26ny.com/index.html) - we've built up a team of BizTalk talent that is second to none. We have 7 certified BizTalk consultants: Jeff Bolton and Joe Tsai were from the farm team; Seong-moh Yang, Alex Star, Shashi Raina, and Juan Suero were brought in as free agents. And I am the player/coach. Seriously, it's great working with such a bunch of motivated guys. BizTalk developers tend to be very passionate about middle-tier server-oriented programming and it's a blast to work with these guys.
- Continued to lead the NYC Connected Systems User Group (www.nyccsug.org) - Thanks to Ian Murphy for being my Microsoft sponsor, and to several guys on my BizTalk team listed above who offer lots of logistics support. We've got around 250 registered members. We average 30-40 attendees, have had upwards of 60 at some meetings. If you are interested in connected systems programming and live in NYC area you should be part of this group.
- Been part of the Microsoft BizTalk Virtual Technical Specialist (VTS) Team - This is an elite group of Microsoft consulting partners who are committed to sustaining a strong practice in BizTalk Server. The VTS role is to support Microsoft field sales team in presenting BizTalk Server to customers and performing POCs to show its value. Then we have the expertise to help customers implement BizTalk solutions successfully. I am the VTS in our organization and it's been a real pleasure to be part of this group. Marty Wasznicky makes sure the program is not just talk - he ensures we get the best training available, the best access to the BizTalk product team, and helps us work closely with the local Microsoft sales team.
- Recently named Connected Systems Developer MVP! - This is a huge honor. I am grateful to the people who nominated me and to those who somehow saw fit to choose me. I also feel compelled to explain what it really means as I think there is somewhat of a misunderstanding out there. While it would be flattering to allow the impression that it means "super-smart BizTalk guy" to persist, it actually has to do with community involvement such as user groups, blogs, conferences, etc. I've been running user groups for years, which does take a lot of work and is somewhat "thankless", so this recognition from Microsoft is very rewarding. In a practical sense it gets me more connected to the Microsoft product teams and gives me input into the upcoming releases (such as "Oslo") and access to the most recent information available on beta releases. I look forward to leveraging this connection to benefit the developer community.
- Continued to work on my golf game. I know golf isn't considered cool by developers. That is something that dumb, lazy "sales guys" get to do. Actually, I don't have much choice in the matter because I've been pretty much addicted to it since I started about 5 years ago. And, while I am a developer at heart, I do also sometimes play a "sales guy" on TV, so it's only fair that I get to golf every now and then in exchange for selling out to "the man". Anyway, I've struggled for 2 years to break 90, always coming close but falling short. Then boom, a couple of weeks ago I shot a 79! Unless you golf there is no way to explain what a quantum leap that is. I haven't played since. I am sort of savoring it and hoping somehow it wasn't a fluke. If you know golf, you know that the next time out I'll probably stink it up miserably, lose tons of balls, throw clubs, and swear off golf for life. And that'll last about a week.