Tuesday was quite a busy day, sessions after sessions, too many things to learn and too little time. The day started with Scott Guthrie’s keynote session on ASP.NET AJAX which was basically a high level demo of what Scott later discussed in his other presentations.
Following is the order in which I attended the sessions and some details about each of them.
Web Development of IIS 7.0. Integrating IIS into ASP.NET Development Process
Eric Woersching and Andrew Lin
Eric demonstrated Microsoft’s new approach of integrating ASP.NET with IIS 7, the new and improved control panel and ease of tasks administration with the new IIS console.
Their presentation included
- Using IHTTPHandler class to add a copyright message to the jpegs using an HTTP module and adding a module using IIS 7.0
- Failed request event buffering as IIS 7.0 diagnostic tools
- Customizable Tracing and logging in IIS 7.0
- HTTP errors, Tracing & logging web based control
- web.config and integrated management tools API
- Rich diagnostics in IIS 7.0
- Adding roles in IIS 7.0 and configuring forms authentication for it.
He recommended www.IIS.net as a prime resource for all things IIS 7.0 and ASP.NET.
Be more productive with SQL Server 2005 tools
This was a developer focused and quite informative session about SQL Server 2005 tools.
Michael showed demos for SQL Server Management Studio, SQL Agent, Profiler and Database Engine Tuning Advisor. If you have been using SQL Server 2005 or its client tools for some time now, you probably already know part of these things but some of the things I found new or cool are listed below.
- Writing MDX query from management studio without any extra prep, just like a typical SQL query, select measures and the whole bit.
- Show execution plan which is quite a neat tool available in 2000 is now much improved and can be used for collaboration. You can pass around the query execution plan and optimize it treating it more like a visio class diagram (analogy).
- Object explorer connection features and multi-threading i.e. multiple expansions and connections can happen at the same time.
- You can apply filters on the meta data retrieval. (most filters stays active only as long as your session is active)
- Use the object explorer details and it can perform multi-select on tables. (SP2).
- xmla can be used and executed from query analyzer (xml for analysis)
- database mirroring, failover mirroring, disaster recovery protection is quite easy with a witness server providing maximum downtime during upgrades
- Activity monitor refresh is configurable for you to monitor what’s going on undercover.
- Additional filter in activity monitor for block and unblock checks (new role added to grant monitoring)
- Dashboard for analysis services jobs
- SQL Server alerts can now collaborate with WMI alerts
- One can build comprehensive maintenance plans and process flow using GUI
- Trace properties and profilable events are almost doubled and therefore things like catching deadlocks is quite easy.
- Database engine tuning adviser allows you to easily improve performance of query on the server and provide recommendation on index etc.
This was more of a demo session in which Mike demonstrated different features of SQL 2005 tools.
I had to go for our company’s data center visit to I ended up missing lunch and 1:30 sessions. The next session I attended was the following.
Data Warehousing with SQL Server 2005
I was quite interested in learning the basics of data warehousing using SQL Server 2005 so I decided to take this session and it was well worth it. Eric Hanson described best practices for relational data warehousing with SQL Server 2005 along with the following.
- How to use the SQL Server 2005 engine as a data warehouse, in coordination with transactional data sources
- SQL Server Integration Services for ETL best practices
- Use of partitioning to manage the sliding window scenario for large fact tables.
- Best practices in bulk loading and removal.
- Management of statistics, Index and indexed view designs.
- Writing queries to get good query plans, creating conditions to support star join optimization, and recognizing star join plans.
- Multi-user workload, hardware sizing and selection.
- Use of the scalable shared database technology for scale-out of a read-only database.
His suggestions about not creating PK and FK’s on large warehouse DB’s to speed up ETL too some time to settle in. Similarly the idea of using OLEDB instead of SQL managed provider in events of imports; quite an interesting topic but when I left the session, I was equating flat files with DW approach, bizarre, isn’t it?
Tips & tricks for building websites with Visual Studio 2005, ASP.NET 2.0 and IIS 7
For those of you who know Scott Guthrie, unlike most of the other product managers he is a hardcode development guru at heart and an excellent presenter. His sessions are no fluff, period. Like Rob said, “if you miss something during his session, you know something else you didn’t know is coming shortly”. Scott’s presentations are a balance of demo’s and power points, the best I have seen so far.
This particular presentation was full of ‘wow’ and ‘aha’ features, even for a topic like ASP.NET 2.0 which has been presented many times now. Even though Scott focused on Ajax feature-set during most part, he also provided a non-trivial discussions of master pages, themes/skins, site navigation, SQL output caching, personalization, membership, role management, Web site administration, IIS7 management and Web deployment process. I came in quite late after attending the data warehousing session but from what Rob and Ajit said, it was quite interesting.
Scott said he will be posting the slides and sample source on his blog. His blog can be found here.
Developing Data Driven Applications with .NET Integrated Language Query (DLINQ)
This was quite an interesting topic and spark up a debate. Rob got all hyped up about it seeing how cool it was and kept saying that “this will revolutionize the way we code” and “here comes the demise of all ORM tools, I can just see it”. However Ajit was skeptical of having bunch of DLINQ statements laying around and felt like it won’t be a good enterprise architecture, analogous to having dynamic SQL in the code. I was thinking more towards
How does it work under the covers: While doing a project recently I got a chance to actually run reflector on DLINQ assemblies to see what it really does? Common understanding is that it builds a SQL query and let the relational engine of SQL server 2005 take over however I believe its wrong. From what I saw it provides its own set of relational operations and perform them on the returned result set, I have to further investigate it.
Further details on LINQ from Scott’s blog on the following links.
Tips/Tricks and LINQ Slides+Demos from my Talk in Dallas
Using LINQ with ASP.NET
Using DLINQ with ASP.NET
DLINQ with Stored Procedures
Tip/Trick: Handling Errors with the UpdatePanel control using ASP.NET AJAX
Later on there was vendors exhibition in the expo hall from 7:00 -8:00 PM and Microsoft unplugged night later during the evening. We got bunch of swag including T-shirts (special thanks to xmlspy guys), product DVD’s, cool toys and so on. Code Smith rep has almost promised me a license so I’m looking forward to it.
The internet kiosk @ DevConnections.
The Three Musketeers; Adnan Masood, Ajit Kumar and Rob Walling.
Microsoft @ the Expo Hall
Microsoft Unplugged Event.
Crew filming about Pet-Peeves you ever had with Microsoft.
Looking forward to another busy learning day…