A while back Scoble published a link to Jakob Nielsen's list of 10 design mistakes that bloggers make. I've been taking that list to heart, in the attempt to improve the community and personal value of my blog.
Today I can finally announce that I've taken one of the recommended steps (#10, actually) and have moved my blog onto my own domain. Not being one to go part-way, I'm actually running the blog on my rented host rather than just pointing my domain to one of the commercial blog hosts. I've decided to run WordPress, as I've been playing with a site on WordPress.com and have come to like their software a lot.
Head on over to the new site and see what you think. You'll find that I've replicated all of my content there and over the next few weeks I will be taking content off of this site.
You can subscribe to the new RSS feed here.
I'd like to thank GeeksWithBlogs for the free blog hosting they offer the community - without a starting point I would never have gotten this off the ground.
Technorati Profile
Jason Turnage has a blog that is hosted on MSN Spaces; it's the first blog I've subscribed to that is hosted there. MSN has taken an interesting approach to blog hosting, and probably one that is much more aligned with the casual, personal blogger than the traditional services.
Anyway, Jason has a great story about how his company was testing a new solution built on BizTalk Server 2004 and when they ran into some last-minute QA problems the were able to leverage the RetryTransactionException feature to have BizTalk automatically rollback and retry on an exception. Great story, good read, and happy endings. Thanks Jason!
Let's hear more about how companies are using BizTalk to enable and extend their businesses.
Let me preface this by saying that I have no insider knowledge on this topic, and that this post represents my personal opinion and forecast - tea leaves and crystal balls, as it were.
I believe that the BizTalk Adapter Framework, as we know it, is approaching end-of-life. Already. With "v2" still six months out.
Why?
Because Microsoft is doing the right thing. They're embedding the foundation technologies into the operating system, where they belong, and as a result BizTalk Server will continue its evolution into a true enterprise application. So how does this impact the BizTalk Adapter Framework, you ask? Not terribly long after BizTalk Server 2006 ships Microsoft will release Windows Vista, and with it WinFX. WinFX will put not only a workflow engine (Windows Workflow Foundation, code-name "WinOE") into the operating system, but also a fully-featured messaging subsystem (Windows Communications Foundation, code-name "Indigo").
Indigo offers the next generation technology that will supplant traditional SOAP, old-style web services, and today's web services extensions (WSE). But more pertinent to this conversation - Indigo is an extensible platform that supports not just traditional "messaging", but a whole range of inter-process and cross-process communication. Out of the box Indigo will support a few protocols and no applications, but the framework has been laid for an adapter platform that is accessible from any application built on top of (or can interop with) .NET Framework 2.0. Imagine if you could utilize the BizTalk Server 2004 adapters that you have today, in a native, reliable fashion, from all of your applications - both desktop and server. Imagine the complexities involved in connecting to your ERP and the legacy systems that could be pushed down the stack into the OS with this architecture. Really. Sit back and think about it.
What you're seeing in your mind can, I believe, be accomplished in the Indigo channel architecture.
By pushing this point of extensibility into the operating system Microsoft will enable commercial and custom development of "adapter" technology to reach a new, broader and far more ranging audience. By developing adapters that operate at the platform stack level ISV's can dramatically increase their opportunity footprint. Corporate developers can begin minimizing the number of application "touch points". And enterprise integration will take on a whole new meaning.
Just imagine...
David Green, the architect of Windows Workflow Foundation, has started his blog. Folks, this guy is brilliant, and I'm sure that anything he has to say is something you'll want to hear. Find him here. His first feature blog - What is Workflow, and why Bother? - closes with the following line:
"But if none of these benefits apply in your scenario, then really, coding is still very cool."
I couldn't have said it better, David. I think there might be a few more benefits that should make that list, but in general I totally agree.
I finally had the chance to meet Steve Maine of Windows Communication Foundation (WCF, codename "Indigo") fame face-to-face. While Steve and I actually worked "together" for most of my Avanade career we hadn't met, and it was one of my objectives at the PDC to rectify that.
Thanks to Matt Joe we met at the Ask the Experts session Thursday night and we had an interesting discussion regarding the WCF "messaging paradigm". It came up in the context of a discussion regarding the Service Activity Generator. One of my positioning statements for this utility is that many developers don't want to - or need to - think about the messaging infrastructure that the WCF declarative model hides under the covers. Steve, on the other hand, said that the product team is actually re-thinking this model and may want to have the developer be exposed to more of the messaging paradigm.
Consider the following approach:
>> Construct request message
>> Submit request message to service
>> Receive response message
>> Parse response message to retrieve "interesting" data
vs. the following:
>> Call service method and receive "interesting" data as the return value
Which do you prefer? Particularly when building a composite application, when you're going to use this paradigm dozens, if not hundreds, of times.
I'd like to invite Steve to respond here to see if we can get some interesting dialog going on the topic. Here's your chance to potentially influence a product direction, so jump in!
Some of my earlier posts alluded to the announcements that were made at PDC - Microsoft's release of a platform-level workflow technology, known as Windows Workflow Foundation. I was fortunate enough to participate in the early adopter program and be exposed to this exciting new framework several months ago. While there may have been more splash around some of the other product announcements, this one is - to me - the most exciting as I believe it will have the biggest impact on how we utilize service oriented architectures across the enterprise.
I'm announcing here my first contribution to the community; the Service Activity Generator. This utility, currently an alpha release, enables service (WCF) developers to expose their services as custom WWF Activities without doing anything more complicated than adding an additional attribute to the service operation. Download the alpha release, along with a walkthrough that will guide you through building your first automatically-generated Service Activity, and submit your feedback on my blog.
Seems I missed the excitement of the power outage today; the cabbie relayed the story to me as we creeped up I405, feeling the after-affects of the heavy congestion that was only worsened by the lack of traffic signals. Unfortunately I had to reserve the my room at the hotel that is the further from the Convention Center, but that Sheraton Universal City is treating me well (better than Scoble at the Westin, it seems, but not as good as Casey Chesnut from the Channel 9 crew).
I'm posting the my schedule below, and bolding the sessions I plan to attend at this point, pending space. You'll see a heavy dose of Windows Communications Foundation and Workflow, which line up nicely with my expanding set of responsibilities.
Be sure to say "howdy" if you happen to see me!
| Tuesday | |
| 11:45 AM - 1:00 PM | |
| 11:45 AM - 12:30 PM | TLNL01 Tips & Tricks: Extending MSBuild with Tasks, Loggers, and Targets 408 AB |
| 1:00 PM - 2:15 PM | COM202 Windows Communications Foundation ("Indigo"): A Lap around the Windows Communications Foundation Halls C & D (Petree Hall) |
| 2:45 PM - 4:00 PM | DAT303 SQL Server 2005: Building Distributed, Asynchronous Database Applications with the Service Broker 502 AB |
| FUN301 MMC 3.0: Developing Managed-Code Snap-Ins 501 ABC |
| OFF303 Groove: Building Enterprise Workgroup Applications 406 AB |
| 4:15 PM - 5:30 PM | TLN404 Visual Studio: Extending Visual Studio with Add-ins and Packages 409 AB DAT405 DAT405 - SQL Server 2005: Deep Dive on XML and XQuery 502 AB |
| 9:00 PM - 10:00 PM | |
| 10:15 PM - 11:15 PM | |
|
| Wednesday | |
| 11:00 AM - 12:15 PM | COM200 Applications and Communications Roadmap: Platform Presents and Futures Halls C & D (Petree Hall) |
| COM305 Windows Communications Foundation ("Indigo"): Integrating COM+ and MSMQ Applications 404 AB |
| OFF306 "InfoPath 12": Creating Browser-Based Forms for Enabling Data and Application Integration 502 AB |
| OFF405 Windows SharePoint Services: Using ASP.NET 2.0 Technology to Extend Pages, Sites, and Server Farms 409 AB |
| PRS407 Windows Forms: Occasionally Connected Smart Clients 408 AB |
| 12:30 PM - 1:15 PM | DATL01 Making the Most of RFID in Your Applications 404 AB |
| 1:45 PM - 3:00 PM | COM210 Introduction to Workflow in Windows Applications 150/151 (Hall E) |
| COM308 Windows Communications Foundation ("Indigo"): Developing Manageable Web Services 404 AB |
| COM312 Windows Communications Foundation ("Indigo"): Writing Secure Distributed Applications 403 AB |
| DAT209 "WinFS" Future Directions: An Overview 515 AB |
| PRS309 Windows Presentation Foundation ("Avalon"): Overview of Windows Vista Graphics 502 AB |
| 3:15 PM - 4:30 PM | COM307 Windows Communications Foundation ("Indigo"): Writing Reliable and Transacted Distributed Applications 403 AB |
| COM328 Extending Workflow Capabilities with Custom Activities 150/151 (Hall E) |
| DAT310 "WinFS" Future Directions: Building Data Centric Applications Using Windows Presentation Foundation ("Avalon") and Windows Forms 408 AB |
| DAT411 Advanced ETL: Embedding Integration Services 411 |
| 5:00 PM - 6:15 PM | COM308 Windows Communications Foundation ("Indigo"): Developing Manageable Web Services 518 |
| COM318 Developing Rules Driven Workflows 152/153 (Hall F) |
| COM416 Windows Communications Foundation ("Indigo"): Under the Hood of the Windows Communications Foundation Channel Layer 406 AB |
| DAT312 "WinFS" and ADO.NET: Future Directions for Data Access Scenarios 515 AB |
| DAT314 BizTalk Server 2006: Development and Adapters 403 AB |
|
| Thursday | |
| 10:00 AM - 11:15 AM | COM415 Windows Communications Foundation ("Indigo"): A Deep Dive into Best Practices Using the Windows Communications Foundation 515 AB |
| COM417 Windows Communications Foundation ("Indigo"): Under the Hood of the Service Model Layer 402 AB |
| PRS418 ASP.NET: Developing Portal UI Architectures with Web Parts 403 AB |
| TLN311 Visual Studio 2005 Team Edition for Software Architects and Future Directions in Modeling Tools Halls C & D (Petree Hall) |
| 11:30 AM - 12:45 PM | OFF415 Windows SharePoint Services: Developing Custom Workflows 408 AB |
| PRS420 ASP.NET: Future Directions for Developing Rich Web Applications with Atlas (Part 2) Halls C & D (Petree Hall) |
| 1:00 PM - 1:45 PM | TLNL09 Tips & Tricks: Productivity Tips for the Visual C# 2005 IDE 152/153 (Hall F) |
| 2:15 PM - 3:30 PM | COM322 Developing Event Driven State Machine Workflows 515 AB |
| DAT319 Future Directions: Beyond BizTalk Server 2006 502 AB |
| FUN316 Windows Vista & "Longhorn" Server: Publishing and Consuming Events 411 |
| 3:45 PM - 5:00 PM | COM325 Workflow + Messaging + Services: Developing Distributed Applications with Workflows 150/151 (Hall E) |
| COM424 Windows Communications Foundation ("Indigo"): A Deep Dive into Extending the Channel Layer 406 AB |
| FUN315 Windows Vista & "Longhorn" Server: New Performance Counter Infrastructure and Data Collection 411 |
| OFF319 ''InfoPath 12'': Developing Forms for the Smart Client and the Browser 502 AB |
| 5:15 PM - 6:30 PM | COM326 Windows Communications Foundation ("Indigo"): Web Services for XML Programmers 150/151 (Hall E) |
| COM327 Hosting and Communications Options in Workflow Scenarios 402 AB |
| OFF321 Surfacing Your Application's Line-of-Business Data and Actions within Enterprise Portals 502 AB |
| 9:00 PM - 10:00 PM | |
| 10:15 PM - 11:15 PM | |
|
| Friday | |
| 8:30 AM - 10:00 AM | ARCSYM01 Architecture Symposium: Connected Business, Connected Systems Halls C & D (Petree Hall) |
| 8:30 AM - 9:45 AM | COM430 Windows Communications Foundation ("Indigo"): A Deep Dive into Extensions for Security and Identity 403 AB |
| 10:30 AM - 11:45 AM | COM429 Windows Communications Foundation ("Indigo"): A Deep Dive into Extending the Service Model Layer 406 AB |
| PRS334 Windows Presentation Foundation ("Avalon") + Windows Communications Foundation ("Indigo") = Magic 150/151 (Hall E) |
| 10:30 AM - 12:00 PM | ARCSYM02 Architecture Symposium, continued: Connected Business, Connected Systems Halls C & D (Petree Hall) |
| 12:00 PM - 12:45 PM | |
| 1:00 PM - 2:15 PM | COM413 IIS and Windows Communications Foundation ("Indigo"): Hosting Services 408 AB |
| 1:00 PM - 2:30 PM | PNLARC The Art and Practice of Connected Systems Halls C & D (Petree Hall) |
I've been working with a new Workflow technology that Microsoft is planning to announce - and demonstrate heavily - at PDC. However, if you're not registered to attend PDC (and it's sold out!) then you can find out more by viewing the Week of Webcasts; in fact, I'd suggest you add Paul Andrew's blog to your morning read, as he's the the Technical Product Manager.
As soon as the announcement is done and I get back from PDC I'll have a new toy to post for everyone that gets beta bits at PDC.
The most common question that I received on Beta 1 of this application was about testing with transports other than File. While it is not my intent to write all of the implementations that may be necessary I did provide an extensibility model for the community to do so. However, it was buried in the Help File and not very explicit about how to go about writing your own extensions. Therefore, I have published the BizTalk Performance Tester Extensibility Guide to provide more guidance on how to extend the application.
I've uploaded Beta 2 of the BizTalk Peformance Tester (yes, I've changed the name) to GotDotNet. This release fixes the following reported bugs:
- Added configuration menu item to support post-install configuration changes via the UI
- Fixed bug in configuration UI where the delete timer value was being misrepresented
- Updated the documentation with a run-time screenshot of the configuration dialog
- Scripted the creation of the required SQL Server database during installation
Please uninstall the previous release before installing this release. You may wish to also delete the configuration files to perform a completely fresh install (note that the config files are backwards compatible so this step isn't required).
I've been watching the download counter on the BizTalk Throughput and Capacity Tester and it reached 120 this weekend. Wow!! I hope that all of you are finding this tool useful. What I'm wondering if anyone has any bugs to report. I'm sure there have to be at least a few in there! :-) I'm also interested in any wishlist items you may have. Please post your feedback into the comments here.
I hope to incorporate any fixes, and maybe some enhancements, into the final 1.0 release in the next month or so. So let me know what you're finding!
Just wanted to take a second to clarify my purpose in having this blog. It's not my intent to use this is a news distribution service. A few of the bloggers that I read often focus on news dissemination and they have their place - it's just not the place that I want for this blog to live. I want to publish original works, including papers, position statements, and utilities that may be of interest to others in the Connected Systems community.
That said, I do leverage the work of lots of others in the blogging community and as such will occassionally link to their original works. Please check out any cross-links that are of interest to you.
One of my favorite BizTalk gurus is Richard Seroter. Richard is one of the those talented, visionary guys that I've always enjoyed working with and around. While he recently left Avanade to join Microsoft, we stay in touch and I read his blog religiously.
He just published a great step-by-step example of Building and Executing a BizTalk Single Sign-On Scenario; I recommend you read it if you see a SSO opportunity in your near future, and bookmarking it you don't (sooner or later you're going to need it to pass a security review - the question is not if, but when). And regardless, I highly recommend subscribing to his blog!
The Beta 1 release is now available here. A description of the tester is available here, and the application installs a Word document that describes how to use it. Please post any bug reports or feature requests to this blog entry.