Showing posts with label PDC 2008. Show all posts
Showing posts with label PDC 2008. Show all posts

Wednesday, November 05, 2008

LINQ and Entity Framework Posts for 11/3/2008+

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

• Update 11/5/2008: Additions

Entity Framework and Entity Data Model (EF/EDM)

Matthieu Mezil explains how to use EF’s ObjectStateManager to get and count added entities without executing a query or hydrating the entire EntitySet in his Get added entities in the query post of 11/2/2008 and Get added entities in the query (next) of 11/3/2008.

Nate Zaugg’s LINQ to Entities Example Queries post of 11/2/2008 shows:

[H]ow to use the EntityClient, ObjectQuery, and LINQ to Entities queries.  All examples are built using a 1:1 mapping to the Adventure Works database that had been slightly modified.  The Object Services with Lazy Loading Example shows some how to debug these queries.

LINQ to SQL

• Kristofer Andersson demonstrates set-based UPDATE expressions for LINQ to SQL in his Architecture - Linq-to-SQL and set-based operations: Update statements post of 11/5/2008. His LinqSetbasedExpressions class translates a LINQ expression, such as the following to add +49 to German phone numbers:

dc.Update<Customer>(
   (where => where.Country == "Germany" && !where.Phone.StartsWith("+49")),
   (set => set.Phone == "+49" + set.Phone),
   LockModeEnum.Row);

To this T-SQL UPDATE statement:

update dbo.Customers with (rowlock) 
set [Phone] = (@p0 + [Phone]) 
where CustomerID in 
(SELECT [t0].[CustomerID]
    FROM [dbo].[Customers] AS [t0]
    WHERE ([t0].[Country] = @p1) AND 
    (NOT ([t0].[Phone] LIKE @p2)))

Kris’s license doesn’t allow redistribution of the source code, but it does permit its use in compiled form.

Mark Monster’s Linq to SQL doing it manually: Part 1 - Table and column creation from C# post of 11/3/2008 explains in detail how to bypass LINQ to SQL’s O/R Designer and eliminate XML mapping files by relating relational data to CLR objects with attribute-based mapping.

Interestingly, this is exactly the same approach described for configuration-driven mapping for EF v2 by Tim Mallalieu in his Entity Framework Futures PDC 2008 session.

Ian Cooper suggests that the ADO.NET Team “announce a successor to both LINQ To SQL and Entity Framework” rather than abandoning LINQ to SQL in his well-reasoned LINQ to SQL, EF, and the Thunderdome Solution post of 11/3/2008.

Ian was one of the original proponents of LINQ to SQL as an enterprise data access layer and wrote a multi-part series about LINQ to SQL in n-tier architecture.

Paul Gielens’ Best Decision to Kill LINQ to SQL post of 11/3/2008 announces his agreement with Tim Mallalieu to abandon LINQ to SQL. This contradicts his previous position as stated in his SDN Conference 2008 post of 10/10/2008.

LINQ to Objects, LINQ to XML, et al.

Bart De Smet investigates LINQ’s forthcoming Zip operator in his C# 4.0 Feature Focus - Part 3 - Intermezzo: LINQ's new Zip operator post of 11/3/2008.

ADO.NET Data Services (Astoria)

David Haden points to ASP.NET 4.0’s Dynamic Data implementation will support Astoria in his ASP.NET 4.0 Roadmap - MVC Dynamic Data AJAX - Web Design and Development Futures from PDC post of 11/4/208 (see the “ASP.NET Dynamic Data” section for more details.)

Pablo Castro points to a video of Astoria Offline and promises to release it by the end of 2008 in his Alpha preview of Project Codename "Astoria Offline" coming soon post of 11/3/2008.

Marcello Lopez Ruiz recommends using SysInternals’ TCPView utility to find out What ports are used on my machine? when running Astoria in this 11/3/2008 post.

Rob Bagby’s PDC Session Code And Link post of 11/3/2008 contains links to his WCF: Developing RESTful Services session (with Steve Maine), downloadable source code, and database.

I wish more PDC 2008 presenters would post their source code and data sources.

Mike Hole’s ADO.NET Data service and Silverlight V2.0 ... Part 1 - Getting data. post of 10/15/2008 just appeared in Technorati’s ADO.NET Data Services tag page.

ASP.NET Dynamic Data (DD)

David Hayden observes in his ASP.NET 4.0 Roadmap - MVC Dynamic Data AJAX - Web Design and Development Futures from PDC post of 11/4/2008 that reviews Scott Hunter’s ASP.NET 4.0 Roadmap PDC 2008 session:

    • ASP.NET MVC Framework will offer additional functionality like asynchronous controllers, sub-controllers, more declarative functionality around things like validation, and again, better integration with Dynamic Data and AJAX.
    • ASP.NET Dynamic Data will continue to grow and get better integration with the ASP.NET MVC Framework. It will also support more of an abstract data access layer so you are not dependent just on LINQ To SQL and Entity Framework. Scott showed off better query support through query markup tags in the page source code, better data filtering options, use of dynamic data with Astoria ( ADO.NET Data Services ) as a datasource, and other cool features.

I am seeing a real investment here in ASP.NET Dynamic Data, so anyone who was thinking Dynamic Data was short-lived may want to adjust his/her thinking. A lot of work is being done to improve Dynamic Data and further the integrations between ASP.NET Webforms, ASP.NET MVC Framework, and other datasources like ADO.NET Data Services.

Scott Hunter points to the video of his ASP.NET Dynamic Data PDC 2008 session and other ASP.NET related sessions in his PDC ASP.NET Content Available Now post of 11/3/2008.

SQL Data Services (SDS) and Cloud Computing

• Ryan Dunn describes the neoMediaCenter.NET asset management project from NeoGeo New Media GmbH that combines local and SDS-based cloud storage of media files. Ryan’s post also includes a brief demo of the software by the company’s managing director.

Mike Amundsen’s Public Demo SDS Proxy Updated post of 11/3/2008 in the SQL Data Services Getting Started forum announces availability of his S[S]DS Proxy application updated from SSDS to SDS.

John Foley takes a tongue-in-cheek approach to Ray Ozzie’s two PDC 2008 keynote with particular emphasis on Windows Azure in his Parsing Ray Ozzie column of 11/4/2008 for InformationWeek’s Plug into the Cloud Blog.

Gus Perez explains that all installed Visual Studio versions, including Express editions, must be upgraded to SP1 to install the Windows Azure SDK in his Install blocked on Visual Studio SP1? post of 11/3/2008.

Dare Obasanjo’s Windows Azure from a Developer's Perspective post of 11/3/2008 defines Azure as a Platform as a Service (PaaS) offering that and:

  1. Describes what you need to get started with Azure
  2. Diagrams Azure cloud-based applications
  3. Explains the three-step process for deploying applications from the local development machine to the cloud
  4. Defines the Windows Azure Service Platform (WASP): SQL Services, .NET Services, Live Services, SharePoint Services, and Dynamics CRM Services

He observes that Azure competes with the Googe App Engine but doesn’t share its limitations: inability to run background tasks, support only for Python as a programming language, and scalability limitations.

Finally, Dare discusses the differences between PaaS and utility computing offerings, such as Amazon’s EC2 with Linux or Windows Server OSes in the cloud. He says:

[I]t would be informative to look at the topic from more angles, for instance what is the cost/benefit tradeoff of using SimpleDB/BigTable/SSDS for data access instead of MySQL running on multiple virtual hosts.

Unfortunately, potential users can’t run such a cost/benefit analysis without firm pricing for WASP’s SQL Data Services to compare with Amazon’s Windows 2003/SQL Server 2005 utility computing service.

Sahil Malik also raises the lack of Azure pricing in his I am super excited! post about Microsoft announcements at PDC 2008:

[H]ow can you get excited about something, without evaluating it's value? And how can you evaluate value without price, and a bit more detail of what's in the block diagrams?

My Microsoft Must Publish Projected Azure Service Levels and Pricing Now post of 11/2/2008 raises the same issue.

Rick Strahl’s My PDC 2008 Wrap up post of 11/2/2008 questions the viability of Windows Azure as a scalable Web services host because of its non-relational data store and:

One concern I see is that servers deployed today often do more than just act as Web application servers. You may have background services running and code may be interacting with a wide variety of technologies outside of the basic Web application’s scope. All of this doesn’t look like it’s going to be supported on Azure at the moment.

Azure does support background services, which Google App Engine doesn’t. According to the Windows Azure SDK:

A worker role is a background processing application. A worker role may communicate with storage services and with other Internet-based services. It does not expose any external endpoints. A worker role can read requests from a queue defined in the Queue storage service.

Here’s the diagram of hosted services from the Windows Azure SDK:

Note: Read Rick’s comment “… that you still need to build something specifically for these services. You can't just stick a standard Windows service you have on the box.”

Dan Farber calls Azure Microsoft's Manhattan Project in his 11/2/2008 “Outside the Lines” column for C|Net news.

James Urquhart and Geva Perry started a new podcast series and accompanying blog about cloud services on 10/31/2008: Overcast: Conversations on Cloud Computing. 

Michael Biddick’s 32-page A Walk in the Clouds report of September 2008 from InformationWeek Analytics is available free courtesly of VMWare. (Requires registration.)

SQL Server Compact (SSCE) 3.5 and Sync Services

Pablo Castro points to a video of Astoria Offline and promises to release it by the end of 2008 in his Alpha preview of Project Codename "Astoria Offline" coming soon post of 11/3/2008. (Copied from the “Astoria” section.)

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

• Frans Bouma throws cold water on Oslo’s claim that its M language makes authoring domain-specific languages (DSLs) easy in his Designing a language is hard, and M won't change that post of 11/5/2008.
 
Speaking of Oslo and DSLs, Aaron Skonnard’s Flander's introduction to M in "Oslo" post of 11/5/2008 points to Jon Flanders’ introduction to M screen capture of a DSL for defining a data source and Aaron’s earlier Introduction to "Oslo" post. Flanders spends the first 12:00 minutes of the 39:03 video to creating three SQL Server tables and an ASP.NET Dynamic Data project with an Entity Data model of the three tables. He then writes a M file to generate the same tables with Oslo’s IntelliPad text entry tool.
 
Ayende Rahien is finishing his Building Domain Specific Languages with Boo book for Manning Publications Co. The book description begins as follows:

The best-written code can be difficult to understand when you simply read it—even if you're a developer and have a general idea of what it does! A Domain Specific Language (DSL) can help you clearly express the essential intent of the code, and thus make it easier to work on the core business problem without having to cater to the idiosyncrasies of a compiler or framework.

Developers who migrate to Ruby from Java love the ability to define a DSL in a few lines of code. The Boo language brings this same ease and flexibility to.NET. In Boo, the developer can define simple DSLs for .NET applications without suffering through the awkward XML usually required.

Rob Bagby’s PDC Session Code And Link post of 11/3/2008 contains links to his WCF: Developing RESTful Services session (with Steve Maine), downloadable source code, and database.
 

Sunday, November 02, 2008

Cloud Computing at PDC and Elsewhere: Day 4 (10/30)

A daily compendium of PDC keynotes and sessions about Cloud Computing, SQL Data Services, and related topics. This post will be updated frequently from 8:00 AM to 5:00 PM PDT or later. Unless otherwise noted all sessions were on 10/29/2008.

SQL Data Services and Related Session Videos From Channel9

Channel9 is posting videos of PDC 2008 interviews and sessions about 24 hours after the session’s end. Following are segments from Wednesday’s sessions that are related to SQL Data Services (SDS):

Pablo Castro and Niranjan Nilakantan: ES07 Windows Azure: Modeling Data for Efficient Access at Scale (Wed 10/29 | 1:15 PM-2:30 PM | 403AB):

Learn how to use the highly scalable, available and durable Table Storage service. This session presents a deep dive with demos into the programming APIs and data models for structured storage.

Unfortunately, the screen captures are drastically overexposed. For more background about ADO.NET Data Services (Astoria) as a front-end for Table Services and SQL Data Services, read Pablo’s ADO.NET Data Services in Windows Azure: pushing scalability to the next level post of 11/1/2008.

Patrick McElroy: SQL Services: Futures (Wed 10/29 | 10:30 AM-11:45 AM | 408B):

Learn about new capabilities in upcoming versions of SQL Services. See demonstrations of services like advanced query processing, sync services, and reporting services running in the cloud. Also learn about plans to integrate with other services.

Andrew E. Fitzhugh: How HP Built their Magcloud Service on Windows Azure (Wed 10/29 | 10:30 AM-11:45 AM | 411). Here’s the abstract:

Hear from an online magazine publishing service that was prototyped on Microsoft cloud services. Learn from the development team about what they built, why they built it, and what they learned about the platform along the way.

You can learn more about the project by reading Kurt Mackie’s PDC: HP Startup Tests Windows Azure Cloud Platform article of 10/31/2008.

Other .NET Services Session Videos From Channel9

Following are segments from Wednesday’s sessions that are related to Azure cloud computing services other than SQL Data Services (SDS):

Clemens Vasters: .NET Services: Connectivity, Messaging, Events, and Discovery with the ServiceBus (Wed 10/29 | 10:30 AM-11:45 AM | 406A):

Learn how to use the ServiceBus in the Microsoft .NET Services to address difficult connectivity, security, and discoverability issues.

Michael Conrad, John Shriver-Blake: Showcase: Windows Azure Enables Live Meeting (Wed 10/29 | 12:00 PM-12:45 PM | 408A):

The next generation conferencing team discusses why the cloud computing platform was selected for a next-generation, high-scale conferencing service that requires high performance and reliability and the ability to automatically adjust scale. The team shares learnings from the prototyping phase and discusses features on the cloud services roadmap that are central to their success.

Steve Garrity, Mark Gilbert: .NET Services: Logging, Diagnosing, and Troubleshooting Applications Running Live in the Cloud (Wed 10/29 | 1:15 PM-2:30 PM | 515B):

Learn the real world ways of tracking down and fixing problems on services and systems running live in the cloud. These black belt techniques and application patterns are used to simplify the operations and debugging of large scale services while they run. Also get a peek at how we run and monitor the .NET Services at Microsoft.

Justin Smith: .NET Services: Access Control In Microsoft .NET Services (Wed 10/29 | 3:00 PM-4:15 PM | 408B):

Learn how to manage access control to the ServiceBus, Workflow, and Data Services via the Access Control Service. This session illustrates the access control capabilities of these services, and several common patterns for building your application securely using the .NET Services, access control service.

Justin Smith: .NET Services: Access Control Service Drilldown (Wed 10/29 | 4:45 PM-6:00 PM | 515A):

This session shows how to use the access control service in your application. Learn how to secure your application or service using the Access Control service's APIs. We'll then drill into the protocols and security patterns the service uses along with explaining some of the service internals.

Sriram Krishnan: Windows Azure: Cloud Service Development Best Practices (Wed 10/29 | 3:00 PM-4:15 PM | Petree Hall CD):

This session goes beyond the "Hello World" development experience, giving best practices across common tasks for serious service developers. These tasks include logging, debugging, deployment, management, and maintenance of individual services.

 

Wednesday, October 29, 2008

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

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

• Updated 10/29/2008 8:00 AM PDT: Additions

Entity Framework and Entity Data Model (EF/EDM)

• Paul Gielens liveblogs Tim Mallalieu’s The Future of the Entity Framework (TL20) PDC 2008 session on 10/28/2008. The Entity Framework Futures video should appear shortly on Channel9.

Danny Simmons used Damien Guard’s T4 templates for LINQ to SQL as inspiration for his Using T4 Templates to generate EF classes post of 10/28/2008. At this point, Danny’s template is an “early draft” and is missing a VB version and some other features. However, it’s a step in the right direction.

Faisal Mohamood’s Foreign Keys in the Conceptual and Object Models post of 10/27/2008 compares the treatment of foreign key values in LINQ to SQL (visible) and EF/EDM (not visible), as well as the trade-offs of both approaches. The topic is controversial, but I’m in favor of making FK values optional in EF/EDM, just as adding the “Set” suffix to entity sets should have been optional (and presumably will be in v2.)  

LINQ to SQL

• Sidar Ok’s Lazy Loading with Linq to SQL POCO post of 10/28/2008 shows you how to implement lazy loading for his earlier Achieving POCO s in Linq to SQL project with the LinFu Dynamic Proxy.

Sebastien Lachance suggests use of the DataContext’s DeleteDatabase() and CreateDatabase() methods to assure that test databases are in the proper state in his Unit Testing, LinqToSql and CreateDatabase post of 10/27/2008.

Ilan Assayag provides links to methods of providing Configurable connection string with Linq to SQL in his 10/27/2008 post.

LINQ to Objects, LINQ to XML, et al.

Charlie Calvert begins coverage of C# 4.0 in his LINQ Farm: Covariance and Contravariance in C# 4.0 post of 10/28/2008.

ADO.NET Data Services (Astoria)

• Pablo Castro’s Now you know...it's Windows Azure post of 10/28/2008 describes Azure’s table service for structured storage of entity/attribute/value (EAV) data in row/column (property) containers (partitions). Table service features an Astoria-compatible RESTful external interface, as well as internal ADO.NET connectivity. Azure includes .NET 3.5 SP1 so you can use the current Astoria client to interact with table services.

Pablo and Niranjan Nilakantan will present Windows Azure: Modeling Data for Efficient Access at Scale (ES07 | Wed 10/29 | 1:15 PM-2:30 PM | 403AB):

Learn how to use the highly scalable, available and durable table storage service. This session presents a deep dive with demos into the programming APIs and data models for structured storage.

• Brad Calder presented the Windows Azure Storage: Essential Cloud Services (ES04 01:14:50) PDC session on 10/28/2008:

Modern services need available, scalable and durable data in many forms, including both structured and unstructured data. This session presents blob, table and queue storage services and the APIs for manipulating and querying data.

Brad Calder is Director/Architect of Cloud Storage, which is the essential scalable, available and durable storage for Microsoft’s Cloud Platform.

Brad’s session describes Azure’s three basic data abstractions: Blobs, Tables, and Queues. Table-oriented content begins at 00:21:29. ADO.NET Data Services access with LINQ or REST starts at 00:30:00. Queue content begins at 00:40:00.

Matthieu Mezil’s ADO.NET Data Services Hooking POC V4 post of 10/28/2008 improves on Astoria’s rights management approach by moving it from the service to the business logic layer’s entity class. His downloadable proof of concept code is available from CodePlex.

Joe Gregorio, Google’s main man for the Atom Pub Protocol, offers a 15-minute An Introduction to REST video he describes as:

Google Data APIs are based on the Atom Publishing Protocol and both Google Data APIs and AtomPub get many advantages from being RESTful protocols. Often the meaning of REST and the advantages of RESTfulness go unexplained so I put together this short 15 minute video that explains REST and some of the advantages you get with a protocol built in that style.

Steve Maine’s Announcing the WCF REST Starter Kit post of 10/27/2008 describes the REST Starter Kit as follows:

When I talk to customers about the API’s for building REST services we added to WCF in .NET 3.5, most people “get it” at some abstract level but come away really wishing for deeper guidance and samples on how to use the platform to address common problems. To answer some of those questions, we’ve taken about 20 of the top customer questions and put them into the REST Starter Kit download as SDK samples so you can look at code and see how the API’s are used in practice.

ASP.NET Dynamic Data (DD)

• Scott Hunter will present ASP.NET Dynamic Data [for MVC] (PC30 | Wed 10/29 | 3:00 PM-4:15 PM | 411):

The next version of ASP.NET MVC contains a new scaffolding feature based on Dynamic Data that provides a rich framework for creating data driven web sites. Learn how to quickly build a Dynamic Data web site using features like model level validation, field and entity templates, and scaffolding.

Mike Ormond’s Lots of new ASP.NET bits post of 10/28/2008 notes that the ASP.NET CodePlex site has the following new items:

    • ASP.NET AJAX 4.0 Preview 3
    • ASP.NET Dynamic Data 4.0 Preview 1
    • ASP.NET MVC Beta Source Code Release

SQL [Server] Data Services (S[S]DS) and Cloud Computing

• Jim Nakashima covers the simples way to get a Blob Storage service up and running in his Windows Azure Walkthrough: Simple Blob Storage Sample post of 10/29/2008.

• OakLeaf’s Cloud Computing at PDC and Elsewhere: Day 2 (10/28) is the second “daily compendium of PDC keynotes and sessions about Cloud Computing, SQL [Server] Data Services, and related topics.”

• Jim Nakashima’s ASP.Net MVC Projects running on Windows Azure post of 10/28/2008 describes how to tweak an ASP.NET MVC project to run on WinAz and includes a sample application.MSDN’s SQL Data Services Developer Center has updated documentation for SDS (updated from SSDS).

Anthony Carrabino provides an overview of what’s new in SDS in his New version of SQL Data Services part of “Azure” CTP post of 10/28/2008.

Jim Nakashima’s Deploying a Service on Windows Azure post of 10/28/2008 is a detailed, illustrated primer that explains how to deploy as a .NET Service the simple ASP.NET app he demonstrated in his Quick Lap around the Windows Azure Tools for Microsoft Visual Studio article.

Ryan Dunn explains What's new in SQL Data Services for Developers in this Channel9 screencast wherein

Ryan visits Jason Hunter and Jeff Currier, a couple of the lead developers on the SQL Data Services team (formerly called SQL Server Data Services) to find out what the new PDC CTP build of the SDS service brings for developers.

The SSDS Getting Started Forum’s New Features thread discusses the lack of cross-container joins in the new SDS version.

Soumitra Sengupta Microsoft Announces Windows Azure and Azure Services Platform provides a brief synopsis of previous and forthcoming PDC 2008 sessions about SQL Data Services.

Oakleaf’s SQL Data Services (SDS) Update from the S[S]DS Team of 10/27/2008 is a copy of a Soumitra Sengupta’s e-mail sent to all registered SSDS users about the upgrade to SDS coming in “early” and “mid-November.”

OakLeaf’s Cloud Computing at PDC and Elsewhere: Day 1 (10/27) is the first of “a daily compendium of PDC keynotes and sessions about Cloud Computing, SQL Server Data Services, and related topics.”

SQL Server Compact (SSCE) 3.5 and Sync Services

• Lev Novik’s Microsoft Sync Framework Advances in v2 PDC 2008 presentation of 10/28/2008 “shows you how the next version of the Microsoft Sync Framework makes it easier to synchronize distributed copies of data across desktops, devices, services, or anywhere else they may be stored.”

Liam Cavanaugh’s Annoucing Sync Framework v2 CTP1 post of 10/28/2008 describes the first glimpse of Sync Services v2, which adds the following new features:

    • Simple Providers
    • Change Unit Filtering
    • Filter negotiation

Liam Cavanaugh explains sync-related SQL Services from the SQL Services Labs incubator in his Introducing SQL Services Labs post of 10/27/2008.

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

• Jim Nakashima’s ASP.Net MVC Projects running on Windows Azure post of 10/28/2008 describes how to tweak an ASP.NET MVC project to run on WinAz and includes a sample application. (Repeated from SDS and Cloud Computing.)

Rob Conery is finally getting closer to release of his venerable MVC sample project, as noted in his MVC Storefront Preview 1 Available post of 10/28/2008.

Mike Ormond’s Lots of new ASP.NET bits post of 10/28/2008 notes that the ASP.NET CodePlex site has the following new items:

    • ASP.NET AJAX 4.0 Preview 3
    • ASP.NET Dynamic Data 4.0 Preview 1
    • ASP.NET MVC Beta Source Code Release

(Repeated from the Dynamic Data topic.)

John Papa waxes enthusiastic in his Silverlight 2 - What a Ride! post of 10/27/2008 about Silverlight 2 adoption for O’Reilly’s InsideRIA blog. But the Flash proponents claim Silverlight 2 hasn’t achieved significant usage. I agree with John; until Silverlight 1.0 reared its head, Adobe and Macromedia were resting on their laurels. Flash (and Flex) need competition.

Tim Heuer’s Silverlight Toolkit Released – More controls! post of 10/28/2008 describes the new Silverlight Toolkit that RTW’d on the same date.

Shawn Wildermuth’s

Mike Snow explains that there is now a released version of the Silverlight Tools for Visual Studio 2008 SP1 in Silverlight Tools RTW Released! of 10/28/2008.

Rob Conery’s SubSonic MVC Addin Updated for Beta 1 post of 10/27/2008 announces an updated version of the MVC Add in for his flagship object/relational modeling tool, SubSonic.

Saturday, October 25, 2008

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

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

••• Updated 10/25/2008 3:30 PM PDT: Minor additions
•• Updated 10/23/2008 9:00 AM PDT: Amazon EC3 (big news), EF, LINQ to SQL, LINQ, Astoria, and SSDS/Cloud Computing additions
• Updated 10/22/2008 3:00 PM PDT: Several additions

••• Links to Streaming PDC 2008 Keynotes from Guy Burstein:

Monday: 10/27
8:30 a.m. - 10:30 a.m.
100 kbps | 300 kbps | 750 kbps

Tuesday: 10/28
8:30 a.m. - 10:30 a.m.
100 kbps | 300 kbps | 750 kbps

Entity Framework and Entity Data Model (EF/EDM)

••• Jarek Kowalski provides a detailed step-by-step guide for Using EF Oracle Sample Provider with EDM Designer on 10/24/2008. Jarek says:

Many people are asking if it is possible to use EFOracleProvider with EDM Designer in Visual Studio 2008 SP1. The answer is yes, but because the sample doesn't include a DDEX provider required for VS integration, there are certain steps that have to be run manually.

Jarek’s guide has 15 steps.

••• Steve Lasker offers a tutorial for delivering SQL Server Compact (SSCE) with EF client applications in his Privately Deploying SQL Server Compact with the ADO.NET Entity Provider post of 10/21/2008. The highly detailed process covers SSCE installations on locked-down computers whose users don’t have Administrator accounts.

•• Bill Vaughn’s Is Microsoft Listening or Open for Output Only? post of 10/22/2008 proposes that Microsoft add semi-mandatory WHERE clauses and remove SELECT * options from SQL-generating wizards.

He also states that devs using the Entity Framework must process schema changes manually. I noted in a comment that “the Entity Data Model Designer has an Update from Database context menu command that opens a tabbed dialog that regenerates the entity classes automatically.”

• Saaid Kahn, a Program Manager on the Visual Studio Pro Tools team, describes how to create an n-tier database application  using ADO.NET Data Services (Astoria) and an Entity Data Model, in this Channel 9 Interview: ADO.NET Data Services in Visual Studio 2008 SP1 of 10/21/2008 by Beth Massi. (Copied from Astoria.)

David Sceppa announced on 10/21/2008 that Sybase's SQL Anywhere ADO.NET Provider Supports the ADO.NET Entity Framework!

Julie Lerman’s Best approach for teaching first exposure to Entity Framework post of 10/20/2008 discusses her choice between “teaching EF from the top down (EDM, LINQ to Entities, Object Query then EntityClient) or bottom up (EDM, EntityClient, ObjectQuery then LINQ to Entities).”

LINQ to SQL

••• Anders Janmyr’s TDD and LINQ to SQL post of 10/25/2008 describes two interfaces, IUnitOfWork and ITable<T>, two classes LinqToSqlUnitOfWork and LinqToSqTable<T> and for testing purposes two additional classes InMemoryUnitOfWork and InMemoryTable<T>, which make it “easy to mock out the Persistence Layer when using LINQ to SQL.”

This is another interesting example of the third-party efforts devoted to improving the testability of LINQ to SQL.

••• Jon Skeet asks What other Enumerable extension methods would you like to see? on 10/23/2008. So far, comments have requested a number of candidates.

•• Michael Minutillo describes an abstraction of LINQ to SQL for his MvcSupportFacility for ADO.NET MVC that uses the Unity Inversion of Control (IoC) container in his detailed Linq Repositories, Lifetime Manaqement and Unity post of 23 October 2008.

• Scott Hanselman’s Informal .NET Subsystem Survey shows use of LINQ to SQL is within about 5% of ADO.NET DataSets (1,734 to 1,887) among the 4,899 responses that comprise his Survey RESULTS: What .NET Framework features do you use? post of 10/22/2008.

• Matt Hunter is close to releasing his base class that supports n-tier, disconnected operation of LINQ to SQL. The LINQ to SQL Entity Base Release Candidate 3 post includes links to LINQ to SQL Entity Base - Disconnected LINQ Version 1.0 Release Candidate 3 of 10/22/2008. The project’s CodePlex home page explains its features.

This release features bidirectional serialization with the DataContractSerializer and the IsReference attribute for many:one associations. It requires a licensed version of VS 2008 SP1, not the Express edition.

• Jim Wooley’s Updated source for ThinqLinq now available post of 19/21/2008 offers 18 months of accumulated updates to his LINQ-based blogging application.

 Cirilo Meggiolaro Tip of the day #3 - Getting details of a LINQ change conflict exception explains an “easy way to get a list of tables and columns that have thrown the exception. The [sample] code … catches the exception and loop through conflict objects to generate a full report.”

LINQ to Objects, LINQ to XML, et al.

Agnes Molnar (Aghy) reports on 10/25/2008 that Linq4SP - RC2 is available to download! from here. Her post includes a list of RC1 bugs fixed in RC2.

•• LinqMaster’s How to Get a List of Installed Applications with LINQ post of 10/22/2008 shows you how to reduce the number of lines of C# 2.0 code in half with LINQ to Objects.

• Jay Sawyer conducts a series of performance tests against LINQ to Objects and observes some unexpected results in these two recent posts:

Part II includes comparisons with DataViews, filtered DataSets, LINQ to Objects, and LINQ to SQL.

Eric White’s Creating Data-Bound Content Controls using the Open XML SDK and LINQ to XML explains how to “take a document that has un-bound content controls, generate a custom XML part automatically (inferring the elements of the custom XML from the content controls), and then bind the content controls to the custom XML part.”

Bart De Smet “The C# Programming Language Third Edition” and thoughts on language evolution is a lengthy essay on the history of C# 2.0/3.0 features and features to be expected in C# 4.0.

In his LINQ to Anything – Channel 9 interview and a few more thoughts, Bart expands on Channel9’s announcement with links to related blog posts. He also “elaborate[s] a bit on fan-in and fan-out and [his] statement on the square infinity possibilities of LINQ, and take[s] a look at the following slides from a recent presentation [he] delivered on the topic” of LINQ to ∞ Squared “Proof Obligation” and “Function Composition.”

Jim Wooley’s LINQ is not an excuse for sloppy code post of 10/20/2008 warns developers to limit the number of elements returned to LINQ to SQL projects by LINQ queries by always including a Where predicate or Skip/Take function pairs.

ADO.NET Data Services (Astoria)

••• Pablo Castro mentioned but refused to describe an unlisted PDC 2008 stealth session in Channel 9’s Astoria Design Walkthrough: No design... just plugging our PDC talks! video of 10/24/2008. The session turns out to be ES07 Modeling Data for Efficient Access at Scale (Wed 10/29 | 1:15 PM-2:30 PM | 403AB):

Learn how to model data for cloud services. Topics include: mapping common data idioms to tables, tuning data models for common access patterns, and creating efficient queries.

The interview also includes uninspired descriptions of Pablo’s TL08 Offline-Enabled Data Services and Desktop Applications (Wed 10/29 | 3:00 PM-4:15 PM | 408) and Mike Flasko’s TL07 Developing Applications Using Data Services (Tue 10/28 | 1:45 PM-3:00 PM | 151) published presentations.

••• Phani Raju takes on one:many associations in his Working with associations in ADO.NET Data Services , Part 2 tutorial of 10/23/2008. Part 1 of the series, Working with Associations in ADO.NET Data Services, of July 2, 2008 covered one:one associations.

•• Pablo Castro describes several first-priority scenarios for “Astoria Online” in his Astoria futures: offline-enabled data services post of 10/22/2008:

  • Outlook-style 1-tier applications that connect to a local data store (presumably SQL Server Compact v3.5 SP1) and synchronize with an online data store such as SQL Server Data Services (SSDS), SQL Server 2008 running under Windows Server 2008 on Amazon EC2 or from a Microsoft data center.
  • Independent clients and servers in a synchronization relationship, such as a service that’s available for Web-based synchronization only.
  • Local replicas of cloud-stored data, such as SSDS entities stored locally on SSCE.
  • Data consolidation by synchronizing slices of data from multiple cloud-stored sources.

Pablo’s Astoria Design Walkthrough: Thinking of a future with sync & offline video is a preview of his Offline-Enabled Data Services and Desktop Applications session at PDC 2008 (Wed 10/29 | 3:00 PM-4:15 PM | 408A).

• Scott Hanselman’s Informal .NET Subsystem Survey shows use of ADO.NET Data Services is substantially greater than that of Entity Framework based on the 4,899 responses that comprise his Survey RESULTS: What .NET Framework features do you use? post of 10/22/2008.

Question: Did the respondents simultaneously select a LINQ to SQL or Entity Framework data source for Astoria? Doesn’t look like it to me from the data.

• Saaid Kahn, a Program Manager on the Visual Studio Pro Tools team, describes how to create an n-tier database application  using ADO.NET Data Services (Astoria) and an Entity Data Model, in this Channel 9 Interview: ADO.NET Data Services in Visual Studio 2008 SP1 of 10/21/2008 by Beth Massi. (Copied from EF.)

Phani Raju’s Accessing Cross-Domain ADO.NET Data Services from the Silverlight Client Library of 10/20/2008 discusses guidelines for cross-domain access using the Silverlight Client Library

Gil Fink describes Building an Ajax Client for ADO.NET Data Services to complement his previous Astoria posts:

Roy T. Fielding’s REST APIs must be hypertext-driven post of 10/20/2008 takes the following position on the rules a REST API should follow:

  1. A REST API should not be dependent on any single communication protocol, though its successful mapping to a given protocol may be dependent on the availability of metadata, choice of methods, etc. …
  2. A REST API should not contain any changes to the communication protocols aside from filling-out or fixing the details of underspecified bits of standard protocols, such as HTTP’s PATCH method or Link header field. …
  3. A REST API should spend almost all of its descriptive effort in defining the media type(s) used for representing resources and driving application state, or in defining extended relation names and/or hypertext-enabled mark-up for existing standard media types. …
  4. A REST API must not define fixed resource names or hierarchies (an obvious coupling of client and server). Servers must have the freedom to control their own namespace. …
  5. A REST API should never have “typed” resources that are significant to the client. Specification authors may use resource types for describing server implementation behind the interface, but those types must be irrelevant and invisible to the client. …
  6. A REST API should be entered with no prior knowledge beyond the initial URI (bookmark) and set of standardized media types that are appropriate for the intended audience (i.e., expected to be understood by any client that might use the API). …

The way I read the full version of Fielding’s six rules, Astoria isn’t a RESTful API. Perhaps Pablo Castro would care to contest my conclusion or, for that matter, Fielding’s criteria.

ASP.NET Dynamic Data (DD)

••• Rob Conery’s ASP.NET MVC Storefront Part 23: WebForms and Dynamic Data of 10/24/2008 announces the start of a new Commerce Starter Kit v3.0 that’s uses “components and business logic based on the same components and business logic used for MVC Storefront but with a traditional WebForms UI” that will use LINQ, support full localization, and other new features described in J Sawyer‘s Commerce Starter Kit 3.0 – CSK Reprise post of the same date. The project will include an administrative site based on DD and LINQ to SQL.

You can watch this 15:00 video with Rob and J that describes the project. Support for CSK 3.0 will be part of J’s job description as a Microsoft developer evangelist.

••• Steve Naughton continues his DD posts with a question from the Dynamic Data forum in his Dynamic Data - Hiding Tables on the Default.aspx page post of 10/24/2008.

Steve Naughton’s Dynamic Data - Hiding Columns in selected PageTemplates of 10/20/2008 returns to IAutoFieldGenrators, attempts to specify the page template on which to hide columns.

SQL Server Data Services (SSDS) and Cloud Computing

••• David Robinson of the SSDS team says in his 2 Days to PDC2008!!!!!!!!!!!!! post of 10/24/2008:

We have some really super, pimped out, mack daddy, completely awesome stuff coming. Both in the teams presentations and in new features for Sprint 5. I just sent out the new features list to some internal softies for "Word Smithing" which you all should see in a few days, and the list is long and chock full o' goodies.

PS - I promise much more posting after Monday.

Promises, promises???

••• Ludwig Siegele analyzes the trend to mobile datacenters (Microsoft), virtualization (VMWare), and cloud computing (Amazon Web Services and Google App Engine) in his Where the cloud meets the ground: Data centres are quickly evolving into service factories special report for the 10/23/2008 issue of the Economist.

••• Roger Jennings reports another spurious attempt to register a trademark on “Cloud Something” in Arista Networks Claims “Cloud Networking” As Its Trademark of 10/24/2008.

••• Alan Williamson will conduct a one-day, hands-on Cloud Computing Bootcamp on 11/29/2008 in conjunction with Sys-Con’s Cloud Computing Expo at San Jose’s Fairmont Hotel. The (pricey) registration fee rises from $1,695 to $1,795 tomorrow. (List price is $1,995.)

•• Jeff Barr reports the following about Amazon EC2, Windows 2003 Server, and SQL Server 2005 in his Big Day for Amazon EC2: Production, SLA, Windows, and 4 New Capabilities post of 10/23/2008:

  • Amazon EC2 is now in full production. The beta label is gone.
  • There's now an SLA (Service Level Agreement) for EC2.
  • Microsoft Windows Server 2003 is now available in beta form on EC2.
  • Microsoft SQL Server 2005 is now available in beta form on EC2.
  • We plan to release an interactive AWS management console.
  • We plan to release new load balancing, automatic scaling, and cloud monitoring services.

It will be interesting to see whether Microsoft’s corresponding offering (or SSDS) will be price-competitive and when it will go online with an SLA.

It’s curious that Amazon is hosting non-current versions of Windows Server and SQL Server, which isn’t well-advertised on the AWS site. Perhaps Microsoft’s licensing terms were better than those for the 2008 versions.

Mary Jo Foley chimes in with Amazon battens down the hatches before Microsoft’s cloud launch next week and Werner Vogels posts Using the Cloud to build highly-efficient systems.

It wasn’t such a big day for Amazon stock: Down as much as 13% today (Thursday).

For a synopsis of pricing, see my Amazon Web Services Announces SLA Plus Windows Server and SQL Server Betas for EC2 post. That post hit Techmeme at 3:05 PM EDT

•• Jake Sorofman’s The Cloud Computing Adoption Model post of 10/23/2008 is a “context for thinking strategically about cloud computing” that’s “[l]oosely modeled after the Capability Maturity Model (CMM) from the Software Engineering Institute (SEI) at Carnegie Mellon University.” Note that CMM has been superceded by CMM-Integration (CMMI).

• Frank Gens predicts the Cloud Computing market will grow from $16 billion in 2008 to 42 billion in 2012, an annual compounded growth rate of 27% in IDC’s IT Cloud Services Forecast - 2008, 2012: A Key Driver of New Growth of 10/8/2008. IDC includes business applications, application development/deployment, system infrastructure software, storage, and servers expenditures in the estimates.

You can watch a three-minute video summary of the prediction and download slides at Cloud Computing |Preparing for the Next 20 Years of IT.

SSDS Team: Update Announcement Coming at PDC 2008 (10/20/2008)

The following message hit my inbox on 10/20/2008:

On October 27, 2008 we will be announcing, the next upgrade of SSDS at the PDC2008 conference in Los Angeles. In order to support this announcement, at that time we will update the documentation on the SSDS DevCenter site to include the new features in this upgrade. We will follow up on our PDC announcements, on the first day of the conference. …

The SSDS upgrade to be announced at PDC will be made available to you in early November.

Thank You,

The SSDS Team

Frank Gens’ IDC on “the Cloud”: Table of Contents post of 9/23/2008 offers links to recent IDC research on Cloud Computing:

SQL Server Compact (SSCE) 3.5 and Sync Services

••• Steve Lasker offers a tutorial for delivering SQL Server Compact (SSCE) with EF client applications in his Privately Deploying SQL Server Compact with the ADO.NET Entity Provider post of 10/21/2008. The highly detailed process covers SSCE installations on locked-down computers whose users don’t have Administrator accounts. (Copied from EF.)

Liam Cavanagh reports on 10/20/2008 that the updated RTM1 version of the Sync Framework download reported in last week’s LINQ and Entity Framework Posts for 10/13/2008+ item is Not an Updated Version of Microsoft Sync Framework.

Anthony Carrabino’s SQL Server 2008 Feature Pack Released post of 10/18/2008, which first appeared 10/21/2008 in the Data Platform Insider blog, notes that the Feature Pack includes SQL Server Compact SP1 and the Microsoft Sync Framework.

And, for what it’s worth, Euan Garden reports that SQL Server 2008, Reportbuilder RTMs on 10/20/2008 (but it’s not in the Feature Pack).

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

••• Aaron Skonnard delivers on 10/26/2008 two new episodes of his endpoints.tv WCF Screencast series on Channel9:

••• Mike Taulty posted on 10/24/2008 detailed code samples for the first two of the three following questions that arose at his MSDN “Roadshow Rerun” in London

  1. Can ObservableCollection<T> cope with a particular element being replaced? Not Added. Not Deleted. Replaced.
  2. How to work with lookup fields in a database and data-bind to them?
  3. How to take action when an ItemsControl creates an item and get hold of the item's UI elements?

••• John Papa’s Day of Silverlight 2 Recap post of 10/24/2008 has a link to the slide deck for his Day of Silverlight 2.0 presentation in Tampa, FL. Not surprisingly, his

3.5-hour presentation [focused] on Silverlight 2 data binding, development techniques, using it with SOAP, ASMX, WCF, REST, 3rd party services, cross domain policies, debugging tips, and ADO.NET Data Services.

The slides are quite informative but sample code would be even more so. So I’ve requested in a comment that John post the demo source.

•• Microsoft has assembled a new SOA & Business Process site that, at least so far, consists primarily of agitprop for and links to existing Microsoft products and services. Hopefully, the site will gain some developer-oriented content after PDC 2008.

Rob Conery, Scott Hanselman and Phil Haack are writing Professional ASP.NET MVC for WROX/Wiley, scheduled to hit the shelves in February 2009, according to Rob’s ASP.NET MVC DropDownList and HTML Attributes post of 10/21/2008.

Mike Ormond’s ASP.NET MVC and Scottish Developers (Demo) post of 10/20/2008 includes a link to his demo code for the recent Scottish Developers User Group meeting.

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.”