# Friday, July 02, 2004

Brad and I are just sitting in the airport enjoying a coffee before the flight. It's been a hard week - getting up at 6am to ensure we were at the first session on time, six 75-minute sessions a day and some sort of event in the evening to make us late back to the hotel. Has it been worth it? Of course - the main points to take away are:

Don't use .NET remoting - its slow, won't interoperate and will be eventually deprecated.

Use ASMX and/or Enterprise Services instead - a lot of work has gone towards making them highly performant and scalable.

SQL Server 2005 is comming - its going to both make your life easier and, if you're an ISV, trample over your business model. Time to look for that next pardigm shift.

Microsoft are getting even more into the developer tools arena - enterprise source and project control, integrated testing and code coverage tools, also code checking and verification tools. I spoke to both Perforce and Compuware to try and get their point of view and see how worried they were.

Compuware trotted out the company line that they have always built on top of what Microsoft provides and will continue to do so.

Perforce were not quite so upbeat - their response was more of a "lets wait and see what Microsoft ships". They made the point that they have probably the fastest source control tool on the market and wonder if Microsoft can match it. They also showed me some new visualizations they are developing related to how the code changes over time - colouring lines based on how old they are. It looks a useful method to find out how a file has evolved.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Friday, July 02, 2004 4:48:26 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
What is the Service Broker? It's a technology for developing asynchronous queued database applications. The queues are first class database objects with T-SQL support. The broker priovides full SQL Server transaction support enabling reliable distributed computing. Part of this transactional support means that queues and messages are fully supported in the underlying subsystems - transaction log, backups, mirroring and failover. Other features include: message routing between intermediate nodes, multi-reader queues ith support for dynamic reader activation based on queue length.
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Friday, July 02, 2004 4:48:10 PM (GMT Daylight Time, UTC+01:00)  #    Comments [4] Trackback
It no longer has a workload govenor.... Nuff said!
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Friday, July 02, 2004 4:47:32 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Thursday, July 01, 2004

Two words - "Database Mirroring"... Almost instant stand-by with very fast (~3 seconds) automatic or manual fail over. The client libraries also detect and fail over automatically too. To ensure this happens correctly a third server called the "Witness" provides majority logic to ensure that only a single side is up at any one time. I also get the feeling that Microsoft would prefer you to not attempt to use replication as a fail over solution as there are a number of issues to overcome - data loss, client fail over, recovery and the amount of custom code required to make it work properly. One thing you can't do on a mirror is use it. Kind of obvious really, but you can't even connect in a read-only mode.

Help is at and though - another interesting feature that will be available is a "Database Snapshot" which uses copy on write semantics to provide efficient views of a database at a point in time. A snapshot does not need to copy the database as it will reference the original database pages until they are modified. These snapshots can be created on mirrors which provide ideal access for reporting. Those that have all their data stored in a single database may want to think about splitting it into reporting databases and online databases. Basically, stick the information into a reporting database but keep the OLTP and application runtime data in another.

One last honourable mention is for SNAPHOT ISOLATION LEVEL - similar to Oracle's row versioning. But remember that tempdb is used to store the version information whilst a transaction is in progress.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Thursday, July 01, 2004 4:49:20 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
There is way too much to cover in the 5 minutes I have before the next session so I'll do a more in-depth article at a later date. But briefly the main item that is going to be a life saver is the "Intellicube" feature that will automatically create cubes from relational schema's - no need to define a star schema, no need to define hierarchies, no need to define measures, no need to type in proper names for things. Its all done automatically in a couple of clicks. Other things of note are: data sampling to auto discover hierarchies, non-natural hierarchies (you don't need to create a view - just drag the levels from different dimensions), multi-lingual capability baked in, perspectives to define views, debuggable MDX, KPI's, recursive calculated members. Wow! I gotta have this.
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Thursday, July 01, 2004 9:09:44 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Wednesday, June 30, 2004

Data Transformation Services been completely re-written for SQL Server 2005. The main difference is the separation of workflow and dataflow. But additional niceties include for/foreach looping, debugging, and OR constraints which mean daft hacks are not required. In fact modifying the package at runtime is impossible.

The new dataflow pipeline deserves a special mention as its no longer one row in one row out. The transform can consume data from multiple sources and send to multiple destinations in a single task - this allows for some interesting merging and splitting of data. Set operations are also supported - sort, aggregate,  split, multicast amongst others.

DTS has grown up and can play with the big boys. If DTS 2000 is not enough for your needs right now then consider waiting for SQL Server 2005 and not trying to implement yourself.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Wednesday, June 30, 2004 7:23:22 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback

Our free 'gift' was an African drum. To warm everyone up for the key note they had a drum band lead the entire set of delegates in a mass drum session. So 45 rhythmic minutes later with arms about to drop off; the session started.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Wednesday, June 30, 2004 7:20:48 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Tuesday, June 29, 2004
Announcing Visual Studio Express Edition - a cut down version of all the Visual Studio tools that the're pretty much going to give away. Also, download the Visual Studio 2005 Beta from http://msdn.microsoft.com/vs2005.
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Tuesday, June 29, 2004 3:29:45 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
Very cool demo of smartphone development using the phone camera and location services to automatically create a blog entry with a picture and location. Almost no code required. Also demo of IP phone integration with Active Directory and VPN networks to allow you to be on the office phone anywhere in the world. Finally, a demo of 64-bit supercomputing with real-time 3d simulation of turbine system.
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Tuesday, June 29, 2004 1:43:11 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Saturday, June 26, 2004

I plan on seeing the following sessions, but as usual things will probably change.

Tuesday:
12:00-13:15    DEV381    J2EE & .NET Interoperability
14:45-16:00    DAT313    SQL Server 2005: Data Transformation Services
16:30-17:45    ARC402    Data in Services-Oriented Architecture
18:15-19:30    ARC302    Metropolis : Building Applications in the Service-Oriented Enterprise

Wednesday:
08:30-09:45    ARC307    Realizing Services-Oriented Architecture
10:15-11:30    ARC220    New Developments in Microsoft Solutions Framework
12:00-13:15    DEV301    Visual Studio 2005 Team System - Part 1
14:45-16:00    DEV302    Visual Studio 2005 Team System - Part 2
16:30-17:45    DAT328    SQL Server 2005 : Inside Analysis Services
18:15-19:30    DAT323    SQL Server 2005: What's New in Replication

I would love to see this as well, but Analysis Services comes first...
16:30-17:45    DEV303    Visual Studio 2005 Team System - Part 3

Thursday:
08:30-09:45    CTS300    Prescriptive Guidance for Building with Web Services
10:15-11:30    DAT315    Intelligent BI - Integrating Data Mining into OLAP, RS and DTS in SQL 2005
12:00-13:15    DEV307    21 Rules of thumb - how Microsoft develops its software
14:45-16:00    DAT431    High Availability Technologies in SQL Server 2000 and SQL Server 2005
16:30-17:45    CTS304    Availability and Reliability - Failure Is Not An Option
18:15-19:30    DAT325    SQL Server 2005: SQL Service Broker

Friday:
08:30-09:45    DAT437    SQL Server Analysis Services 2000: Solving Business Problems using MDX
10:15-11:30    ARC406    Understanding the Grey area Between Service and OO Design
12:00-13:15    DAT329    SQL Server 2005: Web Services
14:45-16:00    DEV413    ASP.NET: Tips and Tricks for Building Server Controls
16:30-17:45    DAT335    Business Intelligence using SQL Server Analysis Services and Office 2003

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, June 26, 2004 8:19:23 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback

I've finally managed to get TechEd sorted and paid for so I'll be in Amsterdam on Monday. I must say a big thanks to Tim Sneath helping to expedite things.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, June 26, 2004 4:43:25 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback

I wasn't very happy with the clunkyness of blogger, so I've moved over to dasBlog. But due to some constraints from hosting service, I have to move to the root of the site: http://www.jamessnape.me.uk/default.aspx. Hopefully this is the last switch.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, June 26, 2004 4:42:33 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback