Author: Richard Seroter

  • Interview Series: Four Questions With … Stephen Thomas

    Happy New Year and welcome to the 6th interview in our series of chats with interesting folks in the “connected systems” space.  This month we are sitting down with Stephen Thomas who is a blogger, MVP, and the creator/owner of the popular BizTalkGurus.com site.  Stephen has been instrumental in building up the online support community for BizTalk Server and also disseminating the ideas of the many BizTalk bloggers through his aggregate feed.

    Q: You’ve been blogging about BizTalk for eons, and I’d be willing to bet that you regularly receive questions on posts that you barely remember writing or have no idea of the reason you wrote it.  What are the more common types of questions you receive through your blog, and what does that tell you about the folks trying to understand more about BizTalk by searching the Net?

    A:  A main purpose of starting the forums on biztalkgurus.com was to reduce the number of questions I received via email.  Since I started the forums a few years ago, I get very few questions via email anymore.  The most common question I do receive is “How do I learn BizTalk?”  I think this question is a sign of new people starting to work with the product.  BizTalk is a large product and can sometimes be hard to decide what to start with first.  I always point people to the MSDN Virtual Labs.

    Q: What’s a pattern you’ve implemented in BizTalk that you always return to, and what’s a pattern that you’ve tried and decided that you don’t like?

    A: Typically I find the need to interact with SQL using BizTalk.  In the past, I have always put as much logic as possible into helper .net components and access SQL using Enterprise Library.  I have used this approach on many projects and it always proves to be easier to test and build out then working with the SQL Adapter.  I try to avoid using Convoys due to the potential of zombies and document reprocessing complications.

    Q: You’ve recently posted a series of videos and screenshots of Dublin, Olso and WF 4.0.  In your opinion, how should typical BizTalk developers and architects view these tools and what use cases should we start transitioning from “use BizTalk” to “use Dublin/Oslo/WF”?

    A:  Right now, I see Dublin and WF 4.0 having an impact in the near term.  I see the greatest use of these for scenarios that currently could use Workflow but have chosen BizTalk because of the lack of a hosting environment.  These are usually process controller or internal processing type scenarios.  I also see Dublin winning for in-house, non-integration scenarios and lower latency.  I will always foresee and recommend BizTalk for true integration scenarios across boundaries and for scenarios that leverage the adapters.  Also, the mapping story is better and easer in BizTalk so anything with lots of maps will be easer inside BizTalk.

    Q [stupid question]: We recently completed the Christmas season which means large feasts consisting of traditional holiday fare.  It’s inevitable that there is a particular food on the table that you consistently ignore because you don’t like it.  For instance, I have an uncontrollable “sweet potato gag reflex” that rears its ugly head during Thanksgiving and Christmas.  Tell us what holiday food you like best, and least.

    A:  Since we do not have a big family and no one close to us, we typically travel someplace outside the US for the Holidays.  The past four years our Christmas dinners have been my favorite, pizza, while my wife goes for my least favorite food, steak.  I am a very picky eater so when we do have a large dinner I usually do not each much.

    Thanks Stephen for sharing your technology thoughts and food preferences.

    Technorati Tags:

  • 2008 : Year in Review

    As 2009 starts, I thought I’d take a quick gander at the 2008 posts I enjoyed writing the most, and a few of my favorite (non-technical) blogs that I discovered this year.

    Early last year I embarked on a 9-part series of articles about how BizTalk and WCF integrate.  I learned a lot in the process and finally forced myself to really learn WCF.

    Throughout the year I threw out a few ideas around project guidance ranging from getting started with a commitment to the BizTalk platform, how to determine if you’re progressing in your SOA vision, a checklist you can use before migrating projects between environments and another checklist for ensuring that your solutions follow SOA principles.

    I also enjoyed digging into specific problems and uncovering ways to solve them.  Among other things, we looked at ways to throttle orchestrations, aggregating messages, putting data-driven permissions on SharePoint lists via Windows Workflow, doing contract first development with BizTalk, implementing an in-memory resquencer, and comparing code generation differences between the BizTalk ASMX and WCF wizards.   Another highlight for me was the work with RSSBus and investigating how to use RSS to enable real-time data mashups.

    The most fun I’ve had on the blog this year is probably the interview series I started up over the summer.  It’s been insightful to pick the brains of some of our smartest colleagues and force them to answer an increasingly bizarre set of questions.  So far, Tomas Restrepo, Alan Smith, Matt Milner, Yossi Dahan, and Jon Flanders have all been subjected to my dementia.  The next interview will be posted next week.

    I read too many blogs as it is, but there’s always room for fun new ones.  A few (non-technical) that I’ve grown attached to this year are …

    • It Might Be Dangerous… You Go First.  This is the blog of Paul DePodesta who is a front office assistant for the San Diego Padres (baseball).  He’s a smart guy and it’s really cool that he has an open, frank conversation with fans where the thought process of a professional baseball team is shared publicly.
    • Anthony Bourdain’s Blog.  If you watch the Travel Channel or have read Bourdain’s books, you’ll appreciate this great blog.  Tony’s the coolest, and when I watch or read him, I feel a bit like George Costanza around Tony the “mimbo“.
    • We the Robots.  The comics here just kill me.  For some reason I always chuckle at perfectly-placed obscenities.
    • Photoshop Disasters. Great blog where every day you see a professional image (from a company’s website, etc) that demonstrates a shocking Photoshop mistake (missing arms, etc).
    • The “Blog” of “Unnecessary” Quotation Marks.  Title says it all.  If you hate people putting quotes in “strange” places, then “this” is the blog for you.
    • F*ck You, Penguin.  I wish I had thought of this one.  This guy posts a picture of a cute animal every day and then proceeds to put these bastards in their place.  I love the internet.

    I hope to keep the party going in 2009.  I found out yesterday that my MVP was renewed, so hopefully that keeps me motivated to keep pumping out new material.  My book on SOA patterns with BizTalk 2009 should be out in the April timeframe, so that’s something to watch out for as well.

    I’ve appreciated all the various feedback this year, and hope to maintain your interest in the year ahead.

  • New Whitepaper on Developing BizTalk Solutions

    The BizTalk team blog alerted all of us to a new BizTalk-related whitepaper.  This paper, Developing Integration Solutions using BizTalk Server 2006 and Team Foundation Server, is the direct descendent of the seminal BizTalk 2004 paper.  I just skimmed through this newest document, and had a few thoughts to share.

    First off, the paper is misnamed.  The “TFS” in the title initially dimmed my interest since we don’t use TFS at my company.  This paper is actually about how to design and develop BizTalk solutions with a few pages dedicated to capabilities introduced by TFS.  You should read this paper regardless of your source control and software lifecycle management platform.

    I found the “Gathering Information” section fairly useful.  Specifically I liked the list of topics you should consider before starting the project. A few examples of process-based considerations included in the document were:

    • Define core business entities (not systems) that are involved in the process, for example, customers, orders, quotations, parts, invoices.
    • Identify the events or actions that initiate a process (both human and system-based).
    • Determine where exceptions occur in the current business processes and how those exceptions are handled (that is, is a process restarted, is human intervention required).
    • Are the other systems always available?
    • What business metrics, milestones, or key business data in the process must be reported to management?

    Following this section was a list of implementation-based considerations ranging from transport protocols required, security models, auditing, human interfaces and more.  While we probably know to ask these things, I’m always a fan of checklists that remind me of key considerations that impact design.

    The rest of the solution planning portion is nice, and then the document starts to look at how to set up development environments.  The document then addresses solution organization and naming standards.  After this we see more about debugging BizTalk components, and then finally read about build and deployment procedures.

    This is definitely a must-read for BizTalk architects and developers and another source of useful job interview questions!

    Technorati Tags:

  • RSSBus V2 Released

    A few months back I wrote a series of articles on RSSBus that used an early release of their software.  Yesterday they formally released version 2.0 of their product and have included some pretty interesting features.

    You’ve got the new SOAP connector, new scripting keywords, Intellisense within Visual Studio.NET 2008, updated User Guide, and lots more.  One of the coolest things is that they have a demo of the RSSBus server running on Windows Azure.  I need to play around with that and see exactly what can be accomplished there.

    The folks behind this are some of the smarter technologists I know, so you’re in good hands if you invest some time and energy into a solution based on RSSBus.

    Technorati Tags: ,

  • So What’s ACTUALLY In The BizTalk 2009 Beta?

    Yesterday I installed the latest public beta of BizTalk Server 2009 (the artist formerly known as BizTalk Server 2006 R3), and thought I’d share the latest visuals and features.  Note that you shouldn’t expect any particularly revolutionary things here, as a core aspect of this upgrade is bringing BizTalk into alignment with the most current versions of the application platform (VS.NET, Windows Server, .NET Framework).

    First off, you get a BizTalk Server 2009 branded installation.  Notice the new RFID Mobile and UDDI components.

    The installation options for BizTalk Server 2009 are pretty much the same, but do notice the new “Project Build” component that lets you compile BizTalk projects without Visual Studio.NET.

    Configuration of BizTalk Server 2009 is also virtually identical to BizTalk Server 2006 R2, but notice that MSMQT is no longer listed.

    If you choose to install the UDDI bits, you see those options.

    Then we can configure UDDI in much the same fashion as BizTalk Server 2009.

    So any changes to the BizTalk Admin Console?  You betcha.

    Nothing earth-shattering, but notice new icons and you’ll notice a bit of a new feeling due to a MMC update.  For some reason, the Event Log is no longer loaded into this console.  Rats.

    One great thing is that HAT is gone, and all historical data analysis occurs in the Admin Console.  Let’s have a moment of silence for HAT, and prepare to sacrifice a virgin to our new king, the Admin Console.

    There are two new query types in the Query view, and you get a series of interesting options if you pick the Tracked Message Events search type.

    What’s new in Visual Studio.NET 2008 for BizTalk Server 2009?  You’ll find support for unit testing of schemas, maps and pipelines.

    One of the really nice things about the promotion of BizTalk projects to “real” Visual Studio.NET projects is the elimination of BizTalk-specific complexity.  For instance, you may recall that there were roughly 112 property menus for schemas, but now, viewing schema properties loads ALL properties (including input instance, ex) in the single VS.NET window.

    Lucky for us, BizTalk maps have the same support for the single property window.

    One of the actual new features is support for map debugging.  You can right-click a BizTalk map, and jump into a true debugger that enables breakpoints and functoid evaluation.

    Also, there is no longer a “deploy” project build type, but rather, you get the standard “Debug” and “Release” build options.

    There’s a quick summary.  I’m sure other small things will surface as we all mess around with this.  I’ll be spending much more time evaluating the new UDDI features, ESB Guidance 2.0 and SQL WCF adapter in my upcoming book.

    Any other features that anyone has discovered since installing the beta?

    Technorati Tags:

  • Grab the BizTalk Server 2009 Beta

    Microsoft announced the public BizTalk 2009 beta today.  You can snag it from the Microsoft Connect site.  I’ve been running BizTalk 2009 on a VM since late summer, and while you don’t notice a whole lot of differences, there are some subtle things that you’ll notice.  Recall that the big ticket features are platform specific such as support for VS.NET 2008, Windows 2008 and SQL 2008.  However, you’ll also find the new UDDI services, better Visual Studio integration (e.g. Mapper debugging!), and some new queries in the Admin Console (i.e. historical data).  I admittedly haven’t spent too much time on the newest features, so I’ll look forward to what the community at large discovers.

    Update: Don’t forget to read up on what SteveM has to say about the release.  Specifically, note that you can now go grab the latest version of the ESB Guidance.

    Technorati Tags:

  • Attended Microsoft Cloud Computing Briefing

    Yesterday I was hanging out at the Microsoft office in Los Angeles for an “Architecture Council” meeting on the new Cloud Computing platform.  You can find the slide materials on the Strategic Architecture Council blog.

    Overall, a worthwhile session that you should attend if you get the chance in your city.  My favorite local evangelists were there, including presentations from Woody Pewitt, Kevin Boyle and the delightful David Chou

    We discussed what Microsoft considers cloud computing, the trade-offs between “on-premises” and cloud apps (e.g. on-premises apps have more control, customizations vs. cloud apps that are cheaper but sacrifice control and customization).  Also liked the point that we shouldn’t see cloud apps as simply current in-house apps that we shove to the cloud (ala people throwing SOAP interfaces on existing APIs and claiming to be “service oriented”).  We should be identifying a new class of apps that exploit the cloud in a safe, efficient manner.

    Woody presented Live Mesh which I’m aware of, but haven’t spent time actually playing with it.  As with many demos for these new MS tools, the focus was a bit more consumer-oriented.  I’m still trying to get my head around any use cases for a tool like this in enterprise software.

    David presented on .NET Services (formerly BizTalk Services) and once again inspired me to install the latest bits and walk through some scenarios.  Damn him for distracting me from other things.  Finally, we covered Azure and the types of web based apps we can now host in the cloud. 

    David discussed a few use cases for cloud services that got me thinking about how I’d use this in enterprise scenarios.  For instance, it makes a lot of sense to me to expose my organizational’s reference data (product list, sites, etc) as cloud-based services that folks can use in their own apps that collect data points about us.  Why should they maintain their own tables with copies of our reference data if we can provide it in a public internet service? By putting this (data+service) in the cloud, I have one less hole to punch in our external facing infrastructure.

    Clearly lots of this stuff will change prior to the formal release, so for me, these technologies fall into the bucket of “have enough knowledge to be dangerous” and no more.  I need to be able to talk about these technologies and hack up small demonstrations, but most importantly, I want to be able to know when I should consider these technologies in future projects for my company

    Technorati Tags: , ,

  • Interview Series: Four Questions With … Jon Flanders

    You’re probably surprised that I’ve kept this up, aren’t you.  Here we are, five interviews into this series and still going strong.  This month, we chat with the one Flanders that Homer Simpson actually appreciates: Jon Flanders.  Jon is a blogger, MVP, thought leader in the SOA space, and is comfortable wearing a skirt. Jon has recently released his book RESTful .NET to critical acclaim and has taken a break from his whirlwind book tour (and the thousands of screaming ladies) to engage in a little Q&A with us.

    Q: Tell us why a developer who has always built SOAP-based web services should care about REST. Why is it worth it to them to learn a different paradigm and what benefit does this paradigm offer to enterprise services that typically are built in a SOAP/RPC fashion?

    A:  What I typically tell people here is two things.

    1) REST has some significant advantages over traditional RPC styles (which most SOAP-based services are). GET results can be cached, REST services are *more* interoperable than SOAP and WS-*, and the statelessness constraint encourages more scalable implementations, and the uniform interface (GET, POST, PUT, DELETE) make building and using services much simpler than custom APIs (which SOAP-based services are because each one is a custom interface). If you use all of the constraints of REST (specifically the hypermedia constraint), you also get a highly decoupled implementation.

    2) Because of these advantages, most of the non-Microsoft parts of the computer industry have moved towards a RESTful approach already, and Microsoft is currently moving that way. When you look at ADO.NET Data Services, Windows Azure, you see a lot of Microsoft’s effort going into building RESTful services. Because of this, even if you aren’t planning on implementing all your services using REST, you probably will be consuming one or more RESTful services in the near future.

    In the end, I don’t advocate moving away from SOAP/WS-* where it makes sense or is necessary (for things like transactional calls between .NET and Java for example), but I think more services than people think could benefit from using a RESTful approach.

    Q: Outside of the plethora of WCF related things you inevitably learned during the writing of your latest book, what more general “service design” concepts/principles/pitfalls have you picked up as a result of authoring this book?

    A: Nothing really new. The concept/principle I believe in most is Keep it Simple Stupid (KISS).

    Q: In addition to being an author, blogger, instructor, and part-time samurai, you also do consulting work. Tell us about the most complicated BizTalk Server project you ever worked on and how you solved the business problem.

    A:  Honestly, I’ve never been involved in a “real” BizTalk Server project (what do they say “those who can’t teach” ;-)). I have built a number of fairly complex demos for Microsoft using BizTalk, probably the most complicated demo involved using BizTalk Server with BizTalk Services (now .NET Services).

    Q [stupid question]: You regularly make the rounds in the conference circuit and naturally meet folks who only know you by your online presence. What’s the oddest thing someone has remarked to you upon meeting you in person for the first time? For me, on multiple occasions, I got a “oh, I thought you were taller.” Apparently I have the writing style of a 7 footer.

    A:  Where’s the kilt?

    Hope you all are enjoying this series, and if you have interest in being added to my “interview queue”, do let me know.

    Technorati Tags: , ,

  • Application Architecture "Pocket Guides" From Microsoft

    Was trolling CodePlex today and noticed that those Patterns and Practices cats just released a neat little set of short architecture guides that cover a few specific architectural areas including the Agile architecture method, web application architecturemobile architecture, rich Internet application (RIA) architecturerich client architecture, and finally, service architecture.

    The service guide is a fairly useful little document that spells out a few important things.  It covers different considerations for SOA services, data services and workflow services.  I like the sections which cover items such as considerations for each design area (e.g. exception management, message endpoints, authentication, etc), as well as the considerations for each service layer.  There are brief descriptions of common patterns, and a handy checklist for evaluating your service architecture. 

    Overall, a pleasant read.  May not be breaking new ground for some of you, but if anything, this set of guides should encourage you to read about a particular architecture topic you aren’t that familiar with.

    Technorati Tags:

  • Source Code For BizTalk Rules Authorization Manager

    Back on the old Microsoft blog, I built and demonstrated a tool that exploits the built-in (but hidden) BizTalk Business Rules Engine API for securing access to business rules.

    I have a link to this Rules Authorization Manager on the downloads page of this blog, but up until now, I had only included the executable.  After a few requests for the source code during the past couple months, I finally got inspired to dig out the VM it was built on and extract the source code files.  So, now the downloaded zip file for the RAM tool has the source code which includes all my questionable coding practices for the world to see.

    Technorati Tags: