We're continuing our Monday series, "Monday - Community Interview". Today it is Dan Rosanova!
Dan Rosanova (Profile) above on the left hand side with his girlfriend Ola next to him, then Kent and Melissa Weare and me. This picture was taken in September when we all met up at Santa Monica Pier. Me, Dan and Kent are all Microsoft Integration MVP's (formerly BizTalk Server MVP's).
Who are you, and what do you do?
Dan Rosanova: I’m a senior architect in the Technology Integration practice at West Monroe Partners, an international, full-service business and technology consulting firm. I’m also a three time MVP and author of Microsoft BizTalk 2010 Patterns. I’ve been developing on Microsoft platforms since the late 90s and have a heavy focus on distributed computing.
What do you do with TechNet Wiki, and how does that fit into the rest of your job?
First and foremost I’m a TechNet wiki consumer. I read a lot on there. I also edit the work of others. I’m one of those details sort of guys so I’m generally good at picking up grammar, punctuation, and consistency. For my own contributions I try to post useful things that I have found or recently worked with. For instance I have recently been working with the HTTP adapter, one of the original BizTalk adapters. Now that we’ve been in the SOAP world for so long I had forgotten a lot of what this adapter can do. It’s surprisingly powerful. I’m putting an HTTP Plain old XML (PoX) example on the wiki to remind the community how powerful this can be.
This fits into my job because I am almost always either assessing technical solutions or leading (really teaching others) how to build them. Quality articles in the Wiki reduce the number of times I need teach individually. Whenever a team member needs to know something (and sometimes that’s me) MSDN and the Wiki are the first places I look (or point them).
How did you become an MVP? Do you have any suggestions for other community members who hope to eventually become MVPs?
I suppose I became an MVP by getting involved in the community both online and in my local area. I like answering questions in the forums because BizTalk can be a hard learning curve for some developers. Years ago there weren’t as many good resources out there so I had to learn a lot of stuff the hard way. My goal has been to help others avoid that. I also supported and attended local user groups and engaged with my local Microsoft teams. My advice would be: find a technology you love and get actively involved in the community. It’s a lot of work so only do it if you really love it. I totally agree with Dan on this.
What are your favorite articles you've contributed?
I think that would be Using FOR XML queries with the WCF-SQL Adapter. I’ve been working with XML since 1999 and it’s something I’ve really come to like using (granted it did take me a few years to actually like it). Once you know the right tools to use for working with XML it’s really pretty powerful. Things like the XmlSerializer made working with XML in .NET far simpler. I’ve also done a lot of SQL Server work and SQL Server started supporting FOR XML in the 2000 version. This is a really powerful tool because it enabled you to do two important things: 1) return table relational queries in a hierarchy rather than a flat table and 2) auto-serialize these into .NET objects. I used this pattern a lot (sometimes with XSLT for translation or presentation if skipping the .NET part).
The classic SQL Adapter required the FOR XML syntax and some people didn’t like this, but I really did because I worked with FOR XML long before that adapter was made. The new adapter no longer requires FOR XML, but it does support it. The down side is that generating the schemas is not automatic like it was in the classic SQL adapter. This article shows how to use the wizard from the classic adapter to make schemas for use with the new WCF SQL adapter. The MSDN documentation never made it clear exactly how to do this.
This is one of my favorite patterns because a single call to SQL can return a deep graph and is perfect for coarsely grained services – which are generally the key to high performance distributed systems.
Do you have any tips for new Wiki contributors?
Start off as a consumer – this Wiki is a great resource. And comment on other people’s articles. If there are things you read that aren’t clear comment on them or modify them. Try to help other make their knowledge clear and easy to consume. Then next time you find something out or solve a problem that you think is really cool or that you’ve run into many times before check the Wiki. If it’s not already there take the time and write it up. The great thing about the Wiki is that the community will help you polish it so you don’t need to be afraid or feel pressure to make it perfect on your first draft. Just be sure to contribute useful things.