| |
TechEd Barcelona 2007
Day 1
This year, both Andy and I are at the Microsoft TechEd conference in Barcelona. At 2pm this afternoon, it kicked off with a keynote speech from Soma Somasegar (Microsoft's Vice President of the Developer Division ).
As usual with keynotes, much of the content was marketing based. However, some important announcements were made. These included the launch of: 1. The Sync Framework CTP 2. Software and Services blueprint (S+S) 3. The .Net Framework 3.5 will be available to MSDN subscribers at the end November 2007! 4. Popfly Explorer beta (a technology for creating mashups)
The sync framework is a general platform for synchronization that includes peer to peer. S+S provides a series of source code and guidance packages. There will be more content on these topics during the week.
The rest of the keynote set the general theme of the conference and topics included: 1. .Net Framework Data Support including LINQ and MS Sync Framework 2. .Net Framework – new WPF controls, WCF:REST, ATOM, JSON 3. Silverlight
Tony Goodhew (VS Product Manager) demonstrated the JavaScript features in VS2008 including syntax highlighting, intellisense and debugging. There was also a demonstration of writing code for the “World of Warcraft” game, highlighting the relaxation of some of some of the VS licensing terms.
Finally, a brief mention of the next version of the Visual Studio Team System was made, codename VS Rosario. This version will focus on organizational collaboration, quality assurance and advanced developer tools.
After the keynote, the first session that I attended was Rafal Lukawiecki's talk on security. Refal is an excellent presenter and did a great job in presenting his topic enthusiastically. A lot of what he said is covered in his following article:
http://msdn.microsoft.com/msdnmag/issues/07/01/UAC/
Also mentioned was project “Oslo”, http://www.microsoft.com/soa/products/oslo.aspx a model based approach to software development which should improve software security. Before going on to describe CardSpace, Rafal suggested reading up on the “7 Laws of Identity” and going to http://www.identityblog.com/
The final session that I attended was Dave Baker's talk on the .Net Micro Framework. This is used in small embedded devices including remote controls, data loggers, health monitoring equipment or robotics. On such devices, there is no operating system hence the title of the talk. Since there is no operating system, the applications run natively on the hardware using a bootable runtime system and can run as soon as the device is powered up.
Development is done using Visual Studio and includes emulation and debugging support. As you would expect, only a subset of the .Net framework is available. However, there are some powerful features available which include delegates and wired/wireless ethernet support. In terms of footprint, the runtime is saved to ROM and requires just 120K (configurable). The highlight of this presentation was a demonstration of a poker game
More details can be found at www.dotnetmicroframework.com
Day 2
It's day 2 and the first session that I attended was an "Advanced introduction into SharePoint" by Ted Pattison. This began with a gentle introduction into the differences between SharePoint Services (WSS) and SharePoint Server (MOSS). This was followed by an explanation of sites, site collections and features. Also explained was the WSS 3.0 HttpHandler and the extensions to the web.config.
SharePoint sites can be "customised" or "developed". Customisations are typically carried out using the browser and the changes are saved into the content database. There was an explanation of how to develop against the WSS object model by adding a reference to the Microsoft.SharePoint dll and the steps involved in deploying changes. The final part of the presentation described the virtual file system and the ‘ghosting’ of files.
During the day, I also attended Bob Beauchemin's talk on the SQL CLR. The basic rule is that set based operations should be done using TSQL and you should always consider the CLR for computation operations since the code will be compiled. The CLR is a great choice for accessing external resources such as the file system, event log or registry and a better choice than undocumented stored procedures like xp_regread.
A performance tip that I picked up is to declare static reference types outside of a procedure rather than inside. Also, considerations should be made when passing variables – since this could be done by value, the memory overhead could be doubled. There was also an excellent explanation of how security ownership chains are different and how to address issues by using the “execute as owner” command. Some new features in 2008 that were mentioned included support for .Net nullable types and variable increment support in TSQL (the ability to use i++ syntax)
Andy Wigley is famous for his work on OpenNETCF.org and I attended his session on mobile device development using v3.5 of the Compact Framework. Some of the content was similar to that covered by Tony Witter at the VBUG conference but there was plenty of extra content. This included an example of unit testing, using sound in applications, and messaging using WCF over email. Other new features includes support for System.IO.Compression, client side certificates and LINQ (to XML, Objects and DataSets). There is also a CLR Profiler tool to help diagnose performance issues.
Day3
Today started off with a couple of sessions on SQL Server and Reporting Services. Both were given by Ciprian Jichici, Microsoft Regional Director for Romania. The first one included some good tips for existing 2005 reports. These included setting the visibilities of sections through a parameter to optimise Excel exports, creating a ‘stepped matrix’ report (an expandable report where child items are indented in the same column as the parent item) and a report with parallel groups (this is one where you have a shared axis and want to look at one or more different views). In 2008, there is finally an option to output reports in Word format. Other areas covered in the talk included SharePoint integration of reports and Office Writer – in this, the report authoring lifecycle takes place in Office and is ideal for the mass delivery of documents.
Other new features mentioned included the “Tablix” control (a unified table and matrix control) and new charts and gauges which have been created by Dundas. CTP 5 will be released very soon this month.
The second talk I attended was on Dynamic Languages with Silverlight and ASP.Net. This began with a description of both IronPython and IronRuby, syntax examples and the request lifecycle. The demonstrations were the best part of the presentation and included a ‘fractuatlor’ web application – a calculator written in IronPython that dynamically recalculates results when typing into a textbox. Also demonstrated was a Silverlight IDE called ‘SLIDE’. This was quite an amazing demo – commands were typed into the left hand pane and the results were shown immediately on the right. Further details can be found at www.asp.net/downloads/futures.
The final session that I attended was one on using WCF with AJAX. There was also a demonstration of creating RSS feeds with the syndication programming model and an explanation of the key objects. This session can be best summarized by visiting the example site here: http://www.cloudsamples.net/pictureservices
Day 4
The first presentation for today was given by Bob Beauchemin and the topic was SQL transactional isolation and consistency. In the first part of the presentation, there was a demonstration of how to set up a client connection string to use MARS (Multiple Active Result Set). In this example, several SQL commands were batched into a statement and executed. The interesting part of this is that by default, transactions are implicit. This means that if a statement is started with a “Begin Tran” and no corresponding “Commit” is added, the command will committed automatically. The important consequence of this is that commands cannot be subsequently rolled back afterwards.
This was followed by an explanation of the 4 different transaction isolation levels. An interesting part of was a demonstration of reading data from a table using a SQLDataReader. Although the isolation level was set to Serialisable, it was still possible to update and insert records from a second session because the rows are only locked as they are read.
Compared to Oracle, SQL Server manages concurrency through locking rather than versioning. The Snapshot isolation level was introduced in SQL2005 and is useful when porting a versioning database to SQL Server. However, there is a cost to using to using snapshot isolation as space will be taken up in tempdb. Also, IO for updates can be twice as much and reads will be slower due to the different versions.
The other session that I attended was Rob Howard’s presentation on ASP.Net internals. This began with an explanation of the differences between IIS5 and 6. Next, the Http runtime architecture and the functions of the HttpContext, HttpHandler and HttpModule were explained.
Examples of common HttpModules include the FormsAuthentication, UrlAuthorization and SessionState modules. HttpHandlers are similar to ISAPI extensions and a common example is the ASP.Net page handler (*.aspx). An example of where you could write your own handler is to handle images but to also add a watermark. The HttpContext encapsulates all request details and is accessible through the System.Web.HttpContext namespace. You can add to HttpContext and an example given is adding a custom session state object. The session concluded with an explanation of the ASP.Net page processing model.
The final session that I attended was a panel discussion on the various data access mechanisms that are available. Mike Taulty was on the panel and the topics included LINQ to SQL, LINQ to DataSets and the ADO.Net Entity Framework.
Day 5
The final day at TechEd for was mostly based around Visual Studio 2008 and VB9. Jay Schmelzer and Amanda Silver from the VB team both presented sessions during the day.
Relaxed delegates are a nice feature of VB9. When writing the event for a button click, the syntax of the signature is simplified because you can miss out the arguments "ByVal sender As Object, ByVal args As Object"
The VB power packs were also mentioned and a "data repeater" control was also demonstrated. This will be released in 2008 and provides similar functionality in WinForms to the ASP.Net repeater control.
A demonstration of the new refactorings in DevExpress Refactor tool were also given.
During the last session, Andrew Cheeseman gave a session on how the TechEd website and infrastructure was put together. The TechEd network is scanned for viruses and compared to previous occasions, none were found this year. Another interesting point is that the website was developed using SharePoint 2007. The rest of this session focused on infrastructure, wired/wireless networks, network load balancing and the amount of network traffic that was encountered.
Overall, the TechEd event has been very useful. If you want to hear more, Andy and I will be speaking in Bracknell on the 22nd November. We hope to see you there!
|