Tuesday, June 27, 2006

Generate Data-Based Web Sites With Blinq

Blinq 1.0 is Microsoft's prototype of an extension to LINQ to SQL (formerly DLinq) that auto-generates a complete data-entry and editing ASP.NET 2.0 Web site by executing a simple command-line statement.

The "Generate Data-Based Web Sites With Blinq" article from FTPOnline's ASPNET Channel and the .NETInsight newsletter describes how to obtain the necessary LINQ May 2006 CTP and Blinq 1.0 prerequisites and then autogenerate a 25-page site in less than a minute.

Blinq 1.0 is a much more sophisticated site-generation implementation than Ruby on Rails' scaffolding feature. For example, Blinq 1.0 uses ASP.NET 2.0's SiteMap and Menu server controls to provide single-click, site-wide navigation. Editing takes full advantage of DetailsView and paged GridView server controls. Blinq 1.0 also supports editing tables with composite primary keys, such as the Northwind database's Order Details table; Ruby on Rails scaffolding doesn't support composite keys.

The downloadable sample code requires the Northwind sample database running on SQL Server 2005 or SQL Express. The article also includes instructions for modifing the generated source code to repurpose the homepage and adjust the master page layout to reduce whitespace on all pages.

See the earlier "2006 Lang .NET Symposium to Expose Blinq for ASP.NET" OakLeaf post for more background on Microsoft's Blink 1.0 protoype Web-site generator. Click here for links to all FTPOnline channels.

Click here to read the June 27, 2006 issue of .NETInsight, which includes the final session lineup for VSLive! New York to be held September 10 to 13, 2006. Sessions feature data access from Microsoft's new "Data Dude" to LINQ to SQL. Other topics include ASP.NET data binding, C# methods, VB.NET, and testing. Technorati Tags: , , , , , , , , ,

Monday, June 26, 2006

Microsoft Bites the Bullet: WinFS Bites the Dust

The demise of WinFS—recounted by Quentin Clark's "WinFS Update" and "Update to the Update" posts in the WinFS team's "What's in Store" blog—shouldn't have surprised anyone. WinFS is only the latest in a chain of Microsoft's abandoned enhancements to—or replacements for—the New Technology File System (NTFS) and aborted implementations of object-relational mapping (ORM) technologies. Microsoft's Paul Vick calls them "Black Hole Projects" and provides a detailed list of their typical characteristics. I've been following—and writing about—the primrose path to the Object File System (OFS) and its successors since 1993. In a Guest Opinion titled "Is Visual Basic Ready for Client/Server Prime Time?" for the October/November 1993 issue of Fawcette Technical Publications' Visual Basic Programmer's Journal (later to become Visual Studio Magazine), I wrote:

Creating VB database front-ends by pasting together objects stored in a repository database probably will have to wait for Chicago (Windows 4.0?) or Cairo (Windows NT 4.0?) and Microsoft’s newly rumored object database for Windows NT, code-named Cumulus.

The choice of Cumulus as the codename for Windows NT's always-forthcoming OFS isn't surprising when you consider the Cirrus was the codename for Microsoft Access 1.0, which Microsoft released in November 1993 at Fall Comdex. As it turns out, Stratus probably would have been the better choice because OFS bought the farm after scud-running once too often.

OFS, RFS, Storage+ and Windows DNA

OFS morphed to the Relational File System (RFS, more commonly called Storage+) in 2000 when the successor to Windows Server 2003 was codenamed Blackcomb. Storage+, COM+, and Forms+ were to be the foundation of Windows DNA (Distributed Network/iNternet Architecture). Paul Thurott published a detailed history of OFS, RFS and Storage+, plus commentary on WinFS in his August 2005 "Windows Storage Foundation (WinFS) Preview" article. Paul's July 1999 "COM+, A Windows 2000 technology showcase" article (updated March 2000) describes Microsoft intentions for Storage+, COM+, and Forms+. Paul had this to say about Storage+:

Storage+ will do away with the NTFS file system and replace it with a new relational, object-oriented file system based on SQL Server 8.0. Expected to arrive with the next version of Business Windows (post-Windows 2000, think 2003 or 2004), Storage+ will turn the file system into a relational database, speeding searches and providing a higher level of granularity for those searches. It will also have the wonderful side-effect of finally ridding us of those limiting drive letters.

An SQL Server 2000 (8.0)-based Storage+ never appeared and there's no liklihood that future WinFS features will be derived from SQL Server 2005 (9.0). Ed Brill found SQL Server déjà vu in Bill Gates' September 2005 association of WinFS with "Katmai," the codename for SQL Server v.Next, and Steve Ballmer's December 2000 statements about WinFS and "Yukon," the code-name for the long-delayed SQL Server 2005.

One of the comments about Brill's post leads to an August 29, 2005 WinFS Team post by Peter Spiro, "the General Manager in SQL Server responsible for the WinFS team," that ends with:

A few years back Ray Ozzie came to Microsoft to speak at an internal workshop we have called WHiPS (Workshop on High Performance Systems). Ray talked about Groove. It was a pretty cool app trying to be a platform (tough to do for a small company). As we were talking after his presentation he described how he had to first build a platform on top of the operating system, which then enabled him to build the app that he had envisioned.

He said he needed storage beyond just a file system; he needed synchronization capabilities to share information between different machines/users, he needed advanced security mechanisms, he needed a way to model his particular schemas in the storage system, he needed to search on the information. So he built a richer storage system that incorporated these types of concepts and then he built the Groove app on top of his platform. His comment to me was that Microsoft should build such a platform and stop selling the same old operating system and storage capabilities that we as an industry have been polishing for 20-30 years. He felt this richer platform would create a new ecosystem that allowed a variety of new apps to be developed. He was right; and I told him we had already started on it, and that it was called WinFS.

As of June 15, 2006, Ray Ozzie became Bill Gates' replacement; and he's called Microsoft's Chief Architect.

Eight days later WinFS is dead.

Déjà vu all over again: Project Green, MBF and Object Spaces

Apropos Paul Thurott's mention of "Business Windows," how many members of the computer press and .NET-oriented book writers fell into the "Project Green" trap before Microsoft abandoned the Microsoft Business Framework (MBF) in October, 2005? My initial table of contents for Expert One-on-One Visual Basic 2005 Database Programming included an entire section devoted to ObjectSpaces, the OPath query language, and MBF. Much to my surprise ObjectSpaces and all references to MBF disappeared in Whidbey Beta 2, as I reported in my September 14, 2005 "The Language Integrated Query (LINQ) Project" post:

[Luca Bolognese, a prime mover on the ObjectSpace team, announced at Tech•Ed 2004] that ObjectSpaces had acquired a dependency on WinFS and thus was postponed to the Longhorn/Orcas timeframe. (He appeared close to tears as he made the announcement.) The dependence of the long-delayed Microsoft Business Framework (MBF) API on ObjectSpaces as its object persistence platform probably was a contributing factor to the demise of ObjectSpaces [and MBF support] in VS 2005.

Microsoft Watch's Mary Jo Foley quoted Satya Nadella, Microsoft Business Solutions corporate vice president, in her October 21, 2005 "Microsoft Scuttles Plans for Standalone Microsoft Business Framework" article:

[Nadella] said that Microsoft is planning to deliver all of the same MBF features and functionality it originally envisioned, but just in a different way.

"MBF won't ship as a separate entity. It has gotten factored into parts of our other deliverables," Nadella explained.

MBF technologies can be found in the Windows Workflow Foundation engine, the forthcoming Language Integrated Query (LINQ) project extensions to Visual Basic and C#; and the Common Data Platform (CDP) application programming interfaces; Visual Studio 2005; and "Orcas," the version of Visual Studio slated to follow Visual Studio 2005, Nadella said.

WinFS, Longhorn, and the Windows Data Platform Vision

Backing up to December 16, 2003, I wrote in my "Get a Grip on Longhorn" article for the February 2004 issue of Visual Studio Magazine:

The WinFS data model consists of Items, Relationships, and extensions. Items use an XML schema to define the metadata properties of everything that's stored in WinFS. The schema lets WinFS serialize Items as .NET objects, which you access with members of the System.Storage namespace. For example, System.Storage.Contact provides the context required to find, add, and delete Person objects, which have DisplayName, PersonalEmailAddresses, personalTelephoneNumbers, and several other predefined properties.

Relationships create joins between Item metadata values to return multiple Item types in query resultsets. For example, you can relate an Office document's Author property to a Contact Item's DisplayName property. A natural-language search returns links to matching document and contact Items. Extensions let you add new properties to an existing item's XML schema. Other WinFS features include Notifications, which let users subscribe to events raised by Item-related changes.

Synchronization between WinFS stores on multiple machines takes place through a "community folder" that's associated with groups of Items on local machines. Synchronization replicates Items between machines according to instructions contained in send-only, receive-only, or send-receive synchronization profiles. Information Agents automate actions for users based on WinFS data, rules, preferences, and contexts.

So 2-1/2 years later WinFS has gone the way of ObjectSpaces and MBF: Balkanized into Paul Flessner's Data Platform Vision, with some promised features to be integrated into SQL Server "Katmai", ADO.NET 3.0, and Visual Studio "Orcas."

Note: You can watch Jim Allchin—Microsoft's Group Vice President for Platforms—explain in an August 19, 2005 Channel9 video that "we now intend to deliver WinFS after the initial availability of Longhorn client. We continue to be committed to WinFS. It is expected to beta when Longhorn client is broadly available." Jim will have retired by the time Microsoft discovers the effect of the loss of WinFS on Vista sales.

DevX Executive Editor A. Russell Jones reported June 14, 2006 from Tech•Ed 2006:

WinFS Lives: WinFS, cut from the first version of Vista, isn't dead; it's still being improved. Shan Sinha, a Program Manager on the WinFS team, showed off the newest features, and promised a second beta later this year. WinFS wraps the tried and too-familiar NTFS file system in a relational database, providing new and revolutionary relational abilities to the Windows file system. Doing that has far-reaching implications, and presents huge technical hurdles. For example, a relational file system must manage its own indexes, backup, and recovery, and must do so both invisibly and with no human intervention (no database admin). Despite adding new and integrated file system capabilities, it must maintain file-level compatibility with earlier versions, so that existing programs don't break, and it must be able to maintain the new information and relationships across backups. From the demos though, it looks as if Microsoft has conquered the problems. In one demonstration, Shan destroyed the data on a disk sector, then walked the audience through the automatic recovery process. Very impressive. [Emphasis added.]

Peter Galli's June 27, 2006 eWeek interview with Corey Thomas, Microsoft group product manager for SQL Server, explains "Why Microsoft Pulled WinFS as a Stand-Alone Product" after three Tech•Ed 2006 presentations. Thomas adds a surfeit of spin but no mention whatsoever of Ray Ozzie.

Analysts and Bloggers Write WinFS's Obituary

Analyzing WinFS has consumed thousands of reporter-hours and untold barrels of electronic ink. Mary Jo Foley has been reporting the WinFS saga for Microsoft Watch since PDC 2003. Follow Mary Jo's WinFS breadcrumbs for the chronology of the "Rise and Fall of WinFS":

Note: You can watch Mario Juarez interview Mary Jo Foley at TechEd 2006.

Microsoft Monitor's Joe Wilcox's also has taken Microsoft to task for its WinFS peregrinations:

You also might want to check out Microsoft's Dare Obasanjo's reflections on WinFS and recent events:

Dare says in his last post cited above: "WinFS merging with Object Spaces is my canonical example of scope creep at Microsoft." The link is to Franz Brouma's May 22, 2004 post, which includes a comment from Microsoft Distinguished Engineer Tim Brookins. Tim had posted "MBF Joins the Longhorn Wave" on May 10, 2004 to explain why MBF would not be included in the VS 2005 (Whidbey) beta, as reported in InformationWeek's "Microsoft's Business Framework Gets Pushed Back" story of May 5, 2004 and CRN's "Microsoft Business Framework To Wait For Longhorn, Orcas" same-date article by Barbara Darrow.

InfoWorld's "Strategic Developer" columnist and chief blogger Jon Udell emphasizes the lack of support for Internet-based social networking in Cairo and WinFS, but doesn't buy analysts "WinFS is dead" pronoucements:

InfoWorld's "Enterprise Windows" columnist Oliver Rist entered the fray on June 29, 2006 with his "Microsoft kills the WinFS dream" article that's subtitled "Server admins' hopes fade as better Windows file system management goes the way of the dodo."

The DaVinci Code Effect: WinFS as Empty Holy Grail

Finally, the Seattle Post-Intelligencer's Todd Bishop quotes Bill Gates at PDC 2003 in his "WinFS: Microsoft's 'Holy Grail' file system still elusive" article:

WinFS -- this is unified storage. Some of you here have heard me talk about unified storage for more than a decade. The idea of taking the XML flexibility, database technology, getting it into the file system: that's been a Holy Grail for me for quite some time. And here it is." -- Bill Gates, October 2003.

As Todd Bishop observes, "Well, not yet, at least as a part of Windows."

[Updated June 27, 28, and 29, 2006. Minor changes and links added on July 1, July 5, and October 20, 2006.]

Technorati: , , , , , , , , , , , , , , , , , ,

Tuesday, June 20, 2006

Program SQL Server 2005’s Service Broker

SQL Server 2005’s versatile Service Broker infrastructure enables asynchronous messaging between databases and server instances, handles database server event notifications, responds to database change notifications, and sends Database Mail. This article from Visual Studio Magazine's June 2006 issue and FTPOnline's .NETInsight Newsletter for June 20, 2006 shows you how to program Service Broker with T-SQL commands.

The article’s sample code includes SQL Server Management Studio (SSMS) projects that demonstrate simple and complex SSB applications, Query Notifications, Event Notifications, and Database Mail. You need SQL Server 2005 Developer Edition, or higher, to run most sample projects because SQL Server Express (SSX) includes the SSB client components only. SSX also lacks support for Database Mail. The SSB client receives messages from or sends messages to or through higher-level SQL Server 2005 editions’ SSB only. However, SSX does support Query Notifications.

Click here to read the article and here to read the June 20, 2006 issue of .NETInsight, which includes the final session lineup for VSLive! New York to be held September 10 to 13, 2006. Sessions feature data access from Microsoft's new "Data Dude" to DLinq. Other topics include ASP.NET data binding, C# methods, VB.NET, and testing.

Technorati: , , , , , , , ,

Monday, June 19, 2006

ADO.NET 3.0 Entity Framework Docs Redux

Subsequent to Tech•Ed 2006's DAT304, "Next Generation Data Access in .NET Applications with ADO.NET vNext," presentation by the ADO.NET team's Pablo Castro, these two documents about ADO.NET vNext and the Entity Framework reemerged on June 17, 2006 from 404 oblivion:

Both had disappeared the day after their initial publication on May 10, 2006, as I noted in my "ADO.NET 3.0 Entity Framework Ephemera" post. Thanks to Erwyn Van Der Meer, Steve Eichert, and Fabrice Marguerie for reporting their reappearance. All three LINQ bloggers have posted comments about or analyses of these documents, which cover (per Fabrice):
  • The Entity Data Model
  • Entity SQL (eSQL)
  • LINQ to Entities
  • LINQ to DataSets
  • LINQ to SQL (previously DLinq)
According to Erwyn's recollection of the originals, which I didn't see, there was no mention of LINQ, DLinq, or XLinq. The reincarnated white papers now pay lip-service to LINQ. Here's Pablo Castro's description of his TechEd presentation:
ADO.NET 1.0 presented a break-through in data-access technologies with explicit support for disconnected scenarios and a lightweight, high-performance provider model. In ADO.NET 2.0, the API was extended to enable more scenarios, perform faster and scale better. In this session we discuss what comes next. The next version of ADO.NET has both evolutionary aspects and serious innovations in it; from language-integrated query (LINQ) to object services to mapping, ADO.NET will bring simplification and great expression power to the Microsoft data platform enabling construction of sophisticated business applications and tools with less effort and more functionality.

Kent Tegels' blog post about Dave Campbell's DAT101 presentation, "Microsoft's Data Platform Vision," indicate it was at least as vague as its description:

Are you trying to anticipate upcoming trends shaping the industry? What are the secrets to success for the next decade in data management? In this session, Dave Campbell details Microsoft's data platform vision, as well as provides a clear roadmap to help you meet the demands created by the next data explosion and the next generation of data-driven applications.

However, Pablo Castro did demonstrate DLinq.

Luca Bolognese, LINQ's lead program manager, delivered DEV215, "Visual Studio: The .NET Language Integrated Query Framework Overview" with this description:

Modern applications operate on data in several different forms: Relational tables, XML documents, and in-memory objects. Each of these domains can have profound differences in semantics, data types, and capabilities, and much of the complexity in today's applications is the result of these mismatches. The Orcas release of Visual Studio aims to unify the programming models through language integrated query (LINQ) capabilities in C# and Visual Basic, a strongly typed data access framework, and an innovative API for manipulating and querying XML.

It's encouraging to see the ASP.NET team adopting LINQ technology in their Blinq prototype for "scaffolding" complete Web sites from the metadata of an SQL Server [Express] database. Technorati Tags: , , , , , , , , , , , , , ,

2006 Lang .NET Symposium to Expose Blinq for ASP.NET

Blinq—the prototype of a new Microsoft LINQ-based tool for autogenerating data-intensive ASP.NET Websites—will be one of the topics covered at Microsoft's 2006 Lang .NET Programming Languages And Compilers Symposium to be held on the Redmond campus July 31 to August 2, 2006. According to Polita Paulus—the developer of ASP.NET 2.0's GridView, DetailsView and FormView controls who's presenting a paper on Blinq at Lang .NET:

Blinq is a tool for generating ASP.NET websites for displaying, creating, and manipulating data based on database schema. Just point Blinq at a SQL database and it will create a website with pages that display sorted and paged data, allow you to update or delete records, create new records, and follow relationships between tables in your database. You don't need to write SQL queries to use Blinq; LINQ will generate optimized queries for you that request just the data you want to show. Blinq uses the May LINQ Community Tech Preview to access data. The code Blinq creates is simple and easy to customize to fit your needs.

Polita announced the availability of the Blinq 1.0 code download, which "prototypes functionality we are building into our next version of ASP.NET," in a June 15, 2006 "Building a data website? Try Blinq!" post in the ASP.NET forum. You can get more details on Blinq at the ASP.NET site's Sandbox project's forum and download the code here. Polita also has started a new Blinq Preview Forum for support and feedback.

The following screen capture shows the default home page for a Blinq 1.0 Website autogenerated from the Northwind sample database with minor customizing edits applied to the DefaultStyles.css stylesheet (click the image to display the full-size version).

Each table generates TableName.aspx, TableNameDetails.aspx, and NewTableName.aspx files. The Menu control to the left has buttons that open a DetailsView to insert a new record in the table. The screen capture below shows NewCustomer.aspx with data for a new Customers record.

Clicking a menu button opens a GridView for the selected table. The Customers.aspx page below displays the added BOGUS customer record.

Stay tuned Click here for a link to a forthcoming new technical article about Blinq from FTPOnline's .NETInsight newsletter.

More About 2006 Lang .NET Microsoft's Thottam Sriram is the conference chair and Erik Meijer is the program chair for 2006 Lang .NET, which immediately follows OSCON (the O'Reilly Open Source Convention) that's scheduled for July 24 to 28 in Portland, OR. (Note that the tentative dates in my May 17 update to the "Erik Meijer Promotes LINQ at Expo-C 2006" post have changed from August 1 to 3 to Monday, July 31, to Wednesday, August 1, 2006.)

Thottam is the "new program manager who will be owning Reflection, Reflection Emit, CodeDom, etc." A list of OakLeaf blog posts about Erik Meijer, which include links to his other recent LINQ presentatrions, is here. Of course LINQ is one of the Symposium's "areas of interest."

Noted LINQ luminaries presenting .NET 3.0 and Orcas papers are Anders Hejlsberg, "Language Integrated Query (LINQ) and C# 3.0" and Paul Vick, "Visual Basic: Where are we going, where have we been?"

Other highlights are Mike Barnett's "Spec#: Why Every Language Should (Will) Have Contracts" presentation, Gary Flake's "How I Learned to Stop Worrying and Love the Imminent Internet Singularity", and John Gough from the Queensland University of Technology "Dealing with Ruby on the CLR."

Technorati Tags: , , , , , , , ,

Tuesday, June 13, 2006

Tech•Ed 2006—FTPOnline Special Reports

Fawcette Technical Publications' .NETInsight newsletters for June 12 and 13, 2006 brought readers Tech•Ed 2006 Special Issues. Here are links to the newsletters together with their article titles: Day 1—June 12, 2006

  • New MS Forefront Tools to Improve Security by Peter Varhol
  • New VSTS Tool Makes Database Dev Easier by Jeff Levinson
  • Get Ready for WSS v3 and MOSS 2007 by Roger Jennings
  • Architecture Takes Center Stage by Patrick Meader
  • Prepare for WPF Properly by Billy Hollis
  • Taking Stock of SQL Server by Roger Jennings
  • Delve Into LINQ and Visual Basic by Roger Jennings

Day 2—June 13, 2006

  • Realize New Functionality in .NET 3.0 by Rockford Lhotka
  • New Technology Offers UI Improvements by Billy Hollis
  • SQL Server Everywhere: A New Lightweight Database by Roger Jennings
  • New Features in SQL Server 2005 SP-1 by Roger Jennings
  • Latest Tools for Debugging, Refactoring by VSM editors
  • Validate Business Objects Declaratively by Steve Michelotti
The SQL Server Everywhere article's deck includes a link to download the just-released June 2006 Community Technical Preview (CTP) of SQL Server Everywhere. Technorati: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Monday, June 12, 2006

Get Ready for WSS v3 and MOSS 2007

Windows SharePoint Services version 3 (WSS v3) delivers new collaboration and workflow capabilities, while Microsoft Office SharePoint Server 2007 (MOSS 2007) extends WSS v3 with enterprise portal and content management features. Read my "Get Ready for WSS v3 and MOSS 2007" article from Fawcette Technical Publications' .NETInsight Tech•Ed 2006 Special Report for June 12, 2006 (requires free registration). The article provides brief descriptions of the most important new features of WSS v3 and MOSS 2007, step by step instructions for exporting an Access 2007 table to a MOSS 2007 list, a VS 2003 project that displays and updates WSS v3 lists in a DataGrid (requires free registration), and 20+ links to resources for these new SharePoint technologies. Technorati Tags: , , , , , , ,

Thursday, June 01, 2006

Jon Udell Interview with Anders Hejlsberg, Part II

This 50-minute screen cast is a continuation of the Anders Hejlsberg interview by InfoWorld's Jon Udell, which I described in my May 13, 2006 post, "Jon Udell Interviews Anders Hejlsberg about the LINQ May 2006 CTP." Jon's "The Screening Room #5: LINQ" post of May 31, 2006 describes the topics covered:

[N]ew join syntax, the DL[inq] visual mapper, adaptation of stored procedures and user-defined functions to LINQ, an experimental approach to transforming XML into modifiable .NET code, and dynamic construction of expression trees.
The Visual Basic team's Paul Vick joins Anders later in the segment. The screencast includes live demonstrations in Flash 8.0, Windows Media and QuickTime formats. Technorati Tags: , , , , , , ,