At the end of June I run workshops with 2 ISVs both looking to completely re-develop their applications. One is entirely VB6, the other a combination of VB6 with C++.
The beauty of "starting from scratch" with a one to two year development plan is you can take a hard look at the latest technologies from Microsoft - and there are a lot of them! As a result, both application architectures at a high level ended up looking pretty similar.
The following links should help those teams drill in further - and maybe you?
In both cases we went with .NET Framework 3.5 SP1 as our base level technology (NB: SP1 is really a feature pack)
- Rich Client for power/frequent users, typically inside the firewall with the need to be occasionally connected
- Browser Client for occasional users, typically outside the firewall
- Serving both types of clients. Ability to scale out.
- ADO.NET Data Services - exposing entities and operations
- ADO.NET Entity Framework and LINQ to Entities - delivering object relational mapping
- Workflow Foundation
- Windows Communication Foundation to drive and respond to external systems
- Note: We ruled out LINQ to SQL in favour of LINQ to Entities - however worth saying that in both cases we only needed to support SQL Server and therefore LINQ to SQL would be a valid alternative
- Where we store all the data 🙂
- SQL Server 2008
- Extended via SPs, Triggers and Types using TSQL or CLR integration as appropriate
- SQL Server 2008
Blogs (sample of the best):
- ADO.NET Team on Entity Framework http://blogs.msdn.com/adonet/archive/tags/Entity+Framework/default.aspx
- ADO.NET Data Services Team http://blogs.msdn.com/astoriateam/
- Sync Framework team http://blogs.msdn.com/sync/default.aspx
- UK based Mike Taulty with some great content on ADO.NET Data Services, Entity Framework and Silverlight
- Tim Sneath (ex UK) on all things WPF/Silverlight http://blogs.msdn.com/tims
- Product group WPF site http://windowsclient.net/
- Related - SQL Server Data Services http://blogs.msdn.com/ssds/default.aspx
P.S. Both teams will be using Visual Basic 2008 🙂 I thought you would like that one...