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

Wednesday, June 04, 2008

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

Tech•Ed Special: Daily posts during Tech•Ed Developers 2008 and possibly thereafter will be updated top-down during the day

Updated 6/4/2008 for new content and comment added by Frans Bouma about O/RM Persistence Ignorance. See Updated tags below.

Updated 6/5/2005: Kathy Kam missing URL, link to SharePoint Extensions, Data Dude blog post about IBM DB2, and Sync Framework 1.0 CTP2 added.

Kathy Kam: Silverlight 2 Beta 2’s Base Class Library will Include LINQ to JSON and Support ADO.NET Data Services

Kathy says in her Silverlight 2 Beta 2 will be available later this week post of June 3, 2008:

    • Rich Base Class Library: Beta 2 includes improved threading abilities, LINQ-to-JSON, ADO.NET Data Services support, better support for SOAP, and various other improvements to make networking and data handling easier.

The only LINQ to JSON implementation that I’m aware of is Jason Newton-King’s API that I covered in the “James Newton-King Publishes LINQ to JSON Beta” topic of LINQ and Entity Framework Posts for 2/11/2008+. Here are links to Jason’s announcement post and Json.NET’s CodePlex library.

Support for ADO.NET Data Services (a.k.a. Astoria) is a very welcome feature, because it implies support for SQL Server Data Services (SSDS) when the SSDS team conforms their protocol to Astoria’s. This is just one more arrow in Astoria’s quiver.

(Thanks to Tim Anderson for the heads-up.)

Added: 6/4/2008 Updated 6/5/2008: Added missing URL

Tim Anderson Finds It Strange that Gates Didn’t Mention Live Mesh in His Keynote

I do, too, but for a different reason. Tim’s Missing from Bill Gates Tech Ed keynote: Live Mesh post of June 4, 2008 concludes:

Gates gave a nod to cloud computing as the future … but that was it, it was on to fun robotics. I found this a surprising omission. As I see it, Mesh + Silverlight (plus of course things like SSDS) forms Microsoft’s cloud computing development platform. However, I imagine that like modelling vs software factories this is a matter of debate within the company as well as outside; perhaps we are seeing the Gates view vs the Ozzie view here.

However, inclusion of SQL Server Data Services in the Trey Research demo indicates to me that BillG isn’t averse to cloud computing, per se. I have the feeling that it’s Web 2.0’s “social computing” element and Live Mesh’s consumerish tenor that he doesn’t like. Bill and Melinda’s fortune was made on business, not consumer, software.

Here’s a link to the keynote transcript.

Added: 6/4/2008

Data Platform Group Delivers the Details of the Trey Research Keynote Demo

In its 'Beyond Heroes' - Behind the scenes with SQL Server 2008 at TechEd 2008 post of June 4, 2008, the DP Group provides a detailed, illustrated description of the scenario that the Trey Research demo during Bill Gates’ kenote was intended to convey. According to this post, the blog post’s text was uploaded to SQL Server Data Services (SSDS) and the image was synced from the cellphone to SSDS in an operation similar to syncing contact data demonstrated at MIX 08.

Here’s one of the images from the Windows Communication Foundation (WCF) demo.

Zach Owens, the demo’s architect, provides more detailed info about the concept in his TechEd 2008 Developers - Data Platform Keynote Demo Architecture post of June 3, 2008.

Behind the scenes of the Trey Research demo (from Johnny Halife’s Tech Ed North America 2008 from the trenches post of June 5, 2008:

Added: 6/4/2008  Updated: 6/5/2008

Mike Taulty Writes QueryInterceptor() and ChangeInterceptor() Code for Authorization of ADO.NET Data Services Actions

In his Authorising with ADO.NET Data Services post of June 3, 2008, Mike tackles ADO.NET Data Services (Astoria) authorization methods with VS 2008 SP1’s new QueryInterceptor() and ChangeInterceptor() methods. His earlier Authenticating with ADO.NET Data Services post uses .NET Fx 3.5’s Client Applications Services to provide Forms authentication.

At the end, Mike runs into a corner:

So far, I've not found any place to centralise this [authorisation] code and hook into the dispatch mechanism that Data Services is using. You might think that it's better to hook into the underlying WCF infrastructure but I suspect that gets a little tricky given that Data Services can accept both batched and non-batched requests which means you'd have to presumably do quite a lot of work at the WCF level just to figure out what the operation and entity sets are whereas Data Services is already doing this work for both batch and non-batched operations.

So...at the time of writing, I'm still searching for something here. All clues gratefully received :-)

Added: 6/3/2008 1:00 PM PDT

Dave Campbell Demos SQL Server Data Services and Entity Framework During Gates Keynotes

Dave’s demo uses Microsoft Sync Framework as a hub to replicate data between WPF, Web and mobile apps and includes examples of geotagged text and the GEOMETRY, GEOLOGY, and FILESTREAM datatypes. The demo wasn’t clear as to what data was replicated to SQL Server Data Services (SSDS); SSDS doesn’t support these new datatypes, so I assume that the text of a simulated blog post was synced.

Here’s the timeline:

  • 00:56:15 Start of SQL Server content
  • 00:58:30 Start of SQL Server Data Services (SSDS) content
  • 00:59:32 Start of Entity Framework and Entity Data Model content for “rich WPF app”
  • 01:06:30 End of SQL Server content

Watch the keynote at Tech•Ed Online: Tech·Ed NA Developers Keynote delivered by Bill Gates

Added: 6/3/2008 11:00 AM PDT

Bart De Smet Announces Update to Parallel Extensions (Parallel Fx)

Bart’s Parallel Extensions to .NET Framework 3.5 June 2008 CTP post of June 2, 2008 lists the following improvements in the June CTP:

  • Improved notion of task hierarchies in the TPL
  • PLINQ now runs on top of the TPL
  • Revised ordering preservation design for PLINQ (AsOrdered)
  • The new LINQ-style Zip operator
  • Coordination Data Structures (CDS) with 10 publicly available types already, including lock-free collection types

You can download the CTP here.

Added: 6/3/2008 10:00 AM PDT

Julie Lerman to Spray Graffiti on Web Pages at Tech*Ed Developer 2008

Repeated from 6/2/2008: According to her TechEd Ask The Experts: Website Graffiti? Silverlight 2.0 Annotation at the Vista booth post of June 1, 2008, Julie will

be doing a fun Ask the Experts session at the Windows Vista booth Windows Vista at TechEd Developer 2008 “Ask the Experts” Website Graffiti?  Drawing and Annotation with Silverlight on Tuesday June 3rd 1:00-2:00

Julie's How hard could it be to get to TechED? post of June 2 illustrates the joys of today's airline travel. She caught a 6 o'clock flight to Orlando Tuesday morning. Read her The "body clock" I didn't know I had post at 5:15 EDT today from Burlington airport.

Don't miss Julie's session!

Domain and Pattern All-Stars to Lead Data Programmability Team toward Persistence Ignorance Trophy

Danny Simmons' DP Advisory Council post of June 2, 2008 announces that the DP Team has hired the following famous folks to create a new Advisory Council:

Notice that there is not one member of the nHibernate Mafia in the bunch.

Hopefully, the Advisory Council will prevent a repetition of the PI and Entity Framework fiasco controversy of early 2007 et seq, as reported in Persistence Ignorance Is Bliss, but Is It Missing from the Entity Framework?

Note: Steve is a member of a Tech•Ed panel discussing a topic dear to my heart: Are we there yet? Successfully navigating the bumpy road from Access to SQL Server. Unfortunately, it’s at the same time as Julie’s “Graffiti” presentation.

Update 6/4/2008: Be sure to read Frans Bouma’s eloquent comment about whether PI is necessary or even achievable.

Check out Mike Taulty, Daniel Moth, and Udi Dahan Tech-Talk Video Interviews at Tech•Ed 2008 Developer Online

Microsoft UK .NET evangelists Mike Taulty and Daniel Moth take on “the top features of Visual Studio & .NET Framework 3.5” and Paul Foster interviews .NET architect Udi Dahan about Udi’s open-source nServiceBus as the first two of a series of Tech-Talks from Tech•Ed Developers 2008.

Data Programmability Team Announces Distributed Cache for ASP.NET at Tech*Ed

According to Anil Nori’s Announcing Project Codename "Velocity" post of June 2, 2008:

Today, Microsoft is announcing the first CTP of a distributed caching product to provide the .NET application platform support for developing highly performant, scalable, and highly available applications. The project code named “Velocity” is a distributed cache that allows any type of data (CLR object, XML document, or binary data) to be cached. “Velocity” fuses large numbers of cache nodes in a cluster into a single unified cache and provides transparent access to cache items from any client connected to the cluster. The Data Platform Developer Center at http://msdn.microsoft.com/data and the Velocity Team Blog at http://blogs.msdn.com/velocity provides additional information about project code named “Velocity” as well as links to download our first CTP.

Update 6/5/2008: The Velocity Team blog has additional details about Velocity CTP1.

Silverlight 2 Beta 2, VSTS Database Edition Support for IBM DB2, and New VS 2008 SharePoint Extensions Announced in Gates Keynote 

“Soma” Somasegar’s June 3, 2008 On stage at the TechEd 2008 keynote post announces:

  • Silverlight 2 beta 2 – This is going to be available later in the week with a commercial Go Live license. Silverlight 2 beta 2 will be used to power the unprecedented online experience NBC Universal is creating for the 2008 Beijing Olympics. To help developers take full advantage of Silverlight, we are also making available Expression Blend 2.5 June 2008 Preview and Microsoft Silverlight Tools Beta 2 for Visual Studio 2008.
  • Working with IBM, we will further simplify application development for enterprise teams working in heterogeneous environments. IBM and Microsoft have agreed to work together to integrate IBM DB2 database access with Visual Studio Team System Database Edition. Update: Gert Draper has a brief blog post (DataDude Goes Multi-Platform) about the demo and relationship with IBM’s DB2 group.
  • Visual Studio 2008 extensions for Windows SharePoint Services 3.0 v1.2 – this allows developers to use Visual Studio 2008 to extend the value of Windows SharePoint Services and Microsoft Office SharePoint Server by providing a simplified development environment. Update: You can download the code and documentation here. LINQ and Entity Framework Posts for 6/5/2008+ has more details about the extensions,
  • Latest CTP of the Microsoft Sync Framework - a comprehensive synchronization platform that enables collaboration and offline scenarios for applications, services and devices. A CTP of the Microsoft Sync Framework for Windows Mobile is now available as is full support for the FeedSync open protocol format. Update: Microsoft Sync Framework v1.0 CTP2 released 3/6/3008 is the latest CTP and the Windows Mobile CTP is expected in 2008Q3.

Links to these topics will be added when available.

Update 6/5/2008: Link to SharePoint Extensions, Data Dude blog post, and Sync Framework 1.0 CTP2 added.

Diego Vega Reports That the Entity Framework Sample Provider Has Been Updated for SP1

Diego’s June 3, 2008 Entity Framework Sample Provider Updated for SP1 Beta post’s name says it all. If you’re working on an Entity Framework-enabled ADO.NET data provider, you can download the bits for the Sample Provider from this Code Gallery page.

Added: 6/3/2008 2:00 PM PDT

Matthieu Mezil Explains How Entity Framework’s ObjectContext.ApplyPropertyChanges() Method Works

The ObjectContext.ApplyPropertyChanges() is a mystery to many Entity Framework developers and its current documentation isn’t very clear.

Apply property changes let’s you save changes made to an entity that’s been detached, modified, and then attached to an ObjectContext, such as would occur by invoking a Web service. Matthieu points out that you have two choices for using ApplyPropertyChanges():

    • You use optimistic mode. You keep from the DB the entity with the same EntityKey (using TryGetObjectByKey for example), to be sure that the entity is loaded on the context. Then, you call ApplyPropertyChanges with modified property.
    • You do not use optimistic mode. Remember that the optimitic mode is done per property. You need to use ConcurrencyMode=fixed on EDM for each property to verify before SaveChanges. In this case, you need to keep a copy of your original entity, attach the copy to the context and then call ApplyPropertyChanges.

Added: 6/3/2008 2:00 PM PDT

LinqMaster Compares Filtering a File List by Date with C# 2.0 and LINQ

His How to Use LINQ to Filter a List of Files by Date post of June 3, 2008 demonstrates how LINQ can reduce the number of lines of code required for a typical file system list function.

Added: 6/3/2008 12:15 AM PDT

Rob Conery Produces One-Hour Screencast with Jeremy Miller about Dependency Injection for the ASP.NET MVC Storefront

Rob started his Dependency Injection (DI) adventure with Microsoft’s Unity Application Block but decided to go with Jeremy Miller’s StructureMap DI framework instead. His MVC Storefront: Dependency Injection post of June 2, 2008 provides the basic details but the earlier MVC Storefront: Best Episode Yet Is On It's Way Monday (5/30/2008) sheds more light on the topic.

Most previous episodes in Rob’s ASP.NET MVC Storefront screencasts have run about 20 minutes, but this one lasts 57 minutes.

Added: 6/3/2008 11:55 AM PDT

Scott Tucker Liked My “Manipulate Data in the Cloud” Article but Not the Title

Scott’s Is Astoria (ADO.NET Data Services) going to be the answer to cloud computer? post of June 3, 2008 says, in part:

I just read an article on VS Magazine titled Manipulate Data in the Cloud with ADO.NET. After reading I realized that article simply covers Data Services and REST implementation etc but doesn’t really show anything remotely related to cloud. I guess the author forgot the cloud in a cloud :)

Don’t get me wrong I liked the article but don’t agree with the title.  Sometimes I feel I am the only one pulling my hair looking at some of the new stuff being thrown in by Microsoft.

I replied in a comment:

All you need to do to put your data in the cloud with ADO.NET Data Sources (Astoria) is to move it to the other side of the firewall and add authentication and authorization code. The plan is for Astoria to be the on-premises version of SQL Server Data Services.

The “Live Mesh and LINQ to Mesh Updates” topic of my LINQ and Entity Framework Posts for 5/1/2008+ post explains the forthcoming connections between Astoria, SQL Server Data Services and Live Mesh in the “SSDS and Live Mesh” subtopic.

Added: 6/3/2008 11:30 AM PDT

Sunday, June 01, 2008

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

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

Steve Lasker Posts SQL Server Compact and ADO.NET Sync Services Sessions for Tech*Ed Developers 2008

Steve's Heading to Tech Ed US 08 post of May 30, 2008 lists the following sessions, panel discussions, et al. about SQL Server Compact (SSCE) and ADO.NET Sync Services

  • DAT325: Wednesday 8:30AM-9:45AM - Unlocking the Power of Microsoft SQL Server Compact 3.5
  • TEO Panel _24: Wednesday 1:00PM-2:00PM Building Offline Enabled Applications Panel Discussion
  • TEO Panel _33: Friday 2:00PM-3:00PM LINQ in the UI Layer
  • MBL403: Building Custom Sync Providers for the Microsoft Sync Framework by Andy Wigley Wednesday 2:45
  • WIN202:  Introduction to Microsoft Sync Framework by Liam Cavanagh Thursday 1:00
  • MBL404: Microsoft SQL Server 2005 Compact Ultimate Performance by Tuning Darren Shaffer Thursday 4:30
  • MBL07-TLC: Microsoft Synchronization Services for ADO.NET: From Desktops to Devices by Liam Cavanagh Friday 8:30
  • MBL01-TLC: Taking Data Offline: Introduction to Microsoft Synchronization Services for ADO.NET by Liam Cavanagh Friday 4:30

He also provides links to these SSCE demos from DAT325 and a recent Road Trip:

Added: 6/1/2008

Chris Webb Muses about the Potential for a LINQ to MDX Implementation

Creating a useful LINQ to MDX (Multidimensional Expressions) implementation isn't a walk in the park because you don't get fixed column names for a given query. Chris's LINQ to MDX post of May 27, 2008 proposes LINQ to MDX sets instead of LINQ to MDX queries.

Chris asked Marco Russo about the feasibility of LINQ to MDX sets and shows an example of Marco's possible C# syntax for a simple query. Chris also brings up the issue of the always-forthcoming OLAP4J spec, which still seems to be in limbo.

Be sure to read the comments. "Mosha" is Mosha Pasumanski, the principal MDX architect.

Added: 6/1/2008

Marco Russo and Paolo Pilarosi Finally Get Programming Microsoft LINQ to the Shelves

Marco's Programming Microsoft LINQ finally shipping post of May 27, 2008 on SQLBlog.com describes what's in the book and provides a copy of its TOC.

He's also planning a book on Data Warehousing and SQL Server Analysis Services.

Added: 6/1/2008

Maíra Wenzel Writes about ASP.NET Dynamic Data's Dynamic Data Attributes

You can add attributes to ASP.NET Dynamic Data to extend its data model's metadata for fields and other objects. Maíra's Dynamic Data Attributes post of April 24, 2008 briefly describes the 13 available data attributes of the April 23, 2008 release with links to online help.

Maíra's a Programmer/Writer for the ASP.NET team and doesn't post frequently to her MSDN blog, which is probably why I didn't catch the preceding post. (Thanks to Steve Naughton for the heads up.)

Sidestory: Maíra Schmidt is the wife of a Brazilian friend who lives in Joinville, so I thought this Maíra might be from southern Brazil. (Maíra is a fairly common Brazilian female first name.) Sure enough, her About page says:

I have a bachelor degree in Computer Science from the Universidade Federal do Rio Grande do Sul. I started my career as a Web developer in Microsoft partner companies in Brazil.

And she has a personal blog in Portuguese subtitled "Uma gaúcha na terra do Tio Sam", "A cowgirl in the land of Uncle Sam." (Residents of Rio Grande do Sul are known as gaúchos and gaúchas, because the southeastern part of the state is a Pampa similar to Argentina's.)

My friend also graduated from UFRGS in Porto Alegre with a BSEE (but many years ago). I traveled to Joinville (the largest city in Santa Catarina, the state north of Rio Grande do Sul) many times when I was in the business of producing building panels insulated with urethane foam for cold storage warehouses (which followed several years of supplying foam chemicals to surboard makers.)

I was surprised to find the train station in Joinville looked thoroughly German, most of the residents had Latin American first names and German last names, and there were nearby towns named Novo Hamburgo (New Hamburg) and Blumenau, which hosts a yearly Oktoberfest. Most of the region around Joinville and extending south into RS was populated by the decendants of German immigrants, who began as farmers but ultimately founded industrial companies that grew quite large. The currasco (beef barbecued on skewers) and German sausages and sauerkraut were to die for.

The trips to Joinville introduced me to Brazilian music and my favorite musician, Brazilian guitarist Baden Powell. I have more than 100 Brazilian LPs (vinyl) from that era. Here's a link to my Baden Powell Radio station on Pandora, which include albums by younger and older Brazilian guitarists, such as Badi Asad and Vicinius de Moraes.

Dori Caymmi brought back memories of concerts long ago in Rio when he gigged occasionally at Pete Escobedo's club under Berkeley's ill-fated Pasand restaurant in 2000.

Saudade

Added: 5/31/2008

Beth Massi: MSDN Goes Web 2.0ish with New "Social Bookmarks" Service

If you add a Bookmark on MSDN bookmarklet to your Links toolbar, all your Forum 3 (see below) posts add to the favorites in the Your Name's Bookmarks list. Beth Massi's Check it out - VB Social Bookmarks post of May 30 has a link to the VB Developer Center which sports a "Popular Social Bookmarks" section. Mary Jo Foley's Microsoft to showcase social bookmarking at TechEd post of May 26, 2008 has more details about and links to the technology formerly code-named TagSpace.

I was surprised to see my initial OakLeaf blog bookmark I had just added as the first item in the list:

It also was the first item in the C# Developer Center section, so I assume the pages search for the last Social Bookmark entry you made and display a link. Nice touch.

Note: There's a bug that causes the ... more link to open the bookmarked page instead of the bookmark and one that shows the title of my post as the default value before I edited it.

If you use the same Windows Live ID for all your activities on the Microsoft site, bookmarks on the following sites are aggregated:

Beth's public Social Bookmarks are here and mine are here. You also can find my bookmarks by searching on the OakLeaf tag.

Following are MSDN blogs about Social Bookmarks:

I'm not sure how anonymity meshes with the "community planner" title.

Added: 5/31/2008, Updated: 6/1/2008

Dave Robinson: SQL Server Data Services Developer Center Opens on MSDN (and There's an SSDS Forum in the New Format)

Dave's SSDS MSDN DevCenter is live post of May 30, 2008 notes that the SSDS Developer Center has opened on MSDN. He forgot to mention that there's a new SSDS - Getting Started Forum open also. (Two of the three outsider posts as of early AM on 5/31/2008 were off topic.)

The SSDS Forum is running the new Forum 3 Update (Release 3.3) that solves many of the problems folks are experiencing in v2 forums (e.g., slow response time, unwanted logouts, etc.) The plan is to migrate the v2 forums to Forum 3 over the "next few months." The list of forums that have been upgraded to Forum 3 is here.

Added: 5/31/2008

Steve Naughton Adds Yet Another Post to His ADO.NET Dynamic Data Role-Based Permissions Project

This time it's Part 7 - Updating the ListDetails Page, which does the same as Part 4 - Limit Tables shown on Default page and List, Edit & Details etc. for the double-duty ListDetails page.

The latest (post-SP1) ADO.NET Dynamic Data update substitutes separate Details and GridView or ListView pages for earlier versions' controls paired on a single page. Retaining the combined-controls page remains an option you can set in the Global.asax file.

Added: 5/30/2008

Rafik Robeal Discusses VS 2008 SP1's Improvements to the ADO.NET Sync Services Designer

Rafik's Sync Designer in VS2008 SP1 post of May 30, 2008 describes the changes made by Visual Studio 2008 SP1 Beta to the ADO.NET Sync Services designer and points to Guy Burstein's Visual Studio 2008 SP1: Sync Services for ADO.Net with SQL Server 2008 Change Tracking post of May 12, 2008, which includes changes that occur when connecting to an SQL Server 2008 database.

Added: 5/30/2008

Rob Conery's MVC Storefront Project Moved to ASP.NET

The ASP.NET site is now hosting Rob's MVC Storefront and calling it a "Starter Kit," according to Rob's MVC Storefront Now On ASP.NET post of May 30, 2008. All 10 screencasts are here and there's a new MVC Storefront Forum. The latest code samples are on CodePlex.

Apparently the volume of complaints about Rob's heretical Repository model implementation were impacting the site's performance.

Added: 5/30/2008

Jon Udell Reflects on Live Mesh, FeedSync, and Third-Party FeedSync Extensions for Databases, Spreadsheets and SMS Messaging

Jon's latest Perspectives interview for Channel 10 describes how Barbara Willett of Mercy Corps and Nigel Snoad of Microsoft Humanitarian Systems synchronize Access (!)databases in Afghanistan (!!) for "data collection and reporting in an environment where Internet connectivity is spotty, and where lightweight, two-way synchronization is essential."

If you worked with earlier versions of Access, you'll probably recall its briefcase replication features, which SQL Server later adopted for merge, snapshot and transactional replication services. FeedSync is dramatically simpler and lighter in weight than either Access or SQL Server syndication.

In his LiveMesh and FeedSync: software “above the level of a single device” post of May 30, 2008, Jon says:

When David Stutz left Microsoft, he wrote a parting essay that invoked a new kind of Internet-oriented operating system characterized by “software that runs above the level of a single device.” Tim O’Reilly echoed that phrase here, and often used it to help explain what he meant by Web 2.0.

The recently-announced LiveMesh is a nice example of software that runs above the level of a single device. It runs symmetrically on all your computing devices, in the part of the cloud that’s associated with your devices, and in other parts of the cloud where services you transact with are running. ...

The platform’s connective tissue, as discussed in my interview with Ray Ozzie, is FeedSync, a synchronization system based on the same simple technology that powers the blogosphere: XML feeds of items, in RSS or Atom formats. Whether they represent big chunks of information like documents and media files, or small scraps of information like calendar events and status messages, LiveMesh objects are made up of feeds. All these objects synchronize across your mesh of devices and services using the same openly-specified FeedSync mechanism.

Jon then goes on to mention that:

They’ve also built adapters for spreadsheets and — what should be very interesting to Ken Banks and Joel Selanikio — for SMS messaging systems. ...

If the Mercy Corps solution interests you, Nigel says that the toolkit he and his team built for them will be openly released in a few weeks. Watch the FeedSync blog for details.

The FeedSync blog doesn't have prolific contributors. In fact, there have been only three brief posts since December 2007. I'll add a topic to this series when Nigel posts his toolkits, give them a try and report my results.

Added: 5/30/2008

Mike Taulty Continues his ADO.NET DataServices Series with a Concurrency Conflict Detection Demo

Mikes' ADO.NET Data Services - Concurrency in Action post of May 30, 2008 illustrates how to set up concurrency conflict detection in the Entity Framework back end and shows how Astoria detects conflicts with an ETag in the Response Headers that contain original field values in a concurrency token. You then return the token as the value of the If-Match Request Header. If the match fails, the Web server returns an HTTP 1.1/412 Precondition Failed Response Header.

The examples include numerous Fiddler screen captures that further illustrate what's happening on the wire.

Added: 5/30/2008

SQL Server Data Services: Twitter Problems Prove the Need for Early Scalability of Back-Ends for Social Networking Messaging Systems

Numerous bloggers have blamed Ruby on Rails for Twitter's recent downtime problems, but the mushrooming messaging service's You've Got Q's, We've Got A's post of May 28, 2008 by developer Alex Payne.  Nati Sholom, GigaSpace's CTO, wrote a Twitter as a scalability case study post on May 18, 2008 that concludes:

Twitter is no different than many other web apps that have become overnight successes.

They had a good idea and went to implement it as quickly as possible. Ruby seemed to be a perfect tool for them to get there quickly. Success was much bigger and faster then they imagined. Not surprisingly. the architecture was not designed for scalability and they are now forced to go through the painful process of scaling their architecture.

Updated: 6/2/2008: Dare Obasanjo weighs in on Twitter's scalability problem in his Will Twitter be the Next Friendster? post of June 2, 2008:

Recently the folks behind Twitter came clean on the architecture behind the service and it is quite clear that the entire service is being held together by chewing gum and baling wire. Only three MySQL database servers for a service that has the I/O requirements of Twitter? Consider how that compares to other Web 2.0 sites that have come clean with their database numbers; Facebook has 1800, Flickr has 166, even Wikipedia has 20. Talk about bringing a knife to a gunfight.

VentureBeat's MGSiegler posted Twitter: Don’t blame Ruby, blame Scoble on May 29, 2008. This article includes a summary of Siegler's telephone interview with Sholom, which makes these points, inter alia:

Shalom fully understands the burden the Twitter team now has. It basically has to take its first architecture, which isn’t working, and re-build it on the fly while the service is still running. ...

Shalom agrees that all of the Ruby on Rails hatred in the blogosphere is misguided. That framework should still be fine for the front-end (just as Payne indicates), but it’s the site’s architecture or “engine” that needs to be rebuilt. ...

One thing is for certain with all of Twitter’s recent issues. A lot of start-ups in the future are going to learn from mistakes made. Today’s post follows Payne’s post last week stating that Twitter wasn’t built to handle its current usage.

While the core team that built Twitter at the time may have had no way of foreseeing today’s issues, companies in the future should learn from this and choose the correct architecture while taking the time to think about scalability, just in case they do hit it big.

Updated: 6/2/2008

I'm not sanguine for the prospects of SQL Server Data Services (SSDS) as the back end for a high-performance messaging system because the XML network protocol used is considerably slower than the conventional Tabular Data Stream (TDS) format that Microsoft released recently as an Open Protocol Specification. Further, latency of an Internet connection between the database and the Web server probably undoubtedly would preclude interposing the cloud.

That said, the Twitter fiasco is a prime example of failure to plan for and implement a scalable database back end.

  • Added: 5/30/2008

    Marcin Dobosz Shows You How to Extend ADO.NET Dynamic Data's FilterRepeater Control

    ADO.NET Dynamic Data (a.k.a Onyx, its original code name) enables filtering DataView or ListView lists by foreign key field or Boolean field values selected from dropdown lists. When you generate a scaffold manually or with the Dynamic Data Wizard, FilterRepeater dropdowns appear at the top of the list.

    For example, a list of Northwind Orders has a Customer, Employee and Shipper dropdown as shown in the following multiple exposure:

    Marcin's Dynamic Data samples: Extending the FilterRepeater post of May 29, 2008 shows you how to replace the default dropdowns with AJAX AutoComplete dropdowns by implementing the AdvancedFilterRepeater, FilterFactory and DelegatingFilter components. The post includes sample code.

    Added: 5/30/2008

    Paul Sheriff Screencasts LINQ to XML for Channel9

    The geekSpeak recording: Inside LINQ to XML with Paul Sheriff of May 29, 2008 carries this (partial) description:

    In this geekSpeak, Paul Sheriff focuses on LINQ to XML and reveals lots of tips for getting up to speed with it. We loved seeing the new techniques for building XML documents using the XDocument type that are tremendous time savers. He helps us understand what is LINQ, what’s LINQ to XML, and what are the new XML handling capabilities of VB and C#. He shows a nice example of LINQ to SQL output with XML literals interleaved, as well as an actual LINQ to XML query that comes back with (surprise) XML.

    Added: 5/30/2008

    Rafik Robeal Explains Why ADO.NET Sync Services' PeerSyncProvider Doesn't Get Along with SQL Server 2008's Change Tracking Feature

    In his Metadata is the Hart and Sole of Peer Sync post of May 29, 2008, Rafik explains that ADO.NET Sync Services' PeerSyncProvider requires inserting, updating, and deleting metadata with SyncAdapter commands but SQL Server 2008's Change Tracking metadata (CHANGETABLE) is read-only. Rafik concludes:

    [Y]ou can still leverage SQL Change Tracking for Peer Scenarios albeit you need to use a side table to store the changes to the metadata.

    Added: 5/30/2008

    Mike Taulty Demos ADO.NET Data Services' New Batching Feature

    Mike's ADO.NET Data Services - Batching in Action post of May 29, 2008 demonstrates use of the proxy.ExecuteBatch() method to send a single POST message to the $batch endpoint and issue multiple GETs to retrieve multiple records from different tables.

    Similarly, he shows you how to use the proxy.SaveChanges(SaveChangesOptions.Batch); method to invoke multiple POST, PUT, or DELETE methods in a single operation.

    Stuart Leeks Analyzes the Performance of Multiple Let Expressions in a Single Query

    His Using let in LINQ to Objects - Part 2 post of May 29, 2008 measures the overhead of single and multiple instances of the let/Let LINQ keyword in a query, and demonstrates a query where use of let/Let improves performance.

    Stuart Leeks Explains the Basics for Using LINQ to Object's Let Method

    The first member of Stuart's two-part Using let in LINQ to Objects of May 21, 2008 shows provides an introduction to the let/Let LINQ keyword. Usage is similar in other LINQ implementations, such as LINQ to SQL, LINQ to DataSet, and LINQ to Entities.

    "LinqMaster" Starts LINQ and Lam[b]da Expressions Explained Blog

    Here in reverse chronological order are LinqMaster's first posts:

    He/she promises to "cover each LINQ extension, describe it, and show examples of how and why you might use it."

    Julie Lerman Exposes Entity Framework's New EntitySet, Entity, and Property Properties

    Her Full frontal entities? A little privacy please! post of May 29, 2008 outs newly implemented Internal or Public access for entities, Property Setters and Getters, as well as EntitySets with Public, Private, Protected, or Internal access in SP1.

    Folks have been requesting variable visibility for these collections, objects and properties for many months.

    Nikolai Smolyanskiy from the Live Core Team Describes Live Mesh's Authentication and Authorization Features

    Nikolai's Live Mesh Security in a Nutshell post of May 29, 2008 talks "about Live Mesh security and authorization architecture, so that you understand its internals and feel better about trusting your data to the Mesh."

    John Papa Concentrates on His Book's Essentials Despite Promised Fancy Silverlight Skins

    John promises in his Keeping Focused on Silverlight and Data post of May 29, 2008 that he won't lose track of his forthcoming book's topic, Data Access with Silverligh, just because he sweet-talked Corrina Barber into creating "several sets of skins" for examples. He also has a new http://silverlight2data.com/ URL for the book.

  • Friday, May 23, 2008

    LINQ and Entity Framework Breakout and TLC Sessions at Tech*Ed Developers 2008

    This list was compiled from the Tech*Ed Developers 2008 Session Catalog with LINQ or ADO.NET as the Keyword.

    Updated May 23, 2008 with date, time and code data from the ADO.NET Team's Going to TechEd? Drop by and say Hi! blog of the same date.

    Breakout Sessions

    Updated May 9, 2008: Added Julie Lerman's Advanced Entity Framework: Take Charge of Object Services session omitted accidentally. There are 19 LINQ, LINQ-related, and Entity Framework breakout sessions.

    LINQ

    LINQ to DataSet

    Date: June 6 Time: 4:30pm-5:45pm Code: TA677 
    Track: Database Platform Presenter: Erick Thompson Level: 300

    Microsoft Visual Studio 2008 introduces a number of new technologies that make working with data a better experience. One of these new technologies is Language Integrated Query (LINQ). The LINQ to DataSet flavor of LINQ gives you the ability to leverage the power of LINQ in your DataSet based applications. This session demonstrates how you can use LINQ to DataSet to improve the performance and reliability of your existing code, as well as utilize new functionality.

    XML LINQ: Linking in the Real World

    Date: Time: Code:
    Track: Developer Tools and Languages Presenter: Paul Sheriff Level: 300

    LINQ technology in .NET 3.5 has some great hooks into XML that make using XML documents a breeze. This seminar explores how you will put this technology to work in your applications. Besides the obvious advantages of using LINQ to iterate over XML data, you can also use it to create and process XML documents. One great way you can use XML is in prototyping. In this seminar, see how to use LINQ and XML to create faster prototypes for your customers.

    Microsoft Visual Basic 2008: Microsoft LINQ Language Tips, Tricks, and Best Practices

    Date: Time: Code:
    Track: Developer Tools and Languages Presenter: Amanda Silver Level: 300

    LINQ (Language Integrated Query) is a key platform innovation introduced with Microsoft Visual Studio 2008, which brings SQL-style query expressions into Visual Basic and Visual C#, enabling you to describe what data to reason about instead of how to access the data. In this session, by taking a much closer look at the language features that enable LINQ-enabled frameworks, we uncover tips, tricks, gotchas and best practices for writing queries that will help you write robust, high-performing, maintainable business applications more quickly. In addition to gaining a solid understanding of LINQ for data access, you’ll also leave this session with a clear understanding of how query and the individual language features can be leveraged in other parts of your application to write less code.

    Super-Optimized Microsoft LINQ: Indexed Objects

    Date: Time: Code:
    Track: Developer Tools and Languages Presenter: Aaron Erickson Level: 300

    LINQ (Language Integrated Query) is a key platform innovation introduced with Microsoft Visual Studio 2008, which brings SQL-style query expressions into Visual Basic and Visual C#, enabling you to describe what data to reason about instead of how to access the data. In this session, by taking a much closer look at the language features that enable LINQ-enabled frameworks, we uncover tips, tricks, gotchas and best practices for writing queries that will help you write robust, high-performing, maintainable business applications more quickly. In addition to gaining a solid understanding of LINQ for data access, you’ll also leave this session with a clear understanding of how query and the individual language features can be leveraged in other parts of your application to write less code.

    How LINQ Works: A Deep Dive into the Implementation of LINQ

    Date: Time: Code:
    Track: Developer Tools and Languages Presenter: Aaron Erickson Level: 400

    Want to know what really happens when you execute your favorite LINQ queries? Curious how the same query expression can target either in-memory data or relational data? In this 400-level talk, Alex Turner, the C# Compiler Program Manager, uses Reflector and other tools to reveal exactly how the compiler translates LINQ query expressions. Gain a deeper understanding of LINQ’s functional roots as we see how lambda expressions and iterator methods enable LINQ to Objects' elegant syntax. Then find out what's the same and what's radically different as we explore LINQ to SQL and the expression trees that make it tick.

    Real-World LINQ to SQL

    Date: June 3 Time: 1:15pm-2:30pm Code: TC19F
    Track: Developer Tools and Languages Presenter: Anthony Sneed Level: 400

    Take a deep dive into a real-world LINQ to SQL application that seeks to exploit the full capabilities of the object-relational mapping technology released with Microsoft .NET Framework 3.5 and Microsoft Visual Studio 2008. This talk focuses on best practices for incorporating LINQ to SQL into your data-driven Windows Forms or Windows Presentation Foundation application, including the use of eager loading, pass-through SQL, batch updating with stored procedures, concurrency control, and disconnected scenarios. We also address object caching and identity issues, as well as support for distributed transactions.

    Parallelize Your Microsoft .NET Framework-Based Applications with Parallel Extensions

    Date: Time: Code:
    Track: Development Practices Presenter: Steven Toub Level: 300

    With the Microsoft .NET Framework today, correctly introducing concurrency into libraries and applications is difficult, time consuming, and error-prone. However, as the hardware industry shifts towards multi-core and manycore processors, the key to high-performance applications is parallelism. Parallel Extensions to the .NET Framework offers solutions to help make writing concurrent applications significantly easier. In this session, we dive into Parallel Extensions, exploring Parallel LINQ-to-Objects (PLINQ), the Task Parallel Library (TPL), the underlying concurrency runtime, and more, in order to provide an in-depth look at the next generation of parallel programming with .NET.

    Introduction to Mock Objects and Advanced Unit Testing

    Date: Time: Code:
    Track: Development Practices Presenter: Roy Osherove Level: 300

    If you've played around with Unit testing but are not sure what the deal is with Mock Objects, Stubs and the like, this talk is for you. We cover, among others: what Mocks and Stubs are, hand-written mocks and stubs, dynamic mock objects using Rhino Mocks and Typemock, dependency injection techniques for Mocks and Stubs, and more; and how to mock out LINQ Queries and extensions methods.

    Use the Open XML SDK and LINQ to Program the Microsoft Office Open XML File Formats

    Date: Time: Code:
    Track: Office and SharePoint Presenter: Ken Getz Level: 300

    Although the Packaging API makes it possible to manipulate the Office Open XML Formats directly, it doesn’t make it easy. The Open XML SDK provides a consistent and neat wrapper around the API, making it far easier to get to the parts you need. Once you get to the part, however, you’re still simply working with XML content. To make this easier, LINQ to XML provides a superb tool. Both Microsoft Visual C# and Visual Basic provide support for LINQ to XML, and Visual Basic adds specific features that make the process far easier. In this session, see how to use the Open XML SDK and LINQ to XML to manipulate Open XML File Formats. Special attention is paid to the issues involved in handling namespace resolution, a tricky issue in any situation.

    Integrating Windows Presentation Foundation and Windows Communication Foundation into Your Office Business Applications 

    Date: Time: Code:
    Track: Office and SharePoint Presenter: Tim Huckaby Level: 400

    This session highlights many of the ways that the Windows Presentation Foundation (WPF) and the Windows Communication Foundation (WCF) can be leveraged in applications built with Visual Studio Tools for the Microsoft Office System (VSTO). Visual Studio 2008 introduced an array of new features aimed at a wide range of Office solution types. With Visual Studio 2008, you can build solutions that incorporate the native capabilities of the Office client applications (like Outlook) combined with the sophisticated UI capabilities of WPF that's connected to remote data and services via WCF and use the RAD features of LINQ to manipulate that data. These new technologies provide opportunities for building powerful solutions with functionality that was previously difficult or impossible to achieve. Now that Microsoft Office has evolved into a true development platform, solutions based on Office are becoming increasingly sophisticated, less document-focused, and more loosely coupled. This session shows you how easy it is to build robust solutions that leverage the latest technologies. WPF provides developers and designers with a unified programming model for building rich Windows smart client user experiences with Office client applications that incorporate UI, media, and documents. WCF contains a support framework and a design-time toolset for building service-oriented solutions that connect rich Office clients with powerful server-side functionality and remote data access. Visual Studio 2008 provides a simple GUI wizard that lets you consume WCF services without having to worry about service metadata, protocols, or XML configuration.

    Jumpstart Data Driven Web Applications with ASP.NET 3.5 (Part 1 of 2)

    Date: Time: Code:
    Track: Web and User Experience Presenter: Scott Hanselman Level: 200

    Explore the new features in ASP.NET 3.5 that make buliding data driven Web applications a breeze. In this first of a two-part series, learn how to use LINQ to take the pain out of interacting with your relational data and how support for LINQ and its constructs are built into the paradigms you are familiar with in ASP.NET and Microsoft Visual Studio 2008.

    Using Data and Web Services in Your Microsoft Silverlight Application

    Date: Time: Code:
    Track: Web and User Experience Presenter: Hamid Mahmood Level: 300

    This session covers how to use data in your Silverlight beta 1 application. Learn how to get the data (in brief… networking is well covered in other talks), how to manipulate the data (LINQ/XLINQ), how to bind the data (Databinding), how to show the data (dive into a few data relevant controls, notably Datagrid), how to validate the data, and how to store the data (isolated storage).

    Building Rich Internet Applications Using Microsoft Silverlight 2 (Part 2 of 2)

    Date: Time: Code:
    Track: Web and User Experience Presenter: Mark Rideout Level: 300

    Silverlight provides a powerful platform for building the next generation of rich interactive applications on the Internet. In this session, we demonstrate building a rich interactive application (RIA) using Silverlight and Microsoft .NET. We cover how to use Microsoft Visual Studio to create applications, how to create UI using XAML markup and code, how to build a custom control, how to retrieve data from a Web service, and how to manipulate data with XML and LINQ.

    An Introduction to LINQ on Devices

    Date: Time: Code:
    Track: Windows Mobile Presenter: Dan Fergus Level: 300

    We’ve all heard the hype, now let’s look at the reality. There are some great things about LINQ, some of which are not supported on devices. But there is much to learn to begin using LINQ effectively. The first is to know what exactly it is and what it can do for you. With a firm foundation, we then look at how to implement LINQ and discuss how it can be implemented.

    Entity Framework

    Understanding the ADO.NET Entity Framework

    Date: June 6 Time: 4:30pm-5:45pm  Code: TA677
    Track: Developer Tools and Languages Presenter: Erick Thompson Level: 300

    Most Microsoft .NET Framework-based database applications out there use ADO.NET to access and manipulate data, and most of them have a data-access layer built on top of ADO.NET to abstract out many of the details related to data-access that can get in the way of business logic. In this session, we introduce the ADO.NET Entity Framework, a high-level data library that pushes up the level of abstraction application developers need to work at when dealing with data in databases. We discuss how the system supports conceptual modeling, the use of the object services layer to do object-relational mapping, and how great integration with LINQ (Language Integrated Query) brings new levels of productivity to the data-access development space.

    Microsoft .NET Framework 3.5 Data Access Guidance

    Date: June 5  Time: 2:45pm-4:00pm Code: T276B
    Track: Developer Tools and Languages Presenter: Julie Lerman Level: 300

    With .NET 3.5, developers now have to choose between “classic” ADO.NET, LINQ to SQL, and a number of options using Entity Framework. The ADO.NET 3.5 Entity Framework presents us with a slew of new options for accessing data which you will learn about during this conference. This session compares and contrasts DataSets and DataReaders, Object Services and Entity Client; Entity SQL, LINQ to Entities and LINQ to SQL, providing guidance as to which methods are appropriate in particular scenarios. We also examine this functionality with respect to both creating new solutions and plugging the Entity Framework into existing applications.

    Advanced Entity Framework: Take Charge of Object Services

    Date: June 5 Time: 10:15am-11:30am Code: T7D80
    Track: Developer Tools and Languages Presenter: Julie Lerman Level: 300

    The Entity Framework combined with the Entity Data Model (EDM) bring data access to a new level in Enterprise Applications. Entity Framework Object Services APIs, while providing a lot of automated functionality, are filled with features that give developers much more control over how objects are handled. The most important jobs of the ObjectContext are relationship management and change tracking. This session drills into how the ObjectContext manages relationships and how you can control its behavior. This is especially important in SOA scenarios where you may need to transport ObjectGraphs. We also look closely at change tracking, focusing on the challenges and solutions for dealing with data concurrency when moving objects across tiers in your enterprise applications. Knowing what to expect from these features and how to take control of them will empower you in your use of the Entity Framework and EDMs in your Web sites, SOA applications, and smart clients, as well as other applications that share the EDM.

    Added: May 9, 2008

    Building Next Generation Data Access Layers with the ADO.NET Entity Framework

    Date: June 3 Time: 4:45pm-6:00pm          Code: ARC305
    Date: June 5 Time: 2:45pm-4:00pm          Code: ARC305R
    Track: Architecture Presenter: Barry Gervin Level: 300

    As Developers, we've been building components in our data access layer (DAL) with ADO.NET classes such as Connections, Commands, DataReaders, DataSets and our own custom Helper classes and Data Classes. We build data access layers with a clear separation of concerns between business logic, data access, and data storage. We do this to increase cohesion and maintainability of our code, and also to increase developer productivity. What does this exactly mean in terms of the Entity Framework? What is the best approach to using the Entity Framework within our Data Access Layer? There are several workable models for leveraging the Entity Definition Model (EDM) within our applications. On one end of the spectrum, we can use the Entity Definition Model as a tactical tool for data access which is isolated to our Data Access Layer. This hides the Entity Framework from the rest of our application, effectively separating the concern of data access from the rest of our application. Another technique includes leveraging the conceptual Entity Definition Model deeply throughout our solution's layers and tiers. In this session, we compare and contrast these approaches including the middle ground, and see how these architectural choices affect maintainability, readability, and developer productivity. Most developers don’t frequently have the opportunity to start from a fresh slate, so we’ll also examine a refactored evolution from traditional data access layers through to incremental use of the Entity Definition Model.

    ADO.NET Entity Framework: Application Patterns

    Date: June 6    Time: 10:15am-11:30am Code: T34C4
    Track: Development Practices Presenter: Shyam Pather  Level: 300

    Microsoft is introducing the ADO.NET Entity Framework and the Entity Data Model to help developers work at the right level of abstraction when creating business applications, and let the system worry about the details on how to deal with the underlying database. Like any new technology, most of the information available on the topic focuses on what the Entity Framework is, what are its constituting components and related aspects. There is a need for information on how to actually apply the technology to solve concrete problems in various application scenarios. This session discusses application patterns for the Entity Framework in each of the major application models such as Web applications, SOA-style systems, and data-centric services.

    Technical Learning Center (TLC) Sessions

    There are three TLC sessions.

    LINQ to XML: Plumbing the Depths

    Date: June 6 Time: 2:45pm-4:00pm Code: T4398
    Track: Developer Tools and Languages Presenter: Shyam Pather  Level: 300

    This session provides you the opportunity to expand your knowledge of LINQ to XML. XML permeates the world of data, from content to formatting to services. LINQ to XML is a new way to query this ubiquitous data format using the power of Language Integrated Query (LINQ). LINQ to XML provides both DOM and XQuery/XPath-like functionality, all from within your source code. Additionally, Microsoft Visual Basic 9.0 adds XML as a built-in data type and uses LINQ to XML to allow developers to write what they intend, without compromising best practices. This session explores these capabilities, and shows how LINQ can improve your code and its reliability.

    LINQ to XML, SQL, Entities, DataSets, and Co: Data Access Technologies Explained

    Date: June 5 Time: 1:00pm-2:15pm Code: T8808
    Track: Developer Tools and Languages Presenter: Shyam Pather  Level: 300

    With the release of the Microsoft .NET Framework 3.5, Microsoft introduced several new data access technologies based on its LINQ technology, such as LINQ to SQL and LINQ to DataSets. Shortly after, we expect Microsoft to release the ADO.NET Entity Framework which enables LINQ to Entities in addition to Entity SQL. Finally, we have all the existing ADO.NET data access patterns. This raises one important question: Which data access technology is best suited for which situation? In this session we look at different scenarios and requirements that can inform your technology decision.

    Using LINQ, the ADO.NET Entity Framework and ADO.NET Data Services with Third Party Databases

    Date: June 4 Time: 2:45pm-4:00pm Code: TCD2B
    Track: Windows and Frameworks Presenter: David Sceppa  Level: 300

    The ADO.NET Entity Framework extends the existing ADO.NET provider model to allow provider writers to make their data stores available through the Entity Framework. This model allows developers to execute store agnostic queries against their data stores using LINQ, Entity SQL or ADO.NET Data Services. Provider writers will be in attendance at this Interactive Theater presentation to talk about their plans to support the Entity Framework and demonstrate their current bits.

    Thursday, May 08, 2008

    ADO.NET Data Services, SQL Server Data Services and Synchronization Sessions at Tech*Ed Developers 2008

    This list was compiled from the Tech*Ed Developers 2008 Session Catalog with ADO.NET, SQL Server Data Services, Sync or Compact as the Keywords.

    Update 6/1/2008: See the "Steve Lasker Posts SQL Server Compact and ADO.NET Sync Services Sessions for Tech*Ed Developers 2008" topic of LINQ and Entity Framework Posts for 5/29/2008+ for a complete list of all SQL Server Compact and ADO.NET Sync Services sessions and other presentations.

    ADO.NET Data Services (Project Astoria)

    Includes breakout and Technology Learning Center (TLC) sessions.

    ADO.NET Data Services for the Web (a.k.a. Project “Astoria”)

    Track: Web and User Experience Presenter: Mike Flasko  Level: 300

    The new wave of Web applications are built on technologies such as AJAX and Microsoft Silverlight, which enable developers to build better, richer user experiences. These technologies bring a shift in how applications are organized, including a stronger separation of presentation from data. The goal of ADO.NET Data Services is to enable applications to expose data as a REST-based data service that can be consumed by Web clients within a corporate network and across the Internet. The data service is reachable over HTTP, and URIs are used to identify the various pieces of information available through the service. Interactions with the data service happens in terms of HTTP verbs, such as GET, POST, PUT, and DELETE, and the data exchanged in those interactions is represented in simple formats, such as ATOM/APP and JavaScript Object Notation (JSON).

    ADO.NET Data Services Deep Dive (TLC)

    Track: Web and User Experience Presenter: Mike Flasko  Level: 300

    Take a deep dive tour of ADO.NET Data Services where we show how to enable applications to expose data as a REST-based data service that can be consumed by Web clients. See demos of reaching the data service over HTTP and using URIs to identify the various pieces of information available through the service. We show the interaction with the data service in terms of HTTP verbs (GET, POST, PUT, and DELETE) and how the data is represented in simple formats, such as AtomPub and JavaScript Object Notation (JSON).

    Using LINQ, the ADO.NET Entity Framework and ADO.NET Data Services with Third Party Databases

    Track: Windows and Frameworks Presenter: David Sceppa  Level: 300

    The ADO.NET Entity Framework extends the existing ADO.NET provider model to allow provider writers to make their data stores available through the Entity Framework. This model allows developers to execute store [database-]agnostic queries against their data stores using LINQ, Entity SQL or ADO.NET Data Services. Provider writers will be in attendance at this Interactive Theater presentation to talk about their plans to support the Entity Framework and demonstrate their current bits.

    SQL Server Data Services

    Includes breakout and Technology Learning Center (TLC) sessions.

    Introduction to Microsoft SQL Server Data Services

    Track: Database Platform Presenter: Sumitra Sengupta  Level: 200

    Cloud computing offers many benefits to business customers looking to increase operational efficiencies, lower operational costs and/or move to a Software as a Service (SaaS) model. This session provides an overview of Microsoft SQL Server Data Services (SSDS) and walks through on-boarding and typical usage scenarios to show how CDS brings the power of scale-free storage, distributed computing, and reliable data processing to new and existing business solutions.

    Developing Applications with Microsoft SQL Server Data Services

    Track: Database Platform Presenter: Nigel Ellis  Level: 300

    This session covers the Microsoft SQL Server Data Services (SSDS) architecture, data model, and service APIs. It then provides coding examples of how to develop a simple end-to-end application using SSDS. It also identifies the challenges developers face, along with the necessary best practices to address these challenges.

    Best Practices in Building Applications with Microsoft SQL Server Data Services

    Track: Database Platform Presenter: Jeff Currier  Level: 300

    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.

    ADO.NET Synchronization, Synchronization Framework, and SQL Server Compact

    Includes breakout and Technology Learning Center (TLC) sessions.

    Taking Data Offline: Introduction to Microsoft Synchronization Services for ADO.NET

    Track: Windows Mobile Presenter: Liam Cavanaugh  Level: 200

    With Microsoft SQL Server Compact, developers can now easily cache data on the client in a compact, yet capable, transactional, queryable document-like database format. To maintain the cache, Sync Services for ADO.NET enables developers to easily cache data directly or over services using Windows Communication Foundation. Microsoft Visual Studio 2008 delivers new integrated, developer-oriented sync designers making caching an easy task to increase user productivity, decrease the server workload, and simplify data access. In addition to caching, you can use Sync Services for ADO.NET to enable full offline scenarios as well. This session also shows how Sync Services for ADO.NET is being integrated with SQL Server Change Tracking to increase developer productivity by providing integrated change tracking and conflict detection and subsequently decreasing the barrier to entry associated with implementing 2-way synchronization. Finally, this session discusses how Sync Services for ADO.NET has been built on top of the sync platform currently referred to as Microsoft Sync Framework. Among other things, this platform has allowed us to extend Sync Services for ADO.NET beyond the traditional hub-spoke topology to support peer-to-peer synchronization.

    Microsoft Synchronization Services for ADO.NET: From Desktops to Devices

    Track: Windows Mobile Presenter: Vijay Tandra Sistla  Level: 300

    Learn how to build an occasionally connected application with Winforms and Smart Device application with Sync Services for ADO.NET. The session demonstrates the integration with Microsoft Visual Studio 2008 and how to leverage Microsoft SQL Server 2008 database backends.

    Building Custom Sync Providers for the Microsoft Sync Framework

    Track: Windows Mobile Presenter: Andy Wrigley  Level: 400

    The Microsoft Sync Framework is the new sync platform enabling collaboration and offline access for applications, services, and devices. It supports any data type, any data store, any transfer protocol and network topology. The Sync Framework comes with three built-in providers: Sync Services for ADO.NET, for File Systems, and for FeedSync (RSS and ATOM feeds). However, a key aspect of the Microsoft Sync Framework is the ability to create custom synchronization providers. Using custom providers, you can make use of the Sync Framework to sync data items between a data source and a replica, which can be a custom data store on a device. In this session, learn about the Sync Framework architecture, and how to build a custom sync provider. There are plenty of demos, as we walk through a practical example of creating a custom sync provider to synchronize data items between a backend Server and 'Edge of the Network' computers such as laptops and mobile devices.

    The New Windows Mobile Enterprise Architecture

    Track: Windows Mobile Presenter: Rob Tiffany  Level: 300

    The way Windows Mobile integrates with enterprise assets has changed dramatically since the original Compaq iPAQ. From its humble beginnings synchronizing Pocket Access via an ActiveSync cradle, Windows Mobile has now become an integration "Swiss Army Knife" that plays well in any enterprise with a little help from its friends. System Center Mobile Device Manager joins Windows Mobile to the Domain, manages software updates and device settings while providing an efficient Mobile VPN connection. The Windows Communication Foundation Store and Forward transport provides reliable client-to-server, server-to-client, and peer-to-peer messaging via Microsoft Exchange 2007 and Direct Push. Sync Services for ADO.NET allows Windows Mobile to sync its data with Microsoft SQL Server, Oracle, DB2 or almost any other data source. Microsoft BizTalk 2006 R2 allows Windows Mobile to work with enterprise packages like SAP, Siebel, PeopleSoft, JD Edwards, and many others through its array of adapters. When you put all these technologies together, you have a mobile infrastructure that's optimized to be a strategic asset in your organization.

    Take It With You!: Building Occasionally-Connected SharePoint Applications Using the Microsoft Sync Framework

    Track: Office and SharePoint Presenter: Darrin Bishop  Level: 300

    Since the dawn of SharePoint we have lived a connected life. Microsoft Office SharePoint Server 2007 and Windows SharePoint Services v3 coupled with Microsoft Office Outlook 2007, Office Groove 2007, and a few third-party components, provides some support for the occasionally-connected application. Microsoft Sync Framework (currently in CTP) provides a extensible platform enabling offline access for applications. This session explores the possible integration points between Microsoft Sync Framework and SharePoint, allowing developers to more easily extend SharePoint data into the disconnected and occasionally-connected world.

    Introduction to Microsoft Sync Framework

    Track: Windows and Frameworks Presenter: Darrin Bishop  Level: 400

    In this session we introduce Microsoft Sync Framework. Learn about the capabilities of the synchronization platform and see a demonstration of data collaboration across devices and services. We use this demonstration to guide our walkthrough of the key components involved in building an application using Microsoft Sync Framework that will enable any data store to exchange information.

    The New Windows Mobile Enterprise Architecture

    Track: Windows Mobile Presenter: Rob Tiffany  Level: 400

    The way Windows Mobile integrates with enterprise assets has changed dramatically since the original Compaq iPAQ. From its humble beginnings synchronizing Pocket Access via an ActiveSync cradle, Windows Mobile has now become an integration "Swiss Army Knife" that plays well in any enterprise with a little help from its friends. System Center Mobile Device Manager joins Windows Mobile to the Domain, manages software updates and device settings while providing an efficient Mobile VPN connection. The Windows Communication Foundation Store and Forward transport provides reliable client-to-server, server-to-client, and peer-to-peer messaging via Microsoft Exchange 2007 and Direct Push. Sync Services for ADO.NET allows Windows Mobile to sync its data with Microsoft SQL Server, Oracle, DB2 or almost any other data source. Microsoft BizTalk 2006 R2 allows Windows Mobile to work with enterprise packages like SAP, Siebel, PeopleSoft, JD Edwards, and many others through its array of adapters. When you put all these technologies together, you have a mobile infrastructure that's optimized to be a strategic asset in your organization.

    Microsoft SQL Server 2005 Compact Edition Ultimate Performance Tuning

    Track: Windows Mobile Presenter: Darren Shaffer  Level: 400

    This session equips the advanced Windows Mobile developer with invaluable performance tuning techniques to get the most out of SQL Server Compact Edition. A deep dive into the query processor, storage engine, and the managed provider for SQL Compact Edition is followed by specific query tuning techniques and how to get the absolute best merge replication performance in your Windows Mobile data synchronization architecture.

    Unlocking the Power of Microsoft SQL Server Compact Edition 3.5

    Track: Database Platform Presenter: Steve Lasker  Level: 300

    The tiniest member of the SQL Server family just gets better and better as version 3.5 delivers major enhancements: new language features, stronger encryption, better tool support, and more synchronization options are just some of them! Come to this session to see what's hot in SSC 3.5 and how to leverage it in your smart client and Windows Mobile applications.

    Advanced Object-Oriented Data Access with the Microsoft .NET Compact Framework 3.5 and Microsoft SQL Server Compact Edition 3.5

    Track: Windows Mobile Presenter: Rabi Shatter  Level: 300

    This session looks at how the new Mobile Line of Business Accelerator handles data access. While the new data layer encapsulates advanced concepts, it can be used to rapidly build enterprise mobile applications. The data access layer allows for a standard way to access data. It includes stored procedures to isolate SQL from code. In addition, it includes a mechanism for triggers which are ideal for handling tasks like updating new data objects with auto incrementing keys. Finally, take a deep dive into using custom enumerators in order to reduce the number of loops required to display data.