Channel 9 Interview - John Stallo on Building N-Tier Applications in VS 2008

Published 10 September 07 12:01 PM

I just posted an interview on Channel 9 with John Stallo talking about some cool tools in Visual Studio 2008 that will help you build simple N-Tier applications. Thanks to Kathleen again for helping with the shoot! This time we got fancy and used two camera angles ;-):

Building N-Tier Applications in Visual Studio 2008
In this in interview John Stallo, a Program Manager on the Visual Basic Team, talks about WCF and simple N-Tier applications. He talks about a specific architecture scenario and some of the pain points we have building n-tier applications today. He then walks us through the improvements made in the DataSet Designer that physically separates the data access from the structure and validation code and then quickly creates a WCF service and a client that demonstrates this architecture.  

You'll probably also want to check out the walk-through John posted here as well if you missed it.

And in case you haven't seen it yet, you can view John's picture and bio along with some of the other team members on the Visual Basic Team page.

Enjoy!

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Kiran said on September 11, 2007 5:29 PM:

This is great & John Stallo explains this really well.  What would even be greater is showing how LINQ fits into this

# bill burrows said on September 12, 2007 5:23 PM:

This was really useful content. Also, the format you are using with the video/screnn recording are so much nicer than just the screen recording -- it's nice to be able to see the presenter.

Great job.

# Beth Massi said on September 13, 2007 1:35 PM:

Hi Kiran,

The beauty of LINQ is that you can use it in any layer of your application architecture because it's a querying technology that not only works over databases but also in-memory objects (any .NET collection) as well as XML. You can even query over typed datasets. For instance in the example John gave us we could have started writing LINQ queries over the client-side datasets in order to aggregate the order details and display totals to the user.

Watch the LINQ videos to help you get started: http://msdn2.microsoft.com/en-us/vbasic/bb466226.aspx#linq

Cheers,

-B

# John said on September 21, 2007 1:12 PM:

Thanks for the video...it was useful.  I'm curious to know your opinion whether the way we have a n-tier architecture in VS2005 (e.g. Data Table, Table Adapters, DataAccess Layer, Bussiness Object Layer) and the coding behind that, will be vastly different with VS 2008?  I understand from the video that the there will be a different physcial file for storing some of the data set information w/ vs2008, but in general will the two versions be different?

# Beth Massi said on September 21, 2007 2:09 PM:

Hi John,

The code that gets generated for VS2008 DataSets is different (adds features like the TableAdapterManager for hierarchical updates and also supports LINQ querying) but it is backwards compatible with the way you work with them in VS2005 so you should be able to take advantage of the new version without breaking your code.

There are new ways of accessing your data however, if you do choose to change your architecture. The LINQ to SQL classes and the O/R designer can be used in place of the DataSet but the DataSet is not going away.

Cheers,

-B

# jimrand@ix.netcom.com said on October 3, 2007 12:45 PM:

Great video.  Question: has the sql designer for data/table adapters been cleaned up.  In the current VS 2005 version, it is unusable for handling updates and inserts for autoincrement keys and timestamps. Also, the designer chocks when selecting grandchildren of a grandparent.  I finally had to build my own code generation tools for configuring data adapters.

Designer chocking SQL examples:

SELECT AccessFlagLookupID, AccessFlag, Description, LastUpdated, LastUpdatedBy, CAST(TS AS INT) AS TS FROM AgencyNET.AccessFlagLookup

INSERT INTO [AgencyNET].[AccessFlagLookup] ([AccessFlag], [Description], [LastUpdatedBy]) VALUES (@AccessFlag, @Description, @LastUpdatedBy);SELECT AccessFlagLookupID, CAST(TS AS INT) AS TS FROM AgencyNET.AccessFlagLookup WHERE (AccessFlagLookupID = SCOPE_IDENTITY())

UPDATE [AgencyNET].[AccessFlagLookup] SET [AccessFlag] = @AccessFlag, [Description] = @Description, [LastUpdated] = getutcdate(), [LastUpdatedBy] = @LastUpdatedBy WHERE (([AccessFlagLookupID] = @Original_AccessFlagLookupID) AND (CAST(TS AS INT) = @Original_TS));SELECT CAST(TS AS INT) AS TS FROM AgencyNET.AccessFlagLookup WHERE (AccessFlagLookupID = @AccessFlagLookupID)

DELETE FROM [AgencyNET].[AccessFlagLookup] WHERE (([AccessFlagLookupID] = @Original_AccessFlagLookupID) AND (CAST(TS AS INT) = @Original_TS))

SELECT V.EndUserFramingVendorEEID, V.EndUserFramingSolutionUrlID, V.VendorEmployeeID, V.LastUpdated, V.LastUpdatedBy, CAST(V.TS AS INT) AS TS

FROM AgencyNET.EndUserFramingVendorEE AS V INNER JOIN

    AgencyNET.EndUserFramingSolutionUrl AS F ON V.EndUserFramingSolutionUrlID = F.EndUserFramingSolutionUrlID INNER JOIN

    AgencyNET.EndUserWebSite AS W ON F.EndUserWebSiteID = W.EndUserWebSiteID

WHERE W.EndUserID = @EndUserID

# Dudleigh said on October 3, 2007 2:20 PM:

C# Version for anyone thats interested

Leave a Comment

(required) 
(optional)
(required) 

About Beth Massi

Beth Massi is a Program Manager on the VS Community Team working with the Visual Basic Team producing developer content on MSDN and her blog (http://blogs.msdn.com/bethmassi). As a VB community champion and a member of the Microsoft community she helps run a .NET user group in the San Francisco Bay Area and is a frequent speaker at various software development events. Before Microsoft she was a Senior Systems Architect at a health care software product company and was a Microsoft Solutions Architect MVP. Over the last decade she has worked on distributed applications and frameworks using Visual Basic.NET, ASP.NET, SQL-Server, and Visual FoxPro. She has worked on various projects including developing object-oriented middle-tier frameworks, COM, .NET, Web and Windows-based applications using Microsoft development tools for a variety of businesses. She loves teaching, mountain biking, and modifying cars.

This Blog

Syndication

Page view tracker