250 likes | 349 Views
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
E N D
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 2.0 + 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 ivan@hestia.cc http://hestia.typepad.com/flatlander