﻿<?xml version="1.0" encoding="utf-8"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><ttl>60</ttl><title>Noah Subrin's Dev Blog</title><link>http://blogs.federalsystems.net</link><language>en</language><copyright /><itunes:subtitle> </itunes:subtitle><itunes:author>Noah Subrin</itunes:author><itunes:summary /><description /><itunes:owner><itunes:name>Noah Subrin</itunes:name><itunes:email>support@federalsystems.net</itunes:email></itunes:owner><itunes:explicit>no</itunes:explicit><itunes:category text="Arts" /><item><title>SRA University SilverLight course Week 2 material</title><link>http://blogs.federalsystems.net/2008/05/15/sra-university-silverlight-course-week-2-material.aspx</link><dc:creator>Noah Subrin</dc:creator><description>In today's webcast, I presented SilverLight 1.0 material about how to build a SilverLight app from scratch using just a text editor. We built up the application to include an html file, some javascript include files, and a .xaml file. We reviewed last week's material, addressed some student questions, and&amp;nbsp;reviewed several of&amp;nbsp;the static content controls&amp;nbsp;that can be created. We also took a look at some of the Community Gallery 1.0&amp;nbsp;controls hosted on &lt;A href="http://www.silverlight.net/"&gt;www.silverlight.net&lt;/A&gt; including the MineSweeper application and a sliding puzzle application. I had a lot better luck using the Webex product after attending a seminar on how to leverage many of its features, such as Chat and File Transfer. My slides can be downloaded &lt;A href="http://blogs.federalsystems.net/files/39062-36076/Intro_To_SilverLight_Week2.ppt"&gt;here&lt;/A&gt;&amp;nbsp;. Next week we will look at Javascript events (such as mouse clicks, animation, and how to host SL content in an ASP .Net control)</description><category>Silverlight</category><comments>http://blogs.federalsystems.net/2008/05/15/sra-university-silverlight-course-week-2-material.aspx#Comments</comments><guid isPermaLink="false">6a654716-9cef-40e8-a9f8-3439084936f9</guid><pubDate>Thu, 15 May 2008 15:59:59 GMT</pubDate></item><item><title>SRA University SilverLight Course Week 1</title><link>http://blogs.federalsystems.net/2008/05/10/sra-university-silverlight-course-week-1.aspx</link><dc:creator>Noah Subrin</dc:creator><description>I developed an internal knowledge sharing course for the company I work for, SRA International on building SilverLight applications with SilverLight 1.0. The course is part of SRA University, which is a means of providing SRA employees with free training, provided by course developers, who volunteer their efforts. My Week 1 slides are available &lt;A href="http://blogs.federalsystems.net/files/39062-36076/Intro_To_SilverLight_Week1.ppt"&gt;here&lt;/A&gt;. They are free for the public to download as well. Let me know if you have any questions or feedback.</description><category>Silverlight</category><comments>http://blogs.federalsystems.net/2008/05/10/sra-university-silverlight-course-week-1.aspx#Comments</comments><guid isPermaLink="false">790d7c1f-c802-4f20-9197-c05e4699508e</guid><pubDate>Sat, 10 May 2008 09:59:27 GMT</pubDate></item><item><title>WCF Services and Windows Vista</title><link>http://blogs.federalsystems.net/2008/05/04/wcf-services-and-windows-vista.aspx</link><dc:creator>Noah Subrin</dc:creator><description>I was working on some WCF services and encountered an unusual problem. Some services that I had run on my Windows Server 2003 machine were failing under Windows Vista with an "access denied" error. I tested the service using the built in WCF test client tool that comes with Visual Studio 2008. When I hovered over the error it gave reference to an MSDN&amp;nbsp;&lt;A href="http://msdn.microsoft.com/en-us/library/ms733768.aspx" target=_blank&gt;article&lt;/A&gt;&amp;nbsp;. The article states that running WCF services requires a service host, and&amp;nbsp; manual configuration of the HTTP server through the HTTP API may be required. For Windows Vista, it suggests running the Network services shell command (netsh) from a command prompt. To see all of the options run netsh /?. The article also supplies the syntax for Vista - netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;I opened up a command prompt to enter the net shell command and received a user error stating that I was not authorized to issue the command. This, at first, seemed strange because I am an administrator on the machine. I dug further and found out that Vista has an "administrative command prompt" that you get to by typing "command" followed by ctl-shift-enter key strokes. &lt;BR&gt;&lt;BR&gt;After finding my way to the Administrative command prompt, I was able to enter my netsh command. The result of executing the command&amp;nbsp;&amp;nbsp;delegate this ownership from the built in administrative account&amp;nbsp;to the user account under which the service is running. You can look at the existing delegations by using "netsh http show urlacl". &lt;BR&gt;&lt;BR&gt;There is an excellent &lt;A href="http://blogs.msdn.com/amitlale/archive/2007/01/29/addressaccessdeniedexception-cause-and-solution.aspx" target=_blank&gt;MSDN blog&lt;/A&gt;&amp;nbsp;by Amit Lale&amp;nbsp;that supplies addition details.&lt;BR&gt;</description><category>WCF</category><comments>http://blogs.federalsystems.net/2008/05/04/wcf-services-and-windows-vista.aspx#Comments</comments><guid isPermaLink="false">375290a6-bf20-4816-835f-7bc04f069f49</guid><pubDate>Sun, 04 May 2008 16:09:18 GMT</pubDate></item><item><title>New User Group in Gwinnett</title><link>http://blogs.federalsystems.net/2008/04/23/new-user-group-in-gwinnett.aspx</link><dc:creator>Noah Subrin</dc:creator><description>There is a new .Net user group organizing in Gwinnett County Georgia. Their website is &lt;A href="http://www.ggmug.com/" target=_blank&gt;www.ggmug.com&lt;/A&gt;&amp;nbsp;. The first meeting is Thursday, May 8 at Gwinnett Tech. Doug Turnure, Microsoft Developer Evangelist, and myself will be presenting. Doug is presenting on the topic of WCF, REST, JSON, and Syndication. I will be presenting on the topic of Workflow Services. See you there!</description><category>User Groups</category><comments>http://blogs.federalsystems.net/2008/04/23/new-user-group-in-gwinnett.aspx#Comments</comments><guid isPermaLink="false">c3a5afde-7749-4413-a3f5-93c025de9649</guid><pubDate>Wed, 23 Apr 2008 16:54:19 GMT</pubDate></item><item><title>Workflow Services (AKA 'Silver Services')</title><link>http://blogs.federalsystems.net/2008/03/31/workflow-services-aka-silver.aspx</link><dc:creator>Noah Subrin</dc:creator><description>On Saturday, March 29, 2008 I was honored to be part of the 4th annual &lt;a href="http://www.atlantacodecamp.com" target="_blank"&gt;Atlanta Code Camp&lt;/a&gt;. Over 200 area developers attended. The event was a smashing success due to a lot of hard work by the organizers and volunteers.&lt;br&gt;&lt;br&gt;Workflow Services are new in .Net Framework 3.5. They allow Windows Workflow Foundation (WF) workflows and Windows Communication Foundation (WCF) services to talk together. This is accomplished primarily, by the addition of two new activities, the &lt;span style="font-style: italic;"&gt;SendActivity &lt;/span&gt;and the &lt;span style="font-style: italic;"&gt;ReceiveActivity.&lt;/span&gt; These new activities can be dragged onto the work surface to create a workflow using Visual Studio 2008. I demonstrated how to consume a WCF service from a workflow, how to expose a WCF service endpoint in a workflow, and duplex communication. Duplex communication allows the server and the client to communicate to each other. My slide deck and code can be downloaded from this&amp;nbsp;&lt;a href="http://blogs.federalsystems.net/files/39062-36076/Workflow_services.zip"&gt;link&lt;/a&gt; .&lt;br&gt;&lt;br&gt;The tooling for WCF is also greatly improved in Visual Studio 2008. You can test a WCF service using the WCF test client and set optional parameters for security. You can also see the request and response in the raw xml format.&lt;br&gt;&lt;br&gt;I look forward to delivering this presentation at an upcoming Atlanta area user group meeting!&lt;br&gt;</description><category>WF</category><comments>http://blogs.federalsystems.net/2008/03/31/workflow-services-aka-silver.aspx#Comments</comments><guid isPermaLink="false">c31480b6-9ae4-418a-ace8-57dd1186b3ce</guid><pubDate>Sat, 05 Apr 2008 07:50:05 GMT</pubDate></item><item><title>Atlanta Code Camp 2008</title><link>http://blogs.federalsystems.net/2008/03/23/atlanta-code-camp-2008.aspx</link><dc:creator>Noah Subrin</dc:creator><description>I am proud to be part of the upcoming &lt;a href="http://www.atlantacodecamp.com" target="_blank"&gt;Atlanta Code Camp 2008&lt;/a&gt;being held on Saturday, March 29, 2008 at DeVry University's Decatur campus. Please come down and enjoy a full day of .Net, Geekdom, and swag featuring several members of Atlanta's Dev community including myself. &lt;br&gt;&lt;br&gt;I will be giving a presentation on the .Net Framework "Silver" technology, a/k/a Workflow Services. Workflow Services is a new feature of the .net Framework 3.5 that allows integration between WCF (Windows Communication Foundation) and WF (Windows Workflow Foundation). We can call a WCF service from a WF workflow, as well as expose a WCF service as a Workflow.&amp;nbsp; My presentation is titled "You Got the Silver". Can you name the music reference this came from? A hint - the song didn't come out recently....&lt;br&gt;&lt;br&gt;I am also pleased to be selected as part of the &lt;a href="http://www.heroescommunitylaunch.com/" target="_blank"&gt;Heroes Community launch&lt;/a&gt; team. I will have some killer swag to give away, so you may want to stop on by.&lt;br&gt;&lt;br&gt;I look forward to seeing you this Saturday!&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><category>Code Camps</category><comments>http://blogs.federalsystems.net/2008/03/23/atlanta-code-camp-2008.aspx#Comments</comments><guid isPermaLink="false">eefc85d8-097f-4fc1-881c-2aea9345eca4</guid><pubDate>Sun, 23 Mar 2008 19:39:26 GMT</pubDate></item><item><title>AJAX and Web Services</title><link>http://blogs.federalsystems.net/2007/11/07/ajax-and-web-services.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;div&gt;&lt;/div&gt;On November 5th I had the pleasure of delivering a presentation on the topic of "AJAX and Web Services" to the combined Atlanta Microsoft Professionals, Cutting Edge, and VB .Net Study groups. I discussed how we can take .asmx web services and expose them to client side JavaScript including the changes that are necessary on both the client and the server. I showed several code samples that showed passing parameters, callback functions, user context, and complex types. I also discussed client side support for ASP .Net 2.0 Profile and Authentication services. My slides can be downloaded &lt;a href="http://blogs.federalsystems.net/files/39062-36076/AJAX_with_Web_Services.ppt"&gt;here&lt;/a&gt; - enjoy. Please feel free to contact me with questions or feedback. I look forward to hearing from you&lt;br&gt;</description><category>AJAX</category><comments>http://blogs.federalsystems.net/2007/11/07/ajax-and-web-services.aspx#Comments</comments><guid isPermaLink="false">05c0b348-91a3-466d-a10f-341d745ff533</guid><pubDate>Wed, 07 Nov 2007 16:56:28 GMT</pubDate></item><item><title>A Step by Step Tutorial for Creating a Data Driven Web Site using MySQL and the SQLDataSource Control</title><link>http://blogs.federalsystems.net/2007/09/27/a-step-by-step-tutorial-for-creating-a-data-driven-web-site-using-mysql-and-the-sqldatasource-control.aspx</link><dc:creator>Noah Subrin</dc:creator><description>Did you know you can use Visual Studio 2005s SQLDataSource control to
connect to a MySQL database? Did you know that Visual Studio 2005's Data
Designer Extensibility (DDEX) architecture allows extending data
designers to third party databases? If you are interested in learning
more about these topics check out my &lt;a href="http://www.sswug.org/see/35849" target="_blank"&gt; step by step tutorial&lt;/a&gt; on how to do this!&lt;br&gt;&lt;div&gt;&lt;/div&gt;</description><category>MySQL</category><category>Visual Studio 2005</category><comments>http://blogs.federalsystems.net/2007/09/27/a-step-by-step-tutorial-for-creating-a-data-driven-web-site-using-mysql-and-the-sqldatasource-control.aspx#Comments</comments><guid isPermaLink="false">421b7deb-3810-488a-8f5a-8d826e9acbdc</guid><pubDate>Thu, 27 Sep 2007 20:19:39 GMT</pubDate></item><item><title>Importing a .csv File into SQLExpress Using Bulk Insert</title><link>http://blogs.federalsystems.net/2007/09/16/importing-a-csv-file-into-sqlexpress-using-bulk-insert.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;div style="margin: 0in 0in 0pt;"&gt;&lt;font size="2"&gt;With the introduction of Visual 
Studio 2005, SQL Express can be installed on a developer’s workstation to allow 
local database development. The client tools to access the local database 
environment must be installed separately. We use SQL Server Management Studio 
Express (SSMSE) in my customer environment. While SSMSE is easy to use, it does 
not include features such as Integration Services. Certain tasks, such as 
importing a .csv file are not available directly from the SSMSE user interface 
i.e. you don’t have access to the SQL Server equivalent of the DTS Import/Export 
Wizard. One approach to importing flat file data into SQLExpress is based on the &lt;span style="font-style: italic;"&gt;Bulk Insert&lt;/span&gt; T-SQL command.&lt;br&gt;&lt;br&gt;The implementation details can be found in an article I published for the &lt;a href="http://www.sswug.org/see/35680" target="_blank"&gt; SQL Server World Wide User Group&lt;/a&gt;&lt;a href="http://www.sswug.org/see/35680"&gt;&lt;/a&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><category>SQL Server</category><comments>http://blogs.federalsystems.net/2007/09/16/importing-a-csv-file-into-sqlexpress-using-bulk-insert.aspx#Comments</comments><guid isPermaLink="false">2f27e911-07c1-41ef-83ea-8bf7b323e43d</guid><pubDate>Sun, 16 Sep 2007 02:38:15 GMT</pubDate></item><item><title>IIS 7.0 Features</title><link>http://blogs.federalsystems.net/2007/04/09/iis-70-features.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;P&gt;At the ASP .Net Connections in Orlando last week, I was able to attend a session delivered by Eric Woersching, IIS Product Manager. He delivered a high level overview and demos of IIS 7.0 features. IIS 7.0 is the latest version of Microsoft's web server. It is part of Microsoft's Windows Vista and the Windows server "Longhorn" release. It is available in the Beta 2 Release. On the Vista platform, it is meant for development, but not meant for production use, because it is limited to ten simultaneous requests. &lt;/P&gt;
&lt;P&gt;IIS 7.0 contains several interesting features. For example, the metabase file in previous versions has been replaced by a configuration file. This should be an improvement if you have ever tried to export an existing metabase configuration. The core web server has been refactored into 40 dll's which can be independently installed to allow a more granular configuration. These can be of value by reducing the attach surface, reducing the memory footprint, and building custom/specialized servers for a particular use, for example load balancing. IIS 7 core features can be extended, replaced, or modified using both managed code and Win32 API's.&lt;/P&gt;
&lt;P&gt;We can still run legacy .Net Framework 1.1&amp;nbsp; applications in "classic mode" by using additional application pools. We can perform "URL Rewriting" which allows browsing to a target web page based on a particular file extension, such as .jpg.&lt;/P&gt;
&lt;P&gt;Managed modules and handlers replace IHTTPModule and ISAPI filters. There also are powerful diagnostic capabilities that will allow us to more easily troubleshoot web sites and applications. &lt;/P&gt;
&lt;P&gt;IIS 7.0 starter kits are available today to allow users to start working with IIS 7.0. An excellent source of information is the IIS Community Portal found at &lt;A href="http://www.iis.net/"&gt;www.iis.net&lt;/A&gt;.&lt;/P&gt;</description><category>IIS</category><comments>http://blogs.federalsystems.net/2007/04/09/iis-70-features.aspx#Comments</comments><guid isPermaLink="false">b783de35-a8b7-4d75-897a-ab3f99ea0759</guid><pubDate>Mon, 09 Apr 2007 20:31:00 GMT</pubDate></item><item><title>WF Starter Kit is available from Microsoft</title><link>http://blogs.federalsystems.net/2007/04/08/wf-starter-kit-is-available-from-microsoft.aspx</link><dc:creator>Noah Subrin</dc:creator><description>The first of a set of starter kits for WF and WCF on the .NET Framework 3.0 has just been released. These starter kits are planned to help developers new to these technologies to get started on their first project faster.&amp;nbsp; The WF starter kit has just been released (April 6, 2007). &lt;BR&gt;&lt;BR&gt;
&lt;P&gt;The WF Approvals Workflow starter kit is a Visual Studio 2005 project that demonstrates using Windows Workflow Foundation for simple task oriented workflow in an ASP.NET web application in a small code footprint. A workflow model is used to automate work order requests at a small example company. It includes three pre-defined roles which determine what user can perform the tasks of&amp;nbsp;work orders creation, approval and monitoring. The starter kit may be modified for other workflow models to suit other small web based task management systems. &lt;BR&gt;&lt;BR&gt;The starter kit is available for download &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A438A9B9-9F15-42EC-866F-2EA58E10DB36&amp;amp;displaylang=en" target=""&gt;here&lt;/A&gt;&amp;nbsp;.&lt;/P&gt;</description><category>Windows Vista</category><comments>http://blogs.federalsystems.net/2007/04/08/wf-starter-kit-is-available-from-microsoft.aspx#Comments</comments><guid isPermaLink="false">ba6e00eb-c9fe-41c4-8fb5-39e50c6522e7</guid><pubDate>Sun, 08 Apr 2007 08:34:00 GMT</pubDate></item><item><title>Notes from Orlando ASP .Net Connections Conference 3/25/2007 – Keynote Address</title><link>http://blogs.federalsystems.net/2007/04/06/notes-from-orlando-asp-net-connections-conference-3252007--keynote-address.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;P&gt;The &lt;A href="http://www.sqlconnections.com/shows/SP2007ASP/default.asp?s=90"&gt;ASP .Net Connections&lt;/A&gt; conference formally kicked off last Sunday with keynote addresses from Scott Guthrie and Christian Kleinerman of Microsoft. Scott spoke about the AJAX toolkit and gave some insight about what will be coming in the future with the upcoming ORCAS Visual Studio release. He mentioned some AJAX “futures” that won’t be available until ORCAS is released. Scott also mentioned some of the high volume customers using .Net Framework 2.0, including myspace.com. AJAX is a free framework that helps create more interactive web experiences across multiple browsers. The AJAX 1.0 library is available for download from &lt;A href="http://ajax.asp.net"&gt;http://ajax.asp.net&lt;/A&gt;, as well as ASP .Net 2.0 AJAX extensions, and the ASP .Net AJAX Control Toolkit. In addition to the Microsoft team, there also are controls and samples provided by the developer community outside of Microsoft. Scott stressed that the Microsoft team is very quick to turn around and bug fixes and/or feedback.&lt;/P&gt;
&lt;P&gt;Christian Kleinerman, Group Program Manager for the SQL Server Relational Engine discussed the explosion in the amount of data available throughout the world and also pointed out recent releases of the SQL Server team. These include SQL Server 2005 Service Packs 1 and 2, as well as the “Data Dude” product. He pointed out some of the features in SQL Server 2005 that add great productivity, such as Service Broker, still have yet to be widely adopted. He also discussed at a very high level what the next release of SQL Server, code named “Katmai” will include.&lt;/P&gt;
&lt;P&gt;Also special kudos are in order for South Florida’s Stacy Draper, who filled in at the last minute to provide a SharePoint demo, when the original presenter was stuck in Chicago. Stacy filled in admirably, before a large audience and was able to deliver his demo successfully!&lt;BR&gt;&lt;/P&gt;</description><category>ASP .Net Connections</category><comments>http://blogs.federalsystems.net/2007/04/06/notes-from-orlando-asp-net-connections-conference-3252007--keynote-address.aspx#Comments</comments><guid isPermaLink="false">b3879340-15fb-4923-9044-9a9894ad0852</guid><pubDate>Fri, 06 Apr 2007 15:57:00 GMT</pubDate></item><item><title>Notes from Orlando SQLConnections Conference – Tips and Tricks to Tuning for High Performance</title><link>http://blogs.federalsystems.net/2007/04/06/notes-from-orlando-sqlconnections-conference--tips-and-tricks-to-tuning-for-high-performance.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;Last week I attended the &lt;A class="" href="http://www.sqlconnections.com" target=""&gt;SQLConnections &lt;/A&gt;Conference in Orlando. The conference ran concurrently with ASP .Net Connections, Visual Studio Connections, and SharePoint Connections. On Sunday I had the opportunity to participate in Kimberly Tripp’s workshop on “SQL Server 2005: Tips and Tricks to Tuning for High Performance”. The workshop began with a discussion of areas that affect performance: &lt;/FONT&gt;&lt;/P&gt;&lt;BR&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;
&lt;LI&gt;The “Process” &lt;/LI&gt;
&lt;LI&gt;The “Application”&lt;/LI&gt;
&lt;LI&gt;The “Database” &lt;/LI&gt;
&lt;LI&gt;The “Software” &lt;/LI&gt;
&lt;LI&gt;The “Hardware”&lt;/LI&gt;&lt;BR&gt;Each one of these areas contains items we can look at to see if we can optimize performance. For example, in the process area, can steps be eliminated or can pieces of a transaction be compartmentalized? For the application area, can we limit the number of columns and/or rows returned? Can we reduce the number of server round trips? In terms of the database design, how can we identify queries that are the sources of excessive resource utilization?&lt;/FONT&gt; 
&lt;P&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;To address the sources of excessive resource utilization we should consider both expensive queries and frequently executed queries. We can begin to perform analysis using Profiler and the Tuning template.&amp;nbsp; Specific information was provided on how to find the most frequently executed queries. We can save the results of a trace into a table and aggregate the results. Profiler sometimes only allows us to begin to identify the problem – often the underlying root cause is a larger problem!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;The overall approach to tuning is to start with a handful of queries that are either frequently used and/or very resource intensive and tune these first. These may yield the best “bang for the buck” depending on what the requirements of the engagement are. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;A very in depth discuss of clustered and non-clustered indexes was presented. Code demos of the execution plans displayed how many logical reads and writes were necessary for each operation and helped explain why some indexes or table scans are more efficient than others. A lot of query performance is dependent on how selective an index is. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;In addition to a great discussion of indexing, there also was a list of other things to try prior to adding more indexes. For example, we need to consider if database statistics are up to date. One trouble shooting approach is to try running &lt;STRONG&gt;UPDATE STATISTICS &lt;/STRONG&gt;and seeing if that improves performance. Another approach is to see if executing the stored procedure with &lt;STRONG&gt;RECOMPILE&lt;/STRONG&gt; option yields better performance. We should also try rewriting the affected code/query. For example, if we are writing the query as a join, try rewriting it as a subquery and vice versa.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;Overall the session was extremely informative and contained useful tips and tricks that apply to both SQL Server&amp;nbsp;2000&amp;nbsp;and SQL Server&amp;nbsp;2005. If you have a chance to see Ms. Tripp, please take advantage of the opportunity! She has been working with SQL Server since 1990 and knows the product inside and out.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;</description><category>SQL Server</category><comments>http://blogs.federalsystems.net/2007/04/06/notes-from-orlando-sqlconnections-conference--tips-and-tricks-to-tuning-for-high-performance.aspx#Comments</comments><guid isPermaLink="false">ad56587b-a429-48fe-bd48-d3a2b7db6e90</guid><pubDate>Fri, 06 Apr 2007 15:56:29 GMT</pubDate></item><item><title>Service Broker Presentation at Atlanta MDF Group</title><link>http://blogs.federalsystems.net/2007/03/13/service-broker-presentation-at-atlanta-mdf-group.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;Last night I had the privilege of presenting to the Atlanta MDF SQL Server User group (&lt;/FONT&gt;&lt;A href="http://www.atlantamdf.com/"&gt;&lt;FONT face="Times New Roman" size=3&gt;www.atlantamdf.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;) on the topic of SQL Server Service Broker. Service Broker is one of the most powerful features in SQL Server 2005, but it is rarely mentioned in discussions of new features and enhancements.&lt;/FONT&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;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;Why is there a need for Service Broker? We often need to build loosely coupled systems that scale. We may also need to retain state between the sender and receiver of messages. In addition to state, we may also be concerned about the order that message are sent. Consider an example of an online e-commerce system. The vendor might have an order entry system, a fulfillment service, and various shippers. Typically an order is entered into the system in real time, but it might be a matter of days until the order is filled and shipped. We wouldn’t want to design a system where the initial transaction had to wait until the order was shipped, because it would tie up resources.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;SQL Server Service Broker is a platform for building asynchronous, scaleable database applications. Its main characteristics are reliable, ordered, and asynchronous delivery of messaging. Reliable messaging means the sender or receiver can go down, the network can go down, or either of the nodes can failover and the message stream will delivered exactly once in order. The messages are checked through checksums to make sure they have not changed. Messages are processed in the order they are sent. A Service Broker solution can scale up and handle bursts of traffic in one SQL Server instance or scale out across many instances. Think about the infrastructure required to build this product from scratch. Right out of the box, we get multithreading, locking, and ordered delivery of messages for free. This is all accomplished by system of queues to hold the incoming messages. Once a message is received from a queue, it can also activate (launch)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;a stored procedure, or other external program.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;I have discussed what Service Broker is – here is what Service Broker &lt;I style="mso-bidi-font-style: normal"&gt;is not&lt;/I&gt;. Service Broker is not a general purpose messaging system – it only works on SQL Server. It only uses transactional messaging – if this is not required, perhaps there is too much overhead. Finally, it is not just a messaging system; we can use the queuing features on a single instance of multiple instances.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;Here are some possible uses of Service Broker:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&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; mso-list: l0 level1 lfo2; tab-stops: list .5in"&gt;&lt;FONT face="Times New Roman" size=3&gt;Asynchronous triggers: A trigger queues a message that requests work from a Service Broker service. The trigger creates a message that contains information about the work to be done and sends this message to a service that performs the work. When the original transaction commits, Service Broker delivers the message to the destination service. The program that implements the service performs the work in a separate transaction. &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&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; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;&lt;FONT face="Times New Roman" size=3&gt;Reliable Data Processing: Some applications must reliably process queries, without regard to computer failures, power outages, or similar problems. An application that needs reliable query processing can submit queries by sending messages to a Service Broker service. The application that implements the service reads the message, runs the query, and returns the results.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&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; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;&lt;FONT face="Times New Roman" size=3&gt;Distributed Order Processing: In this scenario where an order does not need to be fulfilled immediately but does need to be delivered. For example, a local order system receives order and routes to remote warehouse for fulfillment. Fulfillment systems do not have to fill order immediately.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&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; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;&lt;FONT face="Times New Roman" size=3&gt;Data Consolidation for Client Apps: Consider a customer service application that consolidates data from multiple locations. Requests are executed in parallel using several services. The customer service app collects the responses and displays the results.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;In summary SQL Server Service Broker is a powerful feature of SQL Server 2005.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It provides loose coupling to provide workload flexibility. It also provides reliable ordered messaging. Automatic activation (invocation of stored procedures or external applications) allows applications to scale with message volume. Related message locking allows more than one instance of an application to process messages from the same queue without explicit synchronization. My presentation can be downloaded &lt;A HREF="/files/39062-36076/Developing_Message_Based_Asynchronous_Applications_with_SQL_Server_2005.ppt"&gt;here&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;</description><category>SQL Server</category><category>categories</category><comments>http://blogs.federalsystems.net/2007/03/13/service-broker-presentation-at-atlanta-mdf-group.aspx#Comments</comments><guid isPermaLink="false">2a46c401-0cc3-4b75-b69d-d35f26b282cb</guid><pubDate>Tue, 13 Mar 2007 15:42:00 GMT</pubDate></item><item><title>WCF Presentation at Atlanta VB Study Group</title><link>http://blogs.federalsystems.net/2007/02/25/wcf-presentation-at-atlanta-vb-study-group.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;br&gt;On Wednesday February 21, 2007 I had the opportunity to present my "Intro to WCF" presentation to the&lt;a href="http://www.avbsg.net"&gt; Atlanta VB .Net Study Group&lt;/a&gt; as part of the Microsoft .Net University series. Devry University has been kind enough to let the group use its facilites at its Alpharetta campus. Doug Turnure, Microsoft Developer Evangelist will be presenting the fourth and final session on Cardspace next month.&lt;br&gt;&lt;br&gt;My presentation began with a discussion of the .Net Framework 3.0 and the technologies that it includes (WF, WCF, WPF, and Cardspace). I also spoke in general terms about Service Oriented Architectures (SOA) and included these fundamental concepts:&lt;br&gt;&amp;nbsp;- It is a design methodology.&lt;br&gt;&amp;nbsp;- It leverages existing investments&lt;br&gt;&amp;nbsp;- It uses loosely coupled messaging.&lt;br&gt;&amp;nbsp;- It facilitates and encourages reuse.&lt;br&gt;&amp;nbsp;- It is standards based which implies interoperability&lt;br&gt;&amp;nbsp;- SOA does not mean web services.&lt;br&gt;&lt;br&gt;I began with a high level overview of what WCF (Windows Communication Foundation) is:&lt;br&gt;- WCF is an SDK for building service oriented applications on the Windows platform.&lt;br&gt;- It enables us to use classic CLR constructs, such as classes and interfaces to deploy and consume services.- The programming model is declarative and largely attribute driven.WCF presents a unified programming model to distributed technologies including Web Services, Remoting, Enterprise Services, Message Queueing and Interprocess Communication. It is highly interoperable because it is based on WS* protocols and is compatible with existing Microsoft distributed technologies. Microsoft also has made a considerable investment working with other vendors to ensure compatibility.&lt;br&gt;&lt;br&gt;I presented three code based demos to support my presentation. The first demo was a simple client and service. Although, I am more comfortable with C#, I did this demo in VB .Net because after all, it is a VB group. The second demo displayed how to use three different transports HTTP, TCP, and named pipes to invoke a WCF service. The last demo was a cross technology sample using WPF, WCF, and Cardspace. It also featured token caching and calling two WCF web services using a WPF Winform client.I concluded the presentation by fielding questions and presenting resources. There are some hands on
&lt;a href="http://msdn.microsoft.com/virtuallabs/netframe/"&gt; virtual labs&lt;/a&gt; available from Microsoft that are a great place to learn about WCF essentials. . Another URL to bookmark is the
 &lt;a href="http://www.netfx3.com"&gt; .Net 3.0 web site&lt;/a&gt; from Microsoft  for information about WCF and the other .Net 3.0 technologies.&lt;br&gt;&lt;br&gt;I will be presenting at the &lt;a href="http://www.atlantamdf.com"&gt; Atlanta MDF &lt;/a&gt;group on March 12 on the topic of "Developing Message-Based Asynchronous Applications with SQL Server 2005 Service Broker. See you there!!&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><category>Atlanta VB .Net Study Group</category><comments>http://blogs.federalsystems.net/2007/02/25/wcf-presentation-at-atlanta-vb-study-group.aspx#Comments</comments><guid isPermaLink="false">76e3ad8a-9fd2-4556-8e4a-a8b51858200b</guid><pubDate>Sun, 25 Feb 2007 10:38:25 GMT</pubDate></item><item><title>The 2007 Atlanta Code Camp Rocked!!</title><link>http://blogs.federalsystems.net/2007/01/22/the-2007-atlanta-code-camp-rocked.aspx</link><dc:creator>Noah Subrin</dc:creator><description>The &lt;A href="http://www.atlantacodecamp.com/"&gt;2007 Atlanta Code Camp&lt;/A&gt; held on January 20, 2007 was a tremendous success! Over 290 attendees were able to enjoy the free all-day geek fest which featured presentations delivered by speakers from five states. There also were some notable guests from Microsoft in attendance including Alan Griver, who is architect of Microsoft.com community properties. In addition, a new local record for free swag was established. Massive quantities of books, software, and t-shirts were graciously donated by Code Camp sponsors. I am quite sure that everyone walked away with something.&lt;BR&gt;&lt;BR&gt;I had the privilege of being able to present two sessions as part of the .Net University track. I delivered presentations on Windows Workflow Foundation (WF) and Windows Cardspace. Both of these technologies are part of the new .Net Framework 3.0 release, available for free download from Microsoft. If you happen to have a computer running the Vista operating system, .Net Framework 3.0 is installed by default. .Net Framework 3.0 also runs on XP and Windows 2003 Server operating systems. The slides for both my WF and Windows Cardspace presentations are available for download from &lt;A href="http://www.dotnet-u.com/"&gt;Dot Net-U&lt;/A&gt; .&lt;BR&gt;&lt;BR&gt;WF is the programming model, engine and tools for building workflow enabled applications. WF enhances a developer’s ability to model and support business processes. My WF code is&amp;nbsp;available for download&amp;nbsp;&lt;A HREF="/files/39062-36076/wf.zip"&gt;here&lt;/A&gt;. To install WF, you will need to download .Net Framework 3.0 (on top of an existing VS 2005 installation). To obtain the Workflow project templates, within Visual Studio 2005, WF extensions for VS 2005 are required. In November, 2006 I did a technical review for Apress’s “Foundations of WF” book. The publisher donated three copies which I gave away during my WF session.&lt;BR&gt;&lt;BR&gt;Windows Cardspace enables users to provide digital identities in a familiar, secure, and easy way. It is launched from the Windows Control Panel. Rather than typing in your username and password every time you authenticate, you select an InfoCard (information card) from your local store, which is encrypted and stored in an ACL. Some common misconceptions are that it is the same as Passport, or is a “single sign-on”. Neither of these is the case! To learn more about Cardspace,&amp;nbsp; try out this &lt;A href="http://blogs.federalsystems.net/files/39062-36076/cardspace.zip"&gt;IE7 demo&lt;/A&gt;&amp;nbsp;that I used in my presentation. To install Windows Cardspace, download .Net Framework 3.0 available from Microsoft and install it. Start up Windows Control Panel, and at the very end you should see an executable called Windows Cardspace. Fire it up, and start learning about it. There currently are no project templates available for this technology, but you can create self-issued InfoCards from Windows Control Panel.&lt;BR&gt;&lt;BR&gt;It was also great to socialize with some of the other out-of-town speakers. I enjoyed seeing Tom Fuller, Wallace Allison, Jose Fuentes, John Holliday, and J.T. Taylor again and having a chance to chat with them.&lt;BR&gt;&lt;BR&gt;I would also like to thank &lt;A href="http://devauthority.com/blogs/jwooley/"&gt;Jim Wooley &lt;/A&gt;and everyone else associated with the event including volunteers and sponsors. A good deal of effort was required to make this event a true success. Great job everyone!! Last but not least, we thank DeVry University, which for the second consecutive year offered us a perfect location to host the event.&lt;BR&gt;&lt;BR&gt;
&lt;a href="http://www.technorati.com/claim/pedx3h2tqb" rel="me"&gt;Technorati Profile&lt;/a&gt;</description><category>Code Camps</category><comments>http://blogs.federalsystems.net/2007/01/22/the-2007-atlanta-code-camp-rocked.aspx#Comments</comments><guid isPermaLink="false">19db75e8-b329-41c5-8284-aa1b314199a0</guid><pubDate>Wed, 24 Jan 2007 16:08:26 GMT</pubDate></item><item><title>Atlanta Code Camp Open for Registration</title><link>http://blogs.federalsystems.net/2007/01/06/atlanta-code-camp-open-for-registration.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;DIV class=BlogPostContent&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Fellow Code Campers, 
&lt;P&gt;I hope you all had a wonderful holiday season and I want to wish everyone a Happy New Year. 
&lt;P&gt;Registration for the 3rd annual Atlanta Code Camp is now open. Please register on the Click to Attend website to guarantee your spot at the Code Camp. 
&lt;P&gt;Here's the link: 
&lt;P&gt;&lt;A href="https://www.clicktoattend.com/invitation.aspx?code=113135"&gt;https://www.clicktoattend.com/invitation.aspx?code=113135&lt;/A&gt; 
&lt;P&gt;Just a reminder. The 3rd annual Atlanta Code Camp will take place on January 20th. The event is completely free and lunch is included. Doors open at 7:30am at the Decatur campus of DeVry University 
&lt;P&gt;250 North Arcadia Ave 
&lt;P&gt;Decatur , GA 30030 
&lt;P&gt;If you are coming in from out of town, we have a recommended hotel near the event. Call the Holiday Inn and ask for the DeVry University rate to get a $99/night rate. Parking is extra and costs $7/day 
&lt;P&gt;Holiday Inn 
&lt;P&gt;130 Clairemont Ave 
&lt;P&gt;Decatur, GA 30030 
&lt;P&gt;404-372-0204 
&lt;P&gt;During the Code Camp, lunch will be provided at no cost to you. After the event, we are planning on gathering in a local eatery to continue any discussions which we were not able to complete by our 5:30 pm end time. Location information will be made available at the event. 
&lt;P&gt;Please visit the Atlanta Code Camp website at &lt;A href="http://www.atlantacodecamp.com/"&gt;http://www.atlantacodecamp.com&lt;/A&gt; to get more information about speakers and sessions. 
&lt;P&gt;The Atlanta Code Camps have historically "sold out" extremely rapidly and we don't expect this time to be any different. Please register quickly to lock in your spot as we are capping registration and attendence due to facility limitations.&lt;/P&gt;&lt;/DIV&gt;</description><category>Code Camps</category><comments>http://blogs.federalsystems.net/2007/01/06/atlanta-code-camp-open-for-registration.aspx#Comments</comments><guid isPermaLink="false">2f18de31-568a-4c65-b6fe-72c219d619fa</guid><pubDate>Sat, 06 Jan 2007 10:21:00 GMT</pubDate></item><item><title>Introduction to Windows Cardspace</title><link>http://blogs.federalsystems.net/2007/01/06/introduction-to-windows-cardspace.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;P&gt;On Wednesday January, 2007 I delivered an internal webcast on the Windows&amp;nbsp;Cardspace (WPF) as part&amp;nbsp;4 of the four part SRA .Net University series. I had&amp;nbsp;15 people attend the webcast register and 10 attend. Participants attended from Virginia, Maryland, Geogia,&amp;nbsp; and Washington DC. Windows CardSpace enables users to provide their digital identities in a familiar, secure and easy way. In the physical world we use business cards, credit cards and membership cards. Online with CardSpace we use a variety of virtual cards to identify ourselves, each retrieving data from an identity provider.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Who are You - if someone asks us this question we typically answer in a manner that’s appropriate to the context in which I am being asked. I can say that “I am Noah Subrin”, “I am an American citizen”, I work at SRA International and so on. At SRA I am employee# so and so, to the Georgia State Patrol I am represented by my driver’s license. At my local bank I am represented by an account number. I have several “identities” depending on the current context. But why is this important?&lt;BR&gt;&lt;BR&gt;Identity Management has become a very important topic because we use the Internet constantly at work and at home to connect to a variety of services. Almost every type of service we utilize asks for some manner of authentication. Despite the ubiquitous nature of the Internet, there are studies which indicate that phishing, pharming, and other attacks, such as man-in-the middle are on the rise. The site &lt;A href="http://www.antiphising.org/"&gt;antiphishing.org&lt;/A&gt; contains data to substantiate this. &lt;BR&gt;&lt;BR&gt;As a result consumer confidence in the Internet is suffering. Along with phishing and pharming, there is the problem of password fatigue. Everyone has many passwords - it is difficult to remember them all - especially in sites we visit in frequently. If we recycle them, we expose ourselves to attacks. &lt;BR&gt;&lt;BR&gt;Windows Cardspace addresses these issues because it is based on an Identity Metasystem. Cardspace is found in Windows Vista, and also is part of the .Net Framework 3.0. Windows Cardspace is an application that can be started up from Windows Control Panel.&amp;nbsp; It is based on a system of Information Cards, or simply, InfoCards. There can be self-issued cards and managed cards.&amp;nbsp; &lt;SPAN style="FONT-SIZE: 56%"&gt;&lt;SPAN style="LEFT: -1.44%; POSITION: absolute; mso-special-format: bullet"&gt;●&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;Cards contain no actual identity data – only metadata. The metadata includes the following:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=O2 style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="FONT-SIZE: 95%; LEFT: -2.08%; COLOR: #ffcc29; POSITION: absolute; TOP: 0.04em; mso-special-format: 'numbullet3,1'"&gt;1.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;A list of the claims that a card represents &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;
&lt;LI&gt;
&lt;DIV class=O2 style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="FONT-SIZE: 95%; LEFT: -2.08%; COLOR: #ffcc29; POSITION: absolute; TOP: 0.04em; mso-special-format: 'numbullet3,1'"&gt;2.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;Where to go in order to obtain the claims &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;
&lt;LI&gt;
&lt;DIV class=O2 style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="FONT-SIZE: 95%; LEFT: -2.08%; COLOR: #ffcc29; POSITION: absolute; TOP: 0.04em; mso-special-format: 'numbullet3,1'"&gt;3.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;A signature identifying the card &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;
&lt;LI&gt;
&lt;DIV class=O style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="LEFT: -1.44%; POSITION: absolute; mso-special-format: bullet"&gt;●&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;The actual data behind a card is dynamically obtained from the Identity Provider: &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;
&lt;LI&gt;
&lt;DIV class=O1 style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="LEFT: -1.57%; POSITION: absolute; mso-special-format: bullet"&gt;●&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;From a local store for “self-issued cards” &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;
&lt;LI&gt;
&lt;DIV class=O1 style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="LEFT: -1.57%; POSITION: absolute; mso-special-format: bullet"&gt;●&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;From the Identity Provider’s Secure Token Service (STS) for “managed cards”&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;
&lt;DIV class=O v:shape="_x0000_s1026"&gt;
&lt;DIV style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;&lt;SPAN style="LEFT: -1.3%; POSITION: absolute; mso-special-format: bullet"&gt;●&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;There are essentially 3 participants in any exchange of identity:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-hansi-font-family: Arial"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=O style="mso-line-spacing: '90 50 0'"&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=O1 style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="FONT-SIZE: 95%; LEFT: -1.63%; COLOR: #ffcc29; POSITION: absolute; TOP: 0.04em; mso-special-format: 'numbullet3,1'"&gt;1.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;The User &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;
&lt;LI&gt;
&lt;DIV class=O1 style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="FONT-SIZE: 95%; LEFT: -1.36%; COLOR: #ffcc29; POSITION: absolute; TOP: 0.04em; mso-special-format: 'numbullet3,1'"&gt;2.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;The Relying Party (RP) - the requestor/recipient of an identity token (e.g. a website, webservice, application, &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;etc.) &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;SPAN style="FONT-SIZE: 56%"&gt;
&lt;LI&gt;
&lt;DIV class=O1 style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="FONT-SIZE: 95%; LEFT: -1.37%; COLOR: #ffcc29; POSITION: absolute; TOP: 0.04em; mso-special-format: 'numbullet3,1'"&gt;3.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;The Identity Provider (IP) - The owner of users’ identity information (e.g. bank, credit card company, airline, &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;employer, merchant) &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;
&lt;P class=O1 style="mso-line-spacing: '90 30 0'"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-hansi-font-family: Arial"&gt;For further information refer to the following sites:&lt;BR&gt;&lt;A HREF="/cardspace.netfx3.com"&gt;cardspace.netfx3.com&lt;/A&gt;&lt;BR&gt;&lt;A HREF="/www.identityblog.com"&gt;www.identityblog.com&lt;/A&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class=O style="mso-line-spacing: '90 30 0'; mso-kinsoku-overflow: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-hansi-font-family: Tahoma; mso-ascii-font-family: Tahoma"&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class=O style="mso-line-spacing: '90 50 0'"&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description><category>.Net University</category><comments>http://blogs.federalsystems.net/2007/01/06/introduction-to-windows-cardspace.aspx#Comments</comments><guid isPermaLink="false">d0a4b833-a2b3-4b56-beab-b116848920fc</guid><pubDate>Sat, 06 Jan 2007 09:43:00 GMT</pubDate></item><item><title>Overview of Windows Presentation Foundation (WPF)</title><link>http://blogs.federalsystems.net/2006/12/23/overview-of-windows-presentation-foundation-wpf.aspx</link><dc:creator>Noah Subrin</dc:creator><description>&lt;P&gt;On Thursday, December 21, 2006 I delivered an internal&amp;nbsp;webcast on the Windows Presentation Foundation (WPF)&amp;nbsp;as part 3&amp;nbsp;of the four part&amp;nbsp;SRA .Net University series. I had&amp;nbsp;22 people register and 10 attend. Participants attended from Virginia, Maryland, New York, Geogia,&amp;nbsp; and Washington DC. Windows Presentation Foundation (WPF) is the next-generation presentation sub-system for Windows. It provides developers and designers with a unified programming model for building rich Windows smart client user experiences that incorporate UI, media, and documents.&lt;BR&gt;&lt;BR&gt;I began my presentation with a discussion of what makes up "user experience" in terms of an application. User experience is more than just the UI for an application. For example, when comparing a Yugo versus a BMW, the perception is that the BMW is more secure, reliable, faster, and performs better. &lt;BR&gt;&lt;BR&gt;There are challenges associated with measuring the return on investment (ROI). It is easy to measure in objective terms, the number of transactions per second, availability, response time etc.&amp;nbsp;IIt is difficult to measure User Experience and ROI in quantifiable terms. Most developers and stakeholders feel that "functional" is good enough for an application.&amp;nbsp; As a result, the user experience is typically not defined as a top level requirement for a project. Also, in many cases, the developer may not have&amp;nbsp;the tools or skills to create a compelling user interface.&amp;nbsp; The cost of creating&amp;nbsp;a great UI frequently&amp;nbsp;becomes a drain on project resources and as a project deadline approaches, we tend to "get the features working", with a great UI falling by the wayside.&amp;nbsp;ROI metrics on a user interface are just emerging -&amp;nbsp;as I mentioned previously, it is hard to quantify what makes a great UI.&lt;BR&gt;&lt;BR&gt;WPF addresses a lot these challenges. It allows us to deliver innovative user interfaces. It increases developer-designer productivity, and also is backwards compatible with existing technologies such as WinForms, MFC, and ActiveX. We can create WPF apps that use WinForm components, and also create WinForm apps that use WPF components.&lt;/P&gt;
&lt;P&gt;WPF provides a unified approach to UI, media, and documents. It has a vector-based composition engine, hardware acceleration, and a resolution independent graphics engine. It works on&amp;nbsp;Windows Vista, Windows XP and Windows Server 2003. It tries to take advantage of the graphical processing unit, rather than the CPU. If hardware rendering is not available, it uses software rendering. &lt;BR&gt;&lt;BR&gt;WPF is available as part of the .Net Framework 3.0. If we download the recent CTP (Community Technology Preview)&amp;nbsp; and the Orcas extensions we can create WPF projects. The next full version of Visual Studio will contain enhanced tools for creating WPF apps.&lt;BR&gt;&lt;BR&gt;It increases developer-designer productivity through the use of XAML. Although XAML is not exclusive to WPF (it is also used in Windows Workflow Foundation) - it allows designers to create a UI in one of the Microsoft Expression suite of tools and pass that on to developers. Developers can create projects in Visual Studio 2005 and save them as XAML and pass these on to designers.&lt;BR&gt;&lt;BR&gt;The functionality provided by WPF is truly exciting. Things like 2D and 3D animation and vector graphics which previously had to be done by GDI and/or GDI+ are much more easily done. Creating custom buttons that play video can also be created using a few lines of XAML code. To create this type of custom button in the past, we had to use "owner drawn" buttons which required a greater investment in time and complexity.&lt;BR&gt;&lt;BR&gt;There are also new fonts and entire WPF document APIS. A great place to learn more about WPF can be found &lt;A href="http://wpf.netfx3.com/"&gt;here!&lt;/A&gt;&lt;/P&gt;</description><category>.Net University</category><comments>http://blogs.federalsystems.net/2006/12/23/overview-of-windows-presentation-foundation-wpf.aspx#Comments</comments><guid isPermaLink="false">f6df1ca7-3bcc-40bf-9b64-eff185d57130</guid><pubDate>Sat, 23 Dec 2006 09:54:49 GMT</pubDate></item><item><title>Overview of the Windows Communication Foundation (WCF)</title><link>http://blogs.federalsystems.net/2006/12/09/overview-of-the-windows-communication-foundation-wcf.aspx</link><dc:creator>Noah Subrin</dc:creator><description>On Thursday, December 8, 2006 I delivered an internal&amp;nbsp;webcast on the Windows Communication Foundation (WCF)&amp;nbsp;as part of the SRA .Net University series. I had 33 people register and 18 attend. Participants attended from Virginia, Maryland, New York, Geogia, North Carolina, and Washington DC. WCF is Microsoft’s unified programming model for building service oriented applications. It enables developers to build secure, reliable, transacted solutions that integrate across all platforms and interoperate with existing investments. WCF is a unified API for disparate communications technologies. &lt;BR&gt;&lt;BR&gt;I began the presentation with a brief discussion of service oriented architecture (SOA) in general and some of its characteristics. Here are some key bullet points about SOA:&lt;BR&gt;&lt;BR&gt;* It is a design methodology.&lt;BR&gt;* It leverages existing investments - i.e. it is evolution, not revolution.&lt;BR&gt;* It facilitates and encourages re-use.&lt;BR&gt;* It implies interoperability because it is based on standards.&lt;BR&gt;* It does &lt;I&gt;not&lt;/I&gt; mean web services.&lt;BR&gt;&lt;BR&gt;Web services are a concrete implementation of an SOA, whereas SOA is a design or architectural pattern.&amp;nbsp; Web services are only one way to realize a service oriented architecture.&lt;BR&gt;&lt;BR&gt;WCF uses the concept of endpoints to send messages from a client to a server. An endpoint is the fusion of the address, contract, and binding. Every endpoint must have all three, and the service exposes the endpoint. Logically, the endpoint is analagous to an interface in the software development world.&lt;BR&gt;&lt;BR&gt;An address provides 2 elements. The location of the service and the transport protocol. Location is the computer name, url , port, pipe, or queue. WCF supports the following transport protocols. HTTP, TCP, peer to peer, IPC over named pipes, and MSMQ.&lt;BR&gt;&lt;BR&gt;There are many possible communication patterns - Request/Response, fire and forget, bidirectional, delivered immediately or queued etc. In short, their are a lot of aspects of communication involving dozens of parameters and configurations. A binding is a consistent set of choices regarding the transport protocol, message encoding, communication pattern, reliablity, security, transaction propogation, and interoperability. Binding allows us to extract the service code and use different "plumbing" if we want. We can use the&amp;nbsp;WCF provided bindings, or write&amp;nbsp;our own custom bindings.&lt;BR&gt;&lt;BR&gt;In WCF, all services expose contracts. The contract is a platform-neutral and standard way of describing what the service does.&lt;BR&gt;&lt;BR&gt;There are many ways we currently can write distributed applications. We can use Enterprise services and COM+. It features attribute based programming and supports transactions.Some services are configurable some are not. In COM+ applications, system administrator can turn on or off transaction support from an MMC console. This isn't a good thing.&amp;nbsp;Microsoft will continue to support Enterprise Services, but there won't be any additional investments in the future.&lt;BR&gt;&lt;BR&gt;Web Service Enhancements&amp;nbsp;(WSE)&amp;nbsp;are a stepping stone toward WCF. WS* protocols are also&amp;nbsp;the last versions to be supported by Microsoft.&lt;BR&gt;&lt;BR&gt;.Net remoting&amp;nbsp;has many good features, notably performance, but it is difficult to implement.&amp;nbsp;Currently .Net remoting&amp;nbsp;passes references to the other side (client or server) and we can subscribe to events. Problems occur because it is a local programming model which is tightly coupled. Versions of dlls need to be the same. Service orientation is about separating pieces of our application that can be decoupled and be independently versioned. Using WCF , we only share the contract. Reference passing and direct access to properties is not allowed in WCF.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;WCF also takes existing .Net web services and allows us to add additional attributes. It is a relatively easy upgrade path.&lt;BR&gt;&lt;BR&gt;WCF is a broad and deep subject, but it is crucial to Microsoft's application strategy. I encourage you to learn more about it. A great resource to learn about WCF is &lt;A href="http://wcf.netfx3.com/"&gt;this URL&lt;/A&gt;. The slides and code for this session and the rest of the .Net-U series can be downloaded &lt;A href="http://www.dotnet-u.com/"&gt;here&lt;/A&gt;.&lt;BR&gt;&lt;BR&gt;In summary WCF is a unified approach to writing distributed applications. Because we use attribute base programming, configuration files, and service contracts, it is possible to switch technologies without having to rewrite applications. Because we only expose the "contract", if we change parameters or extend an operation's functionality, we don't run the risk of breaking existing applications.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;</description><category>.Net University</category><comments>http://blogs.federalsystems.net/2006/12/09/overview-of-the-windows-communication-foundation-wcf.aspx#Comments</comments><guid isPermaLink="false">ec38d5e9-70f5-42b1-95d7-2b00d5ebb3ba</guid><pubDate>Sat, 09 Dec 2006 16:48:16 GMT</pubDate></item></channel></rss>