Tech Ed Developer 2008 Day 2
Elegant Code Cast With Ward Bell
Ward Bell is the Vice President of Product Management at IdeaBlade, which makes a .Net ORM product called DevForce. I met Ward and had a great discussion about ORM solutions and the evolving world of ORM and business tier technologies from MS and others. Ward was good enough to share 30 minutes or so on the mics and you’ll be hearing hi interview on the Elegant Code Cast in the weeks to come.
Platforms for SOA and Business Process Management: Comparing .NET and Java
David Chappell has presented this session at the Java One conference, so it is important to remember that this information as been vetted through the Java community.
The basic message came down to this: Sun’s stewardship of Java has promoted a fragmentation of technologies implemented in the Java language. This is great news for MS, who provides a unified stack of solutions in these spaces. The presenter asked the room this question, “Who believes that many solutions to workflow is good for the Java community?” About half the room went one way, the other half went another.
This gets to the core truth of the whole 1 vs. many solution discussion. Developers obviously love choice in their tools. After all, developers like to tinker and play with new technologies. Are these people also the ones most capable of making core platforms decisions for an enterprise? Typically not, because there is a bias toward new technology adoption over uniform practices.
As an example, the speaker told a story:
A Java developer asked him at a conference, “Help me construct an argument for my management to get permission for me to use Spring.”
“Why do you want to use Spring?” asked David.
“Because it’s cool, man,” answered the developer. “I want to play with it because everyone knows it is a better way to write applications.”
“You should be fired,” he answered.
The point here is that executives and logical decision makers who choose platforms are interested in the long game, not what technology is cool. Can I depend on vendor support? Will the product continue to evolve and grow? These are the questions that yearn for an answer of a unified platform that can be depended on to carry the business forward.
David actually cited the Garter quote that predicts the ultimate death of the J2EE platform in favor of vendor supported Java platforms by IBM and Oracle. If that actually comes to fruition, it is fascinating not just for its technical implications, but also for the comment this makes on the ultimate viability of community-based technology stewardship.
Maybe this 3 legged race of IBM v. Oracle v. MS offers an easier soup to stir than one consisting of many open source implementations. Interesting talk. The most interesting part of that discussion is the notable absence of Sun as a player in the Java discussion. What a weird world.
My favorite quote of the session, “Model Driven Architecture is where the rubber meets the sky.” Awesome. This comment on the huge abstraction of MDA feels right on.
FDD With Team System
Joel Semenuik provided a great overview of how his organization uses a formal Feature Driven Development process in conjunction with Scrum to deliver software. They do this using of Team System, which is no surprise since Joel is the co-author of Managing Projects with Microsoft Visual Studio Team System with Martin Danner.
I later learned from Martin, who used to be my office mate, that he and Joel are sponsoring a CodePlex project to aggregate open source process templates. What a nice idea! One stop shopping for process templates. I went hunting for it, but couldn’t find it on CodePlex yet.
How I Became a Team Build Muscle Man
Steve Borg blew packing material all over me when the build failed in his demo. To be more precise, he had a build monitor application hooked to a fan that blew packing peanuts all over me when his build failed. Nice. It tok 10 minutes to get all the stic clingy bits off me.
Anyway, Steve ran through a demo on using Team Build for CI and for deployment. It was pretty good, although I think many of us could have done without the Richard Simmons imitation. 🙂
Deploying to IIS
Steve used the MSBuild tasks found in the SDC CodePlex project to deploy his web application to IIS on a deployment and smoke test machine.
Deploying SQL Data
Even better, he used Visual Studio 2008 DB Pro to create a DB sample data loading script and deployed that to his test DB server via the SDC task DeployDatabase. This ensures that his web tests will always be run against his app with the same underlying data. This makes writing and running automated web tests as part of your build MUCH easier.
Also in 2008, we get the new BuildStep task that we can use to emote nice messages into our build log to provide some debugging information. Handy.
Implement the ITask interface to create your own tasks BTW. This is easy, I’ve actually done it!
WIX (Windows Installer for XML) is an open source tool that MS actually wrote and released to CodePlex. It is a nice little tool that helps us build MSI installers for our application. This utility is actually used by MS to create their installers like the MS Office and other binaries. This is basically a Visual Studio project that works like MAKE, but better. You can use WIX to accomplish all kinds of things like prepping your target machine’s dependencies as part of the MSI. Nice.
Source Control Branching Strategies
This was a great after-hours Birds of a Feather session that deserves a post of its own and will get it.
Here’s the takeaway: I had no idea source control strategy was a religious issue or that one can see an organization’s dysfunction in a source control system’s folder structure.
Now I know.