<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Jack Greenfield's Blog</title><link>http://blogs.msdn.com/b/jackgr/</link><description>Mostly Cloudy With A Chance Of Services</description><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.19849 (Build: 5.6.583.19849)</generator><item><title>Geographically Distributed High Availability</title><link>http://blogs.msdn.com/b/jackgr/archive/2011/12/26/geographically-distributed-high-availability.aspx</link><pubDate>Mon, 26 Dec 2011 23:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10251095</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=10251095</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2011/12/26/geographically-distributed-high-availability.aspx#comments</comments><description>This is the last post in the series on business continuity. It briefly describes how the service developer can provide geographically distributed high availability on the Azure platform. 
 The Azure platform currently does not directly support highly...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2011/12/26/geographically-distributed-high-availability.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10251095" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+maturity/">service maturity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+continuity/">service continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/disaster+recovery/">disaster recovery</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/business+continuity/">business continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/high+availability/">high availability</category></item><item><title>Disaster Recovery</title><link>http://blogs.msdn.com/b/jackgr/archive/2011/10/23/disaster-recovery.aspx</link><pubDate>Sun, 23 Oct 2011 19:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10229076</guid><dc:creator>JackGre</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=10229076</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2011/10/23/disaster-recovery.aspx#comments</comments><description>While the Azure platform provides high availability within a single data center, as discussed in the previous post , it currently does not explicitly support or enable disaster recovery or geographically distributed high availability. This post and the...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2011/10/23/disaster-recovery.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10229076" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+maturity/">service maturity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+continuity/">service continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/disaster+recovery/">disaster recovery</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/business+continuity/">business continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/high+availability/">high availability</category></item><item><title>High Availability On The Azure Platform</title><link>http://blogs.msdn.com/b/jackgr/archive/2011/10/22/high-availability-on-the-azure-platform.aspx</link><pubDate>Sun, 23 Oct 2011 05:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10228982</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=10228982</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2011/10/22/high-availability-on-the-azure-platform.aspx#comments</comments><description>Currently, both Windows Azure and SQL Azure offer high availability within a single data center. As long as a data center remains operational and accessible from the Internet, services hosted there can achieve high availability. 
 Windows Azure 
 Windows...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2011/10/22/high-availability-on-the-azure-platform.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10228982" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+maturity/">service maturity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+continuity/">service continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/disaster+recovery/">disaster recovery</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/business+continuity/">business continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/high+availability/">high availability</category></item><item><title>Business Continuity Basics</title><link>http://blogs.msdn.com/b/jackgr/archive/2011/10/19/business-continuity-basics.aspx</link><pubDate>Wed, 19 Oct 2011 19:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10227749</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=10227749</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2011/10/19/business-continuity-basics.aspx#comments</comments><description>This post describes the basics of business continuity. Business continuity poses both business and technical challenges. In this series, we focus on the technical challenges, which include failure detection, response, diagnosis, and defect correction...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2011/10/19/business-continuity-basics.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10227749" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+maturity/">service maturity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+continuity/">service continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/disaster+recovery/">disaster recovery</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/business+continuity/">business continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/high+availability/">high availability</category></item><item><title>Business Continuity On Azure</title><link>http://blogs.msdn.com/b/jackgr/archive/2011/10/18/business-continuity-on-azure.aspx</link><pubDate>Tue, 18 Oct 2011 18:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10227080</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=10227080</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2011/10/18/business-continuity-on-azure.aspx#comments</comments><description>Azure customers want their services to be continuously available to their users, despite component failures, platform degradations and data center outages. In other words, they want business continuity. To achieve it, the services must be highly available...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2011/10/18/business-continuity-on-azure.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10227080" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+maturity/">service maturity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+continuity/">service continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/disaster+recovery/">disaster recovery</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/business+continuity/">business continuity</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/high+availability/">high availability</category></item><item><title>Remembering Steve by Remembering NeXT</title><link>http://blogs.msdn.com/b/jackgr/archive/2011/10/11/remembering-steve-by-remembering-next.aspx</link><pubDate>Tue, 11 Oct 2011 17:08:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10223319</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=10223319</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2011/10/11/remembering-steve-by-remembering-next.aspx#comments</comments><description>Last week, JJ Dubray asked me to write something about NeXT in Steve's honor for InfoQ. It's part of a post about Steve with thoughts from several people, including Eric Schmidt and Tim Berners-Lee. My thoughts are near the bottom of the post....(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2011/10/11/remembering-steve-by-remembering-next.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10223319" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/NeXT/">NeXT</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/InfoQ/">InfoQ</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Steve+Jobs/">Steve Jobs</category></item><item><title>FabrikamJets Example Updated (Really)</title><link>http://blogs.msdn.com/b/jackgr/archive/2010/07/08/fabrikam-jets-example-updated-really.aspx</link><pubDate>Fri, 09 Jul 2010 00:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10036171</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=10036171</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2010/07/08/fabrikam-jets-example-updated-really.aspx#comments</comments><description>I just discovered that the 2.0 release of the Fabrikam Jets example on code gallery (described in this blog post ) contained the original version 1.0 code that worked with OAuth WRAP v0.8, instead of the new version 2.0 code that works with OAuth WRAP...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2010/07/08/fabrikam-jets-example-updated-really.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10036171" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/codename+_2600_quot_3B00_dallas_2600_quot_3B00_/">codename &amp;quot;dallas&amp;quot;</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/appfabric/">appfabric</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/access+control/">access control</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SAML/">SAML</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/REST/">REST</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WS_2D00_Federation/">WS-Federation</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/STS/">STS</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WRAP/">WRAP</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/identity+federation/">identity federation</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/X-509/">X.509</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/security+token+service/">security token service</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SWT/">SWT</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/ADFS/">ADFS</category></item><item><title>Silverlight Samples for OData Over SQL Azure</title><link>http://blogs.msdn.com/b/jackgr/archive/2010/04/20/silverlight-samples-for-odata-over-sql-azure-with-appfabric-access-control.aspx</link><pubDate>Tue, 20 Apr 2010 20:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9999484</guid><dc:creator>JackGre</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=9999484</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2010/04/20/silverlight-samples-for-odata-over-sql-azure-with-appfabric-access-control.aspx#comments</comments><description>How to build a Silverlight client for the OData Service for SQL Azure, and how to build a service that validates Secure Web Tokens (SWTs) issued by AppFabric Access Control...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2010/04/20/silverlight-samples-for-odata-over-sql-azure-with-appfabric-access-control.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9999484" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/server+and+tools+business/">server and tools business</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/codename+_2600_quot_3B00_dallas_2600_quot_3B00_/">codename &amp;quot;dallas&amp;quot;</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/appfabric/">appfabric</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/access+control/">access control</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/REST/">REST</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/STS/">STS</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WRAP/">WRAP</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/web+services/">web services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/security+token+service/">security token service</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SWT/">SWT</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SQL+Azure+Labs/">SQL Azure Labs</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/OData/">OData</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Silverlight/">Silverlight</category></item><item><title>Silverlight Clients and AppFabric Access Control</title><link>http://blogs.msdn.com/b/jackgr/archive/2010/04/19/silverlight-clients-and-appfabric-access-control.aspx</link><pubDate>Mon, 19 Apr 2010 22:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9998772</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=9998772</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2010/04/19/silverlight-clients-and-appfabric-access-control.aspx#comments</comments><description>The Silverlight behavior is designed to prevent cross site attacks in which request headers on a POST could be redirected to unknown domains. Clearly, this is preferable to the .NET framework behavior, which puts the client at risk. However, the HTTP specification says that in the case of a 301 or 303 response code, the user agent should not redirect the request without explicit permission from the user, unless the request is either a GET or HEAD, for precisely this reason. So, according to the specification, neither behavior is correct....(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2010/04/19/silverlight-clients-and-appfabric-access-control.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9998772" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/server+and+tools+business/">server and tools business</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/appfabric/">appfabric</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/access+control/">access control</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/REST/">REST</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/STS/">STS</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WRAP/">WRAP</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/web+services/">web services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/security+token+service/">security token service</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SWT/">SWT</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/TLS_2F00_SSL/">TLS/SSL</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SQL+Azure+Labs/">SQL Azure Labs</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/OData/">OData</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Silverlight/">Silverlight</category></item><item><title>How to Use OData for SQL Azure with AppFabric Access Control</title><link>http://blogs.msdn.com/b/jackgr/archive/2010/04/16/odata-for-sql-azure-with-appfabric-access-control.aspx</link><pubDate>Fri, 16 Apr 2010 23:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9997545</guid><dc:creator>JackGre</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=9997545</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2010/04/16/odata-for-sql-azure-with-appfabric-access-control.aspx#comments</comments><description>&lt;p&gt;While developers can build and deploy custom OData based services to expose data from SQL Azure, other data sources, the OData Portal and Service provide OData access to SQL Azure through simple configuration.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2010/04/16/odata-for-sql-azure-with-appfabric-access-control.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9997545" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-09-99-75-45/ACSBasedSTSIssuerName.PNG" length="35582" type="image/x-png" /><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/codename+_2600_quot_3B00_dallas_2600_quot_3B00_/">codename &amp;quot;dallas&amp;quot;</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/appfabric/">appfabric</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/access+control/">access control</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/REST/">REST</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/STS/">STS</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WRAP/">WRAP</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/web+services/">web services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/identity+federation/">identity federation</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/X-509/">X.509</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/security+token+service/">security token service</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SWT/">SWT</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/ADFS/">ADFS</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SQL+Azure+Labs/">SQL Azure Labs</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/OData/">OData</category></item><item><title>FabrikamJets Example Updated to AppFabric Access Control V1</title><link>http://blogs.msdn.com/b/jackgr/archive/2010/01/08/fabrikamjets-example-updated-to-appfabric-access-control-v1.aspx</link><pubDate>Sat, 09 Jan 2010 02:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9946020</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=9946020</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2010/01/08/fabrikamjets-example-updated-to-appfabric-access-control-v1.aspx#comments</comments><description>I just finished migrating the FabrikamJets example from the CTP to V1 of AppFabric Access Control. There were two changes that made an update necessary: 1) V1 uses version 0.9 of the WRAP protocol, instead of version 0.8, and 2) the issuer name generated...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2010/01/08/fabrikamjets-example-updated-to-appfabric-access-control-v1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9946020" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/codename+_2600_quot_3B00_dallas_2600_quot_3B00_/">codename &amp;quot;dallas&amp;quot;</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/appfabric/">appfabric</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/access+control/">access control</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SAML/">SAML</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/REST/">REST</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WS_2D00_Federation/">WS-Federation</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/STS/">STS</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WRAP/">WRAP</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/identity+federation/">identity federation</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/X-509/">X.509</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/security+token+service/">security token service</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SWT/">SWT</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/ADFS/">ADFS</category></item><item><title>It's a wrap... WRAP v0.9 to be precise...</title><link>http://blogs.msdn.com/b/jackgr/archive/2009/12/16/it-s-a-wrap-wrap-v0-9-to-be-precise.aspx</link><pubDate>Thu, 17 Dec 2009 00:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9937964</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=9937964</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2009/12/16/it-s-a-wrap-wrap-v0-9-to-be-precise.aspx#comments</comments><description>I just finished migrating the integration between Microsoft Codename "Dallas" and Microsoft AppFabric Access Control from WRAP v0.8 to WRAP v0.9. 
 What? You haven't heard of the Web Resource Authorization Protocol (WRAP) ? 
 Well, you're really missing...(&lt;a href="http://blogs.msdn.com/b/jackgr/archive/2009/12/16/it-s-a-wrap-wrap-v0-9-to-be-precise.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9937964" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/codename+_2600_quot_3B00_dallas_2600_quot_3B00_/">codename &amp;quot;dallas&amp;quot;</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/appfabric/">appfabric</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/access+control/">access control</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SAML/">SAML</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/single+sign+on/">single sign on</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WS_2D00_Trust/">WS-Trust</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/REST/">REST</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WS_2D00_Federation/">WS-Federation</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Kerberos/">Kerberos</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/STS/">STS</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/WRAP/">WRAP</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/web+services/">web services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/identity+federation/">identity federation</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/X-509/">X.509</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/security+token+service/">security token service</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/SWT/">SWT</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/active+directory/">active directory</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/ADFS/">ADFS</category></item><item><title>Fabrikam Jets - Integrating Codename "Dallas" with AppFabric Access Control</title><link>http://blogs.msdn.com/b/jackgr/archive/2009/12/08/fabrikam-jets-integrating-codename-dallas-with-appfabric-access-control.aspx</link><pubDate>Tue, 08 Dec 2009 18:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9934211</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=9934211</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2009/12/08/fabrikam-jets-integrating-codename-dallas-with-appfabric-access-control.aspx#comments</comments><description>I recently posted a screencast of an integration between Microsoft AppFabric Access Control and Microsoft Codename "Dallas" &lt;A title="My home page and list of posts on Channel 9." href="http://channel9.msdn.com/Niners/JackGr/" mce_href="http://channel9.msdn.com/Niners/JackGr/"&gt;here&lt;/A&gt; on Channel 9. This was my first project in CST, and took about three weeks to implement. Producing the screencast and packaging the code as an example, soon to be posted on Microsoft Code Gallery, took another week.&amp;nbsp;It was an interesting and educational exercise, as it touched on several technologies that I didn't know much about before the project. Both Access Control and Dallas&amp;nbsp;are intuitive and easy to use, with REST based APIs. I'm looking forward to more work in the areas of access control, identity federation, trust delegation and web data management.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9934211" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/codename+_2600_quot_3B00_dallas_2600_quot_3B00_/">codename &amp;quot;dallas&amp;quot;</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/appfabric/">appfabric</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/access+control/">access control</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category></item><item><title>A New Team, A New Mission</title><link>http://blogs.msdn.com/b/jackgr/archive/2009/12/03/a-new-team-a-new-mission.aspx</link><pubDate>Thu, 03 Dec 2009 20:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9932199</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=9932199</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2009/12/03/a-new-team-a-new-mission.aspx#comments</comments><description>&lt;P&gt;Just over a month ago, I moved from p&amp;amp;p to the&amp;nbsp;&lt;FONT size=2&gt;&lt;A title="Cloud Services Team" href="http://blogs.msdn.com/netservices/" target=_blank mce_href="http://blogs.msdn.com/netservices/"&gt;Cloud Services Team&lt;/A&gt; (CST), which is part of the Business Platform Division (BPD) of the Server and Tools Business (STB), reporting to &lt;A title="John Shewchuk" href="http://www.microsoft.com/presspass/exec/techfellow/Shewchuk/default.mspx" target=_blank mce_href="http://www.microsoft.com/presspass/exec/techfellow/Shewchuk/default.mspx"&gt;John Shewchuk&lt;/A&gt;. CST is responsible for &lt;A title="SQL Azure" href="http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx"&gt;SQL Azure&lt;/A&gt;,&amp;nbsp;&lt;A title="Windows Azure platform AppFabric" href="http://msdn.microsoft.com/en-us/azure/netservices.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/azure/netservices.aspx"&gt;Windows Azure platform AppFabric&lt;/A&gt;, &lt;/FONT&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;A title='Microsoft Codename "Dallas"' href="http://www.microsoft.com/windowsazure/dallas/" target=_blank mce_href="http://www.microsoft.com/windowsazure/dallas/"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Microsoft Codename "Dallas"&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;, &lt;FONT size=2&gt;and many other cloud platform technologies. It's a talented and innovative team in one of the most significant and fast moving areas of the industry. As a Principal Architect here, I'll be&amp;nbsp;&lt;/FONT&gt;&lt;FONT size=2&gt;helping to advance Microsoft's vision for an industry-defining cloud platform by creating and driving product, technical, and marketing strategy; developing new product offerings; and collaborating with other CST leaders on execution and product delivery. &lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9932199" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/sql+azure/">sql azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/server+and+tools+business/">server and tools business</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/codename+_2600_quot_3B00_dallas_2600_quot_3B00_/">codename &amp;quot;dallas&amp;quot;</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/service+bus/">service bus</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/windows+azure/">windows azure</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/appfabric/">appfabric</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/access+control/">access control</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/cloud+services/">cloud services</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/business+platform+division/">business platform division</category></item><item><title>Software Factories Focus Groups at Tech Ed 2008 in Orlando</title><link>http://blogs.msdn.com/b/jackgr/archive/2008/06/05/software-factories-focus-group-at-tech-ed-2008-in-orlando.aspx</link><pubDate>Fri, 06 Jun 2008 03:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8576599</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=8576599</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2008/06/05/software-factories-focus-group-at-tech-ed-2008-in-orlando.aspx#comments</comments><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: 'Franklin Gothic Book','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: PMingLiU; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-fareast"&gt;Michael Lehman, creator of two factory based initiatives, S+S Blueprints and Project Glidepath, will be hosting a pair of focus groups at Tech Ed 2008, discussing his work with S+S Blueprints, and the relationship between S+S Blueprints and Software Factories.&amp;nbsp;To attend, register via &lt;A class="" href="http://blogs.msdn.com/mglehman/archive/2008/05/29/you-are-invited-to-the-s-s-blueprints-and-software-factories-focus-groups-at-teched-2008.aspx" mce_href="http://blogs.msdn.com/mglehman/archive/2008/05/29/you-are-invited-to-the-s-s-blueprints-and-software-factories-focus-groups-at-teched-2008.aspx"&gt;the post on Michael's blog&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8576599" width="1" height="1"&gt;</description></item><item><title>Articles on Software Factories</title><link>http://blogs.msdn.com/b/jackgr/archive/2007/10/10/articles-on-software-factories.aspx</link><pubDate>Wed, 10 Oct 2007 23:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5393597</guid><dc:creator>JackGre</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=5393597</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2007/10/10/articles-on-software-factories.aspx#comments</comments><description>&lt;P&gt;I recently published an &lt;A class="" href="http://www.methodsandtools.com/archive/archive.php?id=64" mce_href="http://www.methodsandtools.com/archive/archive.php?id=64"&gt;article&lt;/A&gt; on using software factories in supply chains for &lt;A class="" title="Methods and Tools" href="http://www.methodsandtools.com/" minmax_bound="true" mce_href="http://www.methodsandtools.com/"&gt;&lt;FONT color=#0033cc&gt;Methods and Tools&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp;Also, many people have asked about the&amp;nbsp;&lt;A class="" href="http://www.iasahome.org/c/portal/layout?p_l_id=PUB.1.244&amp;amp;p_p_id=20&amp;amp;p_p_action=1&amp;amp;p_p_state=exclusive&amp;amp;p_p_col_id=null&amp;amp;p_p_col_pos=1&amp;amp;p_p_col_count=2&amp;amp;_20_struts_action=%2Fdocument_library%2Fget_file&amp;amp;_20_folderId=9&amp;amp;_20_name=Perspectives_August2005.pdf" mce_href="http://www.iasahome.org/c/portal/layout?p_l_id=PUB.1.244&amp;amp;p_p_id=20&amp;amp;p_p_action=1&amp;amp;p_p_state=exclusive&amp;amp;p_p_col_id=null&amp;amp;p_p_col_pos=1&amp;amp;p_p_col_count=2&amp;amp;_20_struts_action=%2Fdocument_library%2Fget_file&amp;amp;_20_folderId=9&amp;amp;_20_name=Perspectives_August2005.pdf"&gt;article&lt;/A&gt; I wrote about factories vs. MDA for the Perspectives of the IASA.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5393597" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Domain+Specific+Languages/">Domain Specific Languages</category></item><item><title>Views and Patterns in VSTS</title><link>http://blogs.msdn.com/b/jackgr/archive/2006/11/24/views-and-patterns-in-vsts.aspx</link><pubDate>Fri, 24 Nov 2006 23:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1143053</guid><dc:creator>JackGre</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=1143053</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2006/11/24/views-and-patterns-in-vsts.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Recently, some of our partners asked how best VSTS allows the architect to define architectural views, such as &lt;/FONT&gt;&lt;A href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/so/&amp;amp;toc=comp/mags/so/1995/06/s6toc.xml&amp;amp;DOI=10.1109/52.469759"&gt;&lt;SPAN style="COLOR: windowtext; TEXT-DECORATION: none; text-underline: none"&gt;&lt;FONT face=Calibri size=3&gt;the 4+1 views&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, and how VSTS supports ready made architectural styles and design patterns, such as MVC, and the patterns from Microsoft Patterns and Practices.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Both questions are best answered in terms of our Software Factory strategy.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Architects using VSTS can use software factories to define sets of views, either standard sets of views, such as the 4+1 views, or custom sets of views, usually the set of view needed to build a specific type of deliverable, such as a smart client or a web service. At the heart of a software factory is a model that defines a set of views. It is called a factory schema. Future releases of VSTS will provide first class support for developing and applying factory schemas, allowing the factory author to define a set of views, and the factory user to interact with the set of views defined by the factory author. Currently, views can be mapped to various VSTS mechanisms, as described in &lt;/FONT&gt;&lt;A href="http://search.msdn.microsoft.com/search/Redirect.aspx?title=Measuring+Success+with+Software+Factories+and+Visual+Studio+Team+...+&amp;amp;url=http://msdn2.microsoft.com/en-us/library/Aa925157.aspx"&gt;&lt;SPAN style="COLOR: windowtext; TEXT-DECORATION: none; text-underline: none"&gt;&lt;FONT face=Calibri size=3&gt;this white paper on MSDN&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Architectural styles and design patterns can be captured and delivered to application developers using software factories. In a software factory, architectural styles and design patterns are packaged as reusable assets. A software factory can also package other kinds of reusable assets, such as tools, templates, libraries, frameworks, guidelines, checklists, tests, models, requirements, and so on. These assets are contextualized by activities that describe simple process steps, and the conditions under which those steps make sense to perform. The activities, in turn, are contextualized by the views defined in the factory schema, so that it is easy for the factory user to determine where in the architecture the factory author intends a given activity to be performed, and consequently where in the architecture and under what conditions the factory author intends an asset to be used.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1143053" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category></item><item><title>Performance Analysis and Prediction</title><link>http://blogs.msdn.com/b/jackgr/archive/2006/10/29/performance-analysis-and-prediction.aspx</link><pubDate>Sun, 29 Oct 2006 23:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:898008</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=898008</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2006/10/29/performance-analysis-and-prediction.aspx#comments</comments><description>&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Franklin Gothic Book"&gt;Irfan Idrees wrote with the observation that while performance analysis and prediction are of critical importance for software developers, the rigorous approaches prevalent in the marketplace have not been widely accepted in the community. Irfan then asked how software factories deal with this issue.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Franklin Gothic Book"&gt;Software factories provide leverage by reducing the amount of variability in application development. With a software factory, one effectively builds a variant of a known application type. All features common to the product family are designed and implemented in known ways. The only variability in a given member of the family is due to the features that make it unique.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Franklin Gothic Book" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Franklin Gothic Book"&gt;Unique features include both fully custom features and variations on known variable features. A fully custom feature is one that has not been predicted or taken into account in any way by the software factory. Variations on known variable features may be either fully constrained (e.g., picking one of five predefined transaction policies from a drop down), or partially constrained, (e.g., writing custom code to complete a template generated event handler designed to work within a predefined event architecture).&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Franklin Gothic Book" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Franklin Gothic Book"&gt;To the extent that the performance of that application type is known and understood, then the task of analyzing and predicting the performance of a given variant becomes a matter of analyzing and predicting the performance of its unique features, and of analyzing and predicting the impact of their performance on the known performance characteristics of the application type, such as overall performance, the performance of specific operations or scenarios, and the way those measurements may vary with variations on known variable features.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=898008" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Domain+Specific+Languages/">Domain Specific Languages</category></item><item><title>Ad Hoc and Systematic Reuse</title><link>http://blogs.msdn.com/b/jackgr/archive/2006/10/17/ad-hoc-and-systematic-reuse.aspx</link><pubDate>Wed, 18 Oct 2006 01:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:836462</guid><dc:creator>JackGre</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=836462</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2006/10/17/ad-hoc-and-systematic-reuse.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;In the &lt;/FONT&gt;&lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/0471202843/qid=1081905983/sr=8-2/ref=sr_8_xs_ap_i2_xgl14/104-1260554-5554356?v=glance&amp;amp;s=books&amp;amp;n=507846" mce_href="http://www.amazon.com/exec/obidos/tg/detail/-/0471202843/qid=1081905983/sr=8-2/ref=sr_8_xs_ap_i2_xgl14/104-1260554-5554356?v=glance&amp;amp;s=books&amp;amp;n=507846"&gt;&lt;FONT face=Calibri size=3&gt;software factories book&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, we explain that systematic reuse is effective, but ad hoc reuse is not.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Ad hoc reuse is the “Field of Dreams” approach… “If we build it, they will come”. Great line for a movie, but it doesn’t work well in the real world of software development.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Systematic reuse relies on the recognition that every component embodies many assumptions about functional requirements, technology choices, operational requirements, architecture, deployment topology, testing strategy, development process, and many other aspects of the software development life cycle.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Failing to recognize and plan around these assumptions leads to the well known problem called “architectural mismatch”. This problem is described in detail in a series of papers from David Garlan at Carnegie Mellon. The patterns and practices team arrived at this same conclusion “bottom up”, by listening to customer feedback regarding the guidance offerings they were developing. Customers were asking how to use those offerings to build a specific type of application.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Recognizing and planning around these assumptions leads to defining families of similar solutions, and separating their common features, which make them similar, from their variable features, which make one member of the family different from the next. The common features are used to develop a custom process for building the members of the family, and of a set of reusable assets supporting the process. The variable features are used to drive parameterization, configuration, assembly and other techniques for accommodating the differences between the family members.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;This is the thinking underlying the development of the components that are truly reusable, such as RDBMSs and GUI frameworks, although it may not have been recognized at the time by all of the people involved in building those components.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Work at the Software Engineering Institute (SEI) formalized this thinking in the concept of Software Product Lines. Software Product Line practices have been well established through many books, case studies and experience reports, and are widely accepted in the software engineering community.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Software Factories is a methodology for using domain specific languages and other technologies to automate Software Product Lines. They were developed by leveraging the work of David Garlan, as described in the book, in consultation with the authors of Software Product Lines at the SEI, and with other experts in related disciplines, such as pattern languages, generative programming and feature based development.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=836462" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Domain+Specific+Languages/">Domain Specific Languages</category></item><item><title>Some Inaccurate Statements About Software Factories</title><link>http://blogs.msdn.com/b/jackgr/archive/2006/07/24/676945.aspx</link><pubDate>Mon, 24 Jul 2006 20:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:676945</guid><dc:creator>JackGre</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=676945</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2006/07/24/676945.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;The CEO of 6th Sense Analytics recently published &lt;/FONT&gt;&lt;A href="http://www.6thsenseanalytics.com/archives/612"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;an article&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt; containing some inaccurate statements about Software Factories.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;The article asserts that SFs are about making developers into battery chickens who squeeze out code. On the contrary, SFs are designed to automate the rote and menial tasks that make developers feel like battery chickens, freeing up time for the creative work of software development.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;The article asserts that SFs attempt to solve software development problems by imposing process. On the contrary, SFs seek to enable the project team to be more agile by maintaining invariants to keep the product well formed and the project manageable, so that the overall process can follow any path that the team chooses to take.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 5.05in"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;The article asserts that Software Factories are imposed by people outside the team that uses them. On the contrary, they are generally developed by their users and are most effective when they serve as a repository of shared experience.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;These misconceptions suggest that the author of the article does not know much about Software Factories, and perhaps has not even read what we have written about them. By themselves, they&amp;nbsp;would not be serious enough to merit the time required to post a reply, as most people who evaluate a technology look at it deeply enough to get past shallow misconceptions.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;However, the article goes on to say that SFs “crush the flexibility and creativity needed to build software and meet constantly changing requirements”. This statement is profoundly&amp;nbsp;misleading, and requires a response for the sake of the those who have read or may read the article.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;We have published a book, as well as many articles, papers and pod casts describing Software Factories. Reading just a few of them would make it easy to see why this statement is off the mark. Therefore, rather than explain SFs yet again here, I will refer to them. You can find pointers to many of them in my previous blog postings.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;I would also like to ask the author of the article to answer the following 3 questions:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;1. Which of the following innovations crush flexibility and creativity?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Compilers&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Class Libraries&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Frameworks&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Patterns&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Best Practices&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Databases&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Form Builders&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Transforms&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;2. Which of the following practices crush flexibility and creativity?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l1 level1 lfo2"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Writing User Stories&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l1 level1 lfo2"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Defining Service Contracts&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l1 level1 lfo2"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Refactoring&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l1 level1 lfo2"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l1 level1 lfo2"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Configuration Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l1 level1 lfo2"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;Defect Tracking&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;3. W&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;hat evidence do you have that SFs crush flexibility and creativity?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;SFs are a lot like the innovations and practices listed above in the way they organize and support software development, and in the way they help developers harvest experience and make it easy for others to reuse.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;The author goes on to suggest that the key to success is visibility into project status, supported by metrics. &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;I agree and recommend the article that I co-wrote with &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:PersonName w:st="on"&gt;&lt;?xml:namespace prefix = st2 ns = "urn:schemas:contacts" /&gt;&lt;st2:GivenName w:st="on"&gt;Marcel&lt;/st2:GivenName&gt; &lt;st2:Sn w:st="on"&gt;DeVries&lt;/st2:Sn&gt;&lt;/st1:PersonName&gt; on using Software Factories with &lt;st1:mswterms w:st="on"&gt;Visual Studio&lt;/st1:mswterms&gt; Team System, soon to be published on MSDN.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face="Franklin Gothic Book"&gt;It explains how, by providing a simple but effective architectural framework for organizing a project, called a schema, Software Factories help&amp;nbsp;their developers define better metrics, and how, by providing a framework for harvesting and reusing experience, Software Factories help their developers use metrics more effectively to improve future projects.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=676945" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category></item><item><title>Architecture Interview and Podcasts</title><link>http://blogs.msdn.com/b/jackgr/archive/2006/01/22/502645.aspx</link><pubDate>Mon, 23 Jan 2006 04:44:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:502645</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=502645</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2006/01/22/502645.aspx#comments</comments><description>&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;FONT face="Franklin Gothic Book"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Here’s an update about Software Factories on &lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://www.microsoft.com/architecture/default.aspx?pid=share.podcast"&gt;ARCast&lt;/A&gt;&lt;/SPAN&gt;, the podcast series on the &lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://www.microsoft.com/architecture/default.aspx?pid=home"&gt;Architecture Resource Center&lt;/A&gt;&lt;/SPAN&gt;. Last month, five panelists (counting myself) recorded three shows on model driven development. It's been quite successful, with the largest number of downloads to date in the series. You can find the first show &lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=132943#132943"&gt;here,&lt;/A&gt;&lt;/SPAN&gt; the second one &lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=141392#141392"&gt;here&lt;/A&gt;&lt;/SPAN&gt; and the third one &lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=154143#154143"&gt;here&lt;/A&gt;&lt;/SPAN&gt;.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Following up the panel discussion, &lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://blog.arrowrock.com/sourceart/"&gt;Martin Danner&lt;/A&gt;&lt;/SPAN&gt; and I did another podcast on &lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=156291"&gt;MDA vs. Software Factories&lt;/A&gt;&lt;/SPAN&gt;.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;I also joined &lt;A href="http://msdn.microsoft.com/architecture/shareideas/sharemsvision/sharebio1/bio_mauroregio/default.aspx"&gt;Mauro Regio &lt;/A&gt;recently for an &lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=143694#143694"&gt;ArcTalk &lt;/A&gt;interview with Ron Jacobs about the HL7 Software Factory described in my recent &lt;SPAN class=MsoHyperlink&gt;&lt;a href="http://blogs.msdn.com/jackgr/archive/2005/12/09/502074.aspx"&gt;post&lt;/A&gt;&lt;/SPAN&gt;, and &lt;SPAN class=MsoHyperlink&gt;&lt;a href="http://blogs.msdn.com/stevecook/"&gt;Steve Cook&lt;/A&gt;&lt;/SPAN&gt; also did an interesting one on one with &lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://channel9.msdn.com/shows/ARCast_with_Ron_Jacobs"&gt;Ron Jacobs&lt;/A&gt;&lt;/SPAN&gt; about &lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=141879"&gt;DSLs and Software Factories&lt;/A&gt;&lt;/SPAN&gt;.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=502645" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Domain+Specific+Languages/">Domain Specific Languages</category></item><item><title>RE: VSTS 2005, DSL, and Software Architecture</title><link>http://blogs.msdn.com/b/jackgr/archive/2006/01/06/510162.aspx</link><pubDate>Fri, 06 Jan 2006 21:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:510162</guid><dc:creator>JackGre</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=510162</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2006/01/06/510162.aspx#comments</comments><description>&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;This is a response to a &lt;/FONT&gt;&lt;A href="http://realworldsa.dotnetdevelopersjournal.com/dsl.htm"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;blog posting&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; by Tad Anderson, and the &lt;/FONT&gt;&lt;A href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=190770&amp;amp;SiteID=1"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;pointer&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; to it on the MSDN Architecture General forum.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;First, I agree with your observation, Tad, about the lack of support for the Software Architect in VSTS 2005. We did indeed focus on the System Architect not the Software Architect. We had limited resources to allocate to architecture tools, and felt it was more important to support Microsoft’s drive toward connected systems for the 2005 release. As you suggest, however, we do intend to address the needs of the Software Architect in subsequent releases, and most of that support will come from our Software Factory strategy.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;However, I disagree with your assertion that our Software Factory strategy, with its reliance on DSLs, will “make a huge mess”. From your comments, I gather that you haven’t read the Software Factories &lt;/FONT&gt;&lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/0471202843/qid=1136573360/sr=8-1/ref=pd_bbs_1/002-5979999-8152831?v=glance&amp;amp;s=books&amp;amp;n=507846"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;book&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;, or been exposed to the many white papers, blog postings, conference proceedings, articles and podcasts that we’ve produced, since they address the issues you raise at length. &lt;SPAN style="mso-bidi-font-size: 10.0pt"&gt;I will summarize them here, but I'll also point you to the those other resources, where you learn a lot more about what we’re doing and why&lt;/SPAN&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;While it’s certainly true that unqualified practitioners might abuse our technology, there is nothing about our technology that makes it particularly susceptible to abuse. As we know, there is nothing to stop people from writing bad code in Java or from creating ineffective UML models.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;However, we have admittedly not done a good enough job of making clear that we intend people to build DSLs primarily in the context of Software Factories. Yes, we do expect them to build standalone DSLs, but the primary goal of productizing the DSL technology was to support factory development. Why? Two reasons:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-bidi-font-family: 'Franklin Gothic Book'; mso-fareast-font-family: 'Franklin Gothic Book'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;1)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;Factories provide a methodology for determining what to model for a given product family. The key to using DSLs effectively is to understand how solutions are developed for a given problem domain. Factories are organized around a model of the development process for a given problem domain. This model, called a factory schema, is a graph of viewpoints. A viewpoint defines the perspective of a specific stakeholder or a specific role in the project team. As recommended by IEE 1471, and the book &lt;/FONT&gt;&lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/0201703726/qid=1136572399/sr=8-1/ref=pd_bbs_1/002-5979999-8152831?v=glance&amp;amp;s=books&amp;amp;n=507846"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;Documenting Software Architectures&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; by Clements, et. al., we use the graph of viewpoints to define the product family architecture. We also use it to define the development process, or what Product Line Engineering calls the production plan. Each viewpoint describes the set of workflows used by its stakeholders, the work products acted upon by those workflows, and a set of assets, such as tools, templates, class libraries and guidelines, that support the enactment of those workflows. How does this relate to modeling? The schema shows us what to model. Each viewpoint defines a domain, such as logical database design, user interface process or business rule definition. These domains are aspects or subsets of the larger problem domain defined by the product family. We may only know enough from experience about such a domain to supply documentation assets, such as patterns or practices, to its stakeholders. However, if we know enough about it to model its key concepts, then we can supply more powerful assets, such as a DSL and tools that perform generation, validation, trace, analysis and other forms of automation using models based on that DSL. Of course, implicit in this approach to modeling is the assumption that DSLs are more effective than general purpose modeling languages like UML for model driven development because they are highly focused on specific problem domains. That point is discussed at length in many of our publications, including our &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/vstudio/teamsystem/workshop/sf/default.aspx?pull=/library/en-us/dnvs05/html/vstsmodel.asp"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;Modeling Strategy&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; paper. In summary, a factory contains a model that provides a basis for determining which aspects of a problem can and/or should be supported by DSLs, and how DSL based models should relate to each other and to the work products of non-model driven activities.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-bidi-font-family: 'Franklin Gothic Book'; mso-fareast-font-family: 'Franklin Gothic Book'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;2)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;Software development is about more than just models. While it’s nice to think that some day, we might develop every part of a system using models, just as we currently develop every part of an application using 3 GLs rather than assembly language, it’s just not feasible today. You can hear more on this topic in the recent &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/architecture/default.aspx?pid=share.podcast"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;ARCast&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; on MSDN. Because we take this pragmatic view, we require factories to provide whatever assets are most appropriate to support the enactment of the workflows for a given viewpoint, and not just on modeling. A modeling tool is just one kind of asset that factory builders can provide to support factory users, but there are many others. This is one of the fundamental differences between Software Factories and MDA. You can read more about the differences between them in the &lt;/FONT&gt;&lt;A href="http://www.iasahome.org/iasaweb/resources/attachments?download=true&amp;amp;nodeId=3303&amp;amp;field=attachment"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;article&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; that I wrote for the newsletter of the International Association of Software Architects.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;Regarding the effect of our strategy on industry standards, I think it was inevitable that people would demand more focused modeling technologies. Within the OMG, there is very strong momentum toward domain specific modeling. It just happens to be expressed using UML profiles, which are awkward at best. A large block of OMG members would prefer to see domain specific languages defined using the Meta Object Facility (MOF). In effect, that’s what we’re doing, too. However, we don’t use the standard MOF. Neither does IBM, Sun, or anyone else. Why? Because the MOF maps to the internal architecture of the modeling tool. Experiences like IBM AD/Cycle show that tool internals cannot be standardized effectively, since vendors must be free to design and implement tools in response to market changes, not standards committee proceedings. Based on these experiences, we prefer the standardization of interachange formats – not interchange formats like XMI, which depend on MOF alignment to achieve interoperability, but interchange formats like the ones defined by UN/CEFACT, RosettaNet and HL7 to name a few.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;As for learning a new language with every gig, you have to do that anyway, whether you’re using UML profiles, or no modeling language, at all. While the UML defines a set of widely understood notational styles, the meaning of any given profile must be learned. This should come as no surprise. What you really have to learn with every gig is the problem domain, or rather the many subsets or aspects of the overall problem domain, and how they all relate to each other. The goal of software factories is to help solve that problem. The software factory schema provides a way to model all of the aspects and their interrelationships. While the DSLs that people build using our tools are unique, they are usually based on the notational styles supplied by the templates that we provide. They happen to look a lot like UML notational styles, of course, and that’s intentional. We have no interest in reinventing the wheel when it comes to notational styles that have proven effective. By the same token, we have not followed any of UML notational styles that have not proven effective, such as the deployment diagram.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;It’s true that that we have not yet aligned Software Factories and MSF. That is currently work in progress. When the alignment is published, I think you will find that the result quite different from RUP and XP. For one thing, the development process in a factory is organized around viewpoints, as I’ve just described. For another, the workflow in a factory is driven not by sequential execution, by pre- and post- conditions associated with each activity. Activities come into scope when their pre- conditions are satisfied and go out of scope when their post- conditions are satisfied. Work can be done in any order subject to these constraints.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;It’s also quite true that we need to provide a more complete set of tools and templates to support the Software Architect, as you suggest. That’s what we’re busy doing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;Finally, I should point out that a critical mass of industry experts supports our work.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;For example, if you read the Acknowledgements in the Software Factories book, you’ll find that we leaned heavily on the work of Paul Clements and Linda Northrop, and met with them multiple times in person. You’ll also learn that Paul was a reviewer, and you’ll find his endorsement of our work inside the front cover. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;If you look at our &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/vstudio/teamsystem/workshop/sf/default.aspx?pull=/library/en-us/dnvs05/html/vstsmodel.asp"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;web site&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;, you’ll discover that Linda Northrop invited me to give the &lt;/FONT&gt;&lt;A href="http://www.sei.cmu.edu/SPLC2004/PLS_factory_30fps.mov"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;keynote&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; at the SEI sponsored &lt;/FONT&gt;&lt;A href="http://www.sei.cmu.edu/SPLC2004/"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;Software Product Lines Conference 2004&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;, giving an overview of Software Factories.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;If you look at our blogs, you’ll find that Martin Fowler had some complimentary things to say about our strategy in his paper on &lt;/FONT&gt;&lt;A href="http://martinfowler.com/articles/languageWorkbench.html"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;Language Workbenches&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;It may be worth mentioning, while we’re talking about industry expert response to our work, that we have had and continue to have critical interaction with some of the other people on your list, including Mr. Jacobson, Mr. Ambler and Mr. Evans.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;Inside the front cover of the book, you will also find endorsements from Doug Schmidt, lead author of &lt;/FONT&gt;&lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/0471606952/qid=1136572748/sr=8-2/ref=pd_bbs_2/002-5979999-8152831?v=glance&amp;amp;s=books&amp;amp;n=507846"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;Pattern Oriented Software Architecture, Volume 2&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; (POSA2), David Frankel, author of &lt;/FONT&gt;&lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/B00009KTQS/qid=1136572655/sr=8-2/ref=sr_8_xs_ap_i2_xgl14/002-5979999-8152831?v=glance&amp;amp;s=books&amp;amp;n=507846"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;Model Driven Architecture&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;, Krzysztof Czarnecki, author of &lt;/FONT&gt;&lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/0201309777/qid=1136572812/sr=8-1/ref=pd_bbs_1/002-5979999-8152831?v=glance&amp;amp;s=books&amp;amp;n=507846"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;Generative Programming&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; and leading voice in the industry on feature modeling, and John Crupi, lead author of &lt;/FONT&gt;&lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/0131422464/qid=1136572703/sr=8-1/ref=pd_bbs_1/002-5979999-8152831?v=glance&amp;amp;s=books&amp;amp;n=507846"&gt;&lt;FONT face="Franklin Gothic Book" color=#333399 size=2&gt;Core J2EE Patterns&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; and the writer of our foreword.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;There are many other industry experts who continue to review our work, share their thinking with us, and generally advise us in our efforts to craft a pragmatic approach to software development that is firmly rooted in proven practices from software product lines, model driven development and service oriented architecture. You can read what many of them have written in the &lt;/FONT&gt;&lt;A href="http://softwarefactories.com/workshops/OOPSLA-2005/SoftwareFactoryWorkshopAnnouncement.htm"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;papers&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; they submitted to the &lt;/FONT&gt;&lt;A href="http://www.oopsla.org/2005/ShowEvent.do?id=203"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;International Conference On Software Factories&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt; at OOPSLA 2005.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoBodyText style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Franklin Gothic Book" size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=510162" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Domain+Specific+Languages/">Domain Specific Languages</category></item><item><title>Moving to Software Factories</title><link>http://blogs.msdn.com/b/jackgr/archive/2005/12/09/502314.aspx</link><pubDate>Sat, 10 Dec 2005 07:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:502314</guid><dc:creator>JackGre</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=502314</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2005/12/09/502314.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Franklin Gothic Book'; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Tahoma"&gt;Here’s an excerpt from an article that Keith and I wrote some time ago.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Franklin Gothic Book'; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Tahoma"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Franklin Gothic Book'; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Tahoma"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Franklin Gothic Book'; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Tahoma"&gt;Total global demand for software will grow by an order of magnitude over the next decade, driven by new forces in the global economy like the growing role of software in social infrastructure, by new application types like business integration and medical informatics, and by new platform technologies like web services, mobile devices and smart appliances. Without comparable increases in productivity, total software development capacity seems destined to fall far short of total demand by the end of the decade. What will change to provide the massive increase in capacity required to meet demand? It is not likely to come from adding developers. Instead, software development methods and practices will have to change dramatically to make developers much more productive.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Franklin Gothic Book'; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Tahoma"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Franklin Gothic Book'; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Tahoma"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Franklin Gothic Book'; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Tahoma"&gt;I’d forgotten about it, but rediscovered it this evening while browsing around. You can read the rest of it &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Franklin Gothic Book'; mso-bidi-font-size: 9.0pt"&gt;&lt;A href="http://www.softwarefactories.com/ScreenShots/MS-WP-04.pdf"&gt;&lt;SPAN style="mso-bidi-font-family: Tahoma"&gt;here&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Franklin Gothic Book'; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Tahoma"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=502314" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category></item><item><title>Software Factories Applied</title><link>http://blogs.msdn.com/b/jackgr/archive/2005/12/09/502074.aspx</link><pubDate>Fri, 09 Dec 2005 20:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:502074</guid><dc:creator>JackGre</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=502074</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2005/12/09/502074.aspx#comments</comments><description>&lt;P class=MsoNormal&gt;&lt;FONT face="Franklin Gothic Book" color=black size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; mso-bidi-font-size: 10.0pt"&gt;&lt;A title=http://blogs.msdn.com/keith_short/ href="/keith_short/"&gt;Keith Short&lt;/A&gt;, &lt;A title=http://msdn.microsoft.com/architecture/shareideas/sharemsvision/sharebio1/bio_mauroregio/default.aspx href="http://msdn.microsoft.com/architecture/shareideas/sharemsvision/sharebio1/bio_mauroregio/default.aspx"&gt;&lt;FONT color=#333399&gt;Mauro &lt;SPAN class=GramE title=http://msdn.microsoft.com/architecture/shareideas/sharemsvision/sharebio1/bio_mauroregio/default.aspx&gt;Regio&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt; and I have agreed to write a new book called Software Factories Applied. Our goal is to write a short book for practitioners that complements the theoretical foundation established in the original &lt;A title=http://www.amazon.com/gp/product/0471202843/qid=1133885290/sr=8-1/ref=pd_bbs_1/104-2323939-0183134?n=507846&amp;amp;s=books&amp;amp;v=glance href="http://www.amazon.com/gp/product/0471202843/qid=1133885290/sr=8-1/ref=pd_bbs_1/104-2323939-0183134?n=507846&amp;amp;s=books&amp;amp;v=glance"&gt;&lt;FONT color=#333399&gt;Software Factories&lt;/FONT&gt;&lt;/A&gt; book by showing how to build a software factory using currently available technologies, namely the &lt;A title=http://msdn.microsoft.com/vstudio/teamsystem/workshop/dsltools/default.aspx href="http://msdn.microsoft.com/vstudio/teamsystem/workshop/dsltools/default.aspx"&gt;&lt;FONT color=#333399&gt;DSL tools&lt;/FONT&gt;&lt;/A&gt;, the &lt;A title=http://msdn.microsoft.com/vstudio/teamsystem/workshop/gat/default.aspx href="http://msdn.microsoft.com/vstudio/teamsystem/workshop/gat/default.aspx"&gt;Guidance Automation Toolkit&lt;/A&gt; and &lt;A title=http://msdn.microsoft.com/vstudio/teamsystem/ href="http://msdn.microsoft.com/vstudio/teamsystem/"&gt;Visual Studio 2005 Team System&lt;/A&gt;. A key topic covered in the book will be how to build a software factory schema, which is the model at the heart of a software factory. Our plan is to walk through a complete worked example from end to end, showing what we did at each step. It will probably be based on a Business Collaboration Factory that generalizes the &lt;A title=http://msdn.microsoft.com/vstudio/teamsystem/workshop/sf/default.aspx?pull=/library/en-us/dnbda/html/hl7softfac.asp href="http://msdn.microsoft.com/vstudio/teamsystem/workshop/sf/default.aspx?pull=/library/en-us/dnbda/html/hl7softfac.asp"&gt;&lt;FONT color=#333399&gt;HL7 factory&lt;/FONT&gt;&lt;/A&gt; that Mauro and &lt;SPAN class=GramE&gt;I&lt;/SPAN&gt; developed. You can read about the lessons learned in the development of that factory in this &lt;A title=http://softwarefactories.com/workshops/OOPSLA-2005/Papers/Regio.pdf href="http://softwarefactories.com/workshops/OOPSLA-2005/Papers/Regio.pdf"&gt;&lt;FONT color=#333399&gt;paper&lt;/FONT&gt;&lt;/A&gt; that we contributed to the &lt;A title=http://www.oopsla.org/2005/ShowEvent.do?id=203 href="http://www.oopsla.org/2005/ShowEvent.do?id=203"&gt;International Workshop on Software Factories at OOPSLA 2005&lt;/A&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face="Franklin Gothic Book" color=black size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; mso-bidi-font-size: 10.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=502074" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Domain+Specific+Languages/">Domain Specific Languages</category></item><item><title>OOPSLA 2005 Recap</title><link>http://blogs.msdn.com/b/jackgr/archive/2005/12/08/501876.aspx</link><pubDate>Fri, 09 Dec 2005 05:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501876</guid><dc:creator>JackGre</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jackgr/rsscomments.aspx?WeblogPostID=501876</wfw:commentRss><comments>http://blogs.msdn.com/b/jackgr/archive/2005/12/08/501876.aspx#comments</comments><description>&lt;FONT face="Franklin Gothic Book" color=black size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; mso-bidi-font-size: 10.0pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;&lt;a href="http://blogs.msdn.com/keith_short/"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;Keith Short&lt;/SPAN&gt;&lt;/A&gt;&amp;nbsp;has already written a&amp;nbsp;&lt;a href="http://blogs.msdn.com/keith_short/archive/2005/10/31/487484.aspx"&gt;&lt;FONT color=#333399&gt;post&lt;/FONT&gt;&lt;/A&gt; that provides an overview our activities at &lt;A href="http://www.oopsla.org/2005/ShowPage.do?id=Home"&gt;OOPSLA 2005&lt;/A&gt;. Here is a compendium of my activities at the conference.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;On Sunday, 10/16, I hosted a full day &lt;A href="http://www.oopsla.org/2005/ShowEvent.do?id=158"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT color=#333399&gt;tutorial&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt; on Software Factories with &lt;a href="http://blogs.msdn.com/stevecook"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;Steve Cook&lt;/SPAN&gt;&lt;/A&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-fareast-font-family: 'MS Mincho'"&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;On Monday, 10/17, &lt;?xml:namespace prefix = st1 ns = "urn:schemas:contacts" /&gt;&lt;st1:GivenName w:st="on"&gt;Steve&lt;/st1:GivenName&gt; and I hosted a full day &lt;A href="http://www.oopsla.org/2005/ShowEvent.do?id=203"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;workshop&lt;/SPAN&gt;&lt;/A&gt; on Software Factories. The workshop announcement and proceedings are posted &lt;A href="http://softwarefactories.com/workshops/OOPSLA-2005/SoftwareFactoryWorkshopAnnouncement.htm"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;here&lt;/SPAN&gt;&lt;/A&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-fareast-font-family: 'MS Mincho'"&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;On Tuesday, 10/18, I spoke on a &lt;A href="http://www.oopsla.org/2005/ShowEvent.do?id=306"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT color=#333399&gt;panel&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt; called Aspects – Passing Fad or New Foundation with &lt;A href="http://www.davethomas.net/"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT color=#333399&gt;Dave Thomas&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;, &lt;A href="http://www.cs.ubc.ca/~gregor/"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT color=#333399&gt;Gregor Kiczales&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;, &lt;A href="http://www.jaczone.com/postcards/"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT color=#333399&gt;Ivar Jacobson&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt; and Matthew Webster hosted by &lt;A href="http://www.berczuk.com/"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT color=#333399&gt;Steve Berczuk&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-fareast-font-family: 'MS Mincho'"&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;On Wednesday, 10/19, I wrote an &lt;A href="http://www.refactory.com/PODD/PODD3color.pdf"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;article&lt;/SPAN&gt;&lt;/A&gt; for the OOPSLA Conference Newsletter called A Not So Random Walk.&lt;/SPAN&gt;&lt;SPAN style="mso-fareast-font-family: 'MS Mincho'"&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;On Wednesday, 10/19, I attended a half day &lt;A href="http://www.oopsla.org/2005/ShowEvent.do?id=115"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;tutorial&lt;/SPAN&gt;&lt;/A&gt; on Agile Software Development in the Large.&lt;/SPAN&gt;&lt;SPAN style="mso-fareast-font-family: 'MS Mincho'"&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;On Wednesday, 10/19, I met with &lt;A href="http://www-staff.it.uts.edu.au/~brian/"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT color=#333399&gt;Brian Henderson-Sellers&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt; and &lt;A href="http://www.donald-firesmith.com/Firesmith/Firesmith.html"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT color=#333399&gt;Don Firesmith&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt; to discuss the &lt;A href="http://www.opfro.org/"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT color=#333399&gt;Open Process Framework&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'MS Mincho'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=501876" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Software+Factories/">Software Factories</category><category domain="http://blogs.msdn.com/b/jackgr/archive/tags/Domain+Specific+Languages/">Domain Specific Languages</category></item></channel></rss>