Showing posts with label EDM. Show all posts
Showing posts with label EDM. Show all posts

Sunday, March 28, 2010

Windows Azure and Cloud Computing Posts for 3/26/2010+

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

 
• Updated 3/28/2010 with weekend articles.

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

To use the above links, first click the post’s title to display the single article you want to navigate.

Cloud Computing with the Windows Azure Platform published 9/21/2009. Order today from Amazon or Barnes & Noble (in stock.)

Read the detailed TOC here (PDF) and download the sample code here.

Discuss the book on its WROX P2P Forum.

See a short-form TOC, get links to live Azure sample projects, and read a detailed TOC of electronic-only chapters 12 and 13 here.

Wrox’s Web site manager posted on 9/29/2009 a lengthy excerpt from Chapter 4, “Scaling Azure Table and Blob Storage” here.

You can now download and save the following two online-only chapters in Microsoft Office Word 2003 *.doc format by FTP:

  • Chapter 12: “Managing SQL Azure Accounts and Databases”
  • Chapter 13: “Exploiting SQL Azure Database's Relational Features”

HTTP downloads of the two chapters are available from the book's Code Download page; these chapters will be updated for the January 4, 2010 commercial release in March 2010. 

Azure Blob, Table and Queue Services

Brad Calder started blogging about Windows Azure Storage Resources on 3/27/2010:

The following are some key resources to understand and use Windows Azure Storage.

The online MSDN documentation and Forums:

  1. Windows Azure Storage Client Library (Blobs, Drives, Tables, Queues)
  2. Windows Azure Storage REST Protocols (Blobs, Tables and Queues)
  3. Windows Azure Forums

There are 4 recent talks:

  1. Building Applications with Windows Azure Storage at MIX 2010 2010 – This talk provides an overview of Windows Azure Blobs, Drives, Tables and Queues.  It focuses on showing how easy it is to code up these data abstractions using the Windows Azure Storage Client Library, and gives some tips on how to efficiently use them.  The talk also gives a 10 minute demo on using Windows Azure Drives, showing how easy it is to use a VHD on Windows 7, then upload it to a Windows Azure Page Blob, and then mount it for a Windows Azure application to use.
  2. Windows Azure Blob and Drive Deep Dive at PDC 2009 – Provides a deep dive into Windows Azure Blobs and Drives.  The first part of the talk focuses on describing  Block Blocks and Page Blobs, Snapshot Blob, Lease Blob, Root Blobs, using Custom Domain Names, using Shared Access Signatures (Signed URLs), and using the new Windows Azure Content Delivery Network for accessing/caching blobs.  Then the second part of the talk gives an introduction to Windows Azure Drives.  This allows Windows Azure applications to use existing NTFS APIs through a mounted network attached durable drive (a Page Blob formatted as a single volume NTFS VHD).
  3. Windows Azure Tables and Queues Deep Dive at PDC 2009 – Deep dive into key areas for Windows Azure Tables and Queues.    This includes how to choose partitioning keys and what makes for fast and efficient queries for Tables.  For Queues, Jai describes some future features we will be providing such as (a) removing the time limit for how long a message can stay in the queue, (b) removing the time limit for how long the invisibility time can be, and (c) allowing you to change the invisibility time of a dequeued message at anytime.
  4. Building Scalable and Reliable Applications with Windows Azure at PDC 2009 – This talk describes the design target for scalability of Windows Azure Storage.  It focuses on the target throughputs for storage accounts, Blobs, Tables and Queues, describes at a high level the partitioning we use for them, and how we automatically load balance them to meet their peak traffic demands.   It also describes how to use Queues to create scalable and reliable workflow for your computation.  Finally, the talk describes how to use rolling upgrades to perform a schema change (add a new property) for Windows Azure Tables.

Optimize the usage of Windows Azure Tables:

If you want the best performance out of Windows Azure Tables, please make sure to follow the tips here: .NET and WCF (ADO.NET) Data Service Performance Tips for Windows Azure Tables. …

Brad is Director/Architect of Windows Azure Storage, which provides scalable, available and durable storage for Microsoft’s cloud platform.

<Return to section navigation list> 

SQL Azure Database (SADB, formerly SDS and SSDS)

My Querying OData.org’s SQL Azure Northwind Sample Data Service of 3/27/2010 describes the “Astoria” (ADO.NET Data Services) query syntax for SQL Azure’s OData service implementation with the fully populated Northwind database:

… OData.org offers a publicly accessible full instance of the Northwind sample database, which is more suitable for testing queries that retrieve related items or collections because, unlike AdventureWorksLT, all but one item has a complete complement of related items. That is, all but one customer (FISSA Fabrica Inter. Salchichas S.A.) have related Orders records, all Orders have related Order_Details, all Order_Details have related Products, etc. Another Northwind benefit is that most Microsoft developers are more familiar with Northwind’s structure than AdventureWorksLT’s:

image

(Shippers, Suppliers, and Territories, as well as 11 views, are omitted from the preceding capture.) …

• Shawn Wildermuth’s SQL Azure's OData Support post of 3/24/2010 reports what OData features SQL Azure didn’t support as of that date:

I've ported my XBoxGames Database (see this blog article for copies of the .mdf files) to SQL Azure and added OData support. You can find the feed here:

https://odata.sqlazurelabs.com/OData.svc/v0.1/w9hratewlg/XBoxGames

While this rocks. it did expose some of the lack of full OData support in SQL Azure but they're working on them immediately.  Michael Pizzo is working on this support and sen[t] this list of what is and isn't working currently.

Click here to read the list.

• Rob Collins delivers an overview of Microsoft SQL Azure - Microsoft Takes SQL Databases to the Clouds dated March 2010, which begins:

A brand new Microsoft SQL technology just hit the marketplace on January 1, 2010. Or maybe it would be better to say that a rebranded Microsoft technology just hit the marketplace. Azure services is Microsoft's most significant step into cloud computing. It functions as a complete platform in the cloud with computing, storage and fabric-tying individual systems into an integrated network that can balance processing load or share resources. …

Better late than never, Rob continues with a detailed answer to “What is SQL Azure.”

See John Bodkin’s DEMO start-ups challenge Oracle, SQL with cloud-based data management tools post of 3/23/2010 in the Other Cloud Computing Platforms and Services section.

Ed Katibah’s Spatial Data Support Coming To SQL Azure post of 3/21/2010 begins:

Last Wednesday (March 17th), Dave Robinson of the SQL Azure Team announced upcoming support for spatial data in SQL Azure.  You can view the announcement at the MIX Conference in the video of Dave’s presentation, Building Web Applications with Microsoft SQL Azure (go to 18:40 on the timeline for the start of the spatial data portion of his talk).

Dave reports that spatial will be available in the SU3 release of SQL Azure, tentatively scheduled for this June.

I’ve been using SQL Azure with spatial support for a couple of weeks now and it works just like the spatial data support in SQL Server 2008 – same spatial data types, spatial methods and spatial indexes.  It works in SQL Server Management Studio just like you would expect (see below).

image

Query performance is excellent.  In the above example, the query executed in under a second against a table containing over 1.8 million rows (GeoNames points-of-interest for the United States).

The only real differences that I have found between SQL Server and SQL Azure are true for all data:

1. You need to have a clustered index on the table you are inserting data into.

Note that this can be satisfied by a primary key, which in turn is a requirement for creating a spatial index. You can view this a good thing for spatial ;-)

2. You may need to break your data loads up into chunks to prevent the connection to SQL Azure from timing out.

If you are loading data from an existing SQL Server database, a great tool is the SQL Azure Migration Wizard found on CodePlex.  It currently offers some minor complaints about spatial data when you run it (spatial indexes in particular) but does the right thing anyway.

If I’m not mistaken, SQL Azure will become the first pure cloud database to offer spatial support.  It will be interesting to watch how this new feature is put to use…

The choice of pink is apt for a diagram resembling part of an intestine.

<Return to section navigation list> 

AppFabric: Access Control and Service Bus

See Oracle Corp. presents Addressing Attestation and SoD Head-On with Identity and Access Governance, a live Webcast, in the Cloud Computing Events section.

<Return to section navigation list>

Live Windows Azure Apps, APIs, Tools and Test Harnesses

Microsoft Europe’s Sopima introduces contract management ‘in the cloud’ case study describes a Finnish company’s BizSpark entry:

Microsoft BizSpark member Sopima Oy, has launched an innovative business contract service. Use of the Microsoft Azure platform has helped rapid deployment while reducing capital expenditure.

Program Fast Facts

Situation
Sopima needed a low-maintenance, low-cost solution for launching its contract life-cycle management application. It also wanted to provide customers with a secure, scalable, and high-performance service. 
Solution
Sopima chose the Windows Azure platform for its cloud computing-based Sopima Online Contract Bank.

Benefits

  • Reduced costs and faster deployment
  • Gives Sopima customers a cost-effective contract management service
  • The Microsoft relationship has provided other benefits, including visibility and networking with potential partners, customers and investors

Helsinki-based start-up Sopima wanted to launch online solution for managing business contract life cycles, but needed to minimise its capital investment and wanted a fast route to deployment. To achieve this, the company chose the Windows Azure platform, which has removed barriers that would have otherwise prohibited Sopima’s entry into this competitive market.  As a result, Sopima has introduced the Sopima Online Contract Bank which offers customers an affordable monthly subscription that appeals to a wide customer base. Furthermore, Sopima estimates that, without the Windows Azure platform, it would have had to hire additional full-time staff members at an annual cost of approximately 367,300 EUR (500,000 USD).

It is not surprising that contract management services are a fast-growing market: companies typically have hundreds or even thousands of contracts each year, covering a variety of arrangements with customers, suppliers, partners and employees. Contracts can also involve multiple stakeholders within an organisation – sales, administration and legal departments for instance - so managing contracts can quickly become time-consuming and inefficient, potentially leading to delays and complex negotiations. Also, companies often share contract documents using email, which brings the additional risk of information being stolen or compromised, as well as being unwieldy to manage.

• Riitta Raesmaa tells more about the preceding project in his Guest Blog: Sopima's Story post:

Sopima’s story started in January 2009 as a result of the daily struggles me and my business partners were having with contract creation and negotiations, and also to simply just search for the relevant information. I noticed that our existing ERP and CRM systems did not help much as there was a gap in the sales process right after the deal is agreed and before the contract documentation and more detailed negotiations begin.

This gave us the idea to create Sopima. At the moment we have a team of 15 and are simultaneously with the service building an ecosystem of partners around it. My role is to help build customer service, create an effective product management set-up and also to co-ordinate our communications.

So what exactly do we do? We have identified three major challenges we're now solving; poor efficiency in handling contracts, poor management of existing contracts, and poor co-operation and communication between business and legal. We are looking to revolutionize the way organizations control, create, negotiate and utilize its contracts. Our promise is to make contract management far more efficient and streamlined for any organization - also small and medium-sized businesses - thus helping them to grow and gain competitive advantage via good contracting.

What does it mean in practice? We take a different approach to the entire contract management process: we’re not an enterprise application that requires an IT project and contract professionals to make it happen. Our service consists of a smart and secure online contract bank, contracting best practices, and from autumn 2010 also online negotiation tools.

The value is brought to the customer by shortening the time to negotiate deals, saving time in daily tasks, and enabling transparency with extensive search and reporting on all contract assets. Sopima also takes risk management to a new level; no more expensive lessons in neglected or forgotten commitments! …

Riitta is a partner and co-founder of Sopima, a Finnish SME and part of the Microsoft BizSpark programme.

tbtechnet posted Hosted Remote Technical Support S+S – Keeping It One-click about RapidAssist on 3/27/2010:

There are several great remote technical support solutions available. Often, however, these solutions do not take in to account the completely non-technical end user and either these users' technophobia or the users' emotional state (just fix the darned thing!).

For home "power" users helping fellow home non-technical users, knowing the externally assigned IP address of the PC needing work can be good enough to remotely connect.

For users behind a NAT firewall or for companies offering remote technical support, a one-click experience for the end user is critical. These users do not want to be told to click through more than two steps and “type in this” or “make sure you are logged on as root or admin”.

One example I've used for five years without fail is from www.nteras.com called RapidAssist. A user is emailed or IM'd a web link, the user clicks on the link and then RapidAssist connects, asking the user for permission for a remote tech to connect. The screen performance is very fast, RapidAssist works fine with any firewall and I like the screen markup where I can show a user what I'm doing.

RapidAssist can be used via the nTeras hosted Windows environment or it can be self-hosted which is nice for companies that operate remote technical support operations.

Check out RapidAssist - their per-technician licensing is super easy and low cost. https://www.rapidassist.com/signup.aspx

Steve Marx apologizes in his Do Initialization in OnStart() post of 3/26/2010:

I’m embarrassed that I got this wrong in my blog post from a couple weeks ago about “Using other Web Servers On Windows Azure” (with the same code I showed in that week’s episode of Cloud Cover). In my code from a few weeks ago, I was initializing a web server (Mongoose) in the Run() method of my worker role, when it really should have been in OnStart(). To understand why this is a mistake, let’s take a look at the phases of the lifecycle of a Windows Azure role instance:

  1. OnStart() – called when it’s time to do initialization
  2. Run() – where you do your work (expected to run forever)
  3. OnStop() – where you can do “graceful shutdown” (which is a bit overrated)

Until your code returns from OnStart(), Windows Azure marks your role instance as “busy.” When a role instance is “busy,” no traffic is sent to it by the load balancer, and it does not appear in the RoleEnvironment.Roles["whatever"].Instances enumeration, which means internal traffic won’t get sent to it either. This allows your role instance to do its initialization without worrying about traffic coming in.

Once your role instance returns from OnStart(), Run() gets called. At this point, your role instance is in the “ready” state, which means it's ready to receive traffic. In the case of starting a web server, you really don’t want traffic being sent to you before the web server is listening for that traffic. For that reason, the right place to start your web server (and do other initialization) is in OnStart(). …

It’s nice to see Steve posting again.

David Makogon’s Azure: How to activate the MSDN Premium Special Account post of 3/26/2010 is an illustrated tutorial that similar to my How to Create and Activate a New Windows Azure and SQL Azure Account or Upgrade an Existing Account of 1/7/2010:

When setting up your Azure account, one thing you’ll need to do is select an Azure product to add to your shopping cart. Currently there’s only one product type available to the general public: Azure Platform Introductory Special. This is essentially a pay-per-use account, with a 25 free monthly compute-hours, one SQL Azure database for 3 months,  and 500MB in/500MB out per month. Beyond that, you’re paying standard Azure rates. You can see the rate breakdowns here.

If you’re an MSDN Premium subscriber, you have a significantly-better offer available: Windows Azure Platform MSDN Premium. This plan offers 750 monthly compute-hours, 3 SQL Azure databases, and 7GB in/14GB out per month, for 8 months (see all details here).  However, it’s not exactly easy to get this offer activated. Here’s how: …

Tony Bishop asserts “Latency will affect the quality of your delivery in the cloud...” in his Enterprise Cloud Design and Understanding Latency post of 3/25/2010:

Design of enterprise clouds incorporate multiple dimensions (security, data,service brokering, infrastructure management, etc..) and one of the most critical to understand is the impact of latency. With Network vendors starting to provide 10GigE connections, switches and fabric, and given the exponentially increasing demand for bandwidth, enterprises will buy this equipment.

Design considerations for eterprise clouds must be aware and accomodate for applications that can gobble up ubiquitous and on-demand bandwidth of cloud delivery model. It is becoming clear that those responsible for the applications in datacenters AND responsible for building Cloud like delivery models should also be concerned about the proximity of collaborating applications and the number of hops critical transactions take.

The importance of this can be better visualized in FEET.

10Gig E means that the communication medium will transmit 10 billion bits per second, but what does a billionth of a second mean to a message? It means about 11 3/4 inches, almost a foot. A message response time of 40 milliseconds between two virtual machines, which would be considered important to achieve, translates to about 39 million feet, equaling about 7,451 miles, or about one third around the world. While this seems like plenty of speed to play with, it is important to remember how much wiring goes into a single computer (or network switch) and the time involved in message translation and protocol switching. …

Tony is the Founder and CEO of Adaptivity.

Return to section navigation list> 

Windows Azure Infrastructure

James Urquhart’s Understanding cloud and 'devops'--part 2 post of 3/27/2010 to CNet’s Wisdom of Clouds blog begins:

In the first part of this three-part series on cloud computing and the convergence of development and operations known as "devops," I explained how cloud computing is shifting the unit of deployment from the server to the application. This fundamental change in the focus of operations is having a profound effect on the nature of IT operations.

Why? The answer begins with understanding the relationship between applications, services and data (aka "payloads"), and cloud services. The infrastructure and platforms that you find in cloud computing are designed specifically so they can handle as wide a variety of functional needs as possible within the stated purpose of the service.

Infrastructure services, such as Rackspace CloudServers, try to handle as many x86-based applications as they possibly can, within constraints like networking architecture, service latency, available capacity, etc. Heroku, a Ruby on Rails platform service provider, tries to support as many Ruby applications as it can; as long as its Ruby, there's a great chance it will run on Heroku with little or no modifications.

A generalized infrastructure service serves many application architectures

Thus, these services are designed so that they anticipate as little as possible about any valid payload delivered to them. They do allow configurability, to varying extents, but they must be told what to do.

So, what tells them what to do? …

Marine scene credit: Flickr/Phillip Capper, diagram: James Urquhart.

Christian Verstraete explains the need for Integrating Cloud and Enterprise data in this 3/26/2010 post to HP’s Connect with Others blog:

Despite all the hype in Cloud, despite Gartner's prediction that "by 2012 20% of businesses will get rid of all IT assets as they embrace cloud", large enterprises will not drop their ERP implementations any time soon. And guess what, their key data is embedded in their ERP systems. As David Linthicum points out in an excellent blog post titled: "The data-integration buzzkill for cloud computing", moving any business relevant functionality to the cloud requires addressing the issue of integrating the cloud based applications with the enterprise IT systems.

Identifying integration mechanisms is critical for the adoption of the hybrid cloud model, where public and private clouds are integrated to address the variable needs of enterprises. Discussing the latest RSA conference, Christine Dunlap points out in her blog post "Hybrid Clouds hit Data Centers", that security and infrastructure providers realize the importance of private cloud as a first step towards moving to public ones.  Linking private and public cloud data is not only an issue related to privacy and legal requirements around the location of data, it is also an operational need.

Starting from the premise that CIO's and CEO's are not ready to put all their data in the cloud, there are two possible approaches to date:

  • Keeping all the data in the private cloud and developing a mechanism for the public cloud functionality to fetch the data out of the private cloud when required (single location approach)
  • Duplicating some data in the public cloud and synchronizing the data between the two locations.

Let's look at each of those in more details, but first let's point out that most companies today will only allow a small portion of their data to be available in a public cloud. This demonstrates the need for enterprises to clearly identify the confidentiality nature of each data item. It's a data classification exercise, a prerequisite for moving to a public cloud beyond initial proof of concepts. …

<Return to section navigation list> 

Cloud Security and Governance

Dave Kearns asserts “Every entity that is given personally identifiable information by an individual should present, and abide by, a 'terms of use' contract for that data” in his Privacy as a contract post of 3/23/2010 to NetworkWorld’s Security blog:

The Federal Trade Commission held a roundtable -- actually a series of talks and panels -- last week on the issue of privacy. The commission, it seems, is worried that rules to protect privacy have not kept up with technology. But is government in general and the FTC, in particular, the right place to create privacy rules? Should there be privacy rules at all?

I hasten to add that I'm not advocating a free (or "fee") market for the buying and selling of personally identifiable information (PII), but that existing laws (contract law, copyright, fraud and so on) are good enough with one addition: every entity that is given PII by a person must present, and abide by, a "terms of use" contract for that data.

It was a man I've never met, and hadn't even heard of until a couple of weeks ago, who started me down the path to this thought.

Tim Cole (the right-hand half of Kuppinger-Cole) wrote about Sven Gábor Jánszky who is the founder of 2B Ahead. He saw  Jánszky on Germany's premiere news show (and asked "How often do identity gurus in the U.S. get to air their views on '60 minutes'?") and was intrigued by his premise.

Jánszky's premise is relatively simple: he thinks that the concept of the state protecting people's privacy is so 20th century. "They want to share their personal information", he says, and it's the job of business to help them do it in a controlled fashion. He thinks it's high time the industry takes the lead in creating a system that will allow everyone to distribute personal information freely, but retain a final say in where it goes and how it's used. The role of government, Jánszky says, is also simple: stop trying to build walls around the consumer and instead focus on passing laws that enable companies to use personal information, provided they do so in a responsible way and with the full consent and oversight of the consumer. …

See Oracle Corp. presents Addressing Attestation and SoD Head-On with Identity and Access Governance, a live Webcast, in the Cloud Computing Events section.

<Return to section navigation list> 

Cloud Computing Events

Bart De Smet invites developers to Come and join me for an Rx talk at VISUG on April 6th in Zaventem, Belgium in this 5/28/2010 post:

As part of my three week African and European tour I have the honor to talk to the local Belgian Visual Studio User Group (VISUG) on April 6th in the Microsoft Belux offices in Zaventem, Belgium. Seats are limited, but there’s still time for you to register. More info can be found here. Oh, and there will be catering as well :-). Other opportunities to see me are on TechDays Belgium and DevDays Netherlands, which are both held next week. I’ll post resources about Rx talks to my blog later on and hope to find the bandwidth to write an extensive series on the topic, so stay tuned!

Oracle Corp. presents Addressing Attestation and SoD Head-On with Identity and Access Governance, a live Webcast on 5/5/2010 at 1 PM EDT/10 AM PDT:

Oracle presents a timely event featuring the Burton Group's, Kevin Kampman, who will provide an overview of the latest technology for identity management. Get guidance on compliance, security, identity management and other topics and participate in a live Q&A.

• Bruce Kyle invites you to See Microsoft Research Innovations Videos from TechFest 2010 in this 3/27/2010 post and includes links to these two cloud-related videos:

Cloud Faster
To make cloud computing work, we must make applications run substantially faster, both over the Internet and within data centers.

Inside the Cloud: New Cloud-Computing Interaction
With cloud computing, users can access their personal data anywhere and anytime. Cloud mouse will be a secure key to every user’s cloud data. And, with six degrees of freedom and with tactile feedback, the cloud mouse will enable users to orchestrate, interact with, and engage with their data as if they were inside the cloud.

Microsoft Research’s annual TechFest event showcases solutions to some of the world’s most challenging technical problems. It provides a strategic forum for Microsoft researchers to meet with the broader group of Microsoft employees and product managers.

<Return to section navigation list> 

Other Cloud Computing Platforms and Services

Colin Clark’s IaaS and Building a Private Cloud post of 3/28/2010 describes an event-processing application to be run under Eucalyptus and Ubuntu:

I was speaking with a company last week that would like to get into cloud event processing. For the sake of discussion, I’m going to define ‘cloud’ as the ability to dynamically, and upon demand, use more or less compute, storage, or network capacity. This is often referred to as ‘elasticity.’ I’m also going to add a few other requirements; this cloud must be able to:

  1. Host operations for a number of customers, all accessing the same data, but in different ways,
  2. Provide access to a lot of big data (see #3 – it’s all stored too),
  3. Able to handle messages rates approach 1MM per second (yes, that’s a million messages per second),
  4. Do something with those messages before storing them (in fact, we’re not even worried about storing them),
  5. And while we’re doing something with those messages, relate them to previously stored messages.

And I’m going to define cloud event processing as, ‘using many varieties of event processing; including complex event processing (CEP), map/reduce, and event, or message, driven agents to process events.’  Using DarkStar, we’re able to deploy these various forms of event processing without regard for underlying storage, compute or network – the event processing services are simply deployed and begin processing; if a particular service needs more resources, it asks for them and when it receives them, it uses them. …

Our recent work with Twitter will be our first deployment in this cloud infant.  Using DarkStar, we’re able to analyze the Twitter feed to sense and respond to opportunities and threats.  This relatively simple project includes components of event driven agents, NoSQL storage, CEP sliding windows & aggregation, visualization, map/reduce and analytics.  (For those of you who’ve been reading all along, you’re asking, ‘analytics?’-we didn’t see any of those Colin! – and you’re right, you didn’t – we’ll share those when we’re ready.)

We’ll be starting off with some bog standard Intel hardware, Eucalyptus, and the Ubuntu Enterprise Cloud.  There’s a white paper available on Eucalyptus’s site that details our initial approach.

John Bodkin reports “FathomDB, Cloudscale look to solve database problems” in his DEMO start-ups challenge Oracle, SQL with cloud-based data management tools post of 3/23/2010 to NetworkWorld’s Data Center blog:

image Two start-ups launching at DEMO are offering cloud-based alternatives to traditional database management systems, saying today's databases are too expensive and too difficult for business users to understand.

FathomDB and Cloudscale made their six-minute pitches during the afternoon cloud computing session at DEMO Spring 2010 Monday, taking two different approaches to a similar problem. Cloudscale is trying to give non-technical business users the ability to build "big data" applications right from Microsoft Excel, while FathomDB is offering a relational database service that runs on the Web.

"Today is the age of big data," said CloudScale CEO and founder Bill McColl. "Data is growing exponentially everywhere. … Excel is the world's No. 1 tool for processing and analyzing data, with hundreds of millions of users. But for big data, Excel is nowhere near enough."

Cloudcel, the service offered by Cloudscale, will let users create applications that processes billions of rows of data, "something that would normally take days to compute, and you get the results back in minutes," McColl said.
Cloudscale does not call its Excel-based service a database management system. Instead, it says Cloudcel is "the next major step" after SQL databases and parallel processing tools such as MapReduce and Hadoop.

FathomDB, on the other hand, is a database-as-a-service offering that runs on the Rackspace and Amazon EC2 cloud computing platforms. Prices range from roughly two cents an hour to $3 an hour for MySQL database instances.
FathomDB founder and CEO Justin Santa Barbara said he wants to solve the problem that "SQL doesn't scale," without charging Oracle-like prices. The advantages FathomDB claims include managed backup and monitoring tools, performance tracking, and use of standard database (MySQL) so users don't have to learn a whole new system. …

<Return to section navigation list> 

Saturday, August 08, 2009

LINQ and Entity Framework Posts for 8/3/2009+

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

Entity Framework and Entity Data Model (EF/EDM)

Alex James delivers Tip 30 – How to use a custom database function on 8/6/2009.

Syed Mehroz Alam finds Entity Framework: TimeStamp fields not recognized for optimistic concurrency model on 8/5/2009:

Today, while working with Entity Framework, I noticed through SQL Profiler that my update queries were not using timestamp field. I looked into my model and found that my timestamp fields have Concurrency Mode property set to None. It was quite strange; The entity model was auto generated and I wonder why the EF designer could not identify my timestamp field (I remember LINQ To SQL designer automatically took care of such fields). Anyway, I changed Concurrency Mode to Fixed and it worked great. So, as a final note, when generating entity model from database, don’t forget to set appropriate concurrency modes for your timestamp fields as it is not done by the designer itself.

Kati Iceva reports Improvements to the Generated SQL in .NET 4.0 Beta1 in this 8/3/2009 post:

Most of the improvements we have made are in the Entity Framework query pipeline as opposed to specific SqlClient changes. Because the changes were in the query pipeline, this results in simpler output command trees and thus would affect the SQL generated by any backend, not only by our SQL Server provider.

Following are the improvements:

    • Avoid projecting all columns in nested queries
    • Avoiding Unnecessary IS NULL Checks in LINQ to Entities Queries
    • Additional join elimination:  Eliminate parent table in “Child Left Outer Join Parent”
    • Using IN instead of nested OR’s
    • Translating more of LINQ’s GroupBy operator into GROUP BY
    • Avoiding “Cast (1 as bit)”, using “1” instead
    • Simplifying some queries that go against a subtype in a type hierarchy
    • Improvements in .NET 4.0 post Beta1 (a list)

The team’s post provides detailed code examples for the preceding mprovements.

Julie Lerman provides an abbreviated version of the preceding improvements in her Important Entity Framework Query Improvements for .NET 4.0 post of 8/8/2009 and identities its author as Kati Iceva.

Beth Massi reviews EF-related articles by Danny Simmons and Tim Mallalieu in MSDN Magazine’s August 2009 issue in her N-Tier Application Patterns with Entity Framework post of 8/5/2009:

This month’s MSDN Magazine has a particularly good article in there by Danny Simmons, Development Manager on the Entity Framework team, on N-Tier Application Patterns with Entity Framework that I recommend reading through. He explains the design considerations you need to take into account when building n-tier applications and also discusses some of the improvements that are coming in .NET Framework 4.0 that will make building n-tier applications with EF much much easier. I’m personally looking forward to self-tracking entities myself, hooray!

Tim Mallalieu also has a good best practices article in this issue that I just started digging into regarding the next version of Entity Framework.

Alex James reports in his Code Only Enhancements post of 8/3/2009 that:

The Entity Framework Design team has been working hard on Code Only since the first preview of CodeOnly.

In the next release you will be able to specify:

  1. Navigation Property Inverses.
  2. Property Facets, like Nullability, MaxLength, Precision etc.
  3. Property to Column mappings
  4. Type to Table(s) mappings
  5. Inheritance strategy
  6. Encapsulate configuration

The rest of this post will drill into each of these features in turn.

Alex provides code samples for the following operations:

  • Registering NavigationProperty inverses
  • Specifying Property Facets
  • Specifying Mappings
  • Specifying Inheritance
  • Default Foreign Key Locations
  • Specifying Join Table Mappings
  • Entity Splitting
  • Encapsulating all the Configuration

Julie Lerman gives her analysis of the Next version of EF Code Only Design laid out by MS on 8/7/2009 and offers a Short Video about [her] book on Amazon.com on 8/6/2009.

Nuno Filipe Godinho summarizes recent Improvements in Entity Framework 4.0 in this 8/6/2009 post.

Bob Beauchemin says in his Upcoming improvements in EDM T-SQL code generation post of 8/7/2009:

I'd really like to see support in the EDM provider for SQL Server (and LINQ to SQL) for the spatial and hierarchyid data types (and UDTs in general), table-valued parameters, filestream through the streaming APIs, and better support for stored procedures (beyong the ComplexType generation that's in EDM 4.0 beta) and UDFs. This would complete and enhance the SQL Server support in future.

Me too, Bob.

Matthieu Mezil’s How to get the typed instance in the abstract class? post of 8/3/2009 takes a C# 2.0 approach to Alex James’ Another C# trick: Fluents, Inheritance and Extension Methods post of 8/1/2009 and Damien Guards related extension methods.

LINQ to SQL

Tony Sneed asks and answers Who is Improving LINQ to SQL? Plinqo by Code Smith! on 8/4/2009:

A lot of people have lingering doubts about whether to use LINQ to SQL for real-world applications, especially since Microsoft has left it to languish in favor of the new version of the Entity Framework slated for release with .NET 4.0 and Visual Studio 2010. Nevertheless, I have a consulting client, Credit Solutions, that uses LINQ to SQL for their line-of-business web application and has had a very favorable experience working with it. In addition you’ll get better performance using LINQ to SQL (we’ll see how EF4 compares when it comes out).

The bottom line is that LINQ to SQL is a perfectly viable alternative when you can guarantee that the database will be Microsoft SQL Server (2000 or later). It has support for POCO (persistence ignorance), stored procedures, lazy loading, and concurrency management, and it works well with SOA (n-tier) architectures.

The question is, "Who is adding new features to LINQ to SQL?" The answer is a product called Plinqo, created by the makers of the code-generation tool, Code Smith. The purpose of Plinqo is to generate LINQ to SQL entities that replace those created when you add a dbml file to a Visual Studio project. In fact, Plinqo will generate the dbml file for you, placing each entity in a separate .cs file under a common folder. Actually, Plinqo creates two files: one for the code-generated entity, and another for your own custom metadata that will not be overwritten by the code-generator (for example, attributes that can drive a dynamic data web site). …

So before you decide to give up on LINQ to SQL, check out Plinqo to get a fresh option for using LINQ to SQL in real-world applications. They’re even offering a free CodeSmith license if you mention Plinqo in a blog or tweet.

I’m glad to see more ISVs (in addition to Huagati Systems) supporting LINQ to SQL.

LINQ to Objects, LINQ to XML, et al.

Tormod Fjeldskår suggests Thinking in Sequences in this 8/7/2009 post:

When dealing with series of objects, it is easy to think of them as lists, or arrays. That is, after all, the first collection types most people get acquainted with when becoming a programmer. And by all means, lists are very versatile and easy to employ in most situations. However, they often provide more functionality than you strictly need. Rather than considering collections of objects as list, I find it helpful to think of them as sequences.

LinqMaster explains How to Use LINQ TakeWhile in this 8/5/2009 post.

Damien Guard describes an extension method in his Dictionary<T> look-up or create made simpler post of 8/4/2009 that simplifies such a static class.

ADO.NET Data Services (Astoria)

Nuno Filipe Godinho’s ADO.NET Data Services post of 8/6/2009 lists the operations that Astoria supports and a link for the ADO.NET Data Services Datasheet (CheatSheet) provided by Robert Maclean.

ASP.NET Dynamic Data (DD)

No significant LINQ or EF-related articles as of 8/8/2009 11:00 AM PDT.

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

No significant LINQ or EF-related articles as of 8/8/2009 11:00 AM PDT. 

Tuesday, June 23, 2009

LINQ and Entity Framework Posts for 6/15/2009+

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

ADO.NET Team Blog posts 0f 6/22/2009 for EF v2 CTP 1 will be repeated in the 6/22/2009+ issue.

Entity Framework and Entity Data Model (EF/EDM)

Carl Perry’s Announcing: Entity Framework Feature CTP 1 for the Net Framework 4.0 Beta 1 post of 6/22/2009 notes:

We weren’t able to ship these capabilities in the .NET Framework 4.0 Beta 1 so we’ve decided to release them alongside the Beta.  This CTP is an early preview of these features and as such we’re looking for lots of feedback on these components.  This functionality is currently not scheduled to be part of the .NET Framework 4.0 and we expect to release another CTP of these features based on the feedback we get from you. [Emphasis added.]

Following are CTP1’s new features:

The following posts of 6/22/2009 provide walkthroughs of the new features:

Julie Lerman comments on the ADO.NET Team’s deprecation of System.Data.OracleClient in her Oracle and ADO.NET- Microsoft: Deprecated; Oracle: quiet, DataDirect:Beta and DevArt:Released post of 6/21/2009.

She writes in her EF4: Model-Defined Functions Level 1 & 2 post of the same date:

Model Defined Functions are a great addition to EF4. It allows you to add functions directly into your model rather than having to place the additional logic into business classes. This not only allows the functions to be “just there”, but you can use them in queries, something that you cannot do with properties that are defined in the classes.

Alex James shows you how to avoid superfluous queries and simplify use of EF in Tip 26 – How to avoid database queries using Stub Entities of 6/19/2009.

Beth Massi writes in her WPF Data Binding Samples on Code Gallery post of 6/17/2009:

One of the many samples released for Visual Studio 2010 Beta 1 that you should be aware of are examples of WPF data binding against Entity Data Models. You can find some easy to follow samples here: http://code.msdn.microsoft.com/WPFDatabinding

This sample demonstrates how to create a WPF Forms solution that checks user input with validation code, demonstrates common controls such as DataGrid and ComboBox, and shows typical data manipulation including create, read, update, and delete. The sample solution is available in both Visual Basic and C# and is intended for use with Visual Studio 2010 Beta 1 and with the .NET Framework 3.5.  In the future, we will release a sample that performs with the .Net Framework 4.0 Beta.

Simon Segal’s Entity Framework, Fluent Interfaces & Domain Specific Languages Part 2 of 6/16/2009 continues his tiny DSL series:

In the first part of this series I looked at how you might go about building an (incredibly tiny) domain specific language for analysing data. The context I gave was a scenario where project managers were required to work with a continuous stream of data in the form of a known schema. This ‘known’ schema is most commonly used in moving and transforming data between various systems in a domain where the central or end target is a Document Management System. The ‘known’ schema is an agreed format that all systems in this particular industry use to extract and subsequently load. It is common to see the project managers struggling with tools like access to compose queries to analyse the data before or after these ETL processes and hence proposition of a DSL.

Matthieu Mezil explains how to implement a “sub EntitySet” property in his SubObjectSet post of 6/16/2009. Matthieu writes:

With EF, when you use TPH or TPC inheritance mapping scenarii, the EntitySet is on the base class.

As I mentioned often in the past with EF v1, you can add a property in your context which returns the EntitySet.OfType<MySubType>().

Ok it’s interesting but… In EF v1, the EntitySet is an ObjectQuery<T> property and our property also but in EF v2 the EntitySet is an ObjectSet<T>. This class implements the IObjectSet<T> interface which has three methods to add, attach and delete entities.

One guy tells me that he wants to be able to use these methods directly on the “sub EntitySet” property.

As you would expect, Matthieu provides the implementation.

Faisal Mohamood explains Using Repository and Unit of Work patterns with Entity Framework 4.0 with EF v2 POCO in his detailed post of 6/16/2009. Here are links to his three previous POCO posts:

In this post, Faisal “look[s] at how we might be able to take our example a bit further and use some of the common patterns such as Repository and Unit Of Work so that we can implement persistence specific concerns in our example.”

Jonathan Carter writes in his Gaining some context into ASP.NET AJAX 4’s DataContext… post of 6/18/2009:

The ASP.NET AJAX 4 release has some really cool features in it that can help lower the barrier of entry into developing client-side web applications (jQuery doesn’t hurt either). One of the more compelling new classes is the DataContext. Basically, the DataContext is an object that is capable of consuming a server-side resource that serves JSON data. In its most basic form, you simply give it the URI of a service and the operation name to execute and it handles making the underlying request. If you had an AJAX-enabled ASMX service like so (note: I’m using the Entity Framework)… [Emphasis added.]

and continues with his How the DataContext can change your data and your life (well, sort of, but not really)… post of 6/19/2009.

Himanshu Vasishth’s System.Data.OracleClient Update post of 6/15/2009 announces that Microsoft’s System.Data.OracleClient ADO.NET data provider will be deprecated in favor of third-party Oracle providers in the .NET Framework 4.0:

We learned  that a significantly large portion of customers use our partners’  ADO.NET providers for Oracle;  with regularly updated support for Oracle releases and new features. In addition, many of the third party providers are able to consistently provide the same level of quality and support that customers have come to expect from Microsoft. This is strong testament of our partners support for our technologies and the strength of our partner ecosystem.  It is our assessment that even if we made significant investments in ADO.Net OracleClient to bring it at parity with our partners based providers, customers would not have a compelling reason to switch to ADO.Net OracleClient.

Jaroslaw Kowalski explains Using EFProviderWrappers with precompiled views in this 6/15/2009 post, which notes that":

Injecting a provider into provider chains involves changing SSDL file and that invalidates the hash.

Jarek describes the workaround.

Craig Lee is a member of the EF Tools team who recently started a blog. Following are his first two posts:

Subscribed. Thanks to Alex James for the heads up.

LINQ to SQL

Damien Guard is the interviewee for HerdingCode - Episode 50: Damien Guard on LINQ to SQL, Entity Framework, and Fontography of 6/21/2009:

This week the guys talk to Damien Guard, a developer working on LINQ to SQL and Entity Framework. After discussing data access for a while, they talk about the programming font Damien publishes, Envy Code R.

The post includes a detailed topic list.

Matt Warren posted the 15th chapter of his IQueryable saga, Building a LINQ IQueryable provider - Part XV (IQToolkit v0.15), on 6/16/2009. Matt says his new IQToolkit version offers these new features:

    • More Providers - MySQL and SQLite join the previous MS only line up.
    • Transactions - Use ADO transactions to control the isolation of your queries & updates.
    • Entity Providers - The provider concept is expanded to include tables of entities
    • Entity Sessions - The session concept adds identity caching, change tracking and deferred updates via SubmitChanges
    • Provider Factory - Create providers on the fly w/o knowing anything more than the database name and mapping.
    • Madness

LINQ to Objects, LINQ to XML, et al.

Jim Wooley writes in his Add Extension Methods in LinqPad post of 6/20/2009:

As we already announced, the samples for chapters 1-8 of our LINQ in Action book are available through LINQPad. This includes the LINQ to Objects and LINQ to SQL. I've been working on the LINQ to XML chapters (9-11) and hope that we will add them to the download soon. In the process, I've needed to learn a bit about how LINQPad works under the covers in order to add specialized classes. …

If you need to refer to external methods or add other classes, choose the Program option. This will add a Sub Main method and allow you to add additional methods. …

ADO.NET Data Services (Astoria)

No significant new posts as of 6/23/2009 9:00 AM PDT

ASP.NET Dynamic Data (DD)

No significant new posts as of 6/23/2009 9:00 AM PDT

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

David Ebbo announced A new and improved ASP.NET MVC T4 template in his 6/17/2009 post:

A couple weeks ago, I blogged about using a Build provider and CodeDom to generate strongly typed MVC helpers at runtime.  I followed up a few days later with another version that used T4 templates instead, making it easier to customize.

And now I’m back with yet another post on this topic, but this time with a much simpler and improved approach!  The big difference is that I’m now doing the generation at design time instead of runtime.  As you will see, this has a lot of advantages.

Update: current version is now 0.9.0006 (attached to his post as a zip file)

Friday, May 08, 2009

LINQ and Entity Framework Posts for 5/4/2009+

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

Entity Framework and Entity Data Model (EF/EDM)

Alex James continues his Entity Framework tips with (in reverse chronological order):

Simon Segal continues his series on Entity Framework and the Repository pattern with:

• Danny Simmons offers pointers to EF-related sessions at Tech*Ed 2009 in his Lots of EF Fun at TechEd Next Week post of 5/1/2009. Here’s my list from a session search on “Entity Framework”:

  • BOF17 Build Great Web Applications Today: What Technologies Should I Use? Thu 5/14 | 2:45 PM-4:00 PM | Room 501A Presenter: Todd Anglin
  • BOF21 Solving the Unforeseen Challenges of the ADO.NET Entity Framework: How Can .NET Developers Get Better Prepared? Fri 5/15 | 1:00 PM-2:15 PM | Room 501A Presenter: Jonathan Bruce
  • BOF65 Implementing the Entity Framework in an n-Tier World Thu 5/14 | 8:00 PM-9:00 PM | Room 502A Presenter: David McCarter
  • DAT308 Design Patterns for Application Architecture with the ADO.NET Entity Framework Fri 5/15 | 2:45 PM-4:00 PM | Room 151Presenter: Alex James
  • DAT401 Data Access Hacks and Shortcuts Fri 5/15 | 10:45 AM-12:00 PM | Room 502A Presenter: Stephen Forte
  • DTL05-INT Surprise! It's the Entity Framework Gotchas Thu 5/14 | 1:00 PM-2:15 PM | Blue Thr 1 Presenter: Julia Lerman
  • DTL201 A Strategic Comparison of Data Access Technologies from Microsoft Tue 5/12 | 4:30 PM-5:45 PM | Room 515A Presenter: Michèle Leroux Bustamante
  • DTL20-HOL Application Development with the ADO.NET Entity Framework in the Microsoft .NET Framework 4
  • DTL312 The ADO.NET Entity Framework: Tips and TricksWed 5/13 | 4:30 PM-5:45 PM | Room 152Presenter: Julia Lerman
  • DTL324 Microsoft Visual Studio 2010 Overview for the Business Application Developer Tue 5/12 | 4:30 PM-5:45 PM | Room 515B Presenter: Jay Schmelzer
  • DTL401 Applied Entity Framework Wed 5/13 | 1:00 PM-2:15 PM | Room 408B Presenter: Daniel Simmons
  • PAN65 The Data Access Menu: Making Intelligent Choices Wed 5/13 | 2:00 PM-3:00 PM | 501C Presenter(s): Kent Alstad, Richard Campbell, Stephen Forte, Rockford Lhotka, Paul Sheriff

Looks to me like EF got the lion’s share of the data-related sessions.

Beth Massi’s Notifying the UI when Entity References Change in Lookup Comboboxes of 5/1/2009 observes:

[D]epending on your UI, you may need a notification to fire when the entity reference changes. By default this doesn’t happen with entities generated by the EF designer. Only scalar properties raise change notifications.

Beth’s shows how to solve the problem.

Alex James announces in Video on Entity Framework’s Model First in .NET 4.0 post of 5/1/2009:

Jonathan Carter (aka LostInTangent) has done a Channel 9 video on our upcoming Model First experience.

Model first was announced a while back here.

Beth Massi dives into problems with EF’s lack of exposed foreign key values in her Data Binding WPF Lookup Combobox Values to EF Entities post of 4/30/2009.

Beth Massi’s Tally Rows in a DataSet that Match a Condition post of 4/27/2009 begins:

Today I got a question that comes up often in data application programming about how to count rows in a DataSet that matched a condition. The DataSet may be bound to a DataGridView or other list control and it’s tempting to start looking at the control to see if you can coax it into returning what you need but usually there is a much better way.

This post describes the “much better way.”

Julie Lerman describes her first “baby steps” writing unit tests for EF in her Overcoming "Fear of Unit Testing" Disease article of 4/26/2009 for DevSource.

LINQ to SQL

Frans Bouma’s lengthy The desperate quest for doing it 'right' post of 5/4/2009 describes some of the new features coming in the next version of LLBLGen Pro.

Tech*Ed 2009 lists the following four sessions from a search on “LINQ to SQL:”

  • DAT308 Design Patterns for Application Architecture with the ADO.NET Entity Framework Fri 5/15 | 2:45 PM-4:00 PM | Room 151 Presenter: Alex James
  • DAT401 Data Access Hacks and Shortcuts Fri 5/15 | 10:45 AM-12:00 PM | Room 502APresenter: Stephen Forte
  • DTL402 How LINQ Works: A Deep Dive into the Microsoft Visual Basic and C# Implementations Thu 5/14 | 2:45 PM-4:00 PM | Room 515BPresenter: Jonathan Aneja
  • PAN65 The Data Access Menu: Making Intelligent Choices Wed 5/13 | 2:00 PM-3:00 PM | 501C Presenter(s): Kent Alstad, Richard Campbell, Stephen Forte, Rockford Lhotka, Paul Sheriff

LINQ to Objects, LINQ to XML, et al.

Sergey Zwezdin’s jLinq – LINQ for JavaScript post of 5/5/2009 describes jlinq and provides pointers to more information.

LinqMaster compares Returning a Single Element With LINQ First and LINQ Single in this 4/29/2009 post.

Tech*Ed 2009 lists the following 10 sessions from a search on “LINQ:” 

  • DTL06-INT Task-Based Parallel Programming with the Microsoft .NET Framework 4 Thu 5/14 | 1:00 PM-2:15 PM | Blue Thr 2 Presenter: Stephen Toub
  • DTL11-HOL Parallel Extensions: Building Multicore Applications with the Microsoft .NET Framework
  • DTL12-HOL Microsoft Visual Basic 9 and LINQ Presenter: David Aiken
  • DTL313 Essential LINQ with C# Wed 5/13 | 2:45 PM-4:00 PM | Room 402 Presenter: Mark Michaelis
  • DTL329 Parallel Computing APIs with the Microsoft .NET Framework 4 Tue 5/12 | 2:45 PM-4:00 PM | Room 150 Presenter: Mark Michaelis
  • DTL336 Future Directions for Visual Basic Wed 5/13 | 8:30 AM-9:45 AM | Room 152 Presenter(s): Jonathan Aneja, Anders Hejlsberg
  • DTL402 How LINQ Works: A Deep Dive into the Microsoft Visual Basic and C# Implementations Thu 5/14 | 2:45 PM-4:00 PM | Room 515B Presenter: Jonathan Aneja
  • OFC307 Integrating WPF and WCF into Your Office Business Applications Wed 5/13 | 2:45 PM-4:00 PM | Room 515BPresenter: Tim Huckaby
  • OFC403 Developing Office Client Solutions Using LINQ and Open XML Thu 5/14 | 4:30 PM-5:45 PM | Theatre (Room 411) Presenter: Eric White
  • PRC09 Mobile Device Development on Windows Mobile Room 409 Presenter: Jim Wilson

Eric White provides a preview of his Tech*Ed presentation in LINQ / Open XML at TechEd 2009 of 5/4/2009.

ADO.NET Data Services (Astoria)

Gil Fink reviews Apress’s new Astoria book by John Shaw and Simon Evans in his Pro ADO.NET Data Services Book Review post of 4/22/2009. He give the book 3.5 out of 5 stars.

Phani Raju lists his duty hours covering Astoria at Tech*Ed 2009’s Data Development Technical Learning Center booth in his Going to Tech Ed post of 5/7/2009.

Tech*Ed 2009 lists the following four sessions from a search on “ADO.NET Data Services:”

  • DTL327 Modeling RESTful Data Services Mon 5/11 | 1:00 PM-2:15 PM | Room 404 Presenter: Mike Flasko
  • SOA04-HOL Connecting Microsoft .NET Applications to Legacy IBM Mainframe and Midrange Systems Using Microsoft Host Integration Server 2009
  • SOA302 Building RESTful Services Using WCF Thu 5/14 | 10:15 AM-11:30 AM | Room 404 Presenter: Jon Flanders
  • WUX02-HOL Microsoft ASP.NET Dynamic Data

ASP.NET Dynamic Data (DD)

Steve Naughton surfaces again with Communicating Between FieldTemplates in Dynamic Data of 5/8/2009:

A question that is asked a lot on the Dynamic Data Forum is how can I get a reference to a FieldTemplate, the reason people ask this is because they are used to doing things this was from classic ASP.Net code; the problem with this is that it leads to specialised code in the page, which means custom page and I always go for custom FieldTemplate over custom page.

Scott Hunter announces Dynamic Data Preview 4 Released in his 5/7/2009 post that describes its relaxed data requirements.

David Hayden’s ASP.NET Dynamic Data Preview 4 - Still No ASP.NET MVC Love post of 5/7/2009 reviews the new DD release that includes an ADO.NET Data Services sample. His complaint:

The only question I have is - “Where is the ASP.NET MVC Love?” Surely they still can't be “looking to see where Dynamic Data may fit with ASP.NET MVC” given ASP.NET MVC has been around for over a year in some fashion. Could they? :)

Tech*Ed 2009 lists the following two sessions from a search on “ASP.NET Dynamic Data:”

  • DTL324 Microsoft Visual Studio 2010 Overview for the Business Application Developer Tue 5/12 | 4:30 PM-5:45 PM | Room 515B Presenter: Jay Schmelzer
  • WUX02-HOL Microsoft ASP.NET Dynamic Data

SQL Data Services (SDS) and Cloud Computing

This topic moved on 1/3/2009 to Windows Azure and Cloud Computing Posts for 1/5/2009+.

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

Not covered at the moment.

Wednesday, February 18, 2009

LINQ and Entity Framework Posts for 2/16/2009+

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

Entity Framework and Entity Data Model (EF/EDM)

Danny Simmons describes associations between Room and Exit entities in his D3: Modeling Part 1 – Real-World Relationships post of 2/18/2009 for his DPMud multi-user dungeon application that uses an EDM as its data source.

Julie Lerman’s Logging Entity Framework Queries to Look for Perf Improvement Opportunities post of 2/16/2009 discusses using ObjectQuery.ToTraceString, SQL Profiler, and the eSqlBlast tool on Code Gallery to validate the T-SQL that EF sends to SQL Server.

She also offers a copy of The Acknowledgements from her book.

Doug Purdy’s “M”ix09 (Using “M” to write REST services and clients) post of 2/11/2009 includes the following diagram of “Oslo” Development Domains, which includes the Entity Editor and MEntity textual DSL (empahsis added):

See the entry for Doug’s post in the ADO.NET Data Services (Astoria) section for more details about the MIX09 session named DEVELOPING RESTFUL SERVICES AND CLIENTS WITH “M”.

LINQ to SQL

David Hayden’s updated LINQ To SQL and Executing ADO.NET Commands - O/R Mappers post of 2/16/2009 compares using LINQ to SQL with SqlClient.SqlConnection and .ExecuteNonClient for parameterized INSERT operations and concludes: “Using LINQ To SQL is much simpler by far.”

LINQ to Objects, LINQ to XML, et al.

Rhys Parry’s LINQ and Deferred Execution post of 2/17/2009 is yet another exposé of issues with LINQ well-known deferred execution feature. Rhys’s earlier LINQ-related posts are LINQ and Extension methods (2/15/2009) and Getting Started with LINQ (2/13/2009).

Eric White explores The Composability Thought Process for LINQ on 2/17/2009 with a pointer to his earlier Finding Paragraphs by Style Name or Content in an Open XML Word Processing Document post that incrementally develops the subject query.

Dmitry Robsman’s Channel 9 Interview: ASP.NET MVC using Visual Basic XML Literals shows how he implemented ASP.NET MVC views using Visual Basic's XML Literals instead of .aspx pages. (2/16/2009, Thanks to Beth Massi.)

ADO.NET Data Services (Astoria)

Doug Purdy’s “M”ix09 (Using “M” to write REST services and clients) post of 2/11/2009 announces that the “Oslo” team will use MIX09 to:

[U]nveil how “Oslo”/”M”  can be used to build RESTful client and services using domain specific models and languages.  

The net result is that RESTful clients and services are much easier to write, understand, maintain, etc.

Doug describes what appears to be a session named DEVELOPING RESTFUL SERVICES AND CLIENTS WITH “M”:

Learn how Web developers can use “M”, a new language for describing data, metadata and domain specific languages to enhance RESTful services like HTTP, JSON, RSS/Atom, and more.  Also see how “M” can be used on premise or in the cloud to achieve greater development productivity and to create more compelling customer experiences. [Emphasis added.]

I’m surprised that Doug didn’t mention Astoria in his post.

ASP.NET Dynamic Data (DD)

 

SQL Data Services (SDS) and Cloud Computing

This topic moved on 1/3/2009 to Windows Azure and Cloud Computing Posts for 1/5/2009+.

SQL Server Compact (SSCE) 3.5 and Sync Services

This topic was dropped as of 1/3/2009.

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

Shawn Wildermuth announces that Prism Now Supports Silverlight 2! on 2/18/2009. Prism is a codename for new WPF guidance for the patterns&practices group’s Composite Application Block.

Steve Martin’s Higher Standards for Web Standards post of 2/16/2009 discusses Microsoft’s reluctance to join the IBM-sponsored Web Services Test Forum. Steve writes:]

In many cases, the right answer isn’t necessarily to define something new, but to instead carefully consider whether technology or initiatives already exist to solve the problem. In the end, we should judge the strength of standards on industry and customer adoption alone. As an example, IBM recently announced a consortium called “WSTF”:  Web Services Test Forum which leaves us a tad puzzled.

As of today, the WS-* standards are largely complete within W3C, OASIS, WS-I, DMTF, etc. and are widely implemented in infrastructure products and used by organizations all over the world. We were thrilled to participate in the Oasis announcement just last week on WS-RX, WS-TX and WS-SX. With regard to testing, we think it is critical that customers be able to propose scenarios that match their real-world interoperability needs. Equally important - both successes and failures must be made public. This is why we’re still evaluating our participation in WSTF.

Steve mentions the Web Services Interoperability (WS-I) organization, which has been very quiet lately, but mentions:

Greg Leake runs one of the largest interoperability labs in the world and publishes results and guidance on WS* / WebSpehere / .NET interop. Stay tuned for more here – Greg is just completing his work on WebSphere 7.