Showing posts with label SaaS. Show all posts
Showing posts with label SaaS. Show all posts

Friday, January 15, 2010

Private Azure Clouds Float the $250 Million HP/Microsoft Agreement of 1/13/2010

Microsoft’s Public Relations Team announced a New HP and Microsoft Agreement to Simplify Technology Environments in an IT Infrastructure Spotlight of 1/13/2010.

HP and Microsoft Corp. today announced an agreement to invest $250 million over the next three years to significantly simplify technology environments for businesses of all sizes. This agreement represents the industry’s most comprehensive technology stack integration to date — from infrastructure to application — and is intended to substantially improve the customer experience for developing, deploying and managing IT environments.

The press release features video segments by Microsoft and HP execs, links to related articles and blog posts, and featured tweets. The designated Twitter hashtag for the announcement is #HPMSFT.

When I first heard about the HPMSFT agreement, I posted the following tweet:

Sounds to me like #HPMSFT will deliver the long-denied but recently-promised #Azure private cloud. MSFT's early excuse was non-std. hardware [8:45 AM Jan 13th from web].

Endorsing an Azure-compatible hardware/software package that emulates Microsoft’s data center infrastructure lets Microsoft play both sides of the public/private cloud controversy. The CIO can tell the CEO and board: “If hosting our applications in Microsoft Data Centers doesn’t work out, we can buy a fully compatible infrastructure and host them ourselves.” The solution doesn’t solve vendor lock-in to Microsoft software, but it does solve the locked in to the Azure cloud issue.

Tim Anderson: Steve Ballmer and the “Private Cloud Version of Windows Azure”

Tim Anderson’s New HP and Microsoft agreement commits $50 million less than similar 2006 deal post of 1/15/2010 quotes Steve Ballmer’s answer to the question: “[W]hat level of cloud focus was in this new partnership?”

The fact that our two companies are very directed at the cloud is the driving force behind this deal at this time. The cloud really means a modern architecture for how you build and deploy applications. If you build and deploy them to our service that we operate that’s called Windows Azure. If a customer deploys them inside their own data centre or some other hosted environment, they need a stack on which to build, hardware software and services, that instances the same application model that we’ll have on Windows Azure. I think of it as the private cloud version of Windows Azure.

That thing is going to be an integrated stack from the hardware, the virtualization layer, the management layer and the app model. It’s on that that we are focusing the technical collaboration here … we at Microsoft need to evangelize that same application model whether you choose to host in the the cloud or on your own premises. So in a sense this is entirely cloud motivated.

Carl Brooks: The HP Private Cloud Lineup

Carl Brooks goes into more detail from HP about the private cloud aspects of the agreement in his Microsoft, HP link arms in $250 million cloud kumbaya post of 1/14/2010 to SearchCloudComputing.com:

HP is already providing server hardware for Windows Azure, Microsoft's Platform as a Service business, and the one hundred and fifteen billion-dollar firm said that HP Private Cloud products created under this new agreement will feature built-in integration with Azure services, giving Microsoft a captive audience for its new platform.

"This approach enables customers to integrate private or public cloud computing models as their business requires, and in the future, services built on Microsoft Windows Azure," said an HP spokesperson.

HP said its private cloud offering would be based around Microsoft's "Dynamic Data Center" initiative, and it will also come with a portfolio of services for the integrated HP server/Microsoft operating system bundles called Private Cloud Implementation Services.

The following new products will support the HP Private Cloud with Microsoft:

  • Microsoft Data Center Virtualization Strategy
  • Microsoft Data Center Discovery and Capacity Planning
  • Data Center Virtualization Design for Microsoft Environment
  • Data Center Virtualization Transition for Microsoft Environment
  • Data Center Virtualization Implementation for Microsoft

Private Cloud Implementation Services will be announced in 2010 to complement currently unannounced hardware and software bundles from the two IT giants. The firms are calling the move "infrastructure-to-application" and claim it represents the industry's most comprehensive technology stack integration to date, although no technical details of any kind have been released. …

Judith Hurwitz Analyzes Previous Partnerships of Today’s Cloud-Computing Players

Judith’s The DNA of the Cloud Power Partnerships post of 1/15/2010 begins:

I have been thinking  a lot about the new alliances forming around cloud computing over the past couple of months.  The most important of these moves are EMC,Cisco, and VMware, HP and Microsoft’s announced collaboration, and of course, Oracle’s planned acquisition of Sun.  Now, let’s add IBM’s cloud strategy into the mix which has a very different complexion from its competitors. And, of course, my discussion of the cloud power struggle wouldn’t be complete without adding in the insurgents — Google and Amazon. 

While it is tempting to want to portray this power grab by all of the above as something brand new — it isn’t.  It is a replay of well-worn patterns that we have seen in the computer industry for the past several decades. Yes, I am old enough to have been around for all of these power shifts. So, I’d like to point out what the DNA of this power struggle looks like for the cloud and how we might see history repeating itself in the coming year.  So, here is a sample of how high profile partnerships have fared over the past few decades. While the past can never accurately predict the future, it does provide some interesting insights. …

She continues by revisiting partnerships between:

    • HP an Cisco in 1997 …
    • Cisco and IBM in 2004 …
    • HP and BEA in 1999 …

And concludes:

… The bottom line is that cloud computing is becoming more than a passing fad — it is the future of how computing will change in the coming decades. Because of this reality, partnerships are changing and will continue to change. So, I suspect that the pronouncements of strategic, critical and sustainable partnerships may or may not be worth the paper or compute cycles that created them. But the reality is that the power struggle for cloud dominance is on. It will not leave anything untouched. It will envelop hardware, software, networking, and services. No one can predict exactly what will happen, but the way these companies have acted in the past and the present give us clues to a chaotic and predictable future.

How Does Dell Fit into the Picture?

Charles Babcock reports Dell's Data Center Unit Racking Up Cloud Sales in this 1/14/2010 InformationWeek article:

Over the past two years Dell has become a server supplier to search engine providers Yahoo, Microsoft's Bing and Ask.com and other cloud suppliers, such as Amazon Web Services, as these companies built out their data centers on the Internet.

Dell's Data Center Solutions unit, has only 20 customers, but would be the third largest supplier of x86 servers in the U.S. if it were split out from Dell, said Forrest Norrod, the unit's VP and general manager, in an interview. The only companies ahead it in shipping Intel or AMD servers would be HP and Dell itself.

When the unit was established in mid-2006, those 20 customers represented 5% of the x86 server market. Today, they consume more than 10% of x86 servers produced, Norrod said at Dell headquarters in Round Rock, Texas, Tuesday. Those customers enlist suppliers in addition to Dell, but Dell has experience in producing 30-40 types of servers that have been used to build out the massively scaled, "cloud" data centers. …

In Norrod's opinion, the action won't stop there. "The private cloud could proliferate as well," he predicted. When an enterprise starts to recast its data center on the pattern of the public cloud, that's sometimes called a "private cloud" and features clusters of virtualized x86 servers, managed through a virtualization management console.

Asked to further define private cloud, Norrod said in jest, "It's a magic panacea that solves all problems." Even those interested in the cloud-style of computing "don't see a wholesale migration to the cloud," whether public or private, he said. But he added that there was a clear interest in running Windows or Linux applications, "whose data can't be exported to the public cloud for reasons of security or compliance, inside the enterprise in a private cloud."

The Private versus Public Cloud Controversy

A controversy as to wether or not private clouds exist or should exist has been raging for the past few months. Here are a few useful references on the issue:

Gartner Says IT Organisations Will Spend More Money on Private Cloud Computing Investments Than on Offerings From Public Cloud Providers Through 2012 in this 12/1/2009 press release:

Despite the economies of scale offered by public cloud providers, private cloud services will prevail for the foreseeable future while public cloud offerings mature, according to Gartner, Inc. Through 2012, IT organizations will spend more money on private cloud computing investments than on offerings from public cloud providers.

Gartner defines public cloud computing as a style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service to external customers using Internet technologies. Private cloud computing is defined as a style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service to internal customers using Internet technologies.

Gartner Highlights Key Predictions for IT Organizations and Users in 2010 and Beyond in a 1/13/2010 press release: By 2012, 20 percent of businesses will own no IT assets, which controverts the prevalence of private clouds, is the first of several predictions:

Several interrelated trends are driving the movement toward decreased IT hardware assets, such as virtualization, cloud-enabled services, and employees running personal desktops and notebook systems on corporate networks.

The need for computing hardware, either in a data center or on an employee's desk, will not go away. However, if the ownership of hardware shifts to third parties, then there will be major shifts throughout every facet of the IT hardware industry. For example, enterprise IT budgets will either be shrunk or reallocated to more-strategic projects; enterprise IT staff will either be reduced or reskilled to meet new requirements, and/or hardware distribution will have to change radically to meet the requirements of the new IT hardware buying points.

Alistair Kroll asserts Private Clouds Are A Fix, Not The Future in this 1/13/2010 article for InformationWeek:

Over the last few months, there's been growing discussion over private and hybrid clouds. At first blush, a "private cloud" sounds like an oxymoron, particularly if you subscribe to Amazon CTO Werner Vogels' definition of cloud computing: "a style of computing where you have massively scalable IT-related capabilities that are available as a service, over the Internet, to multiple customers."

There's a massive difference between clouds as a business model--outsourced, third-party computing on demand--and clouds as a set of technologies (virtualization, automation, and so on). Vendors who blur the distinction between the two in order to jump on a bandwagon make me mad. We had a vigorous debate on the subject at Interop New York, and I'm sure it will be front and center at Cloud Connect in March.

So I'm going to try and set out why I think the distinction is important, and not just a semantic one. That way I can stop interrupting people and going off on a rant every time the subject comes up. …

Phil Wainwright asks When will the crowd turn against private cloud? in his 1/14/2010 post to ZDNet’s Software as Service blog:

Following on from yesterday’s Forecasting Fisticuffs webcast (recording here) with fellow Enterprise Irregular bloggers Vinnie Mirchandani and Dennis Howlett alongside Appirio’s Narinder Singh, I tweeted a provocative prediction for 2010 that “Private clouds will be discredited by year end”. There followed a flurry of counter-tweets, most notably a challenge from Cloudscaling CEO Randy Bias to put my money where my mouth is.

That required a bit more clarity about what we’d actually be betting on, and the continuing conversation quickly showed up the constraints of Twitter’s 140-character limit. I resolved to dive into some of the underlying concepts in a blog post here today.

First of all, ‘discredited’. As I elaborated to SearchCloudComputing’s Carl Brooks, that means “No one likes using the phrase any more” — I was aiming to capture something halfway between the repulsion and embarassment people used to feel about, respectively, application service providers and intranets. People will still be using private clouds, but I believe they’ll feel increasingly ashamed or nervous of admitting it in public, except to fellow-users. The rest of the world will have moved on. I’m inclined to agree with Phil Morris that my timing was probably over-ambitious. Year-end 2011 or mid-2012 would have been a lot safer but hey, I wanted to be provocative. And I truly believe sentiment will have started shifting before the year is out. …

Sam Johnston’s Cloud or Not? post of 10/13/2009 includes this flow chart that lets you determine whether you’re implementing cloud computing:

Krishnan Subramanian disdains the controversy in his Public vs Private Cloud Brouhaha: My Take post of 8/24/2009 to the Cloud Ave. blog:

The blogosphere and Twitterverse is full of debates about whether private clouds are actually clouds or not. I have had my own share of debates on the Twitter and I thought I will bring it over to Cloud Ave for further enlightenment. For a change, I am going to follow the Redmonk style and go with a Q&A approach.

1) Do you want to make any disclosures?

Yes. I used to be an unabashed proponent of “only public clouds” theme. I have advocated this in this blog, in comments on other blogs and Twitter. I used to argue in favor of the same thing I am going to oppose in this post.

14) I am done listening to your Obama kind of professorial speech. Can’t you just wind up this post?

Will do. Whether it is a private cloud or IT Management 2.0 or public cloud or xxxxxxx, it is just a terminology to denote a certain thing. Why fight over names? Why can’t we live and let live? Why can’t US coexist with Iran and Cuba? Why fight over stuff that means nothing in the big picture? This reminds me of the rhetoric of FSF fanatics against Open Source licenses. This also reminds me of the whines of certain open source zealots against GPL. Why do we have to take a binary approach and say “either you are with us or against us”? Why can’t GPL and other open source licenses coexist? Why should one’s existence means “death to the other one”? It is just plain silly to fight over such trivial things like names and terminologies.

Let me just say one word before I end this post. Enough!!

¡Basta!

Sunday, March 29, 2009

Windows Azure and Cloud Computing Posts for 3/23/2009+

Windows Azure, Azure Data Services, SQL Data Services and related cloud computing topics now appear in this weekly series.

Update 3/28/2008 and 3/29/2009: More on the Manifesto, other additions
• Update 3/26/2009 and 3/27/2009: Cloud Computing Manifesto flap (see the Azure Infrastructure section), other Additions

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

Azure Blob, Table and Queue Services

Mike Amundsen’s Importing SQL Data Services (SDS) Data into Azure Table Storage (ATS) article of 3/29/2009 shows you “the steps to export your data from the current SDS storage system and import that same data into the Azure Table Storage system.”

Steve Marx (@smarx) confirmed on 3/24/209 in a reply to my Tweet: “[S]econdary indexes are still planned in Windows Azure tables.” I was concerned that SDS’s move to the relational model would redirect development resources from Azure tables to enabling more SDS features.

Phani Raju continues his series on the ADO.NET Data Services upgrade with ADO.NET Data Services Friendly Feeds , Mapping CLR Types of 3/20/2009 which includes “some samples of how to map your entity properties to Atom/custom markup in the atom:entry element.”

Mike Amundsen’s REST-like MOVE, COPY : "This one isn't easy." post of 3/19/2009 analyzes Roy T. Fielding’s approach to the problem:

… Fielding's approach is truly about representating state. second, this commitment to keeping REST all about communicating state (the very thing that makes the REST style so effective over widely-distributed, heterogeneous networks) makes actions such as COPY and MOVE so much harder to model.

SQL Data Services (SDS)

Jeff Currier’s SDS coding examples – Part 1 (C# & ADO.NET) post of 3/29/2009 shows an example of using ADO.NET’s SqlClient class to connect to an SDS user database with HTTPS, add a tbl_Person table and INSERT four rows with T-SQL. Jeff explains that user databases are “where your data resides.” SDS introduces the concept of a logical master database, which stores the metadata for all your user databases in a specified geolocation.

Jeff’s SDS Java JDBC examples performs the same operations with Java 1.6, NetBeans as the editor, and the latest JDBC driver for SQL Server. Unless you’ve been granted access to the new SDS configuration, you can’t execute either code sample.

James Hamilton’s Cloud Computing Economies of Scale post of 3/28/2009 includes a summary of his keynote, Cloud Computing Economies of Scale, presented at the Self Managing Database Systems workshop, which is part of the International Conference on Data Engineering in Shanghai. Much of James’s session applies to SDS much more than to Amazon EC2. 

James’ follow-up Grand Challenges in Database Self-Management post of 3/29/2009 covers the Self Managing Database Systems closing panel titled Grand Challenges in Database Self-Management which was tasked with “identify[ing] one substantial open problem related to self-managing databases - something that people interested in this area should be working on.  Feel free to define "database" broadly.” James’s slides for the panel discussion, which are interesting in the context of new SDS, are here.

Nigel Ellis provides a sample code snipped for Accessing SDS From PHP in this 3/27/2009 post and adds:

I’ve just returned from MIX2009 where I announced our new relational service in my What's New with SQL Data Services talk.   You can watch the full video and download the slides from here.

During my talk, I demonstrated running an application on Windows Azure using PHP to interact with a database hosted in our new relational SQL data service. I used the unified ODBC support built in to PHP to interact with SDS.

Jamie Thomson’s SQL Data Services and Entity-Attribute-Value models post of 3/12/2009 takes issue with Jeffrey Schwartz’s question and Niraj Nagrani’s answer in Jeff’s UPDATED: Microsoft Exec Explains SDS About-Face article for Visual Studio Magazine.

My More Confusion about Relational SQL Data Services and the Entity-Attribute-Value Data Model post of 3/28/2009 contends that SDS (and its predecessor, SQL Server Data Services) were based on the EAV data model. Although it would be possible for the SDS team to implement an EAV version, Azure Tables use the EAV data model and will have much greater scale-out capabilities than SDS v1, which will be limited to “departmental” size databases. See my post for more details.

Patric McElroy’s Mix ’09 Update #2 of 3/20/2009 reviews Nigel Ellis’ session on SDS: What’s New in Microsoft SQL Data Services (MIX09-T06F) with concentration on audience interests as represented by end-of-session questions. I was surprised that no one asked about server-side encryption for SDS’s new relational tables (see How Much Customer Demand Does the SDS Team Need to Get Encryption in SDS V1?)

Lev Novik of the SDS Team explains Accessing the New Relational SDS with REST with SQL Server Data Services in this 3/20/2009 post. Of course, you’ll have to wait until May 2009 for a chance to join a limited, invitational SDS CTP or later for a public CTP.

.NET Services: Access Control, Service Bus and Workflow

Clemens Vasters writes a detailed essay on the “.NET Service Bus Naming system [a]s a forest of (theoretically) infinite-depth, federated naming trees” in his Azure: Microsoft .NET Service Bus post of 10/27/2008. Although his post is about about five months old, it provides developers a great introduction to why the .NET Service Bus is an important adjunct to the Azure Services Platform.

Thanks to @DotNetServices for the heads up.

• Aaron Skonnard’s CLOUD COMPUTING: Building Distributed Applications with .NET Services article from MSDN Magazine’s May 2009 issue is available. It covers:

    • Understanding .NET Services
    • Configuring the .NET Access Control Service
    • Communicating Through the .NET Service Bus
    • Building a cloud workflow

His DevWeek 2009 – it’s a wrap post of 3/26/2009 includes a link to the demos from his WCF, REST, ADO.NET Data Services, .NET 4.0, and Dublin breakout sessions.

Mike Taulty climbs on the Azure bus with Windows Azure - .NET Services and the Service Bus of 3/27/2009. Mike writes:

[O]ne thing that I definitely picked up at DevWeek is that I need to take a bunch more interest in what falls into that category of Microsoft .NET Services, namely;

  • Access Control
  • Service Bus
  • Workflow Services

so that’s been pushed onto my stack marked “TO DO” ( along with a tonne of other stuff :-) ).

Mikes posts have a history of technical sophistication and accessible tutoring. I’m looking forward to his Azure posts.

• Justin Smith explains “a new experimental client API (TokenClient) for interacting with the Access Control Service (ACS)” in his TokenClient (Mix) introduction post of 3/24/2009. Justin writes:

The purpose of this API is to simplify the developer interaction with the ACS Security Token Service. It still uses WS-Trust on the wire, but restricts the WS-Trust options to what I believe to be the bare minimum.

Scott Watermasysk points out in his .Net Service Bus Queues post of 3/25/2009 that Clemens Vasters announced at MIX09 that .NET Services will gain RESTful Service Bus Queues in a future release. Get more details in Clemens’ Connecting Applications across Networks with Microsoft .NET Services session starting at 00:36:18.

The .NET Services Team’s .NET Services March 2009 CTP Breaking Changes Pre-Announcement post of 3/20/2009 provides early warning of breaking changes to all three of the the .NET Services March 2009 CTP’s features.

Vittorio Bertocci finally posts A visual tour of the .NET Access Control service, part 2: fun with scopes and issuers on 3/17/2009 after returning from Belgium’s TechDays. Vito’s first installment of the series was A visual tour of the .NET Access Control service via Azure Services Management Console of 1/08/2009.

Live Windows Azure Apps, Tools and Test Harnesses

David Pallman upgrades his Azure Storage Explorer with the following new features as described in his Azure Storage Explorer 2.0 Now Available post of 3/28/2009:

1. New WPF-based UI with Outlook-style navigation and more polish.
2. Support for multiple storage projects, and the ability to configure projects directly in the tool instead of forcing you to edit the configuration file.
3. Ability to view pictures in blob storage as images.

Binaries and source code are downloadable from CodePlex.

• Jon Udell’s elmcity+azure project is live in Azure at http://elmcity.cloudapp.net/ on 3/27/2009 displaying events for Keene, NH; Ann Arbor, MI; Huntington, WV; and Baltimore, MD. 

• Mike Amundsen promises to post examples of an SDS to Azure Utility (kinda) this weekend.

David Pallman’s Azure Application Monitor now on CodePlex post of 3/25/2009 describes his tracking application for Azure-hosted services that he posted to CodePlex. David writes:

Azure Application Monitor has 2 parts, a library and a monitoring application. You use the library to instrument your app to capture process information to cloud storage. You use the monitoring application to view that information.

Instrumenting your apps is very easy. Add a reference to the AzureMonitorLib assembly and call the AzureMonitor.Start static method in your initialization code, providing an application name and a role name. That will cause a background thread to run, periodically capturing process information and writing it to cloud storage.

Gus Perez announces Windows Azure Tools and Live Framework Tools Refreshed on 3/20/2009. The refresh applies to the March 2009 CTP of Azure and Live Framework tools. Gus writes:

We’ve just refreshed the MIX releases of the Windows Azure Tools and the Live Framework Tools. The updated versions address an issue that would cause Visual Studio to close unexpectedly if run on specific language editions of Windows (e.g., German). In addition, the Windows Azure Tools refresh includes a fix that allows targeting a different instance of SQL Server other than SQL Server Express.

There’s no reason to upgrade to the new versions if you’re not affected by these issues but we felt they were worth addressing for those who have encountered them.

These updates address the issues described in Jim’s post and Danny’s post.

Azure Infrastructure

James Urquhart’s CCIF pulls out of the Open Cloud Manifesto post of 3/29/2009 observes:

In a post to the Cloud Computing Interoperability Forum …, the original organizers of that group--Reuven Cohen, Sam Charrington, Jesse Silver, and David Nielsen--have announced that the CCIF will no longer be a signatory of the controversial Open Cloud Manifesto to be presented Monday.

Gregg Ness makes the case for network automation in his Bringing Cloud Computing Down to Earth essay of 3/29/2009, which begins:

Whether you’re a small business considering cloud services or an enterprise contemplating public or private cloud services, it pays to understand some of the technical challenges and players likely to have a significant impact on the availability, security and costs of those services. Cloud computing is a game changer, and it may also pay to know who could win or lose as IT services are decoupled from specialized hardware in specific locations.

And concludes with:

As Cisco, Microsoft, VMware, Juniper, IBM and Sun place their bets in various forms of partnership or collaboration it seems clear that whoever offers the most dynamic infrastructure with the most effective security and greatest capacity will have a strategic advantage selling to large enterprises and service providers. That advantage could put incredible pressures on those who have yet to articulate and deliver on the new vision.

My experience with the three major player in the IaaS space shows Microsoft to have the most dynamic infrastructure. Whether Azure is “The Triple Play” with security and capacity remains to be seen.

Jimmy Blake urges caution when selecting an SaaS vendor in his Beware reading the Cloud menu right to left post of 3/29/2009 and quotes Salesforce’s CFO, Graham Smith:

Graham Smith predicted that the global economic crisis may result in lower prices for Software-as-a-Service applications.  At the same time Smith predicted that traditional on-premise software vendors would need to cut more tha[n] Sofware-as-a-Service mode and that the economic crisis is actually driving some customers to adopt a cloud-based model.

James Urquhart’s Cloud Computing: What we learned from Manifestogate post of 3/28/2009 provides a reasoned critique of the “Open Cloud Computing Manifesto” (see below). James points are:

  1. It's an opinion piece, not a standards proposal.
  2. Those that have publicly stated that they won't sign have the most to lose.
  3. It's probably a bad idea to release even an industry opinion piece without public commentary.
  4. It's what follows that is important here.

James agrees with me when he says in his conclusion:

I'm not convinced that a top-down formal standards approach will do anything other than repeat the mixed success of the WS-* efforts to date.

Richard Waters brings the Open Cloud Computing Manifesto to the mainstream in his Tech rivals in cloud computing clash article of 3/27/2009 for the Financial Times. Waters’ lede:

Microsoft and Amazon.com have clashed with IBM and a group of other leading technology companies over an attempt to set some broad technology principles for the coming era of “cloud computing”.

The unusual public spat points to a deeper struggle under way between some of the world’s biggest technology concerns as they try to position themselves for what is expected to be the next big thing in the tech world.

George Reese hits the nail on the head in his The Varieties of Openness Worth Wanting in the Cloud post of 3/27/2009 to the O’Reilly Radar blog. Here’s George’s list:

  1. We want a clear path to business continuity planning.
  2. We want the freedom to use the tools that work for us, not the ones a vendor mandates.
  3. We want the freedom to use our data as we see fit.

which I think is a great start.

Jimmy Blake’s The cloud is the start of a journey, not the end post of 3/18/2009 makes the point that a “positive benefit of cloud computing” is:

If business processes are flawed, the move to Software-as-a-Service changes the focus from implementing the plumbing to solving the business problem.  Businesses have now recognised the necessity to move from being IT-led to being business-led, hence the popularity of business-focused IT frameworks like ITIL and COBIT.

• RSA, The Security Division of EMC, posted a reprint of its detailed The Role of Security in Trustworthy Cloud Computing white paper on 3/27/2009. The deck of the Overview reads:

Public cloud computing introduces new stakeholders into the security equation and loosens IT's control.

They aren’t kidding.

Ben KepesTelcos and SaaS – An End to End SLA? post of 3/27/2009 posits:

[T]he telcos will start to leverage end users demands for end to end SLAs (and not just uptime guarantees). With web delivered services this isn’t possible – the web being, as it is, an amalgam of multitudes of different facets. However what telcos have is an existing network that could be leveraged by way of private connects and aggregations of cloud computing offerings. To borrow (and twist) a Microsoft term – telcos are perfectly positioned to go for a S+S play – software plus services but with one of the services being end to end delivery.

• Paul Miller writes in his Windows Azure explored, in conversation with Amitabh Srivastava post of 3/27/2009:

As part of my ongoing series of conversations with those shaping the future of the Cloud Computing landscape, I spoke with Amitabh Srivastava this week. Amitabh is a Corporate Vice President at Microsoft, with responsibility for Windows Azure.

The result has just been released as a podcast during which Amitabh discusses the background to Azure, the company's intention to move from Community Technology Preview to formal release this year, and the manner in which Azure will interact with company data centres and locally deployed applications.

• Tom Lounibos describes signing up Open Cloud Computing Manifesto for cloud computing customer SOASTA in his The Open Cloud Debate: A Customers Perspective post of 3/27/2009:

I for one fully support this Manifesto for an “Open Cloud Platform” and ask its authors to place my company’s name as one of its supporters, and they have agreed to do so. Which suggest that the people who are pushing this “Open” initiative are at least interested in how some “actual” customers of cloud computing may be thinking, while the companies who choose not to participate have sent a message to me (and others) that perhaps they are not.

• Reuven Cohen’s Introducing the Open Cloud Manifesto post of 3/27/2009 on the Cloud Computing Journal blog announces:

The first version of the manifesto will be published Monday, March 30th to be ratified by the greater cloud community.

This post follows Ruv’s Re: Microsoft Moving Toward an Open Process on Cloud Computing Interoperability post of 3/26/2009 with a “Their 2:28 AM pre-announcement of the manifesto was a complete surprise” subtitle. Ruv also re-released Repost: Cloud Neutrality on 3/27/2009.

Apparently Ruv forgot to have Microsoft sign the NDA.

You can read version 1.0.9 of the Manifesto now from a link on Geva Perry’s The Open Cloud Manifesto: Much Ado About Nothing.

• Graeme Thickins conducts on 3/26/2009 An Interview with George Reese About His New Cloud Computing Book, O’Reilly Media’s Cloud Application Architectures, which is currently available as a Rough Cuts eBook. Reese gave the following answer to Graeme’s question “For what types of readers did you primarily write the book? What will they get from it that they can't get elsewhere?”

The book is for people tasked with making the move into the cloud and guiding them through that move. I start by establishing what the cloud means from my perspective and what its value is to an organization. The book covers how you evaluate what makes sense to move into the cloud and, once the decision is made, the security, availability, and disaster recovery planning necessary to operate at an enterprise level in the cloud.

Reese claims “a body of experience in putting transactional database applications into the Amazon Cloud.”

• Wally McClure is working on a live Azure service and explains some of the problems he encountered in More things that I have learned with Azure of 3/26/2009 and eTag error in Windows Azure of 3/25/2009.

• Joe Wilcox rings in with Cloud Manifesto: Is Microsoft Afraid of Rain? on 3/26/2009 and GigaOm’s Stacey Higginbotham contributes her $0.02 with Thunder in the Cloud Over Openness of the same date.

• Steven Martin’s Moving Toward an Open Process on Cloud Computing Interoperability post of 3/26/2009 takes on a purported secret Cloud Manifesto:

Very recently we were privately shown a copy of the document, warned that it was a secret, and told that it must be signed "as is," without modifications or additional input. …

To ensure that the work on such a project is open, transparent and complete, we feel strongly that any "manifesto" should be created, from its inception, through an open mechanism like a Wiki, for public debate and comment, all available through a Creative Commons license. After all, what we are really seeking are ideas that have been broadly developed, meet a test of open, logical review and reflect principles on which the broad community agrees. This would help avoid biases toward one technology over another, and expand the opportunities for innovation.

For more details on this tempest in a teacup, see my “Secret” Cloud Computing Manifesto Dustup post of 3/26/2009.

Dinesh Kulkarni (of LINQ to SQL fame) contributes .NET RIA Services Resources (for March 2009 Preview) with a data-sources emphasis on 3/26/2009.

• Nikhil Kothari posted .NET RIA Services MIX '09 Talk - Slides + Code on 3/19/2009. His article also includes a detailed overview of his demos for T41F - Building Data-Driven Applications in ASP.NET and Silverlight, which include Azure data sources. Here’s Nikhil’s definition of this new technology:

.NET RIA Services builds on Silverlight 3 on the client and ASP.NET on the server to simplify building n-Tier data-driven applications. First, .NET RIA Services provides a prescriptive CRUD-based pattern for authoring your application/domain/business logic, i.e. queries, operations, rules for authorization, validation etc. on the middle tier and makes that functionality easily consumable from your presentation tier in the form of bindable data. Second, on the presentation tier, we're providing new data controls such as a DataSource, enhanced DataGrid and DataForm/DataPager controls for mainline data/LOB scenarios. Third, we're also providing higher level building blocks such as authentication, cross-tier user state and the like.

It appears to me that .NET RIA Services provides a RAD approach to RAD for Azure clients.

@Azure, who claims to be the "Official Azure Services Platform account - covering Windows Azure, SQL Data Services & .NET Services - news/links/info" on Twitter says:
"Windows Azure tokens now freely available, DM if you have issues and need a token" in a 3/25/2009 Tweet (Emphasis added.)

David Lemphers recommends Design [Azure Services] for Failure, Growth and Distribution! in this 3/24/2009 post. Strangely, Dave makes no mention of Azure in his post.

Steve Martin’s Windows Azure and Windows Server - Licensing Model post of 3/23/2009 clarifies the original SSDS licensing terms with the following:

We don’t envision something on our price list called “Windows Azure” that is sold for on-premises deployment. Some implementation details aren’t going to be practical for customers, such as our global data-center hardware design and large scale multi-tenancy features which are integral to Windows Azure and the Azure Services Platform. Why? We will continue to evolve Windows Server and System Center focusing significantly on technologies like virtualization, app and web server capabilities, single-pane management tools for managing on-premise and cloud in the same way, etc. which extend the enterprise data center in significant ways. We’ll continue to license Windows Server and System Center (and therefore the shared innovation derived from Windows Azure) to hosters through our SPLA program.

Mary Jo Foley confirms a well-known fact: Microsoft: No on-premise Azure hosting for business users in her 3/23/2009 post. Microsoft has maintained since they announced SSDS at least year’s MIX 08 conference that there would be no on-premises version of the Azure Services Platform.

Steve Nagy delivers an easily readable description of The Azure Fabric Controller in this 3/23/2009 post, which links to his What Is: The Azure Fabric and the Development Fabric post of the same date.

Simon Davies explains How I got php running in Windows Azure with the March 2009 CTP in this 3/20/2009 post, which complements his earlier Dynamic Languages and Windows Azure post of 2/17/2009.

David Chappell updates and expands his original Microsoft-sponsored whitepaper about the Azure Services Platform in his Introducing Windows Azure post of 3/19/2009. The new version focuses entirely on Windows Azure and includes new details on March 2009 CTP features. (Thanks to Sam Gentile for the heads up.)

Cloud Computing Events

• Bernard Golden’s Cloud Computing Meets Washington post of 3/26/2009 reports on a Google-sponsored cloud computing panel marking the release of a new, Google-commissioned report, Envisioning the Cloud: The Next Computing Paradigm (see John Foley’s post about the report in the “Other Cloud Computing Platforms and Services” section.) Bernard writes:

After presenting the slides, during which I made some observations about cloud issues and opportunities, the floor was opened for questions. I would say that half of the questions revolved around data security and privacy. Many in the audience were familiar with current government laws and regulations relating to these issues, but have not yet begun to consider how cloud computing will impact them (Heyward commented that today's laws are based on a mid-80s computing environment).

This is a constant refrain at cloud-computing conferences targeted at government agencies. Bernard’s essay on the topic is a worthwhile read, but I’m concerned at not seeing a single reference to Google’s sponsorship of the report in his piece.

Gartner Says Worldwide Cloud Services Revenue Will Grow 21.3 Percent in 2009 in this 3/26/2009 press release for its three Gartner Outsourcing Summits to be held in Las Vegas, London and Tokyo:

Worldwide cloud services revenue is on pace to surpass $56.3 billion in 2009, a 21.3 percent increase from 2008 revenue of $46.4 billion, according to Gartner, Inc. The market is expected to reach $150.1 billion in 2013. …

Business processes delivered as cloud services are the largest segment of the overall cloud services market, accounting for 83 percent of the overall market in 2008. The segment, consisting of cloud-based advertising, e-commerce, human resources and payments processing, is forecast to grow 19.8 percent in 2009 to $46.6 billion, up from $38.9 billion in 2008. …

While much of the publicity for cloud computing currently centers on systems infrastructure delivered as a service, this is still an early-stage market. In 2008, such services accounted for only 5.5 percent of the overall cloud services market and are expected to account for 6 percent of the market in 2009. Infrastructure services revenue was $2.5 billion in 2008 and is forecast to reach $3.2 billion in 2009.

Additional information is available in the Gartner report “Forecast: Sizing the Cloud; Understanding the Opportunities in Cloud Services” (US$1,495.)

Mark Koenig and Bill McNee, researchers for Saugatuck Technology attended the CloudForce Tour 2009 in New York City and released Salesforce Stakes Claim in the Cloud (requires registration) on 3/26/2009. The report analyzes Salesforce’s integration of social computing (Salesforce CRM for Twitter) with its enterprise business applications. 

Reuven Cohen reviews the Strategies and Technologies for Cloud Computing Interoperability (SATCCI) workshop held in conjunction with the Object Management Group (OMG) March Technical Meeting at the Hyatt Regency Crystal City, Arlington, VA on March 23, 2009 (see Windows Azure and Cloud Computing Posts for 3/16/2009+.) Ruv writes:

NIST announced the creation of "Cloud Interoperability Profile" for federal-compliant cloud infrastructures with the goal of creating a standardized profile for cloud computing with in the federal government. I'm told this is a big step for the agency.

and provides a brief review of other presentations and announcements at the workshop.

My Azure-Related Sessions at MIX 09 (Updated) post was updated 3/23/2009 with links to all Azure-related sessions.

Guy Burstein’s Download MIX09 Sessions and Watch Offline post of 3/20/2009 provides a formatted list of all MIX09 session and keynote videos that you can automatically download for future review by clicking a “Download Selected with Free Download Manager” menu command.

Other Cloud Computing Platforms and Services

•• Srini Chari posted a link on 3/28/2009 in the Cloud Computing Google Group to the March 2009 “Confronting the Data Center Crisis: A Cost - Benefit Analysis of the IBM Computing on Demand (CoD) Cloud Offering” white paper that IBM sponsored. The paper includes an overview of the benefits of cloud computing and details of the following three customer case studies:

    1. Top International Wealth Management Savings Company – New Capability
    2. Major New York Based Financial Conglomerate - Faster Time to Results
    3. Ingrain Rocks-Solution Provider for Petroleum E&P - New Business Model

•• Phil Rack’s Cloud Computing and Integration post of 3/28/2009 and earlier Cloud Computing and BI post discuss the applicability of Cloud Computing to business intelligence (BI) projects. Phil’s post discusses Mathematica’s service for EC2, but strangely omits any reference to SAS’s forthcoming US$70 million cloud computing facility, which “will provide the additional data-handling capacity needed to expand SAS’ OnDemand offerings and hosted solutions.” (Phil is an SAS consultant.)

Microsoft has been promoting SQL Reporting Services and SQL BI Services (sometimes as SQL Analysis Services) in future features of the Azure Services Platform since announcing SSDS at MIX 08.

Jason Ipock compares features of Microsoft Azure, Google App Engine, Amazon Web Services and Rackspace CloudSites, CloudFiles and Cloud Servers services in his Reaching For The Clouds post of 3/24/2009. Jason provides narrative descriptions and the most detailed tabular comparison I’ve seen so far.

Craig Balding asks Compliance as a Service: Does It Exist? in this 3/27/2009 post and asks for readers to provide examples of CaaS services. One example is a credit card payment gateway service provider that Craig discusses in his What Does PCI Compliance in the Cloud Really Mean? post of 3/14/2009. In the earlier post, Craig takes on Mosso’s somewhat specious claim to “have “PCI enabled” a Cloud Sites customer that needed to accept online credit card payments in return for goods (i.e. a merchant).”

Alan Wilensky’s The Strategist: Mitigating Cloud Computing Client Services Risk via Trusted, Blind API Brokers - Part IV post of 3/27/2009 asks:

Other than the actual insurance underwriting and policy sales, is there a real business model here in operating the technical services pool of a blind trust API broker/ Data mirroring / continuity services for the insurance industry? How big ? [Alan’s emphasis.]

Here’s Alan’s answer:

Oh yes, oh my G-d yes. I am writing this series because I got far enough in my work for the last client, that I did see the foggy future in a way that mature analysts sometimes do.

How big? I believe that operating the Trusted Services Pool will be worth about 60 - 120 million annually when it hits it stride.

• Larry Dignan reports Amazon Web Services: No Open Cloud Manifesto for us on 3/27/2009, quoting an “Amazon spokeswoman:”

We just recently heard about the manifesto document.  Like other ideas on standards and practices, we’ll review this one, too. Ideas on openness and standards have been talked about for years in web services. And, we do believe standards will continue to evolve in the cloud computing space. But, what we’ve heard from customers thus far, customers who are really committed to using the cloud, is that the best way to illustrate openness and customer flexibility is by what you actually provide and deliver for them. …

In any event, we do believe that standards will continue to evolve and that establishing the right ones, based on a better understanding of what is needed, will best serve customers.

• Dava Baran’s IBM Getting SUN For Free - Massive Layoffs To Follow post of 3/26/2009 posits that:

[A]t $6.5 billion IBM is essentially getting SUN for FREE. Here is the analysis: prior to the takeover bid SUN had a maket capitalization of about $3 billion, cash of $2 billion for a total of about $5 billion. IBM’s offer is $1.5 billion more. According to the source SUN’s campus in Santa Clara and Palo Alto are speculated to be worth about $1 billion (which IBM will most likely sell). So IBM is essentially paying $500 million for SUN’s customer list.

• Dion Hinchcliffe’s Cloud computing and the return of the platform wars analysis of 3/26/2009 credits Sun with providing the evidence of a coming cloud platform war:

Sun’s announcement last week that its new Cloud Compute Service would be API compatible at a storage level with Amazon’s popular S3 service is probably the first real evidence of the coming platform war in the cloud computing space. It’s a war that’s likely to be significant and protracted given the number of players that are lining up for a shot at what’s sizing up to be the next big development in the evolution of computing.

Here’s a classic Hinchcliffe illustration of cloud computing growth:

Dion concludes:

[T]he clouds are not waiting and it’s been the small and medium sized businesses that have had no resources to build their own world-class data centers that have been blazing the trail so far. Since software powers so much of the world today, one interesting notion is whether cloud computing will be the springboard that allows them to create agile 21st century businesses that eclipse older, traditional firms that can’t adapt. Combined with 2.0 business models, this is quite possible.

Alan Wilensky continues his series on underwriting business continuity risks with his Rating and Certifying the Cloud Hosting and Web Application Providers. Part III post of 3/25/2009. With regard to cloud host certifications, Allen writes:

Certifications are invasive, involving on site auditing and live tests that determine specific functionality. ISO, SAS 70, and SystTrust, are some of the current examples of certs that are currently in vogue for typical data center assurances. Unfortunately, none of these standards, as good as they are, really addresses all of the issues underwriters need to individually insure a client of a cloud host, SAAS or PAAS provider. In the case of PAAS start ups, it’s a messy process to accurately quantify risks when so much muscle and blood has been invested in cutting over incumbent processes - and the fact that for some reason, the PAAS providers, taken as a group, are some of the shakiest kids on the block.

and goes on to describe what areas insurance carriers want verified.

Alan Wilensky’s The Strategist: Underwriting Business Continuity in the Cloud. Part II. of 3/23/2009 expands on his earlier The Strategist: Certification Services for the Cloud - Reliability, Continuity, and Indemnification Against Outages post of 3/8/2009. In Part II, Allen writes:

Insuring business continuity was a game of physical premises insurance, which evolved into records and facilities, and now, today, optionally covers servers, workstations. software, and systems. It is a mishmash of offerings, and many industries have varying degrees of dependencies on internal IT infrastructure. The insurance products for Small and Medium businesses are semi-flexible, while mega enterprises have core needs that exceed what professional lines can provide, and instead rely on customized underwriting for the Fortune 1000.

Maureen O’Gara reports NetSuite Mimics Salesforce Cloud on 3/25/2009. She writes:

Salesforce.com wannabe NetSuite, Larry Ellison's other company, has bundled up a bunch of widgetry much like Salesforce's Force.com platform-as-a-service and dubbed it the SuiteCloud Ecosystem.

As one might infer from the name, the on-demand products, development tools and services are designed to let customers run their business operations in the cloud and let software developers build mission-critical apps on NetSuite's ERP/CRM/e-Commerce underpinnings, which means ISVs can embed NetSuite's feature set into their apps.

Apparently Larry finally groks the cloud.

John Foley’s Uncle Sam's Cloud Computing Dilemma post of 3/24/2009 has the following lede:

Federal agencies are under pressure to deploy cost-effective IT systems quickly, and cloud computing is one of the solutions favored by the Obama Administration. Yet, would-be cloud users in government will have to navigate a thicket of security requirements and other guidelines, warns one expert.

In a slide presentation shared with attendees at a cloud interoperability workshop yesterday in Arlington, Va., John Curran, CTO and COO of ServerVault, tackled the question of what cloud vendors could do to let federal agencies use cloud services while complying with federal IT policies. …

You can get more detail on those requirements from Curran's downloadable presentation here.

Michael Hickins contends that Cloud Computing FUD Muddies SaaS Waters in this 3/24/2009 post:

Vendors adopting cloud computing strategies are disparaging SaaS in a manner that could jeopardize their entire service-based business model just as it's starting to gain larger acceptance in the market.

He then goes on to criticize “the FUD-ful aspects of the statement made by Don Klaiss, CEO of open-source enterprise resource planning (ERP) vendor Compiere, when it announced that its product will be available on Amazon … cloud platform.]

John Foley’s Report: Cloud Computing Could Be Bigger Than The Web post of 3/20/2009 links to a Google-sponsored "Envisioning The Cloud: The Next Computing Paradigm," white paper by Marketspace’s Jeffrey Rayport and Andrew Haywood. John writes:

[The authors] define the cloud in its broadest sense as including everything from Hotmail and Facebook to Amazon Web Services and Google App Engine. They present cloud computing in big, bold terms, arguing that it's in the national interests of the United States to adopt pro-cloud policies. "It's high time to ensure that the cloud's promise as an opportunity for U.S. wealth generation, job creation, and business and technology leadership does not pass our country by,"

Kevin L. Jackson points out Booz Allen Hamilton‘s entrance as a “cloud transition guidance provider” in his Booz Allen Hamilton Lays Out Path To Cloud post of 3/23/2009. He links to BAH Principal Rod Fontecilla’s "Cloud Computing: A Transition Methodology" article, which proposes a “two phased approach” to cloud computing.

Dimitry Sotkinov’s Gartner Highlights 5 Cloud Start-Ups post of 5/23/2009contains a link to Gartner’s “Cool Vendors in Cloud Computing Management and Professional Services, 2009” paper, which covers:

    • Appirio – which provide professional services and integration solutions based on salesforce.com for various web 2.0 services including Google Apps, Facebook, and Amazon. They are doing relatively well and their 2,000 customers include Japan Post Office, Qualcomm, Genentech, and Author.
    • CohesiveFT – a cross-platform virtual appliance packaging solution for VMware, Xen, Parallels, and Amazon EC2. They also have a product called VPN-Cubed which allows companies to set up secure networking between their servers across the clouds.
    • Hyperic – application and infrastructure monitoring solution for Amazon EC2 (I wrote about them in my notes from Cloud Computing Expo last year.)
    • RightScale – cross-cloud automation engine and a set of application templates.
    • Ylastic – browser-based Amazon-management interface for mobile phones and other devices.

Dave Graham says IDC analyst Frank Gens’ “Clouds and Beyond: Positioning for the Next 20 Years in Enterprise IT … “was definitely the highlight of the morning general sessions for me” in his IDC Directions – Boston 2009: The Future is Cloud(y) – Part 1 post of 3/20/2009. Dave also reviews three other non-cloud sessions.

Paul Miller asks Can we draw a map of the Cloud ? on 3/20/2009 and points to Troy Angrignon’s post of 3/16/2009 on SandHill.com, in which he shares his list of “cloud computing giants” and his barely readable (in full-screen mode) Cloud Computing Ecosystem Map v1.0.

Paulo Calçada claims that “EaaS - Everything as a Service, doesn’t exist and it won’t need to. We already have: IaaS - Infrastructure as a Service, PaaS - Platform as a Service, and finally, SaaS - Sofware as a Service” in his EaaS: Everything as a Service - The next big buzzword? post of 3/20/2009. Paulo and his cohorts man the CloudViews.org blog that supports the Cloud Computing Conference 2009 being held on May 28 – 29, 2009 in Porto, Portugal.

Wednesday, February 25, 2009

IDC Increases Year-Over-Year Cloud Growth Estimate for 2009 from 36% to 40.5%

According to a 1/26/2009 press release, the November 2008 IDC study, Economic Crisis Response: Worldwide Software as a Service Forecast Update (IDC #215504) finds:

Recent IDC surveys and customer interviews support the finding that the harsh economic climate will actually accelerate the growth prospects for the software as a service (SaaS) model as vendors position offerings as right-sized, zero-CAPEX alternatives to on-premise applications. Buyers will opt for easy-to-use subscription services which meter current use, not future capacity, and vendors and partners will look for new products and recurring revenue streams. As such, IDC has increased its SaaS growth projection for 2009 from 36% growth to 40.5% growth over 2008.

Additional findings from the IDC study include:

    • By the end of 2009, 76% of U.S. organizations will use at least one SaaS-delivered application for business use.
    • The percentage of U.S. firms which plan to spend at least 25% of their IT budgets on SaaS applications will increase from 23% in 2008 to nearly 45% in 2010.
    • This market's growth prospects will accelerate the shift to SaaS for the whole value chain as the promise of a recurring revenue stream, and the opportunity to tap OPEX and project-related dollars, will benefit the whole SaaS ecosystem.
    • While demand for SaaS is strongest in North America, new contracts from customers in Europe, Middle East, Africa (EMEA) and Asia/Pacific (excluding Japan) also look particularly positive, and IDC expects that by year-end 2009, nearly 35% of worldwide revenue will be earned outside of the U.S.
    • On the downside, IDC interviews with SaaS providers highlighted several issues, such as cash-flow shortfalls related to slow-paying current clients, liquidity challenges stemming from tight credit at lenders, and — on the horizon — limited resources to scale up with expanded infrastructure to support new customers and new service offerings.

The new study augments other revised IDC forecasts by offering a post-2008 financial crisis update for the worldwide SaaS market, and specifically updates Worldwide Software on Demand 2008–2012 Forecast and 2007 Vendor Shares: Moving Toward an On-Demand World (IDC #213197, July 2008).

Sunday, May 04, 2008

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

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

Streaming LINQ Shows Potential for Complex Event Processing

Marc Adler's On Entitlements, Coral8 CCL, SQL, and LINQ post of May 4, 2008 describes difficulties he encountered in when porting an T-SQL query with two inner and two outer joins to Coral8's Continuous Computation Language (CCL) for a financial analysis project. He was able to implement the LINQ equivalent of his T-SQL query in about 10 minutes. His conclusion:

LINQ has a lot of goodness to it. LINQ is pervasive, and all flavors of LINQ are being developed. I can very well imagine that Microsoft is looking at versions of LINQ that could handle streaming data. Right now, I think that it would be fairly easy to hook up LINQ queries in a pipeline that would handle simple queries on streaming data. Adding streaming SQL constructs is very doable.

If Microsoft was to come out with a Streaming LINQ that is available as part of .NET, how would this affect the world of CEP? An immediate casualty might be NEsper.* ... But, longer term, I think that a combination of WCF, Streaming LINQ, and a version of Microsoft Analysis Services that was further geared to real-time streams would be a killer to the rest of the CEP industry.

* NEsper is an Open Source ESP/CEP Engine for .NET. ESP is an abbreviation for Event Stream Processing, which encompasses Complex Event Processing (CEP).

Marc is the technical lead for a CEP project at a major Wall Street investment bank. Entitlements in this post's context refers to persons entitled to view CEP results, not Social Security or Medicare.

In a comment to the post, Jon Riecke, Lead Platform Architect for Aleri, Inc., a CEP software vendor, mentioned that the upcoming 3.0 release of the Aleri Streaming Platform will base its pattern-matching facilities on LINQ syntax.

To find out more about CEP, tune into the Complex Event Processing Blog and Marco on CEP.

P.S. Bart De Smet just posted the final episode of his C# 3.0 Pattern Matching Series: The Return of the Pattern Matcher - Sample Code Available

Added: 5/4/2008 12:30 PDT

Andrew Matthews Updates LINQ to RDF v0.6 to VS 2008

From the How Did I Miss This Department: Andrew (a.k.a. the Wandering Glitch) released LINQ to RDF v0.6 on April 5, 2008. His Announcing LinqToRdf v0.6 post of the same date lists these improvements:]

  • LinqToRdf Designer and VS.NET 2008 extension completely rewritten
  • LinqToRdf Installer now includes the installer of LinqToRdf Designer (at no extra cost)
  • Project and Item templates now installed as part of LinqToRdf Designer
  • Generated object and data properties now get their own EntitySet or EntityRef.
  • Generates LINQ to SQL-style DataContext objects to hide query creation. Much Cleaner.

You can download LINQ to RDF v0.6 from GoogleCode.

Note: I probably missed this because there's no obvious RSS/Atom feed for the Wandering Glitch blog, only a Twitter feed.

Added: 5/4/2008 12:30 PDT

This Nine-Minute Video Gets You Up and Running with the Google App Engine

I received my Invitation to Try Google App Engine on Friday but didn't have time to try deploying my Google App Engine (GAE) SDK desktop test project until today. Fortunately, I found this 09:15 clip by a fast-talking Google Python guru on YouTube.

The clip covers building a simple UI with a Django template that stores messages in the data store and retrieves text messages by author with a GQL query. The segment on deploying the app to GAE starts at about 08:25.

Note: GoogleDevelopers has 122 videos about Google Web services, et al., including the Campfire One release presentation. If you're new to Python and like video tutorials, ShowMeDo is the place to start. Joscha Feth's Google App Engine & eclipse (PyDev) post has fully illustrated instructions for getting code completion with Eclipse, PyDev, and the GAE working.

As time permits, I plan to determine whether GAE is a contender for "data store in the cloud" status and a viable competitor to SQL Server Data Services.

Added: 5/4/2008 12:30 PDT

Colin Meek: Composing LINQ to Entities Predicates

In his LINQ to Entities: Combining Predicates post of May 2, 2008, Colin offers three choices to compensate for LINQ's lack of an Or operator when composing predicates:

  1. Chain Unions instead of Where clauses, which is inefficient.
  2. Build the predicate by hand with ParameterExpression and Expression statements, which is a pain.
  3. Write a utility function called Compose() to implement LINQ to Entities-friendly And and Or builder methods by leveraging the ParameterRebinder implementation of Matt Warren's Expression Visitor from his IQuerable Providers series.

Interesting approach.

Added: 5/3/2008 11:45 PDT

Live Mesh and LINQ to Mesh Updates

Live Mesh Blog and Forum

The Live Mesh Blog has a detailed Behind Live Mesh: How we run cloud services post of April 30, 2008 by dev lead Alex Mallet.

Early Live Mesh adopters don't seem to have found the Live Mesh Forum. It had only 145 users as of May 3, 2008 10:00 PDT.

LINQ to Mesh (From Ori Amiga's Channel9 Video)

The Mesh Operating Environment (MOE) SDK currently has Silverlight, Javascript and desktop C# libraries. (The SDK also supports IronPython, as Ori demonstrated, but not VB.) Unfortunately, the Mesh team won't say when the SDK might be available, other than vague references to PDC 2008.

Here's the sample code for a LINQ to Mesh query against a Mesh object that Ori didn't attempt to execute because of a bug found earlier (~50:00):

Mesh mesh = Mesh.Load(new Uri(@"https://preview/mesh.com"), 
                new NetworkCredential("someone@somewhere.com", "Basic", myCred))

var meshQuery = from meshObject in mesh.CreateQuery<CoreObject>()
                where meshObject.Title == "title"
                orderby meshObject.Title
                select meshObject;

According to Ori at ~51:00, "the query processor can figure out three things:

  1. Which part of the query can execute most efficiently in our back-end storage using fine-grained indices in the cloud and execute that query as close to the data as possible.
  2. In our Mesh Operating Environment, we can keep on processing and linking and querying over that data to answer the question you're asking in the LINQ query.
  3. And you can query over the data in your local machine."

SSDS and Live Mesh

Jamie Thomson's SSDS and Mesh post of May 1, 2008 proposes using Live Mesh to sync SSDS data, perhaps even between two Authorities. Here's the story on potential SSDS and Live Mesh interop:

  • Pablo Castro and the Astoria team are working on a sync model for "Astoria Offline."
  • The SSDS team said they "will support the full EDM/EF/ADO.Net V3 model in due time."
  • Nigel Ellis demonstrated in his Introducing SQL Server Data Services session at MIX08 using the Sync Framework to synchronize vCard contact data between Microsoft Access 2007 and SSDS v1.
  • Francois Ajenstadt, director of project management for SQL Server, said "The goal is to bring the API's between SSDS and Astoria closer together closer to Release."
  • Ari Amiga says the Mesh team has been "working a lot with the Astoria team to make sure that our query syntax is the same, our URL syntax is the same, so it all looks nice and beautiful."
  • Astoria now uses, Mesh supports and SSDS will support the Atom Publication Protocol (AtomPub).

Added: 5/3/2008 10:30 PDT

ADO.NET Data Services Article in Visual Studio Magazine

My "Manipulate Data in the Cloud with ADO.NET [Data Services]" is the cover story for Visual Studio Magazine's May 2008 issue. Here's the deck:

ADO.NET Data Services (formerly code-named "Project Astoria") delivers data from relational tables and Windows Live services to Web mashups and Visual Studio 2008 projects, including ASP.NET AJAX and Silverlight 2.0 rich Internet applications, as Representational State Transfer (REST) resources over HTTP in response to URI-based requests or LINQ to REST queries.

Mesh Connection: At about 50:00 into the Ori Amiga: Programming the Mesh Channel 9 video segment of April 24, 2008 Ori mentions that the Mesh team is working with the Astoria folks to make sure their query and URL syntaxes are the same.

Related Topics: John Udell suggests taking advantage of Astoria's record-level URL addressability to implement loosely-coupled collaborative list-making in his Stonewall Farm, Darby Brook Farm, and the collaborative curation of data post of May 2, 2008. Because of its flexible entity feature (ad-hoc addition of attributes to an entity) SQL Server Data Services might be even a better choice when the SSDS team enables offering public read-only access to a container.

Moved: 5/3/2008 to Manipulate Data in the Cloud with ADO.NET [Data Services] due to length.

Kevin Hoffman Releases Continuous LINQ (CLINQ) v.1.1

According to Kevin's CLINQ v1.1.0.0 Released! post of May 2, 2008, CLINQ 1.1 now includes:

  • Support for Continuous Aggregation. Now, in addition to being able to have your result sets automatically update themselves in response to changes in the source set as well as changes to items in the source set, you can have aggregate scalar values that continuously update in the same fashion. The following is a list of the supported aggregation types that can now be done continuously:
    • Average
    • Min
    • Max
    • Sum
    • Standard Deviation
    • Count
  • Brand new demo application. This demo application not only shows off the power of continuous queries and WPF data binding, but also shows you how to use continuous aggregates, create your own continuous aggregates, and how to databind a WPF GUI to a continuous aggregate value.
His post has a screen shot of the Stock Monitor demo application in action.

Added: 5/2/2008 10:30 PDT

Jeff Currier Wants Questions to Address in SSDS Best Practices Tech*Ed Session

Jeff says in his Speaking at TechEd post of May 1, 2008:

I'm heading down to Orlando in a couple of weeks to give a talk about best practices when it comes to SSDS.  I'm working on my talk outline and was curious if there were any topics in particular that the community wanted to hear about in the talk?

I've posted my topics in a comment.

Jeff's session is "Best Practices in Building Applications with Microsoft SQL Server Data Services," which has the following description:

This interactive session provides a hands-on roadmap for developing and managing applications that use Microsoft SQL Server Data Services (SSDS), details best coding practices, and answers questions related to using on-demand storage services for business solutions.

This appears to be the sole SSDS session at Tech*Ed 2008.

Added: 5/2/2008 10:00 PDT

Popularity of SaaS/PaaS and Web Services/SOA Gain 1% Over 2006 According to McKinsey/Sandhill Survey

This 19-page Enterprise Software Customer Survey 2008 report by consultants McKinsey & Co. and Sandhill Partners finds that:

Innovation in the software industry is on the upswing, with Software as a Service (SaaS) being a key driver. The SaaS model is becoming mainstream and this has led to the rise of a new generation of SaaS platforms (also referred to in the industry as Platform as a Service – PaaS).

The distribution of 857 responses to "Please select the most important trend impacting your business" are shown in the following table for 2006 and 2008:

Most Important Trend, Percent 2006 2008
SaaS/SaaS or PaaS Platform 30 31
Web Services/Service Oriented Architecture 24 25
Open Source 10 8
Offshoring/Globalization 15 13
Software Industry Consolidation 17 7
Others 4 16

A detailed analysis of SaaS/PaaS platforms, which include "cloud computing" starts on page 5. Page 6 concludes:

The momentum toward adoption of SaaS platforms is surprising. Nearly three-quarters of the companies surveyed prefer to adopt platforms in at least one of the three archetypes we identify here.

For platform vendors, the only falloff in interest comes at the largest enterprises, those employing more than 25,000 people. In short, nearly every company – or division of a larger enterprise – is a customer or a prospect for SaaS platforms.

Exhibits on pages 6 - 9 provide additional details on interest in various models SaaS/PaaS models.

BEA's Understanding the Cloud Computing/SaaS/PaaS markets: a Map of the Players in the Industry post of May 2, 2008 by Peter Laird and Kent Dickson has clear definitions of cloud computing, SaaS, PaaS, and Core Cloud Services, as well as a map and list of major players with links to their sites.

Added: 5/2/2008 11:30 PST

SSDS Finally Provisioning Private Beta Users at a Faster Pace

KellyAlt says in Onboarding early beta customers of May 2, 2008:

Over the past 4 weeks, we have been onboarding customers slowly.  Since the response to our restricted beta invitation was quite overwhelming, quite a few of you will experience some delays in getting an account.  The SSDS team is doing everything possible to get you onboarded as soon as possible.  I am happy to say that I am seeing the pace pick up a bit over the last week.

I've been working with SSDS for about three weeks and have written a WinForm test harness to give SSDS v1 a thorough workout. Here's the UI when using the REST protocol to upload a Northwind Employee entity with a base64Binary-encoded bitmap:

Watch for my "Test-Drive SQL Server Data Services" feature article coming in the July 2008 issue of Visual Studio Magazine, which will include complete C# source code for the test harness.

Added: 5/2/2008 08:30 PDT

Ryan Dunn Interviews Tudor Toma and Soumitra Sangupta About the Business Value of SSDS

In Channel9's Tudor Toma and Soumitra Sengupta: SQL Server Data Services Business Value segment of May 1, 2008 (28:19):

Ryan sits down and talks with the Group Program Manager Tudor Toma and Architect Soumitra Sengupta about the business value of SSDS.

Added: 5/1/2008 17:00 PDT

David DeWinter Adapts T4 Templates to Generate T-SQL Stored Procedure Scripts for Entity Data Models

The Text Template Transformation Toolkit (commonly called T4) is a free Microsoft code generation engine for VS 2005 and later that supports their Domain Specific Languages and Software Factories toolkits. The Hilton Giesenow and Oleg Sych blogs have posts about T4.

David's Entity Framework Stored Procedure Generation post of April 26, 2008 describes the template:

The T4 template we created is designed to be a general purpose way to generate CUD procedures for an Entity Framework model. ...

The template not only generates EF-compliant sprocs, but it also considers only the tables that are in the SSDL of the model file. Unfortunately, the template must query the database (SQL Server 2005 only!) in order to make all the decisions necessary to create the output file. However, this is usually quite fast on generations other than the first one.

The template would have been a big time saver when I wrote 40+ stored procedures for my forthcoming book's test project.

Added: 5/1/2008 13:40 PDT

Rick Strahl Posts LINQ to SQL and WCF JSON/REST Samples from His ASP.NET Connections Presentations

Rick's ASP.NET Connections Slides and Samples Posted item of May 1, 2008 provides links to sample code and PowerPoint slides from his three presentations at the ASP.NET Connections conference in Orlando. Following are Rick's abstracts of the sessions:

Building a LINQ to SQL Business Layer for ASP.NET Applications

LINQ to SQL - although completely object based, is still little more than a sophisticated data access layer and so a business object layer is still needed to abstract business logic and provide common functionality that every business related entity requires. The business layer provides a few high level abstractions to the CRUD layer as well as a host of low level features that allow better control for low level data access in case LINQ to SQL queries are ill suited for queries and operations that cannot be performed with LINQ to SQL at all.

This session and its sample code is the culmination of Rick's extensive writing about LINQ to SQL in enterprise-grade projects.

WCF 3.5 JSON and REST Services

WCF 3.5's AJAX support has been made nearly as easy and comprehensive as ASMX functionality and there are many options of how data can be accessed over HTTP now with official protocol support for the webHttpBinding. This session starts of with examples of pure REST URLS and demonstrates features like URL templating, different response formats (wrapped, bare, XML, JSON) as well as the various different options for serving in this fashion. There are also examples of serving up raw data such as images or HTML content out of the REST based API. The remainder of the session focuses on AJAX functionality and explores different ways that WCF services can be called.

If you're interested in ADO.NET Data Objects, which support WCF JSON and REST protocols, don't miss this session.

Ajax Alternatives: Using jQuery with ASP.NET

Off-topic for this blog, but very interesting if you're into AJAX.

Note: Slides are the last file in the ZIP containers.

Frans Bouma Adds LINQ to SQL Refactoring and ASP.NET Dynamic Data Support to LLBLGen Pro

LLBLGen Pro has its own native LINQ implementation, but Frans announces in his Linq to Sql support added to LLBLGen Pro post of May 1, 2008 that latest version (2.6 beta) of LLBLGen Pro includes templates for generating LINQ to SQL classes and mapping (*.dbml) files.

This means you can use LLBLGen Pro's code generator to update your LINQ to SQL data model from SQL Server metadata automatically. Microsoft's LINQ to SQL implementation requires manually updating the data model for schema changes. (ADO.NET Entity Framework's Model Browser has an Update Model from Database context menu command.)

Frans says, "The only downside is that you can't update your model in the Linq to Sql designer anymore. But, why would you?"

LLBLGen Pro ASP.NET Dynamic Data Support

Frans' Dynamic Data and 3rd party o/r mappers is a fact post of May 1, 2008 describes how he convinced Scott Guthrie to open ASP.NET Dynamic Data products to third-party object/relational mapping (O/RM) tools, which in turn enables substituting LLBLGen Pro for LINQ to SQL or Entity Framework.

Steele Price Finds LINQ to SQL Frustrating

In his Some of my frustrations with Linq to Sql post of May 1, 2008, Steel Price complains about:

  • Duplication of the "one" object of a many:one association (such as a Customer for a new Order) with the InsertOnSubmit() method if the entity has both an ID field and association.
  • Lack of a method of assuring that deletions precede insertions with multiple updates to the DataContext.
  • Loading an Association does not automatically set the ID if that field is also in the map.

These are legitimate issues that the LINQ to SQL team should fix in VS 2008 SP1.

LINQ to SQLite Accepted as a Google Summer of Code Project

Kevin Kubasik, who wrote a fledgling LINQ to SQLite provider, reports in his Mono GSOC Projects: Linq to SQLite post of May 1, 2008 that he "noticed that one of the accepted proposals for the Mono project is to create a LINQ provider for SQLite."

This project appears to be related to the "Linq to SQL for open source databases" topic of Mono's Student Projects page and is listed in Current Projects on Google Code's Mono Project page.

An Open Source Project for a SQLMetal.exe and SQL Server Compact Edition 3.5 UI

LINQ to SQL's graphic designer doesn't support SQL Server Compact Edition (SSCE) 3.5, so you must use the SQLMetal.exe command-line tool to create LINQ to SQL classes for *.sdf database files.

J. Torres has started a open source project on CodePlex to create a front end for SQLMetal.exe that's compatible with SSCE 3.5.

However, it's a good bet that SSCE 3.5 support will be included in VS 2008 SP1, so the project might have a short shelf life.

Derek Whittaker Explains How to Group LINQ to SQL Sequences on Multiple Columns

Derek explains in his Multi-Column Grouping with Linq2Sql post of April 30, 2008 how to write the LINQ to SQL equivalent of the following T-SQL query.

SELECT  COUNT(*) AS Count,   
        cs.SendID,   
        cs.Name AS SendName,   
        cts.ListID,   
        cts.ListName,   
        ctom.EmailAddress   
FROM    CampaignTrackingOpenedMail AS ctom   
        INNER JOIN CampaignTrackingSummary AS cts    
            ON ctom.CampaignTrackingSummaryID = cts.[ID]   
        INNER JOIN CampaignSend AS cs    
            ON cts.SendID = cs.SendID   
GROUP BY cs.SendID,   
        cs.Name,   
        cts.ListID,   
        cts.ListName,   
        ctom.EmailAddress  

The translation isn't obvious.

Alex James Starts a Fantasy Football Project with Entity Framework as the Data Source

Back in late March, Alex published his Statement of Intent:

I'm going to start creating 'real world' applications using the Entity Framework, and I'm going to blog about all the tradeoffs I make, the hoops I have to jump through, the gotcha's I encounter, the workarounds, the design considerations etc.

In Real world App - Part 1 - Choosing an Application of April 30, 2008, Alex decides on Fantasy Soccer (a.k.a. Fantasy Football).

In Fantasy Soccer - Part 2 - an overview of the rules of May 1, 2008, Alex says:

At this stage only one thing is certain, it will use the Entity Framework for data access.

Fantasy Soccer - part 3 - Unit of Measure of May 3, 2008 discusses using the Entity Data Model's ComplexProperty feature to handle issues with English versus metric measurements and using a helper class to enable sorting by a scaled value, such as weight in lbs. or kg. (Stones for en-uk?>

Updated: May 3, 2008

The clip covers building a simple UI with a Django template that stores messages in the data store and retrieves text messages by author with a GQL query. The segment on deploying the app to GAE starts at about 08:25.

Note: GoogleDevelopers has 122 videos about Google Web services, et al., including the Campfire One release presentation. If you're new to Python and like video tutorials, ShowMeDo is the place to start. Joscha Feth's Google App Engine & eclipse (PyDev) post has fully illustrated instructions for getting code completion with Eclipse, PyDev, and the GAE working.

As time permits, I plan to determine whether GAE is a contender for "data store in the cloud" status and a viable competitor to SQL Server Data Services.

Added: 5/4/2008 12:30 PDT

Colin Meek: Composing LINQ to Entities Predicates

In his LINQ to Entities: Combining Predicates post of May 2, 2008, Colin offers three choices to compensate for LINQ's lack of an Or operator when composing predicates:

  1. Chain Unions instead of Where clauses, which is inefficient.
  2. Build the predicate by hand with ParameterExpression and Expression statements, which is a pain.
  3. Write a utility function called Compose() to implement LINQ to Entities-friendly And and Or builder methods by leveraging the ParameterRebinder implementation of Matt Warren's Expression Visitor from his IQuerable Providers series.

Interesting approach.

Added: 5/3/2008 11:45 PDT

Live Mesh and LINQ to Mesh Updates

Live Mesh Blog and Forum

The Live Mesh Blog has a detailed Behind Live Mesh: How we run cloud services post of April 30, 2008 by dev lead Alex Mallet.

Early Live Mesh adopters don't seem to have found the Live Mesh Forum. It had only 145 users as of May 3, 2008 10:00 PDT.

LINQ to Mesh (From Ori Amiga's Channel9 Video)

The Mesh Operating Environment (MOE) SDK currently has Silverlight, Javascript and desktop C# libraries. (The SDK also supports IronPython, as Ori demonstrated, but not VB.) Unfortunately, the Mesh team won't say when the SDK might be available, other than vague references to PDC 2008.

Here's the sample code for a LINQ to Mesh query against a Mesh object that Ori didn't attempt to execute because of a bug found earlier (~50:00):

Mesh mesh = Mesh.Load(new Uri(@"https://preview/mesh.com"), 
                new NetworkCredential("someone@somewhere.com", "Basic", myCred))

var meshQuery = from meshObject in mesh.CreateQuery<CoreObject>()
                where meshObject.Title == "title"
                orderby meshObject.Title
                select meshObject;

According to Ori at ~51:00, "the query processor can figure out three things:

  1. Which part of the query can execute most efficiently in our back-end storage using fine-grained indices in the cloud and execute that query as close to the data as possible.
  2. In our Mesh Operating Environment, we can keep on processing and linking and querying over that data to answer the question you're asking in the LINQ query.
  3. And you can query over the data in your local machine."

SSDS and Live Mesh

Jamie Thomson's SSDS and Mesh post of May 1, 2008 proposes using Live Mesh to sync SSDS data, perhaps even between two Authorities. Here's the story on potential SSDS and Live Mesh interop:

  • Pablo Castro and the Astoria team are working on a sync model for "Astoria Offline."
  • The SSDS team said they "will support the full EDM/EF/ADO.Net V3 model in due time."
  • Nigel Ellis demonstrated in his Introducing SQL Server Data Services session at MIX08 using the Sync Framework to synchronize vCard contact data between Microsoft Access 2007 and SSDS v1.
  • Francois Ajenstadt, director of project management for SQL Server, said "The goal is to bring the API's between SSDS and Astoria closer together closer to Release."
  • Ari Amiga says the Mesh team has been "working a lot with the Astoria team to make sure that our query syntax is the same, our URL syntax is the same, so it all looks nice and beautiful."
  • Astoria now uses, Mesh supports and SSDS will support the Atom Publication Protocol (AtomPub).

Added: 5/3/2008 10:30 PDT

ADO.NET Data Services Article in Visual Studio Magazine

My "Manipulate Data in the Cloud with ADO.NET [Data Services]" is the cover story for Visual Studio Magazine's May 2008 issue. Here's the deck:

ADO.NET Data Services (formerly code-named "Project Astoria") delivers data from relational tables and Windows Live services to Web mashups and Visual Studio 2008 projects, including ASP.NET AJAX and Silverlight 2.0 rich Internet applications, as Representational State Transfer (REST) resources over HTTP in response to URI-based requests or LINQ to REST queries.

Mesh Connection: At about 50:00 into the Ori Amiga: Programming the Mesh Channel 9 video segment of April 24, 2008 Ori mentions that the Mesh team is working with the Astoria folks to make sure their query and URL syntaxes are the same.

Related Topics: John Udell suggests taking advantage of Astoria's record-level URL addressability to implement loosely-coupled collaborative list-making in his Stonewall Farm, Darby Brook Farm, and the collaborative curation of data post of May 2, 2008. Because of its flexible entity feature (ad-hoc addition of attributes to an entity) SQL Server Data Services might be even a better choice when the SSDS team enables offering public read-only access to a container.

Moved: 5/3/2008 to Manipulate Data in the Cloud with ADO.NET [Data Services] due to length.

Kevin Hoffman Releases Continuous LINQ (CLINQ) v.1.1

According to Kevin's CLINQ v1.1.0.0 Released! post of May 2, 2008, CLINQ 1.1 now includes:

  • Support for Continuous Aggregation. Now, in addition to being able to have your result sets automatically update themselves in response to changes in the source set as well as changes to items in the source set, you can have aggregate scalar values that continuously update in the same fashion. The following is a list of the supported aggregation types that can now be done continuously:
    • Average
    • Min
    • Max
    • Sum
    • Standard Deviation
    • Count
  • Brand new demo application. This demo application not only shows off the power of continuous queries and WPF data binding, but also shows you how to use continuous aggregates, create your own continuous aggregates, and how to databind a WPF GUI to a continuous aggregate value.
His post has a screen shot of the Stock Monitor demo application in action.

Added: 5/2/2008 10:30 PDT

Jeff Currier Wants Questions to Address in SSDS Best Practices Tech*Ed Session

Jeff says in his Speaking at TechEd post of May 1, 2008:

I'm heading down to Orlando in a couple of weeks to give a talk about best practices when it comes to SSDS.  I'm working on my talk outline and was curious if there were any topics in particular that the community wanted to hear about in the talk?

I've posted my topics in a comment.

Jeff's session is "Best Practices in Building Applications with Microsoft SQL Server Data Services," which has the following description:

This interactive session provides a hands-on roadmap for developing and managing applications that use Microsoft SQL Server Data Services (SSDS), details best coding practices, and answers questions related to using on-demand storage services for business solutions.

This appears to be the sole SSDS session at Tech*Ed 2008.

Added: 5/2/2008 10:00 PDT

Popularity of SaaS/PaaS and Web Services/SOA Gain 1% Over 2006 According to McKinsey/Sandhill Survey

This 19-page Enterprise Software Customer Survey 2008 report by consultants McKinsey & Co. and Sandhill Partners finds that:

Innovation in the software industry is on the upswing, with Software as a Service (SaaS) being a key driver. The SaaS model is becoming mainstream and this has led to the rise of a new generation of SaaS platforms (also referred to in the industry as Platform as a Service – PaaS).

The distribution of 857 responses to "Please select the most important trend impacting your business" are shown in the following table for 2006 and 2008:

Most Important Trend, Percent 2006 2008
SaaS/SaaS or PaaS Platform 30 31
Web Services/Service Oriented Architecture 24 25
Open Source 10 8
Offshoring/Globalization 15 13
Software Industry Consolidation 17 7
Others 4 16

A detailed analysis of SaaS/PaaS platforms, which include "cloud computing" starts on page 5. Page 6 concludes:

The momentum toward adoption of SaaS platforms is surprising. Nearly three-quarters of the companies surveyed prefer to adopt platforms in at least one of the three archetypes we identify here.

For platform vendors, the only falloff in interest comes at the largest enterprises, those employing more than 25,000 people. In short, nearly every company – or division of a larger enterprise – is a customer or a prospect for SaaS platforms.

Exhibits on pages 6 - 9 provide additional details on interest in various models SaaS/PaaS models.

BEA's Understanding the Cloud Computing/SaaS/PaaS markets: a Map of the Players in the Industry post of May 2, 2008 by Peter Laird and Kent Dickson has clear definitions of cloud computing, SaaS, PaaS, and Core Cloud Services, as well as a map and list of major players with links to their sites.

Added: 5/2/2008 11:30 PST

SSDS Finally Provisioning Private Beta Users at a Faster Pace

KellyAlt says in Onboarding early beta customers of May 2, 2008:

Over the past 4 weeks, we have been onboarding customers slowly.  Since the response to our restricted beta invitation was quite overwhelming, quite a few of you will experience some delays in getting an account.  The SSDS team is doing everything possible to get you onboarded as soon as possible.  I am happy to say that I am seeing the pace pick up a bit over the last week.

I've been working with SSDS for about three weeks and have written a WinForm test harness to give SSDS v1 a thorough workout. Here's the UI when using the REST protocol to upload a Northwind Employee entity with a base64Binary-encoded bitmap:

Watch for my "Test-Drive SQL Server Data Services" feature article coming in the July 2008 issue of Visual Studio Magazine, which will include complete C# source code for the test harness.

Added: 5/2/2008 08:30 PDT

Ryan Dunn Interviews Tudor Toma and Soumitra Sangupta About the Business Value of SSDS

In Channel9's Tudor Toma and Soumitra Sengupta: SQL Server Data Services Business Value segment of May 1, 2008 (28:19):

Ryan sits down and talks with the Group Program Manager Tudor Toma and Architect Soumitra Sengupta about the business value of SSDS.

Added: 5/1/2008 17:00 PDT

David DeWinter Adapts T4 Templates to Generate T-SQL Stored Procedure Scripts for Entity Data Models

The Text Template Transformation Toolkit (commonly called T4) is a free Microsoft code generation engine for VS 2005 and later that supports their Domain Specific Languages and Software Factories toolkits. The Hilton Giesenow and Oleg Sych blogs have posts about T4.

David's Entity Framework Stored Procedure Generation post of April 26, 2008 describes the template:

The T4 template we created is designed to be a general purpose way to generate CUD procedures for an Entity Framework model. ...

The template not only generates EF-compliant sprocs, but it also considers only the tables that are in the SSDL of the model file. Unfortunately, the template must query the database (SQL Server 2005 only!) in order to make all the decisions necessary to create the output file. However, this is usually quite fast on generations other than the first one.

The template would have been a big time saver when I wrote 40+ stored procedures for my forthcoming book's test project.

Added: 5/1/2008 13:40 PDT

Rick Strahl Posts LINQ to SQL and WCF JSON/REST Samples from His ASP.NET Connections Presentations

Rick's ASP.NET Connections Slides and Samples Posted item of May 1, 2008 provides links to sample code and PowerPoint slides from his three presentations at the ASP.NET Connections conference in Orlando. Following are Rick's abstracts of the sessions:

Building a LINQ to SQL Business Layer for ASP.NET Applications

LINQ to SQL - although completely object based, is still little more than a sophisticated data access layer and so a business object layer is still needed to abstract business logic and provide common functionality that every business related entity requires. The business layer provides a few high level abstractions to the CRUD layer as well as a host of low level features that allow better control for low level data access in case LINQ to SQL queries are ill suited for queries and operations that cannot be performed with LINQ to SQL at all.

This session and its sample code is the culmination of Rick's extensive writing about LINQ to SQL in enterprise-grade projects.

WCF 3.5 JSON and REST Services

WCF 3.5's AJAX support has been made nearly as easy and comprehensive as ASMX functionality and there are many options of how data can be accessed over HTTP now with official protocol support for the webHttpBinding. This session starts of with examples of pure REST URLS and demonstrates features like URL templating, different response formats (wrapped, bare, XML, JSON) as well as the various different options for serving in this fashion. There are also examples of serving up raw data such as images or HTML content out of the REST based API. The remainder of the session focuses on AJAX functionality and explores different ways that WCF services can be called.

If you're interested in ADO.NET Data Objects, which support WCF JSON and REST protocols, don't miss this session.

Ajax Alternatives: Using jQuery with ASP.NET

Off-topic for this blog, but very interesting if you're into AJAX.

Note: Slides are the last file in the ZIP containers.

Frans Bouma Adds LINQ to SQL Refactoring and ASP.NET Dynamic Data Support to LLBLGen Pro

LLBLGen Pro has its own native LINQ implementation, but Frans announces in his Linq to Sql support added to LLBLGen Pro post of May 1, 2008 that latest version (2.6 beta) of LLBLGen Pro includes templates for generating LINQ to SQL classes and mapping (*.dbml) files.

This means you can use LLBLGen Pro's code generator to update your LINQ to SQL data model from SQL Server metadata automatically. Microsoft's LINQ to SQL implementation requires manually updating the data model for schema changes. (ADO.NET Entity Framework's Model Browser has an Update Model from Database context menu command.)

Frans says, "The only downside is that you can't update your model in the Linq to Sql designer anymore. But, why would you?"

LLBLGen Pro ASP.NET Dynamic Data Support

Frans' Dynamic Data and 3rd party o/r mappers is a fact post of May 1, 2008 describes how he convinced Scott Guthrie to open ASP.NET Dynamic Data products to third-party object/relational mapping (O/RM) tools, which in turn enables substituting LLBLGen Pro for LINQ to SQL or Entity Framework.

Steele Price Finds LINQ to SQL Frustrating

In his Some of my frustrations with Linq to Sql post of May 1, 2008, Steel Price complains about:

  • Duplication of the "one" object of a many:one association (such as a Customer for a new Order) with the InsertOnSubmit() method if the entity has both an ID field and association.
  • Lack of a method of assuring that deletions precede insertions with multiple updates to the DataContext.
  • Loading an Association does not automatically set the ID if that field is also in the map.

These are legitimate issues that the LINQ to SQL team should fix in VS 2008 SP1.

LINQ to SQLite Accepted as a Google Summer of Code Project

Kevin Kubasik, who wrote a fledgling LINQ to SQLite provider, reports in his Mono GSOC Projects: Linq to SQLite post of May 1, 2008 that he "noticed that one of the accepted proposals for the Mono project is to create a LINQ provider for SQLite."

This project appears to be related to the "Linq to SQL for open source databases" topic of Mono's Student Projects page and is listed in Current Projects on Google Code's Mono Project page.

An Open Source Project for a SQLMetal.exe and SQL Server Compact Edition 3.5 UI

LINQ to SQL's graphic designer doesn't support SQL Server Compact Edition (SSCE) 3.5, so you must use the SQLMetal.exe command-line tool to create LINQ to SQL classes for *.sdf database files.

J. Torres has started a open source project on CodePlex to create a front end for SQLMetal.exe that's compatible with SSCE 3.5.

However, it's a good bet that SSCE 3.5 support will be included in VS 2008 SP1, so the project might have a short shelf life.

Derek Whittaker Explains How to Group LINQ to SQL Sequences on Multiple Columns

Derek explains in his Multi-Column Grouping with Linq2Sql post of April 30, 2008 how to write the LINQ to SQL equivalent of the following T-SQL query.

SELECT  COUNT(*) AS Count,   
        cs.SendID,   
        cs.Name AS SendName,   
        cts.ListID,   
        cts.ListName,   
        ctom.EmailAddress   
FROM    CampaignTrackingOpenedMail AS ctom   
        INNER JOIN CampaignTrackingSummary AS cts    
            ON ctom.CampaignTrackingSummaryID = cts.[ID]   
        INNER JOIN CampaignSend AS cs    
            ON cts.SendID = cs.SendID   
GROUP BY cs.SendID,   
        cs.Name,   
        cts.ListID,   
        cts.ListName,   
        ctom.EmailAddress  

The translation isn't obvious.

Alex James Starts a Fantasy Football Project with Entity Framework as the Data Source

Back in late March, Alex published his Statement of Intent:

I'm going to start creating 'real world' applications using the Entity Framework, and I'm going to blog about all the tradeoffs I make, the hoops I have to jump through, the gotcha's I encounter, the workarounds, the design considerations etc.

In Real world App - Part 1 - Choosing an Application of April 30, 2008, Alex decides on Fantasy Soccer (a.k.a. Fantasy Football).

In Fantasy Soccer - Part 2 - an overview of the rules of May 1, 2008, Alex says:

At this stage only one thing is certain, it will use the Entity Framework for data access.

Fantasy Soccer - part 3 - Unit of Measure of May 3, 2008 discusses using the Entity Data Model's ComplexProperty feature to handle issues with English versus metric measurements and using a helper class to enable sorting by a scaled value, such as weight in lbs. or kg. (Stones for en-uk?>

Updated: May 3, 2008

The clip covers building a simple UI with a Django template that stores messages in the data store and retrieves text messages by author with a GQL query. The segment on deploying the app to GAE starts at about 08:25.

Note: GoogleDevelopers has 122 videos about Google Web services, et al., including the Campfire One release presentation. If you're new to Python and like video tutorials, ShowMeDo is the place to start. Joscha Feth's Google App Engine & eclipse (PyDev) post has fully illustrated instructions for getting code completion with Eclipse, PyDev, and the GAE working.

As time permits, I plan to determine whether GAE is a contender for "data store in the cloud" status and a viable competitor to SQL Server Data Services.

Added: 5/4/2008 12:30 PDT

Colin Meek: Composing LINQ to Entities Predicates

In his LINQ to Entities: Combining Predicates post of May 2, 2008, Colin offers three choices to compensate for LINQ's lack of an Or operator when composing predicates:

  1. Chain Unions instead of Where clauses, which is inefficient.
  2. Build the predicate by hand with ParameterExpression and Expression statements, which is a pain.
  3. Write a utility function called Compose() to implement LINQ to Entities-friendly And and Or builder methods by leveraging the ParameterRebinder implementation of Matt Warren's Expression Visitor from his IQuerable Providers series.

Interesting approach.

Added: 5/3/2008 11:45 PDT

Live Mesh and LINQ to Mesh Updates

Live Mesh Blog and Forum

The Live Mesh Blog has a detailed Behind Live Mesh: How we run cloud services post of April 30, 2008 by dev lead Alex Mallet.

Early Live Mesh adopters don't seem to have found the Live Mesh Forum. It had only 145 users as of May 3, 2008 10:00 PDT.

LINQ to Mesh (From Ori Amiga's Channel9 Video)

The Mesh Operating Environment (MOE) SDK currently has Silverlight, Javascript and desktop C# libraries. (The SDK also supports IronPython, as Ori demonstrated, but not VB.) Unfortunately, the Mesh team won't say when the SDK might be available, other than vague references to PDC 2008.

Here's the sample code for a LINQ to Mesh query against a Mesh object that Ori didn't attempt to execute because of a bug found earlier (~50:00):

Mesh mesh = Mesh.Load(new Uri(@"https://preview/mesh.com"), 
                new NetworkCredential("someone@somewhere.com", "Basic", myCred))

var meshQuery = from meshObject in mesh.CreateQuery<CoreObject>()
                where meshObject.Title == "title"
                orderby meshObject.Title
                select meshObject;

According to Ori at ~51:00, "the query processor can figure out three things:

  1. Which part of the query can execute most efficiently in our back-end storage using fine-grained indices in the cloud and execute that query as close to the data as possible.
  2. In our Mesh Operating Environment, we can keep on processing and linking and querying over that data to answer the question you're asking in the LINQ query.
  3. And you can query over the data in your local machine."

SSDS and Live Mesh

Jamie Thomson's SSDS and Mesh post of May 1, 2008 proposes using Live Mesh to sync SSDS data, perhaps even between two Authorities. Here's the story on potential SSDS and Live Mesh interop:

  • Pablo Castro and the Astoria team are working on a sync model for "Astoria Offline."
  • The SSDS team said they "will support the full EDM/EF/ADO.Net V3 model in due time."
  • Nigel Ellis demonstrated in his Introducing SQL Server Data Services session at MIX08 using the Sync Framework to synchronize vCard contact data between Microsoft Access 2007 and SSDS v1.
  • Francois Ajenstadt, director of project management for SQL Server, said "The goal is to bring the API's between SSDS and Astoria closer together closer to Release."
  • Ari Amiga says the Mesh team has been "working a lot with the Astoria team to make sure that our query syntax is the same, our URL syntax is the same, so it all looks nice and beautiful."
  • Astoria now uses, Mesh supports and SSDS will support the Atom Publication Protocol (AtomPub).

Added: 5/3/2008 10:30 PDT

ADO.NET Data Services Article in Visual Studio Magazine

My "Manipulate Data in the Cloud with ADO.NET [Data Services]" is the cover story for Visual Studio Magazine's May 2008 issue. Here's the deck:

ADO.NET Data Services (formerly code-named "Project Astoria") delivers data from relational tables and Windows Live services to Web mashups and Visual Studio 2008 projects, including ASP.NET AJAX and Silverlight 2.0 rich Internet applications, as Representational State Transfer (REST) resources over HTTP in response to URI-based requests or LINQ to REST queries.

Mesh Connection: At about 50:00 into the Ori Amiga: Programming the Mesh Channel 9 video segment of April 24, 2008 Ori mentions that the Mesh team is working with the Astoria folks to make sure their query and URL syntaxes are the same.

Related Topics: John Udell suggests taking advantage of Astoria's record-level URL addressability to implement loosely-coupled collaborative list-making in his Stonewall Farm, Darby Brook Farm, and the collaborative curation of data post of May 2, 2008. Because of its flexible entity feature (ad-hoc addition of attributes to an entity) SQL Server Data Services might be even a better choice when the SSDS team enables offering public read-only access to a container.

Moved: 5/3/2008 to Manipulate Data in the Cloud with ADO.NET [Data Services] due to length.

Kevin Hoffman Releases Continuous LINQ (CLINQ) v.1.1

According to Kevin's CLINQ v1.1.0.0 Released! post of May 2, 2008, CLINQ 1.1 now includes:

  • Support for Continuous Aggregation. Now, in addition to being able to have your result sets automatically update themselves in response to changes in the source set as well as changes to items in the source set, you can have aggregate scalar values that continuously update in the same fashion. The following is a list of the supported aggregation types that can now be done continuously:
    • Average
    • Min
    • Max
    • Sum
    • Standard Deviation
    • Count
  • Brand new demo application. This demo application not only shows off the power of continuous queries and WPF data binding, but also shows you how to use continuous aggregates, create your own continuous aggregates, and how to databind a WPF GUI to a continuous aggregate value.
His post has a screen shot of the Stock Monitor demo application in action.

Added: 5/2/2008 10:30 PDT

Jeff Currier Wants Questions to Address in SSDS Best Practices Tech*Ed Session

Jeff says in his Speaking at TechEd post of May 1, 2008:

I'm heading down to Orlando in a couple of weeks to give a talk about best practices when it comes to SSDS.  I'm working on my talk outline and was curious if there were any topics in particular that the community wanted to hear about in the talk?

I've posted my topics in a comment.

Jeff's session is "Best Practices in Building Applications with Microsoft SQL Server Data Services," which has the following description:

This interactive session provides a hands-on roadmap for developing and managing applications that use Microsoft SQL Server Data Services (SSDS), details best coding practices, and answers questions related to using on-demand storage services for business solutions.

This appears to be the sole SSDS session at Tech*Ed 2008.

Added: 5/2/2008 10:00 PDT

Popularity of SaaS/PaaS and Web Services/SOA Gain 1% Over 2006 According to McKinsey/Sandhill Survey

This 19-page Enterprise Software Customer Survey 2008 report by consultants McKinsey & Co. and Sandhill Partners finds that:

Innovation in the software industry is on the upswing, with Software as a Service (SaaS) being a key driver. The SaaS model is becoming mainstream and this has led to the rise of a new generation of SaaS platforms (also referred to in the industry as Platform as a Service – PaaS).

The distribution of 857 responses to "Please select the most important trend impacting your business" are shown in the following table for 2006 and 2008:

Most Important Trend, Percent 2006 2008
SaaS/SaaS or PaaS Platform 30 31
Web Services/Service Oriented Architecture 24 25
Open Source 10 8
Offshoring/Globalization 15 13
Software Industry Consolidation 17 7
Others 4 16

A detailed analysis of SaaS/PaaS platforms, which include "cloud computing" starts on page 5. Page 6 concludes:

The momentum toward adoption of SaaS platforms is surprising. Nearly three-quarters of the companies surveyed prefer to adopt platforms in at least one of the three archetypes we identify here.

For platform vendors, the only falloff in interest comes at the largest enterprises, those employing more than 25,000 people. In short, nearly every company – or division of a larger enterprise – is a customer or a prospect for SaaS platforms.

Exhibits on pages 6 - 9 provide additional details on interest in various models SaaS/PaaS models.

BEA's Understanding the Cloud Computing/SaaS/PaaS markets: a Map of the Players in the Industry post of May 2, 2008 by Peter Laird and Kent Dickson has clear definitions of cloud computing, SaaS, PaaS, and Core Cloud Services, as well as a map and list of major players with links to their sites.

Added: 5/2/2008 11:30 PST

SSDS Finally Provisioning Private Beta Users at a Faster Pace

KellyAlt says in Onboarding early beta customers of May 2, 2008:

Over the past 4 weeks, we have been onboarding customers slowly.  Since the response to our restricted beta invitation was quite overwhelming, quite a few of you will experience some delays in getting an account.  The SSDS team is doing everything possible to get you onboarded as soon as possible.  I am happy to say that I am seeing the pace pick up a bit over the last week.

I've been working with SSDS for about three weeks and have written a WinForm test harness to give SSDS v1 a thorough workout. Here's the UI when using the REST protocol to upload a Northwind Employee entity with a base64Binary-encoded bitmap:

Watch for my "Test-Drive SQL Server Data Services" feature article coming in the July 2008 issue of Visual Studio Magazine, which will include complete C# source code for the test harness.

Added: 5/2/2008 08:30 PDT

Ryan Dunn Interviews Tudor Toma and Soumitra Sangupta About the Business Value of SSDS

In Channel9's Tudor Toma and Soumitra Sengupta: SQL Server Data Services Business Value segment of May 1, 2008 (28:19):

Ryan sits down and talks with the Group Program Manager Tudor Toma and Architect Soumitra Sengupta about the business value of SSDS.

Added: 5/1/2008 17:00 PDT

David DeWinter Adapts T4 Templates to Generate T-SQL Stored Procedure Scripts for Entity Data Models

The Text Template Transformation Toolkit (commonly called T4) is a free Microsoft code generation engine for VS 2005 and later that supports their Domain Specific Languages and Software Factories toolkits. The Hilton Giesenow and Oleg Sych blogs have posts about T4.

David's Entity Framework Stored Procedure Generation post of April 26, 2008 describes the template:

The T4 template we created is designed to be a general purpose way to generate CUD procedures for an Entity Framework model. ...

The template not only generates EF-compliant sprocs, but it also considers only the tables that are in the SSDL of the model file. Unfortunately, the template must query the database (SQL Server 2005 only!) in order to make all the decisions necessary to create the output file. However, this is usually quite fast on generations other than the first one.

The template would have been a big time saver when I wrote 40+ stored procedures for my forthcoming book's test project.

Added: 5/1/2008 13:40 PDT

Rick Strahl Posts LINQ to SQL and WCF JSON/REST Samples from His ASP.NET Connections Presentations

Rick's ASP.NET Connections Slides and Samples Posted item of May 1, 2008 provides links to sample code and PowerPoint slides from his three presentations at the ASP.NET Connections conference in Orlando. Following are Rick's abstracts of the sessions:

Building a LINQ to SQL Business Layer for ASP.NET Applications

LINQ to SQL - although completely object based, is still little more than a sophisticated data access layer and so a business object layer is still needed to abstract business logic and provide common functionality that every business related entity requires. The business layer provides a few high level abstractions to the CRUD layer as well as a host of low level features that allow better control for low level data access in case LINQ to SQL queries are ill suited for queries and operations that cannot be performed with LINQ to SQL at all.

This session and its sample code is the culmination of Rick's extensive writing about LINQ to SQL in enterprise-grade projects.

WCF 3.5 JSON and REST Services

WCF 3.5's AJAX support has been made nearly as easy and comprehensive as ASMX functionality and there are many options of how data can be accessed over HTTP now with official protocol support for the webHttpBinding. This session starts of with examples of pure REST URLS and demonstrates features like URL templating, different response formats (wrapped, bare, XML, JSON) as well as the various different options for serving in this fashion. There are also examples of serving up raw data such as images or HTML content out of the REST based API. The remainder of the session focuses on AJAX functionality and explores different ways that WCF services can be called.

If you're interested in ADO.NET Data Objects, which support WCF JSON and REST protocols, don't miss this session.

Ajax Alternatives: Using jQuery with ASP.NET

Off-topic for this blog, but very interesting if you're into AJAX.

Note: Slides are the last file in the ZIP containers.

Frans Bouma Adds LINQ to SQL Refactoring and ASP.NET Dynamic Data Support to LLBLGen Pro

LLBLGen Pro has its own native LINQ implementation, but Frans announces in his Linq to Sql support added to LLBLGen Pro post of May 1, 2008 that latest version (2.6 beta) of LLBLGen Pro includes templates for generating LINQ to SQL classes and mapping (*.dbml) files.

This means you can use LLBLGen Pro's code generator to update your LINQ to SQL data model from SQL Server metadata automatically. Microsoft's LINQ to SQL implementation requires manually updating the data model for schema changes. (ADO.NET Entity Framework's Model Browser has an Update Model from Database context menu command.)

Frans says, "The only downside is that you can't update your model in the Linq to Sql designer anymore. But, why would you?"

LLBLGen Pro ASP.NET Dynamic Data Support

Frans' Dynamic Data and 3rd party o/r mappers is a fact post of May 1, 2008 describes how he convinced Scott Guthrie to open ASP.NET Dynamic Data products to third-party object/relational mapping (O/RM) tools, which in turn enables substituting LLBLGen Pro for LINQ to SQL or Entity Framework.

Steele Price Finds LINQ to SQL Frustrating

In his Some of my frustrations with Linq to Sql post of May 1, 2008, Steel Price complains about:

  • Duplication of the "one" object of a many:one association (such as a Customer for a new Order) with the InsertOnSubmit() method if the entity has both an ID field and association.
  • Lack of a method of assuring that deletions precede insertions with multiple updates to the DataContext.
  • Loading an Association does not automatically set the ID if that field is also in the map.

These are legitimate issues that the LINQ to SQL team should fix in VS 2008 SP1.

LINQ to SQLite Accepted as a Google Summer of Code Project

Kevin Kubasik, who wrote a fledgling LINQ to SQLite provider, reports in his Mono GSOC Projects: Linq to SQLite post of May 1, 2008 that he "noticed that one of the accepted proposals for the Mono project is to create a LINQ provider for SQLite."

This project appears to be related to the "Linq to SQL for open source databases" topic of Mono's Student Projects page and is listed in Current Projects on Google Code's Mono Project page.

An Open Source Project for a SQLMetal.exe and SQL Server Compact Edition 3.5 UI

LINQ to SQL's graphic designer doesn't support SQL Server Compact Edition (SSCE) 3.5, so you must use the SQLMetal.exe command-line tool to create LINQ to SQL classes for *.sdf database files.

J. Torres has started a open source project on CodePlex to create a front end for SQLMetal.exe that's compatible with SSCE 3.5.

However, it's a good bet that SSCE 3.5 support will be included in VS 2008 SP1, so the project might have a short shelf life.

Derek Whittaker Explains How to Group LINQ to SQL Sequences on Multiple Columns

Derek explains in his Multi-Column Grouping with Linq2Sql post of April 30, 2008 how to write the LINQ to SQL equivalent of the following T-SQL query.

SELECT  COUNT(*) AS Count,   
        cs.SendID,   
        cs.Name AS SendName,   
        cts.ListID,   
        cts.ListName,   
        ctom.EmailAddress   
FROM    CampaignTrackingOpenedMail AS ctom   
        INNER JOIN CampaignTrackingSummary AS cts    
            ON ctom.CampaignTrackingSummaryID = cts.[ID]   
        INNER JOIN CampaignSend AS cs    
            ON cts.SendID = cs.SendID   
GROUP BY cs.SendID,   
        cs.Name,   
        cts.ListID,   
        cts.ListName,   
        ctom.EmailAddress  

The translation isn't obvious.

Alex James Starts a Fantasy Football Project with Entity Framework as the Data Source

Back in late March, Alex published his Statement of Intent:

I'm going to start creating 'real world' applications using the Entity Framework, and I'm going to blog about all the tradeoffs I make, the hoops I have to jump through, the gotcha's I encounter, the workarounds, the design considerations etc.

In Real world App - Part 1 - Choosing an Application of April 30, 2008, Alex decides on Fantasy Soccer (a.k.a. Fantasy Football).

In Fantasy Soccer - Part 2 - an overview of the rules of May 1, 2008, Alex says:

At this stage only one thing is certain, it will use the Entity Framework for data access.

Fantasy Soccer - part 3 - Unit of Measure of May 3, 2008 discusses using the Entity Data Model's ComplexProperty feature to handle issues with English versus metric measurements and using a helper class to enable sorting by a scaled value, such as weight in lbs. or kg. (Stones for en-uk?>

Updated: May 3, 2008