Sunday, October 19, 2008

LINQ and Entity Framework Posts for 10/13/2008+

Note: This post is updated daily or more frequently, depending on the availability of new articles.

Update 10/18/2008 5:30 PM PDT: Minor additions
• Update 10/16/2008 4:30 PM PDT: ASP.NET MVC Beta and other additions
• Update 10/14/2008 5:00 PM PDT: Minor additions

Entity Framework and Entity Data Model (EF/EDM)

Matthieu Mezil’s ADO.NET Data Services Hooking POC V3 post of 10/17/2008 continues his Proof of Concept series about using EF as a data source for ADO.NET Data Services.

He finishes implementing the IUpdatable interface and enables the System.Collections.ObjectModel.Collection’s Count property in ADO.NET Data Services Hooking POC V3 .1 of 10/18/2008.

Note: The current v3.1 CodePlex download appears to be a T-SQL script, not source code for an IUpdatable implementation.

Ezequiel Sculli’s How-To: Perform Update Actions using an ObjectContainerDataSource with Entity Framework post of 10/16/2008 describes how to work around the failure of EF to update the data store with changes and display them in the postback. The workaround, according to patterns & practices’s How-To: Perform Update Actions using an Object Container Data Source with Entity Framework is to create a new instance of the entities for each operation performed.

Note: The ObjectContainerDataSource is a component of the Web Client Software Factory (WCSF).

•• The EF Team posted Migrating from LINQ to SQL to Entity Framework: Deferred Loading, the second in its EF from LINQ to SQL migration series, on 10/16/2008.

When the team finishes the series, will we receive the official deprecation notice for LINQ to SQL? See my Is the ADO.NET Team Abandoning LINQ to SQL? post of May 23, 2008.

Beth Massi’s Editing Data from Two Tables in a Single DataGridView post of 10/15/2008 explains how to update data from two tables in a DataGridView by entity splitting with the Entity Framework, LINQ to SQL, and DataSets as data sources.

Kristofer Andersson updated the Huagati DBML/EDMX Tools to version 1.40 on 10/15/2008. For more information, see the entry in the LINQ to SQL section.

David Sceppa announced on 10/14/2008 that Npgsql's ADO.NET Provider for PostgreSQL Supports the ADO.NET Entity Framework! For more details, see the PGFoundry blog’s Release Notes for Npgsql2.0RTM

Matthieu Mezil’s Bug with IQueryable and yield syntax: System.BadImageFormatException "An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)" post of 10/14/2008 describes an exception that occurs when attempting to execute the yield return statement on an IQueryable<T> sequence.

LINQ to SQL

Beth Massi’s Editing Data from Two Tables in a Single DataGridView post of 10/15/2008 explains how to update data from two tables in a DataGridView by entity splitting with the Entity Framework, LINQ to SQL, and DataSets as data sources. (Repeated from EF/EDM.)

Kristofer Andersson updated the Huagati DBML/EDMX Tools to version 1.40 on 10/15/2008. According to Kris, the updates include:

  • Added [HuagatiDBMLTools.msi] installer / uninstaller
  • Improved performance of the "Update Documentation" feature for LINQ to SQL
  • Moved menu items to a separate dropdown menu ("DBML/EDMX Tools") on the VS2008 menu bar to avoid congestion in the standard Tools menu
  • Fixed issue where the mouse pointer sometimes showed the hourglass/wait pointer when dialogs were visible
  • A couple of minor adjustments to the pluralization/singularization rules
  • Better handling of some reserved SQL keywords

Save the .zip file to a temporary folder, extract the files with the Use Folder Names option selected, and then run HuagatiDBMLTools.msi to install the files in a \Program Files\…\HuagatiExtensions folder. The installer adds a Huagati DBML EDMX Tools node to your Programs menu with Reset Add-in Menus in VS 2008 and User Guide commands. If you’ve installed an earlier version, choose Reset Add-in Menus in VS 2008 after installation.

Sidar Ok writes his own POCO classes and basic unit tests, and then uses SqlMetal’s XML mapping file option to generate the mapping layer in his Achieving POCO s in Linq to SQL post of 10/14/2008. Be sure to read the comments.

Rob Conery’s Make Visual Studio Generate Your Repository post of 10/13/2008 shows you how to use VS 2008 Text Template Transformation Toolkit (T4) feature to wrap a LINQ to SQL with a testable IQueryable Repository framework for use with (what else than) MVC.

Rob includes links to the Clarius's T4 template editor and Damien Guard’s LINQ to SQL templates. For additional details on Damien’s templates, see my Bidirectional Serialization of LINQ to SQL Object Graphs with Damien Guard’s T4 Template in VS 2008 SP1 post of 9/25/2008. (See Scott Hanselman’s T4 post in the Misc. category.)

Neil Pullinger recommends that you Always set AutoPage to true in LinqDataSource in his 10/14/2008 post. If AutoPage is false, your page retrieves all rows from the data source.

LINQ to Objects, LINQ to XML, et al.

•• Corey Roth’s My 500th Post! Left Outer Joins with LINQ post of 10/16/2008 is his 500th DotNetMafia.com - Tip of the Day item. The series began on 12/1/2004.

•• Eric Meijer and Bart De Smet conduct the centennial edition of Channel9’s Going Deep series: Erik Meijer and Bart De Smet: LINQ-to-Anything of 10/15/2008. Here’s an excerpt from the deck:

Meet Bart de Smet, a software engineer extraordinaire on the WPF team who spends his free time blogging (what an incredible wealth of truly useful technical information to be found on Bart's blog!) and creating custom LINQ providers. In fact, Bart is probably the world's most prolific LINQ provider creator, from LINQ-to-MSI to LINQ-to-Simpsons! How does he do it???

Who better to have involved in this LINQ'ified conversation (with lots of whiteboarding) than LINQ co-creator, programming languages designer, fundamentalist functional programming high priest and Channel 9 star Erik Meijer?

•• Steven Taub and Hazim Shafi contributed the “Improved Support For Parallelism In The Next Version Of Visual Studio” article to the “Coding Tools” column for MSDN Magazine’s October 2008 issue. VS 2010 will include a new viewer that offers MultiStack and Task views of parallel processes to simplify debugging:

MultiStack View (screen capture courtesy of Microsoft)

Task View (screen capture courtesy of Microsoft)

The article also describes forthcoming Concurrency, Thread Blocking, and Core Execution and Thread Migration views to analyze performance issues and aid debugging.

Steven Taub announces that .NET 4.0’s System.core.dll will include PLINQ and mscorlib.dll will contain the Parallel Extensions (ParallelFx) in his Parallel Programming and the .NET Framework 4.0 post of 10/10/2008. His Parallelism in October 2008 MSDN Magazine post of 10/2/2008 has links to articles about parallelism in MSDN Magazine’s October 2008 issue.

Kevin Hoffman’s Implementing the Weak Event Pattern in CLINQ v2.0 of 10/13/2008 describes why CLINQ requires the Weak Event Pattern (weak delegates) to avoid inadvertent memory leaks.

ADO.NET Data Services (Astoria)

Matthieu Mezil’s ADO.NET Data Services Hooking POC V3 post of 10/17/2008 continues  his Proof of Concept series about using EF as a data source for ADO.NET Data Services.

He finishes implementing the IUpdatable interface and enables the System.Collections.ObjectModel.Collection’s Count property in ADO.NET Data Services Hooking POC V3 .1 of 10/18/2008. (Repeated from the EF category.)

Note: The current v3.1 CodePlex download appears to be a T-SQL script, not source code for an IUpdatable implementation.

Phani Raju of the Astoria team discusses the reason for the use of the Astoria client’s DataServiceContext.SetLink() method for change tracking associated objects in his Viewer Mail , #1 post of 10/15/2008.

For additional background on updating associated objects with the Astoria client library, see Phani’s Working with Associations in ADO.NET Data Services post of 7/2/2008.

Tim Heuer’s Silverlight 2 Released: New controls, tools, announcements! post of 10/14/2008 says the following about support for Astoria in the RTM version:

If you have an ADO.NET Data Services (the artist formerly known as Astoria) endpoint, in your Silverlight 2 project you can choose Add Service Reference and point to that endpoint and the appropriate proxies will be generated for you.

Tim’s Silverlight and ADO.NET Data Service proxy generation post of later the same day provides more details on the use of Add Service Reference for Astoria services. (Don’t forget that the service must be running for the Add Service Reference dialog to find it.)

Shawn Wildermuth’s ADO.NET Data Services and TimeZone points out a problem with URL-encoding positive ISO 8601 time zone offsets, such as +3:00 for Bulgaria. URL encoding replaces the + with a space, which leads to an incorrect result. Applying the ToUniversalTime() method is a solution, but Shawn says “that’s a hack at best.”

ASP.NET Dynamic Data (DD)

••• Scott Hanselman unleashed a tsunami of Hanselminutes podcasts on 10/28/2008. Two of these are related to MVC, DD, and scaffolding:

•• Scott Hanselman’s ASP.NET MVC Beta released - Coolness Ensues post of 10/16/2009 (3:37 PM PDT) announces that the beta has a Go-Live license, includes jQuery, and offers a set of links into ScottGu’s “new feature” topics described in the Misc. section. ScottHa says:

I also showed [at VS Live! 2008 Las Vegas] ASP.NET+Dynamic Data that you'll be hearing more about at PDC and even more next year. You should feel free to use these subsystems as you like, mix and match, promote and ignore. Whatever makes you happy. All the ASP.NET core stuff like Authentication, Authorization, Session, Caching, etc, that all works in all of these subsystems because they are all ASP.NET.

SQL Server Data Services (SSDS) and Cloud Computing

••• Dare Obasanjo analyzes Tim Bray’s issue with vendor lock-in with cloud computing in his aptly named Cloud Computing and Vendor Lock-In post of October 19, 2008. Dare concludes:

[T]he fact is that today if a customer has heavily invested in either [the Amazon EC2/S3 or Google App Engine] platform then there isn't a straightforward way for customers to extricate themselves from the platform and switch to another vendor. In addition there is not a competitive marketplace of vendors providing standard/interoperable platforms as there are with email hosting or Web hosting providers.

As long as these conditions remain the same, it may be that lock-in is too strong a word describe the situation but it is clear that the options facing adopters of cloud computing platforms aren't great when it comes to vendor choice.

Of course the lock-in problem also applies to SSDS. If you’re willing to lock yourself into Windows Server 2008 and SQL Server 200x, Microsoft and Amazon might be interchangeable cloud hosting vendors. 

••• John Foley announces Information Week’s new “Cloud Computing Destination” in his InformationWeek Launches PlugIntoTheCloud.com post of 10/17/2008. John says:

Our research tells us that business technologists are intrigued by cloud computing, but not yet swayed. InformationWeek Analytics (our in-depth reports business) surveyed 456 business technology professionals to gauge their plans for cloud computing. Among the respondents, 20% were considering cloud services, while another 28% said they didn't know enough about them. In other words, nearly half are still mulling it over. Of the rest, 18% said they were already using cloud services and 34% had no interest.

If 18% of respondents are using cloud services and 20% are considering using them, I’d say that 38% is more than intrigued with a new and controversial technology.

••• Pete Kooman of the Google App Engine team says in his Announcing HTTPS support for appspot.com! post of 10/16/2008 that GAE will finally support secure HTTP communication, but only with appspot.com URLs. There will be no HTTPS support for arbitrary Google Apps domains.

Gartner Inc assigns the #2 Strategic Technology for 2009 to Cloud Computing in their Gartner Identifies the Top 10 Strategic Technologies for 2009 post of 10/16/2008. (Virtualization is #1).

• Eugenio Pace and Gianpaolo Carraro wrote a “Head in the Cloud, Feet on the Ground” post for Microsoft Architecture Journal, issue #17, which was posted online on 10/15/2008.

Gianpaolo excerpts liberally from the article in his Head in the cloud, Feet on the ground: an article about the cloud post of the same date to support the article’s transportation analogy to computing services, which is the underlying theme of the pair’s Cloud Services Architecture Symposium to be held on day 4 of PDC 2008.

Ken Oestreich’s Postcards from the Cloud Summit Executive Conference post of 10/14/2008 provides a detailed rundown of the Cloud Summit Executive conference held at the Computer History Museum in San Jose on the same date.

Eric Eldon announces the arrival of Cloudera, a startup specializing in helping organizations adopt the open-source Hadoop software platform in his Ex-Google, Yahoo, Facebook employees snub recession, launch Hadoop startup post of 10/14/2008. According to the post:

Cloudera will help other companies “install, configure and run” Hadoop [and MapReduce], either on a company’s own servers or using Amazon’s hosted Elastic Compute Cloud (EC2) service.

For more details, see Amr Awadallah’s The Startup is Cloudera, the Business is Hadoop MapReduce post of 10/13/2008, which has links to founders and initial employees’ blogs. Tony Bain explains the differences between Hadoop and RDBMSs in his What is Hadoop? post of October 15, 2008.

Hadoop and MapReduce are likely to be the primary competition to SQL Server Data Services (SSDS) for data sources that are extremely large (petabytes), non-structured, or both. Yahoo! and Facebook run Hadoop.

Mike Amundsen’s Strongly-typed DataSets for SSDS Demo post of 10/14/2008 to the SQL Server Data Services (SSDS) - Getting Started forum describes how to populate DataSets with SSDS entities.

However, C.C.Chai notes in a reply:

Basically, [the] Typed Data Set approach works. Its major disadvantage is preloading large amount of data in order to enable joining, grouping, etc.

When the application requires Customer Entities, I will have to load all the customers first before doing sorting / filtering. Otherwise, I could get wrong results.

The matter is even worse if you try to enforce relationship constraints in the data set. When populating a data table, you have to look for parent tables and fill those first. In my testing, I almost load all the records in my SSDS container because of the complex relationships

SQL Server Compact (SSCE) 3.5 and Sync Services

••• Steve Lasker’s Evolution or Revolution for moving to offline architectures post of 10/17/2008 is a lengthy analysis of the benefits and pitfalls of occasionally-connected systems. Steve makes reference to his earlier Sync Services forADO.NET and SQL Server Compact Presentation (8/21/2007) and his two Tech*Ed US Developers 2007 presentations plus a more recent article:

Mary Jo Foley reports in her Microsoft’s online/offline sync platform (re)released to manufacturing post of 10/17/2008 that the Sync Services team stealth-posted an updated version (RTM1) of the Microsoft Sync Framework v1.0 on 10/13/2008.

To date, there’s been no comment on the updated version in the Microsoft Sync Framework blog nor related messages in any of the five Microsoft Sync Framework forums, which is very strange. Did the original version have bugs?

Miscellaneous (WPF, WCF, MVC, Silverlight, etc.)

Phil Haack’s ASP.NET MVC Beta Released! post of 10/16/2008 reiterates Scott Hanselman’s post on the same topic (see the Dynamic Data section) and notes:

As I warned before, we no longer bundle the Mvc Futures assembly (Microsoft.Web.Mvc.dll). However, we did just publish a release of this assembly updated for Beta on CodePlex. Source code for the Beta and Futures releases will be pushed to CodePlex shortly. Sorry about the delay but there’s so much work to be done here.

•• Scott Guthrie dropped the other shoe by finally posting ASP.NET MVC Beta Released at 12:30 PM PDT on 10/16/2008. His very detailed “post contains a quick summary of some of the new features and changes in this build compared to the previous ‘Preview 5’ release.

He’s “also planning to publish a few end to end tutorials in the weeks ahead that explain ASP.NET MVC concepts in more depth for folks who have not looked at it before, and who want a ‘from the beginning’ set of tutorials on how to get started.”

Robert Shelton, a Microsoft Software Development and Platform Evangelist in the Washington DC area, announced the availability of the official ASP.NET MVC Beta download in his Free download: Microsoft ASP.NET MVC Beta post of 10/15/2008.

I would have expected to see a blog post from Scott Guthrie, Scott Hanselman, or Phil Haack announcing a beta of this significance. According to Redmond Media Group editor Becky Nagle’s “Microsoft Posts ASP.NET MVC Beta for Download” article, Hanselman discussed the beta in his VS Live! 2008 Las Vegas keynote and Guthrie will make the official announcement on 10/16/2008. Regarding the keynote, Becky says:

He also showed off some of the dynamic data capabilities of MVC, including some future capabilities scheduled to be released next summer.

Scott Hanselman seconds Rob Conery’s review of the Text Template Transformation Toolkit (T4) for VS 2008 with an extensive list of links to T4 resources in his T4 (Text Template Transformation Toolkit) Code Generation - Best Kept Visual Studio Secret post of 10/14/2008.

Tim Heuer’s Silverlight 2 Released: New controls, tools, announcements! post of 10/14/2008 provides a detailed description of the new features and controls in the RTW version. Tim notes that the Silverlight Tools RC1 work with the released bits.

Rick Strahl’s detailed Client Templating with jQuery post of 10/13/2008 describes several methods for templating controls, such as displaying rich lists and updating data sources. 

Shawn Wildermuth outlines the changes between Silverlight 2 Beta 2 and the RTM version in his Silverlight 2 Released! post of 10/13/2008.

John Papa offers an abbreviated transcript of Microsoft’s conference call that announced the availability of Silverlight 2.0 RTM in his ScottGu Announces Silverlight 2 Due Out Tomorrow post of 10/13/2008. He also summarizes highlights of the related press release.

Shawn Wildermuth’s Dirty Little Secrets - Episode 2 describes how to “use control templates to skin a complex control in Silverlight 2.”

Sunday, October 12, 2008

LINQ and Entity Framework Posts for 10/6/2008+

Note: This post is updated daily or more frequently, depending on the availability of new articles.

Updated 10/10/2008 to 10/12/2008: Added a few items
Updated 10/9/2008 9:00 AM PDT: Added items
Updated 10/8/2008 3:00 PM PDT: Added items
• Updated 10/7/2008 5:00 PM PDT: SSCE, LINQ to XML, ASP.NET Dynamic Data, CLINQ, MVC Scaffolding

Entity Framework and Entity Data Model (EF/EDM)

Alex James has posted EDM and Store functions exposed in LINQ by Colin Meek and Diego Vega to the Entity Framework Design blog. This post describes “an extensibility mechanism that people can use to map arbitrary CLR methods to appropriate server and EDM functions” for EF v2. The authors say:

It is actually possible for us to improve our LINQ implementation so that all functions defined in the EDM and in the store, and even user defined functions, can be mapped to CLR methods with homologous signatures.

Matthieu Mezil continues his proof of concept (POC) for improving the behavior of ADO.NET Data Services with EF as the data source in his ADO.NET Data Services Hooking POC v2 post of 10/8/2008. His POC tries to resolve the following issues:

ADO.NET Team posted Migrating from LINQ to SQL to Entity Framework: Eager Loading, the first of a series about migrating from LINQ to SQL to the Entity Framework, on 10/7/2008. The team says:

This first post in the series covers Eager Loading in LINQ to SQL, and the steps for migrating to equivalent constructs in the Entity Framework in .NET 3.5 SP1. Subsequent posts will cover Deferred Loading, LINQ specifics, concurrency, mapping, stored procedure support, and other topics. As we continue to approach the next release of the Entity Framework we will revisit how some of the new features aid in migration.

Tommy Williams claims to have a new version of one or more Entity Framework Toolkits & Extensions in his UPDATED WIKI: Home post of 10/6/2008. However, I can’t find a single item that was updated after 8/12/2008. Have I gone blind?

Eric Nelson copies the tables from Elisa Flatko’s Introducing LINQ to Relational Data of January 2008 to his Q&A: Deciding between LINQ to SQL and LINQ to Entities post of 10/6/2008.

Euan Garden’s High performance loading in SSIS for Oracle and Teradata post of 10/5/2008 points to the download for SSIS Connectors for Oracle and Teradata. You’ll need the Teraddata connector to load tables into SQL Server if you’re use EF or LINQ to SQL, because there’s no EF-enabled ADO.NET managed client for TeraData (yet).

Kristofer Andersson’s Huagati DBML/EDMX Tools extend the automated Update LINQ to SQL Documentation from Database feature to Update ADO.NET Entity Data Model Documentation from Database.

This new menu choice corrects the problem Kris notes in his Tools - Part 5 - Add-ins - Documentation features in Entity Framework vs Linq-to-SQL post of 9/5/2008:

The appearance of “There are no comments for [name] in the schema” as the value of the Documentation property of each EntityType and its members.

The option automatically imports description data and adds index information from table metadata in the same manner as for LINQ to SQL data sources. (Repeated from Sunday 10/5/2008).

LINQ to SQL

•••• Rick Strahl explains how to handle LINQ to SQL errors like the following in his LINQ to SQL DBML fails to build or open post of 10/10/2008:

Error 1 Build failed due to validation errors in d:\path\filename.dbml. Open the file and resolve the issues in the Error List, then try rebuilding the project.

Rick says “The fix is to run devenv /ResetSkipPkgs.”

Daniel Crenna has completed with LINQ + WCF + Silverlight (Part Seven) his detailed seven-part series that architects a complete Silverlight 2 solution and uses LINQ to SQL as its data source. Click here for links to all seven parts.

Corey Roth’s Updating Data with LINQ to SQL and GridViews when using a View post of 10/7/2008 describes how to deal with the The Entity is not of the correct type update errors when using an SQL Server view as the data source for a LinqDataSource and bound GridView controls.

Rob Conery uses LINQ to SQL as the data source for his new SubSonic MVC Scaffold Addin released as a preview on 10/7/2008. See the Miscellaneous section for details.

LinqMaster describes the LINQ to SQL syntax to assure that the T-SQL Where criterion generated for null-valued fields uses IS NULL instead of = NULL in his How to Use "Is Null" With LINQ to SQL post of 10/6/2008.

Euan Garden’s High performance loading in SSIS for Oracle and Teradata post of 10/5/2008 points to the download for SSIS Connectors for Oracle and Teradata. You’ll need these to load Oracle or TeraData tables into SQL Server if you’re using LINQ to SQL.

See Eric Nelson’s Q&A: Deciding between LINQ to SQL and LINQ to Entities post of 10/6/2008 in the “EF/EDM” category.

LINQ to Objects, LINQ to XML, et al.

Erick White describes in his Using LINQ to XML Events and Annotations to Track if an XML Tree has Changed post of 10/12/2008 a technique to track whether a document’s XML tree has changed by doing the following:

  • Add a couple of event handlers to the XDocument. One (or both) of these event handlers will be called if any changes whatsoever are made to the tree.

  • When the event handler method is called, remove the event handlers, and add an annotation to the XDocument of type ChangedSemaphore.

  • Then, at any point in time, examine the XDocument – if it has a ChangedSemaphore annotation, the XDocument has changed. If it has no ChangedSemaphore annotation, the XDocument is unmodified.

Agnes Molnar (Aghy) announces Linq4SP - RC1 is available to download! on 10/8/2008.

• Kevin Hoffman explains in his Smart, Deep Property Notifications in CLINQ v2.0 of 10/7/2008 a new feature in forthcoming Continuous LINQ (CLINQ) v2.0 that sends property change notifications only if they affect the current CLINQ query result set. This feature cures a serious performance issue with CLINQ v1.

• Beth Massi offers links to download her LINQ to Everything and Taking Advantage of LINQ and Open XML in Office 2007 presentations to the SDN Conference in the Netherlands and their source code in her First Day at SDN Conference post of 10/7/2008.

LINQ to Everything covers only the four VS 2008 SP1 implementations: LINQ to SQL, LINQ to Entitites, LINQ to DataSet and LINQ to XML. It takes a fast shuffle to cover that much territory in a one-hour (or so) session. Shawn Wildermuth presented a Cloud Computing session at the conference.

Doug Rothaus of the VB Team shows you how to replace an XSLT transform with a VB XML literal in his VB XML Cookbook, Recipe 6: Writing an XSLT Transform in VB (Doug Rothaus) of 10/6/2008.

Eric White’s Formatting LINQ Code post of 10/6/2008 describes his preferences for formatting LINQ to SQL Queries.

Miguel de Icaza announces that Mono 2.0 has (finally) released in his Mono 2.0 Release Notes post of 10/6/2008. Mono 2.0 contains the following Microsoft-compatible API's that run on Linux, MacOX, and other Unix systems:

  • ADO.NET 2.0 API for accessing databases.
  • ASP.NET 2.0 API for developing Web-based applications.
  • Windows.Forms 2.0 API to create desktop applications.
  • System.XML 2.0: An API to manipulate XML documents.
  • System.Core: Provides support for the Language Integrated Query (LINQ).
  • System.Xml.Linq: Provides a LINQ provider for XML.
  • System.Drawing 2.0 API: A portable graphics rendering API.

Other features include:

  • C# 3.0 compiler implementation with full support for LINQ and expression trees.
  • Visual Basic 8 compiler.
  • An implementation of .Net's System.Windows.Forms namespace
  • WebBrowser based on Mozilla's Gecko HTML rendering engine.

Congratulations to all involved.

Miguel de Icaza’s DbLINQ, LINQ to Databases and Mono post of 10/2/2008 links to Atushi Enomoto’s Mono's Linq to SQL effort based on DBLinq post of the same date, which describes a LINQ to SQL clone that supports multiple RDBMSs. (Repeated from 10/2/2008).

ADO.NET Data Services (Astoria)

Shawn Wildermuth posted on 10/10/2008 links to the source code for three of his four presentations at the SDN Conference near Amsterdam in SDN Conference - Demo Code. His NE22: Inside ADO.NET Data Services session demonstrated a Silverlight front end for an Astoria data source.

Valeri Heristov demonstrates best practices for using the Telerik RadTreeView with load on demand and ADO.NET Data Service as its data source in his Silverlight TreeView Load on Demand post of 10/8/2008. The source code, which uses the Northwind sample database, is available for download.

Matthieu Mezil continues his proof of concept (POC) for improving the behavior of ADO.NET Data Services with EF as the data source in his ADO.NET Data Services Hooking POC v2 post of 10/8/2008. The full details are in the EF/EDM section.

• Adlai Maschiach’s IE – View RSS as plain XML [ADO.NET Data Services] post of 10/6/2008 shows you how to prevent IE 7 or 8 from displaying Astoria’s AtomPub output as an Atom feed. (But you already know how to do this now if you’ve used Astoria.)

Phani Raju shows you how to avoid an Astoria & IIS , HTTP 400 Bad Request on Posting Large Payloads to an Astoria Service by setting the MaxReceivedMessageSize property on the WCF binding in his 10/6/2008 post.

Aurelian Popa’s WF 4.0, WCF 4.0 and "Dublin" (Windows vNext) post of 10/6/2008 describes Dublin’s WCF REST features as follows:

The WCF REST Starter Kit is an early preview of capabilities that will be shipped with WCF in the .NET Framework 4.0. The Starter Kit provides Visual Studio project and item templates for common RESTful scenarios: REST Singleton Service, REST Collection Service, ATOM Feed Service, Atom Publishing Protocol Service and HTTP Plain XML Service. WCF already includes REST support today; the starter kit will make it even easier to get REST services up and running using WCF.

Undoubtedly Astoria v2 will take advantage of these features and might finally support POX over HTTP. I’ve been lobbying for POX over HTTP since Pablo Castro removed it from Astoria v1.

ASP.NET Dynamic Data (DD)

Steve Naughton adds custom metadata providers to the Table/Class objects in his Dynamic Data – Custom Metadata Providers post of 10/12/2008. These objects are an addition to the Column/Properties objects that Matt Berseth described in his Dynamic Data And Custom Metadata Providers of 8/24/2008.

Steve Naughton continues his Dynamic Custom PageTemplates series with Dynamic Data Custom Pages: Dynamic/Templated FromView, which exchanges the FormView for ListView control. Steve says:

Continuing on from Part 3 the same techniques will be applied to the FormView, making the FormView Dynamic and also having the facility to dynamically load user defined Templates at runtime.

Scott Hanselman’s Plug-In Hybrids: ASP.NET WebForms and ASP.MVC and ASP.NET Dynamic Data Side By Side detailed post of 10/1/2008 is intended to reduce “confusion about how ASP.NET WebForms, MVC and Dynamic Data all fit together.”

Rob Conery uses LINQ to SQL as the data source for his new SubSonic MVC Scaffold Addin released as a preview on 10/7/2008. See the Miscellaneous section for details. Rob’s project sounds to me like it will give DD a run for the money. Even if not, it’s destined to interest ASP.NET developers thinking of moving to Ruby on Rails.

DAPanther gets the ball rolling with the first episode of his promised series: ASP.NET Dynamic Data, The Beginning… (Part 1 of 2) of 10/6/2008. This part starts a Visual Basic DD app based on the AdventureWorksLT database.

Steve Naughton emulates a GridView with Insert capability in his Dynamic Data Custom Pages: Dynamic/Templated Grid with Insert (Using ListView) post of 10/5/2008.

SQL Server Data Services (SSDS) and Cloud Databases

•••• The JETLaw Blog’s What’s Hiding in the Clouds?: Privacy Issues with Cloud Computing post of 10/12/2008 expresses the concern that courts have held the privacy of information stored on the Internet to be less sacrosanct as that stored on an individual’s computer.

•••• Roger Jennings wonders when Microsoft’s Cloud Services team will start reading from the same product-naming playbook in his Windows Strata: Here Yesterday, Gone Today post of 10/10/2008.

Frank Gens produced IDC’s IT Cloud Services Forecast - 2008, 2012: A Key Driver of New Growth detailed research post of 10/8/2008. Frank says:

In this post, We offer our initial forecast of IT cloud services delivery across five major IT product segments.we offer our initial forecast of IT cloud services delivery across five major IT product segments that, in aggregate, represent almost two-thirds of enterprise IT spending (excluding PCs).  This forecast sizes IT suppliers’ opportunity to deliver their own IT offerings to customers via the cloud services model (”opportunity #1“, as described in our recent post Framing the Cloud Opportunity for IT Suppliers).

IDC expects Cloud Services spending to grow at a compounded rate (CAGR) of 27% during 2008 to 2012 versus all IT spending’s 7% CAGR. The post has numerous links to earlier IDC research items on Cloud Computing.

Long Zheng asks “Windows Strata” - name of the Microsoft cloud OS? in his post of 10/2/2008. Long says:

“Windows Strata” could be either another codename or even dare I say the final name for the “Windows Cloud” operating system Ballmer has been touting much lately as the name has recently condensed on the Microsoft Professional Developers Conference website.

Amazon Web Services has published a Overview of Security Processes whitepaper “that should help answer some initial questions about physical and operational security processes for network infrastructure controlled by AWS.” Following are two interesting points that relate to SimpleDB:

  • AWS is working with a public accounting firm to ensure continued Sarbanes Oxley
    (SOX) compliance and attain certifications such as recurring Statement on Auditing
    Standards No. 70: Service Organizations, Type II (SAS70 Type II) certification.
  • AWS customers have built HIPAA-compliant healthcare applications using S3
    and other components.

SimpleDB competitors, such as Google App Engine and SSDS, undoubtedly will be required to offer SOX and HIPAA-compliant security features.

Aral Balkan explains Why Google App Engine is broken and what Google must do to fix it in his post of 10/3/2008. The problems he cites are:

  • 1MB limit on data structures must be removed.
  • Quotas must be handled optimistically, without crippling applications at the very moment that they should be benefitting from The Cloud.
  • The "intelligent throttling" "feature" and short-term CPU quotas must be removed.
  • The 1,000 item limit for offsets in queries must be removed.
  • Support for long-running processes must be added.

Aral concludes that GAE is “25% ready for prime-time.”

SQL Server Compact (SSCE) 3.5 and Sync Services

Manikyam Bavandla’s How to: Authoring a 64-bit ClickOnce Bootstrapper package in Visual Studio 2008 SP1 of 10/6/2008 provides the details for creating a bootstrapper package for SQL Server Compact (SSCE) 3.5.

Visual Studio 2008 Service Pack 1 (General)

No posts as of 10/6/2008 9:00 AM PDT 

Miscellaneous (WPF, WCF, MVC, Silverlight, etc.)

Rob Conery’s MVC Storefront Part 22: Restructuring, Rerouting, and PayPal post of 10/11/2008 includes a long screencast (~50:00) about cleaning up his routing scheme, implementing PayPal Standard, and improving appearance with CSS tweaks. Source code is available as usual.

Daniel Crenna has completed with LINQ + WCF + Silverlight (Part Seven) his detailed seven-part series that architects a complete Silverlight 2 solution and uses LINQ to SQL as its data source . Click here for links to all seven parts. (Copied from the LINQ to SQL section)

Scott Hanselman interviews Rob Conery about SubSonic and his new SubSonic MVC Scaffold Addin (see below) in Hanselminutes Show #132 of 10/2/2008.

•• John Papa has code updated to RC0 available for his Service Driven Apps with WCF and Silverlight 2 MSDN Magazine article from a link in Updated Sep 2008 MSDN Article Code for Silverlight 2 RC0 of 10/8/2008.

•• Scott Hanselman’s detailed Plug-In Hybrids: ASP.NET WebForms and ASP.MVC and ASP.NET Dynamic Data Side By Side post of 10/1/2008 is intended to reduce “confusion about how ASP.NET WebForms, MVC and Dynamic Data all fit together” (repeated from the DD section).

Rob Connery releases a 10/7/2008 preview of his SubSonic MVC Scaffold Addin, which will generate scaffolded Views and a Controller using [LINQ to SQL] similar to ASP.NET Dynamic Data. The pre-release requires MVC Preview 5. A 6:18 video with what sounds like a Roland 808 drum track on meth shows you how to get started with (what else) Northwind.

Rob says:

I didn't use SubSonic because IQueryable isn't ready to go. In addition, a LOT of people use [LINQ to SQL] and the goal here is to help as many people as I can. But I WILL be plugging in an option to use SubSonic. [Emphasis Added.]

I believe Robs new Scaffold add-in, available as an MSI or ZIP file, will give MVC a major boost.

Roger Jennings points out in his Google Analytics Data for the OakLeaf Blog, 9/4 to 10/4/2008 post of 10/5/2008 that the Oakleaf Systems blog is in the top 12% of all blogs tracked by Technorati for monthly page views and visitors and in the top 1.8% by Technorati Authority. (Repeated from 10/5/2008).

Friday, October 10, 2008

Windows Strata: Here Yesterday, Gone Today

Here you saw it on 10/9/2008:

Now you don’t on 10/10/2008:

Apparently not everyone at Microsoft is reading from the same playbook.

Sunday, October 05, 2008

Google Analytics Data for the OakLeaf Blog, 9/4 to 10/4/2008

Technorati recently published their State of the Blogosphere report for 2008, so I thought I compare the OakLeaf Systems blog statistics with those included in the report for the aggregate “blogosphere.” Another reason for picking today is that the number of visits related to a very popular (i.e., controversial) post of 9/3/2008 was about to disappear from the Google analytics charts and a substantial spike in visits from folks at Microsoft.com occurred on 10/3/2008. A smaller spike of Microsoft.com traffic occurred on 9/3/2008.

The 9/3/2008 post was Chrome’s Evil Terms of [Software as a] Service, which decried the draconian end-user license agreement (EULA) for the beta version of Google’s new browser. Traffic spiked by 33% to about 1,000 visitors per day from a consistent average of about 750.

The 10/2/2008 post was Google’s New Blogsearch Memetracker is a Fail, which discussed the failure of Google’s new blog memetracker feature to include the two authoritative posts for the “Amazon EC2 running Microsoft Windows Server" topic: Werner VogelsExpanding the Cloud: Microsoft Windows Server on Amazon EC2 post of 9/30/2008 or Jeff Barr’s Coming Soon: Amazon EC2 With Windows Amazon Web Services blog post of 10/1/2008. The memetracker also missed my Amazon Adds SQL Server to Oracle and MySQL as EC2 Relational Database Management Systems post of 10/1/2008.

Here’s a rearranged version of the standard Google Analytics data for the OakLeaf Systems blog captured on 10/5/2008 at 10:00 AM PDT:

I don’t use FeedBurner, so I have no way of measuring the number of readers (individual subscribers and through aggregators) of my Atom feed, which is probably a substantial number.

Technorati says in Day 3: The How of Blogging that 13% of all blogs achieve 20,000 to 100,000 monthly page views and 12% achieve 10,000 to 50,000 unique visitors, which puts the OakLeaf blog in the top 12 to 13% of Technorati-followed blogs by traffic.

The blog’s Technorati Authority, which represents the number of blogs that link to this blog for a period of six months, currently is 71%, although it usually averages closer to 75%. This results in a rank of 91,726 in a field of about 5 million blogs with posts in June 2008 tracked by Technorati, according to Day 1: Who Are the Bloggers? Thus, the Oakleaf blog is in the top 1.8% of Technorati-followed blogs by authority.

LINQ and Entity Framework Posts for 10/1/2008+

Note: This post is updated daily or more frequently, depending on the availability of new articles.

• Update 10/5/2008: EF, Misc.

• Update 10/3/2008: EF, LINQ to SQL, LINQ, Astoria, SSDS additions. Minor updates 10/4/2008 8:30 AM PDT

Entity Framework and Entity Data Model (EF/EDM)

•• Matthieu Mezil contends in his ADO.NET Data Services Hooking POC post of 10/5/2008 that “sometimes, you need to develop your own entity classes which encapsulate your EF ones … [to] support all cases.” However, Matthieu says that “the flow between the Server and the DB isn’t optimized” and provides a pair of SQL Server 2008 data (ADONETDataServicesHookingPOC.mdf) and log (ADONETDataServicesHookingPOC_log.ldf) files from CodePlex as a proof of concept (POC).

Kristofer Andersson’s Huagati DBML/EDMX Tools extend the automated Update LINQ to SQL Documentation from Database feature to Update ADO.NET Entity Data Model Documentation from Database. This new menu choice corrects the problem Kris notes in his Tools - Part 5 - Add-ins - Documentation features in Entity Framework vs Linq-to-SQL post of 9/5/2008: The appearance of “There are no comments for [name] in the schema” as the value of the Documentation property of each EntityType and its members. The option automatically imports description data and adds index informaton from table metadata in the same manner as for LINQ to SQL data sources.

You can download a free trial version of v1.36.3198.30279 of 10/3/2008 from here.

Julie Lerman reports in her Technology Deathmatch: LINQ to SQL vs. Entity Framework post of 10/3/2008 that Alex Thissen and Paul Gielens will be sparring partners in the smackdown at the Software Developer Network’s (SDN) Software Development Conference 10/6-7/2008 in Noordwijkerhout (near Amsterdam and Schiphol Airport.)

Hopefully, Alex and Paul will deliver the session in English and Julie will record it.

Update: Julie says the session will be in Dutch. Shucks.

Dennis van der Stelt delivers UK developers’ choice of database access technology on 10/1/2008. See the “LINQ to SQL” section.

• Ido Flatow cautions developers about slowly executing queries with related entities in his Entity Framework generated queries - look out post of 10/1/2008.

Julie Lerman announces on 10/2/2008 Programming Entity Framework available as a RoughCut within the next few days. She promised to post a linq when the first few chapters are available for downloading.

Mohammad Mosa demonstrates associations between twp base entities and shows you how to filter end properties to return specific type (subentity) in Inheritance and Associations with Entity Framework Part 3 of 10/1/2008.

Matthieu Mezil explains how to return the employees reporting to a specific supervisor when employee and supervisor records are in the same table in EF: how to do a recursive include? of 10/1/2008.

LINQ to SQL

Roger Alsing has implemented Jimmy Nilsson’s Workspace pattern with LINQ and will use NWorkspace in what appears to be a project for the Swedish government, according to NWorkspace / Linq Workspace Followup of 10/3/2008.

In a comment to an earlier post, DDD - NWorkspace Linq experiment of July 3, 2008, Roger says:

At the moment the project is just a small experiment so there is not much to show to the world. But I will continue to fiddle with it now during my vacation, so if I feel confident enough in it I will make it public. But for now it will just be my own toy.

He must be confident of NWorkspace if “a large portion of every Swedish citizens that turn 18 will pass through this system,” so it’s time to post the code. 

Dennis van der Stelt expresses surprise about the developers’ choice of LINQ to SQL (18%)and Entity Framework (13%) as the database access technology they would choose if starting a project on 1/1/2009.

In his Who is actually using LINQ or LINQ to SQL? post of 10/1/2008, Dennis quotes a recent Microsoft UK MSDN Flash newsletter. The fact that 41% plan to use ADO.NET (Commands, DataReaders, DataSets, etc.) is no surprise but the low ranking of other O/RMs is a shock to me: 7% Alternative ORM – Nhibernate, LLBLGen, EntitySpaces, etc.

I’d certainly like to see a similar survey for the US.

Miguel de Icaza’s DbLINQ, LINQ to Databases and Mono post of 10/2/2008 links to Atushi Enomoto’s Mono's Linq to SQL effort based on DBLinq post of the same date, which describes a LINQ to SQL clone that supports multiple RDBMSs.

LINQ to SQL was designed to do the same, but the Data Programmability group restricted the RTM version of SQL Server-only.

Mike Taulty binds a LINQ to SQL Data source to a WPF master/details form with WPF DataGrids in his DataGrid - Master/Details post of 10/1/2008.

LINQ to Objects, LINQ to XML, et al.

Jim Wooley reports in ThinqLinq on Deep Fried Bytes of 10/03/2008 that Keith and Woody interviewed him for Episode 14: LINQ’ing the Future of Development with Jim Wooley (MP3).

Paul Stovell starts writing documentation for his Bindable LINQ component in his Bindable LINQ: What is Bindable LINQ? post of 10/1/2008.

Paul Stovell’s Bindable LINQ: F# is Overhyped post of 10/1/2008 reflects his preference functional reactive programming over F#.

Beth Massie promotes her latest article in the October 2008 issue of MSDN Magazine - Dynamic Data Entry With XML Literals of 10/1/2008.

LinqMaster tells you How to Use LINQ OfType Standard Query Operator on 10/1/2008.

Garvin Clark observes in his IBM, Sun, Microsoft sink differences on VMs The Register article of 10/1/2008:

Among those heading to Sun's offices [for the JVM Language Summit] were computer languages expert and Microsoft architect Erik Meijer - who helped create the Language Integrated Query (LINQ) and Microsoft's experimental Volta tools language.

See the “Miscellaneous” section for more about Volta’s recent disappearance from Windows Live Labs.

ADO.NET Data Services (Astoria)

Phani Raj’s DataServiceContext: Detect if there are pending changes post of 10/3/2008 explains Astoria’s DataServiceContext object and its two collections, Entities and Links, that you can test for state and determine if they have changes pending.

Mike Flasko said in slide 9 of his ADO.NET Data Services for the Web (a.k.a. Project "Astoria") presentation at Remix UK 08 that an ASP.NET DataSourceControl for ADO.NET Data Services is coming “in the future.”

Mike insists on the using term LINQ for ADO.NET Data Services for the Astoria pseudo-implementation (string-based LINQ syntax) instead of LINQ to Astoria or (my favorite) LINQ to REST. Hopefully, the new control will be named RestDataSourceControl rather than AdoDotNetDataServicesDataSourceControl.

Eric Nelson’s Entity Framework and Data Services in one slide – a work in progress crams a diagram of ADO.NET Data Sources and its Entity Framework data source onto a single PowerPoint. Looks like a good start to me, but an arrow or two is missing and some seem to me to point in the wrong direction or the connectors should be double-headed.

Shawn Wildermuth describes problems with Silverlight and ADO.NET Data Service Operations on 10/1/2008.

ASP.NET Dynamic Data (DD)

Scott Hanselman intends to prevent “confusion about how ASP.NET WebForms, MVC and Dynamic Data all fit together” with his detailed Plug-In Hybrids: ASP.NET WebForms and ASP.MVC and ASP.NET Dynamic Data Side By Side post of 10/1/2008. If you’re into MVC and/or DD, this post is a must-read.

Scott Guthrie returns to link blogging with October 2nd Links: ASP.NET, ASP.NET MVC, ASP.NET Dynamic Data of 10/2/2008.

DLPanther continues to hype his forthcoming ASP.NET Dynamic Data, The Data Revolution is here! series with a 10/1/2008 post about prerequisites. Where’s the beef?

SQL Server Data Services (SSDS)

Bob Cringley’s Data Debasement: Cloud computing will change the way we look at databases column of 10/3/2008 takes the position that large-scale in-memory databases of the future will run on top of MapReduce and the Google File System, which is to say will run under the Google App Engine. This, of course, ignores Amazon SimpleDB, Microsoft’s SSDS, and relational database systems hosted by Amazon EC2 and in Microsoft Data Centers. Bob concludes:

[I]t looks like [Larry Ellison]'s bought up most of the traditional database-centric software industry just in time for it to be declared obsolete.

This has been a BIG week for cloud database news!

Note: Bob was a panelist at MIT’s Emerging Technologies Conference 08 held 9/23/-25/2008. Microsoft’s Craig Mundie and Amazon’s Werner Vogels were among the keynote speakers. Microsoft and Amazon Web Services were sponsors. Cloud computing appears to be a bit off-topic for a Parallel Computing panel discussing multi-core computer usage.

Soumitra Sengupta delivers the SSDS Team’s Data Service differentiation from hosted RDBMS instances in SQL Server Data Services Team Architect Contrasts SSDS with SQL Server Under Amazon EC2 of 10/3/2008. The contents of the post are from a comment to my Amazon Adds SQL Server to Oracle and MySQL as EC2 Relational Database Management Systems post of 10/1/2008 (see below).

Herb Torrens provides an analysis of cloud computing’s current status in his Coming to Terms With Cloud Computing article of 10/2/2008 for Redmond Developer News. Torres offers one of the better second-hand definitions of cloud computing I’ve heard so far:

[Forrester analyst James] Staten defined cloud computing as "a pool of abstracted, highly scalable, and managed compute infrastructure capable of hosting customer applications [that are] billed by consumption."

Herb’s article includes references to Microsoft “Red Dog” projects which analysts believe is what Steve Ballmer called “Windows Cloud” on 10/1/2008 during a Software plus Services (S+S) partner event in London, according to the Register’s Kelly FiveAsh. Details are expected at the Professional Developers Conference (PDC) 2008 in Los Angeles, 10/27/2008 to 10/30/2008.

Jas Dhaliwal’s Steve Ballmer’s Keynote in London post of 10/2/2008 contains a full-length (40:00) video of Steve’s presentation and a transcript of the Q&A segment.

Roger JenningsAmazon Adds SQL Server to Oracle and MySQL as EC2 Relational Database Management Systems post of 10/1/2008 analyzes the effect of the addition of Windows Server and SQL Server 2008 hosted on Amazon EC2 to the cloud computing marketplace. He also proposes a new metric: TCNO (Total Cost of Non-Ownership).

SQL Server Compact (SSCE) 3.5 and Sync Services

No posts as of 10/2/2008 2:00 PM PDT

Visual Studio 2008 Service Pack 1 and Later (General)

Steve Martin describes The Road to PDC - .NET Framework 4.0 and “Dublin” in a detailed post of 10/1/2008.

Miscellaneous (WPF, WCF, MVC, Silverlight, etc.)

Roger Jennings points out in his Google Analytics Data for the OakLeaf Blog, 9/4 to 10/4/2008 post of 10/5/2008 that the Oakleaf Systems blog is in the top 12% of all blogs tracked by Technorati for monthly page views and visitors and in the top 1.8% by Technorati Authority.

• Ayende Rahien continues his virtuoso analysis of the CouchDB document database while learning to read Erlang in these two new posts:

The posts are lengthy and amazingly detailed.

Rob Conery promises personalization, support for PayPal, and better conformance to his new core MVC template in MVC Storefront's Next Episode of 10/3/2008.

Mary Jo Foley learns that Live Labs kills Deepfish; suspends Volta downloads on 10/2/2008. However, she quotes a Microsoft representative as denying that Volta was being discontinued, but that’s all the rep would say. Very strange.

Mike Taulty wants help with WPF DataGrid and Hiding Columns on 10/1/2008.

Friday, October 03, 2008

SQL Server Data Services Team Architect Contrasts SSDS with SQL Server Under Amazon EC2

Soumitra Sengupta, an Architect on the SQL Server Data Services (SSDS) team posted the following comment in response to my Amazon Adds SQL Server to Oracle and MySQL as EC2 Relational Database Management Systems post of 10/1/2008:

A few comments:

1. What Oracle and Microsoft announced with AWS is simply an evolution to hosting. It does enable developers to get to the cloud faster and probably at a cheaper cost. Simple way to think about this is hosting on virtualized hardware and OS. Developers still have to worry about scaling, availability and consistency of their data tier. This does not solve those problems. It also requires you to install, upgrade and patch your software. SSDS is fundamentally different as it virtualizes database software and data and scales it across multiple spindles, multiple datacenters etc. As a developer, you worry about your data and code and not software upgrade, patching, scaling, availability, data consistency and SLA's. It is not a question of either or but a matter of choice and what you are optimizing for.

2. Astoria and SSDS ACE concepts are orthogonal. In SSDS we partition your data and spread it out across many machines to improve throughput, scale, latency and availability. Containers is an essential abstractions for SSDS. Within a container, it is possible for us to support Astoria as Astoria is scoped to a single consistency unit (you can call it a database or datasource). Authority is a concept we have put in to support geo-location and geo-distribution. It is essential to a service like SSDS but not Astoria.

These are early days of Cloud Computing so it can get confusing. Hope this helps to clarify.

Glossary:

Astoria is the code name for ADO.NET Data Services, which provides RESTful Web services from Entity Framework (read/write) and LINQ to SQL (read-only) data sources by implementing the HTTP GET, POST, PUT and DELETE methods with JavaScript Object Notation (JSON) and Atom Publication Format (AtomPub or APP) wire formats. The SSDS team plans to align SSDS access with Astoria. For a brief overview of Astoria, see the ADO.NET Data Services: Access data in the cloud with REST Tech Brief from Redmond Developer News. Manipulate Data in the Cloud with ADO.NET Data Services is a detailed tutorial for creating Astoria data services from Visual Studio Magazine.

ACE is an abbreviation for Authority, Container and Entity, the building blocks of SSDS. The SQL Server Data Services: Data storage in the cloud Tech Brief from Redmond Developer News has a brief description of SSDS architecture. Click here for a diagram of ACE layers from the Tech Brief. Test-Drive SQL Server Data Services from Visual Studio Magazine shows developers how to populate and query SSDS with .NET clients. Click here for a more detailed SSDS diagram.

 

Thursday, October 02, 2008

Google’s New Blogsearch Memetracker is a Fail

Google’s new blog memetracker feature, which allegedly competes with Techmeme and Technorati, found only 16 posts as of 10/2/2008 about the "Amazon EC2 running Microsoft Windows Server" topic. Although it appeared briefly on Techmeme, my Amazon Adds SQL Server to Oracle and MySQL as EC2 Relational Database Management Systems wasn’t one of them. (The number of posts varied from 14 to 17.)

What’s really strange is no entry for Werner VogelsExpanding the Cloud: Microsoft Windows Server on Amazon EC2 post of 9/30/2008 or Jeff Barr’s Coming Soon: Amazon EC2 With Windows Amazon Web Services blog post of 10/1/2008, which are authoritative for this topic.

It’s clear to me that Google Blog Search’s memetracker isn’t a Techmeme killer, as ReadWriteWeb’s Marshall Kirkpatrick suggests in his Google Blogsearch Relaunches as Techmeme Killer, Across 11 Categories post of 10/1/2008.

But it might be a Technorati killer in the long term as Mashable’s Adam Ostrow claims in his Google Blog Search Deals Technorati a Knockout Punch With New Homepage post of 10/1/2008. Technorati has done its best to immolate with a recent server meltdown, as reported in my Technorati Troubles Continue post of 9/19/2008 (updated) and earlier Technorati Contracts Twitteritis post of 9/15/2008.

Update 10/5/2008: Technorati hasn’t pinged the OakLeaf site in five six days and their spider isn’t responding to manual pings. Technorati started pinging the OakLeaf site on 10/5/2008 after a seven days’ outage. (Thanks, Technorati!)

Update 10/2/2008 3:30 PM PDT: By the time I posted this article, the number of Google’s posts was down to 11 in the past 14 hours.

Wednesday, October 01, 2008

Amazon Adds SQL Server to Oracle and MySQL as EC2 Relational Database Management Systems

Amazon Web Services announced on 10/1/2008 that Amazon EC2 “will offer you the ability to run Microsoft Windows Server or Microsoft SQL Server … later this Fall.” This capability adds to last week’s announced availability of Oracle 11g and MySQL 5.1 running under *nix operating systems. (See SSDS’s Competitors : Oracle 11g and Sun MySQL on Amazon EC2 of 9/23/2008).

The Amazon EC2 running Microsoft Windows Server sign-up page to be notified of the public beta says:

Starting later this Fall, Amazon Elastic Compute Cloud (Amazon EC2) will offer you the ability to run Microsoft Windows Server or Microsoft SQL Server. Today, you can choose from a variety of Unix-based operating systems, and soon you will be able to configure your instances to run the Windows Server operating system. In addition, you will be able to use SQL Server as another option within Amazon EC2 for running relational databases.

Amazon EC2 running Windows Server or SQL Server provides an ideal environment for deploying ASP.NET web sites, high performance computing clusters, media transcoding solutions, and many other Windows-based applications. By choosing Amazon EC2 as the deployment environment for your Windows-based applications, you will be able to take advantage of Amazon’s proven scalability and reliability, as well as the cost-effective, pay-as-you-go pricing model offered by Amazon Web Services.

Our goal is to support any and all of the programming models, operating systems and database servers that you need for building applications on our cloud computing platform. The ability to run a Windows environment within Amazon EC2 has been one of our most requested features, and we are excited to be able to provide this capability. We are currently operating a private beta of Amazon EC2 running Windows Server and SQL Server.

Jeff Barr’s Coming Soon: Amazon EC2 With Windows Amazon Web Services blog post of 10/1/2008 adds:

You will be able to use Amazon EC2 to host highly scalable ASP.NET sites, high performance computing (HPC) clusters, media transcoders, SQL Server, and more. You can run Visual Studio (or another development environment) on your desktop and run the finished code in the Amazon cloud.

The 32 and 64 bit versions of Windows Server will be available and will be able to use all existing EC2 features such as Elastic IP Addresses, Availability Zones, and the Elastic Block Store. You'll be able to call any of the other Amazon Web Services from your application. You will, for example, be able to use the Amazon Simple Queue Service to glue cross-platform applications together.

Existing EC2 tools will be able to launch Windows-powered EC2 instances. Once launched, you can use the Windows Remote Desktop or the rdesktop tool to access your instances. …

We'll be at the PDC (Professional Developers Conference) in Los Angeles at the end of October.

Update: Windows instance pricing will be strictly pay-as-you-go, like our other services. Customers will only pay for as much or little as they actually use; of course the actual price will be higher than Linux-based instances, due to the cost of Windows licenses. We'll announce specific pricing when we make the service broadly available later this Fall.

Werner Vogels, Amazon’s chief technology officer, discusses interest in Windows Server’s capability for transcoding and streaming Windows Media in his Expanding the Cloud: Microsoft Windows Server on Amazon EC2 post of 9/30/2008 (at 11:30 PM).

Dare Obasanjo is starting a month-long vacation in advance of his paternity leave and says in his Windows Server on Amazon EC2? post of 10/1/2008 that he’s “looking to do some long overdue hacking in-between burping the baby and changing diapers” and is looking for someone to get him in the Windows Server on EC2 beta.

Handwriting on the Wall

The announcement should come as no surprise. Anand Iyer, a Microsoft Northern California developer evangelist, reported in his Windows Server support for Amazon EC2 - coming soon post of 9/3/2008:

At Amazon Web Services’s Startup-Tour here in San Francisco, Jeff Barr just announced the AWS roadmap and it included “support for Windows Server.” Jeff says that Amazon has received “several requests” for Windows Server support for EC2 and while he couldn’t commit to a date, he said it’s definitely on the roadmap.

Windows Server and SQL Server License Issues

There’s no official word from Amazon about Windows Server and SQL Server versions or licensing fees for either product, other than that in Jeff Barr’s update added above:

[O]f course the actual price will be higher than Linux-based instances, due to the cost of Windows licenses.

Oracle allows licensees of Oracle Database 11g to run it on EC2 but also provides a free Amazon Machine Image (AMI) for Oracle 10g XE.

Sun requires an Enterprise Gold, Platinum or Unlimited license to run MySQL on EC2. However, there doesn’t appear to be any restriction to running “open-source” MySQL on EC2. The Running MySQL on Amazon EC2 with Elastic Block Store tutorial is just on of several articles and posts on the topic.

Competition with SQL Server Data Services and Microsoft’s Cloud Computing Platform

It’ll be interesting to hear from Microsoft’s licensing police, Data Programmability group, and SQL Server Data Services (SSDS) team about this “pre-emptive strike” against its purported “cloud computing platform,” which expected to be revealed at the Professional Developers Conference (PDC) 2008, and SSDS itself.

It will be particularly interesting to learn if SSDS developers prefer the entity-attribute-value (EAV) or conventional relational data model for cloud persistence. If SSDS adopts ADO.NET Data Services (Astoria) as its RESTful interface, there’s no reason not to simply substitute SQL Server with an Astoria front end for SSDS and abandon the unconventional authority, container, entity (ACE).

Ultimately, the winner probably will be decided on a new metric: TCNO™ (Total Cost of Non-Ownership™) for a specific levels of storage space, computing power, and bandwidth. The current credit crunch and economic uncertainty are likely to increase the attractiveness of “non-ownership” of IT facilities and pay-as-you-go “cloud licenses.”

Tom Sullivan’s Will the downturn accelerate cloud computing? InfoWorld article of 10/1/2008 says:

Analysts at Gartner and TABB Group, a research and advisory firm that focuses on financial markets, agree that the current economic downturn is already sparking interest in cloud computing both on Wall Street and elsewhere. "We expect examinations of various cloud services to accelerate," says Gartner fellow and vice president Ken McGee. "There will be a flight toward looking for lower-cost options."

Update 10/3/2008: Charles Arthur’s What effect will the financial crisis have on the tech sector? article of 10/3/2008 for the UK’s Guardian, says:

Expect to see a slowdown in smartphone sales and a concomitant growth in the use of open source, cloud computing and virtualisation technology as consumers cut back on their "discretionary" purchases while businesses, strapped for credit (because banks won't have it to lend), decide to make the best of what they've got and squeeze the last possible drops of life from the hardware they have, while reducing costs on software as far as possible. …

Tim Bray, director of web technologies at Sun Microsystems, put it simply on his Twitter feed (twitter.com/timbray): "Prediction: some pretty severe breakage in the technology industry," he suggested, adding: "Suppose nobody wants to do capital investment but you still gotta get work done. I'm thinking cloud cloud cloud cloud cloud." The advantage of cloud computing such as Amazon's S3 being that it is pay-by-use, rather than capital-intensive. [Emphasis added]

This is the first time I’ve encountered a newspaper journalist quoting a Twitter feed.

Other Voices, Other Rooms

Allen Williamson, blog: Amazon's EC2 now with Windows questions licensing issues.

Bob Warfield, SmoothSpan blog: Another Big Step for Amazon: Windows

Jeremy Kirk, InfoWorld: Ballmer: Microsoft will soon release ‘Windows Cloud’ OS

Stacy Higgenbotham, GigaOm: Amazon’s Elastic Compute Cloud Gets Windows

Nicholas Carr, RoughType: Here comes the “Windows Cloud”

OakLeaf Systems hits Techmeme 10/1/2008 2:55 PM EDT:

but Google’s new blog memetracker, which allegedly competes with Techmeme, found only 16 posts as of 10/2/2008 about the topic and this wasn’t one of them. (The number of posts varied from 14 to 17.) What’s really strange is no entry for Werner VogelsExpanding the Cloud: Microsoft Windows Server on Amazon EC2 post of 9/30/2008 or Jeff Barr’s Coming Soon: Amazon EC2 With Windows Amazon Web Services blog post of 10/1/2008. Looks like a fail to me.

Thanks to Mary Jo Foley for the heads-up in her Amazon launches pre-emptive strike against Microsoft’s planned cloud platform post of 10/1/2008. (Google’s blogtracker missed this post, too.)

Note: This post has been updated several times since its origination at 8:30 AM PDT on 10/1/2008.

LINQ and Entity Framework Posts for 9/29/2008+

Note: This post is updated daily or more frequently, depending on the availability of new articles.

Entity Framework and Entity Data Model (EF/EDM)

Ido Flatow describes the reason you can’t use WCF’s JSON DataContractJasonSerializer with EF in his Serializing Entity Framework object to JSON post of 9/20/2008. The problem is that EF objects set IsReference = true on associated entities. AJAX’s JavaScriptSerializer can’t handle circular references.

(Note that the DataContractSerializer can’t handle serializing LINQ to SQL entities with circular references unless you apply Damien Guard’s T4 template, as described in my Bidirectional Serialization of LINQ to SQL Object Graphs with Damien Guard’s T4 Template in VS 2008 SP1 post of 9/25/2008.)

Ido concludes that ADO.NET Data Services (Astoria) is the only practical method for serializing EF objects as JSON, but requires users to adopt Web services instead of simple serialization.

Julie Lerman describes issues with the need to obtain an EntityKey for 1:1 or 1:0..1 relationships in her A bookmark: EF queries for Parents who have 1:0..1 relationships to their children post of 9/30/2008.

David McCarter’s What I Have Learned So Far About The Entity Framework and ADO.NET Data Services post of 9/20/2008 reports on real-world use of EF in a VB 6.0 to C# conversion project. He offers tips for EF projects in their own assembly, adding the “root” table to the designer first when creating your EDM, using Astoria, joining EntitySets in EF, and updating data.

Muhammad Mosa continues his EF series with Inheritance and Associations with Entity Framework Part 2 of 9/28/2008, which covers Table-per-Type (TPT) inheritance with sample code and and a video (screencast) tutorial. His previous Inheritance and Associations with Entity Framework Part 1 post of 9/24/2008 deals with the Table-per-Hiearchy (TPH) model.

LINQ to SQL

Mike Tulty is Surprised by WPF DataGrid :-) and its ability to update LINQ to SQL entities with no added effort in his 9/30/2008 post.

LINQ to Objects, LINQ to XML, et al.

Eric White recommends loading text files into memory instead of lazy loading with LINQ to XML in his LINQ to TEXT and LINQ to CSV post of 9/30/2008.

Eric White takes on transforming Open XML documents to and from flat format in the following three posts of 9/29/2008:

ADO.NET Data Services (Astoria)

Bangalore .NET User Group has posted slides and source code of the Virtual Tech*Ed Session of 9/18/2008 in their VTD Session - Building RESTful Services using .NET 3.5 SP1 post of 9/28/2008.

See also Ida Faltow’s and David McCarter’s posts in the EF section.

ASP.NET Dynamic Data (DD)

Bill Burrows’ ASP.NET Dynamic Data Tutorial provides demo code for the tutorial and a DD Wizard-based Web site plus 11 videos. Here’s Bill’s description:

This tutorial covers the creation of a Dynamic Data site using Visual Web Developer Express 3.5 (SP1). It then talks about the conceptual ideas underlying the technology. Dynamic Data sites are highly customizable so the tutorial covers several ways to perform customization. Finally, the tutorial introduces the Dynamic Data Wizard, a project under development, that make customization easy via a "wizard" approach.

Steven Naughton continues customizing DD with his Dynamic Data Custom Pages - A variation of Part 6 with the Details and SubGrid in Tabs post of 9/29/2008.

SQL Server Data Services (SSDS)

Richard Stallman derides cloud computing in a Cloud computing is a trap, warns GNU founder Richard Stallman interview in The Guardian dated 9/29/2008.

Stan Schroeder claims Stallman “is going berserk” in his If Web Apps are Evil, Why Do We Use Them? post of 9/29/2008 on Mashable.com. I agree that Stallman doesn’t have a grip on the definition of “cloud computing.” He’s actually aggrieved about Web applications.

SQL Server Compact (SSCE) 3.5 and Sync Services

No entries as of 10/2/2008 7:30 AM PDT.

Visual Studio 2008 Service Pack 1 and Later (General)

Video Studio Team announces the next VS version in their Visual Studio 2010 and .NET Framework 4.0 Overview MSDN article of 8/29/2008.

Norman Guadagno, “the Director of Product Management for Visual Studio Team System shares the key enhancements coming in the next version of Visual Studio, officially named Visual Studio 2010” in this Channel 9 video of 9/29/2008: Norman Guadagno: Announcing Visual Studio Team System 2010.

Miscellaneous (WPF, WCF, MVC, Silverlight, etc.)

Rob Connery donates a standard MVC template to VS 2008 SP1 users in his My MVC Starter Template post of 9/29/2008.

Rich Strahl presents a comprehensive Introduction to jQuery (Part 1: The Client Side) tutorial in honor of Scott Guthrie’s announcement that future versions of Visual Studio will incorporate jQuery and that Microsoft will support jQuery in VS 2008. His 9/29/2008 article covers:

  • Key Features of jQuery
  • Getting Started with Selectors
  • The Wrapped Set of DOM Matches
  • jQuery Wrapped Set Operations
  • Event Handling
  • Creating and Embedding HTML
  • Effects
  • What's not to like?
  • Resources

Mike Hadlow handles Column Ordering, Paging and Filtering in the MVC Framework in his 9/29/2008 post with a “simple framework” that’s available for download.