Go Live with.NET 3.0 Ivan Towlson, ECN Group
Agenda What is.NET 3.0? Should I be considering/recommending it for current projects?
What is.NET 3.0?.NET Framework 2.0 CLR, BCL and compilers plus Windows Presentation Foundation Windows Communication Foundation Windows Workflow Foundation Windows CardSpace
Where do customers get it? Out of the box with Windows Vista 50 Mb redistributable or download for XP SP2 and 2003 Not available on earlier versions
What do I need to develop on it? Runtime Vista SDK Optionally, VS2005 integration
What is its status? Runtime – released and fully supported SDK – released and fully supported Visual Studio –2005 integration – CTP, not being progressed –‘Orcas’ – no release date, current CTP does not include all designers
Windows Presentation Foundation Common user input and output API –Mouse, keyboard, ink, speech –Controls, graphics, text, audio/speech, video DirectX based Declarative programming model –XAML: HTML-like description of UI –Data binding
Consider WPF If You Need... Custom graphics –Even something as simple as a Gantt chart Animation Document-type layouts (rich text, adaptive layouts, mixed text and media) Navigation
Windows Communication Foundation Common framework for message-oriented communication –SOAP-based –Transport agnostic (HTTP, TCP, MSMQ...) –Interface oriented –Configurable composition of policies (security, reliability, transactionality, etc.) –Address, binding, contract in configuration
Consider WCF If You Need... Messaging Policy-driven capabilities (security, reliability, etc.) Communication between your own processes (rather than running in IIS)
Windows Workflow Foundation Workflow –Sequential workflow – e.g. expense application –State machine – e.g. bug tracking –Host-based, configurable policies e.g. persistence, tracking Rules engine
Consider WF If You Need... Long-running processes State tracking / progress tracking Externalised (configurable) rules –This can be used for a lot more than business rules – e.g. configuration-driven validation, enabling/disabling, navigation control BAM (Business Activity Monitoring)
Development Tradeoffs – WPF Incumbent technology: Windows Forms Tooling (‘Cider’ VS designer, Blend) –XAML + Intellisense = not so bad Controls Third-party support
Development Tradeoffs – WCF Incumbent technologies: WSE, ASMX, Remoting, MSMQ, Enterprise Services (COM+) Protocols have two ends
Development Tradeoffs – WF Incumbent technologies: only at enterprise server level, e.g. BizTalk, BPM tools Tooling –VS05 integration stable in practice but not supported (underlying designer is supported) Extra work to match enterprise tools –Robustness, scaling, load balancing, etc. –Adapters, transforms, resources/roles
Development Tradeoffs – General Documentation and samples Community support / knowledge Best practices Diagnostic and debugging tools not as mature as core CLR/procedural tools
Development Tradeoffs – General Investment in existing codebases – migration or interoperation Availability of skilled developers (able to work without tooling, able to mentor)
Deployment Considerations – Consumer / Personal Apps That’s a big download Users may not be allowed to install the framework on their work machines Rules out Win2000 and Win9x customers –Win2000 still the standard desktop at many big companies
Deployment Considerations – Corporate Apps Another piece of plumbing to roll out Education –The “3.0” moniker may make IT groups resistant even though it’s really libraries –Compatibility fears Corporate PCs often have low-end graphics capabilities (WPF)
Deployment Considerations – General Do operations staff know how to configure it, secure it, back it up, diagnose faults, plan capacity, perform failover etc.? –This is often more of an application issue, but consider WCF/WF configuration files, WF dehydration/rehydration (e.g. SQL Server considerations, versioning)
Management Fears Development and deployment considerations discussed earlier Microsoft’s commitment – anyone remember Web classes? Support status – hotfixes etc.
Management Fears ‘Let’s wait until other people are using it’ – technology seen as unproven – case studies Wait for migration path instead of starting over Technology roadmap
Summary Should I be considering.NET 3.0 for my next project? Yes! But, as with any new technology, be realistic about the implications: would you have moved from VB6 to.NET in 2002?
Questions? Ivan Towlson, ECN Group