I know some of you heard me on Tech-Ed talking about the Software Factories motivation and tools. You can download my slide deck from the Tech-Ed site (Btw, the first part of the deck is not related to software factories, it starts getting relevant after slide 12).
In my presentation I have demonstrated two concepts/tools we have today for software factories:
1) The DSL Toolkit
A toolkit enabling us to build visual languages that synchronize with code and allows architects and developers to communicate better. I have prepared some new DSLs for use cases for a hospital scenario and a DSL for the UIP Application Block.
Figure 1 – A Domain Specific Language for Use Case in a hospital

Figure 2 – A Domain Specific Language for a UIP Wizard that translates to/from code
I am happy to announce that Microsoft just released June's CTP version of the DSL toolkit. Although still buggy, it includes a new graphical designer for the XML file of the Designer.dsldd. Now I can start demoing the DSL toolkit without showing a lot of hard-to-grasp XML files :-) Please send me some feedbacks after you play with it.
2) GAT, GAX and the new Guidance Navigator
Guidance Automation Toolkit embeds recipes, templates and wizards in Visual Studio to allow developers to build specific types of solutions and projects in an easier manner. The fact that you go through a recipe expressed in wizards that appear in the right context helps you build customized solutions in the spirit of software factories initiative. When a new guidance package is developed, it is registered to the GAX (Guidance Automation Extensions) that runs as part of Visual Studio.
Just recently, Microsoft Patterns and Practices released a new version for the GAT & GAX. Although it includes some bug fixes, the coolest feature is the new Guidance Navigator window. This is a new dockable tool window that integrates with Visual Studio to help address some key questions that customers face when using guidance packages:
• Where are all of these alleged recipes hiding?
• If I were to run this recipe, what would it do?
• I just ran a recipe. What did it do?
• OK, I've run the recipe. What should I do next?
There is the Guidance Package Manager window that was available up until now (and I also demoed it in Tech-Ed Eilat 2006), but the new window is much more powerful. It includes an Active Guidance tab that shows all recipes and templates that are applicable in the current context. And…, it includes also a History tab, as you've probably guessed, that shows which recipes you've run in the past.


Figure 3 – Guidance Navigator Screen Shots
The Microsoft patterns & practices team has released the first Community Technical Preview (CTP) for the Mobile Client Software Factory. The factory will help architects and developers design and build mobile LOB solutions. The Mobile Client Software Factory will include a prescriptive architecture, application blocks, and other guidance/tools for enterprise architects and developers targeting Windows Mobile powered devices.
This software factory joins some other horizontal factories like: Smart Client Software Factory and the Service Factory.
Enjoy :-)
I wanted to share with you all the announcement from this morning of a cool new member to the Visual Studio Team System Family - The Visual Studio Team Edition for Database Professionals.
· A new Visual Studio Database Project allows you to import your database schema and place it under source control. When the time comes to deploy schema changes the new project system allows you to quickly build update scripts or packages and then provides a mechanism to deploy them to the database of our choice.
· Rename Refactoring allows you to easily rename any object in your database and be assured that all references to that object will be renamed to correspond to the change
· A New T-SQL Editor allows you to be more productive when writing T-SQL code from within Visual Studio including support for parallel execution of queries and viewing of execution plans.
· SchemaCompare allows you to quickly compare the schema of two databases (or your source controlled project and a database) and script updates to bring the database schemas into sync
· DataCompare allows you to quickly compare two databases and script updates to bring the data in these databases into sync
· The Database Unit Testing infrastructure allows you to create database unit tests using T-SQL or managed code.
· DataGenerator lets you create data generation plans that produce repeatable sets of meaningful data based upon your existing production databases that can be deployed to a database prior to running unit tests thus ensuring consistent test results
You can find out more about this great new release, see screenshots and find out how to get the early community technology preview which will be available on June 11th at http://msdn.microsoft.com/vstudio/teamsystem/products/dbpro/default.aspx
Enjoy :-)
I'm posting an article that my colleague and myself were interviewed for. The interview was held before the Israeli Business SOA conference, where I also delivered a presentation about Microsoft SOA strategy which is part of a bigger initiative called Connected Systems.
The article discusses:
- The motivation for organizations shifting their systems to service oriented approaches
- The 4 pillars of service orientation
- Microsoft Technologies that support SOA - WCF, BizTalk, Workflow Founcation, the .NET Framework, Visual Studio, HIS and more.
- Connceted Systems Initiative as a much broader scope than SO.
- Case Studies in Israel and abroad for SOA implementations: Dell, Mirs, HP, Citigtroup etc.
The full article is in Hebrew, so sorry for the non-Hebrew speakers :-)