Archive for the ‘Blueprints’ Category
Some of you may have noticed that the Microsoft Blueprints project has gone quiet and the site taken down from CodePlex and MSDN. I had written a couple of posts about Blueprints in the past and how it was eventually going to take over from GAT/GAX.
Anyway, if you are wondering what’s happening, the answer is that we are making some changes around Blueprints. The Blueprints project was an important incubation whose purpose was to explore process guidance and automation. They helped us (that is, the product teams involved in developing this) gain a better understanding of the requirements for this kind of technology through customer and partner feedback. The reason we took down the external projects was to focus the incubation internally and we are looking at taking this forward so we can support process guidance and automation in a manner that is aligned with VS Team System product direction.
As users of VSTS know, the suite is not based around any particular methodology and can support a range of project methodologies ranging from very lightweight to very formal and process driven. The tooling supports this range of methodologies. Software Factories are an important development discipline which we support and as Jezz Santos and Edward Bakker and other thought leaders have written, it is possible to approach factory development itself in agile or very formal ways and its quite often found that a rapid iterative approach works very well with developing factories That said, VS should and will support factory development going forward in a manner thats agnostic of methodology. Exactly how this manifests itself in the product suite remains to be seen but having looked at the features that are available already in Dev10 Beta-1 in the VS Team Architect edition, we can be sure that it will be of high quality.
GAT/GAX will be available in VS10 and the DSL Toolkit has been improved quite a bit and aligns well with the new “Extensions” model so if you havent checked out the latest developnments in the DSL Toolkit space, I would encourage you to take a look. Stuart Kent has a nice video on the new deployment method for DSL Toolkit based packages.
I will post more on this topic when there is more information that I can share and especially when there are bits available to play with. Watch this space 🙂 .
Mike Lehman has posted a set of screen-casts on Channel 9 that explain the process of authoring and composing blueprints, including how to use the WF process workflow, creating custom extensions, using T4 etc. Here is the list of videos and a short summary (the C9 abstract) of each and my comments wherever applicable. I spent a useful afternoon last weekend watching every one of them
(1) Microsoft Blueprints 101 – The SimpleEdit Blueprint : In this screencast (10 minutes, 34 seconds), Michael Lehman demonstrates the essential features of the Microsoft Blueprints Manager by walking through the sample SimpleEdit Blueprint. Here Mike shows how to use the Blueprint to build another text editor.
(2) Authoring Blueprints – Introduction : In this screencast (6:05) Michael Lehman introduces Microsoft Blueprints. This shows how to build a Level 100 blueprint with only word based guidance and no code.
(3) Authoring Blueprints – Adding Project Templates : In this screencast (3:27) Michael Lehman describes creating Microsoft Blueprints using custom project templates. Mike only demonstrates the single project template here but the written guidance includes some information on how to use multi-project templates and links to the MSDN article on multi-project VSTemplates. In future versions of the Blueprints we may have a UI for simplifying the creation of multi-project templates. Although creating such a template is fairly simple, hand-editing the XML doesnt make for a great experience, but this is a Visual Studio feature not a Blueprints feature.
(4) Authoring Blueprints – Composing Blueprints : In this screencast (5:26), Michael Lehman demonstrates how to combine Blueprints together using composition to create composite Blueprints. The feature of linking blueprints is shown here.
(6) Authoring Blueprints – Custom Command Extensions using WF: In this screencast (7:58), Michael Lehman demonstrates how to create custom Visual Studio automation command extensions using WF. Mike shows the addition of a menu item that appears on the “Project” item and it is possible to have more sophisticated and custom filters so that menus show up only for , say . C# files in a particular project and so on. Although there are a few manual steps to get them all linked up, i think its still much simpler than the GAT route.
(7) Authoring Blueprints – Creating custom Command Extensions in C# : In this screencast (5:35), Michael Lehman demonstrates how to create custom command extensions using C#
(8) Authoring Blueprints – Using T4 Templates : In this screencast (4:01), Michael Lehman demonstrates how to use T4 templates with Microsoft Blueprints. Only a very basic T4 template is shown which is sufficient for the purposes of the demonstration. For more information on T4, read Oleg Sych’s T4 tutorial series.
(9) Authoring Blueprints – From sample application to Blueprint : In this screencast (7:08), Michael Lehman demonstrates how the sample editor application was converted into the SimpleEdit Blueprint. This is quite useful and shows how we can convert our own working applications into Blueprints. Only some of the blueprint features are shown here but a larger reference blueprint will be made shortly to cover all the other features.
(1) Infosys Blueprints Screencast : Watch a demonstration (10:10) of the Infosys Blueprints on Channel 9. Follow along as Farrukh Nizami uses the Infosys Blueprints to build a layered web application that incorporates Silverlight, WCF and LINQ to SQL. I put in some comments on the Channel 9 post as well regarding the patterns used.
Creating Blueprints – Article
(1) Creating My First Blueprint: An Infosys blog article explaining the process of creating a blueprint in detail.
Hope you find the links above useful. There’s some good discussions going on at the codeplex site as well.
In a previous post, I called out the fact that the GAT technology is now evolving into its next version, Blueprints, and also shared why I think this is a great idea and how Blueprints makes up for deficiencies in GAT. In this series, my aim is to learn this technology and share it with you as I go deep into it. Although I never got round to blogging in detail about GAT, I did closely follow along with the progress in that space, notably concentrating on how the Service Factory implemented GAT and DSLs. So here , as we look at building and using Blueprints, we’ll also compare and contrast GAT along the way (and if the GAT content gets pretty large then I’ll hive that off into a separate set of posts).
Of course, with me being a BizTalk guy, for me it all comes down to whether these things can help with BizTalk development or not and I certainly think they can. So expect a call-back in most posts to relate it to the BTS world. The BizTalk Solution Factory has made a great start in this area (using GAT) and I do believe that with Blueprints we can take BSF to the next level.
Okay, enough preamble. Let’s get on with it. Here are the resources I’ve come across to help get started.
(A) Overview stuff
- MSDN – Overview (landing page) : pretty sparse at the time of writing this. Expect a lot more to come.
- MSDN – Introduction to Blueprints: Puts blueprints into context, explaining how it ties in with Software Factories 2.0 and what to expect from the Blueprints family of offerings.
- C9 – S+S Blueprints: A short video where Mike Lehman explains what S+S is and what the S+S Blueprints are all about. This was done quite a while ago when, IMO, Software Factories 2.0 hadn’t been written about, so there’s no mention of GAT/GAX or DSLs. There are a couple of other videos on Multi-Tenant data access blueprints and a Silverlight blueprint for Sharepoint. I’m not looking into the S+S area now although I suspect that when Azure starts to take off this will gain more significance.
- Infosys – Microsoft Blueprints – Building Process Oriented Contextual Guidance: Infosys, one of the top Indian SI’s are also one of the earliest adopters of the Blueprints technology. This article puts Blueprints into context.
(B) More Details On Blueprints
- C9 – Beyond VS Packages : A fairly detailed video talking about what to expect from Blueprints and a general sense of where the technology is headed.
(C) Building and Using Blueprints
- MSDN – Inside Blueprints : Talks about the levels of blueprints and a quick overview of the Blueprints Manager tool. This page unfortunately has serious formatting problems at present with the content defining each “level” being all over the place. I’ve pinged Mike about it so I hope it gets revised soon.
- C9 – S+S Blueprint Walkthrough: This screencast is a walkthrough of using the first S+S Blueprint, the Outlook+Services Blueprint. Mike shows the process of building an add-in for Outlook. The add-in is like Twitter and he calls it “Mumbl”. The process is much faster )(when compared to raw VSTO based development) because of the help of blueprints to code-gen some parts of the solution. If you are used to GAT, then this is no big deal. In fact there’s no automated generation of standard project naming conventions and all the other stuff we are used to in GAT. So from that respect its a little disappointing but remember this was done in Nov 2007 and so there’s no equivalence to GAT there.
(D) Blogs to keep an eye on
At this point in time, look out for these blogs. As the P&P team gets deeper into this, many of their blogs will contain good information. I shall highlight them as they become available and if you come across others, let me know.
- Mike Lehman: the lead architect for Blueprints.
- SF Team Blog
- Infosys Blogs on Software Factories
- Mine ? : well, I’ll leave that to you to decide 🙂
So, this should be enough to give you an idea of what’s out there. My next post will be on getting started with the blueprints manager, installing the existing samples and looking at what’s in the boxes (this inspection tends to get missed out often when looking into new stuff – we can learn a lot by diving into the existing blueprints) and then we’ll look at writing our own blueprints (which is where the real fun is).
However, If you can’t wait to get started, then make sure you have Visual Studio 2008 (Standard and above) with SP1 and head over to the codeplex site to grab the bits and look at the discussion forums for a couple of issues that have already been posted there.
As always, your feedback is welcome. As the series progresses, let me know if there’s anything specific you would like me to cover.