490 likes | 600 Views
.NET Overview. Geoff Snowman .NET Evangelist gsnowman@microsoft.com. Agenda. .NET Goals .NET Framework and Languages Application Types Case Study. App Dev Trends – Late ’90s. Application Integration troubles XML Windows forms hard to deploy Web forms hard to develop
E N D
.NET Overview Geoff Snowman .NET Evangelist gsnowman@microsoft.com
Agenda • .NET Goals • .NET Framework and Languages • Application Types • Case Study
App Dev Trends – Late ’90s • Application Integration troubles • XML • Windows forms hard to deploy • Web forms hard to develop • Many inconsistent APIs • Application drives language choice
.NET Solution • Clean Start for API Design • Object-Oriented Approach • Support for Many Languages • XML • Drive Vision across all Products
.NET – Microsoft’s Vision of a New Generation for Application Development
Agenda • .NET Goals • .NET Framework and Languages • Application Types • Case Study
VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Implementation and Benefits.NET Framework and Tools Visual Studio .NET Common Language Runtime Operating System
VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Implementation and BenefitsCommon Language Runtime Visual Studio .NET Common Language Runtime Operating System
Code (IL) Source Code Language Compiler Assembly Metadata Native Code JIT Compiler Execution Implementation and Benefits Compilation and Execution Compilation At installation or the first time each method is called
VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Implementation and Benefits.NET Framework Class Library Visual Studio .NET Common Language Runtime Operating System
Implementation and Benefits.NET Framework Class Library System.Web System.Windows.Forms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OleDb SqlClient XSLT Serialization Common SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading
VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Implementation and Benefits.NET Languages Visual Studio .NET Common Language Runtime Operating System
.NET Languages (Microsoft) • Microsoft: Visual Basic.NET • Microsoft: C# • Microsoft: C++ (Managed/Unmanaged) • Microsoft: J#
APL Fujitsu COBOL Micro Focus COBOL Eiffel Forth FORTRAN 95 Haskell Mercury Mondrian Oberon Pascal Perl Python RPG S# Scheme Standard Meta Language .NET Languages (Others)
Agenda • .NET Goals • .NET Framework and Languages • Application Types • Case Study
Windows Forms • XCOPY Deployment • Web Deployment • Side by Side DLLs • VB provides full functionality
Web Forms • Event-Driven Programming Model • Server Controls • Code Behind • ADO.NET • Session State Scalability • IIS 6.0 • High-Performance Caching • Multiple Authentication Techniques
Server Controls • Programmable, server-side objects • Properties, methods and events • Encapsulate both behavior and rendering • HTML, XML, WML, script, etc. • You can create server controls • Custom controls • User controls • Or derive from existing controls
ASP.NET Pages: Part Declarative, Part Code • Combines declarative tags (HTML, ASP directives, server controls and static text) with code • Unlike ASP, good separation provided between code and tags single file separate files (“code-behind”) code <tags> code <tags> Form1.aspx Form1.aspx Form1.vb
Classic ASP vs. ASP.NET Classic ASP ASP.NET • No separation of presentation from business logic • No built-in support for up/down level browsers • Spaghetti code • Limited session management • Clean separation of presentation logic from business logic • Controls render to support browser • Server controls remove spaghetti code • Session mgt now supports separate session server or db server Presentation Tier • Scripted • Top-down processing • Limited error handling • No support for XML/XSL • Compiled • Event-based programming • Structured error handling • Full support for XML data, web services, XSLT transformation Programming Model • IDE allows debugging from UI to DB • Very high performance • Xcopy deployment model • Full access to windows or custom security model • Full support for object, page caching • Difficult debugging • Mediocre performance • Difficult deployment • No built in security • No support for caching Development Features
Windows Services • Easy to create in any .NET language • INSTALLUTIL supplied by .NET Framework
Smart Device Applications (2003) • .NET Compact Framework • Created using standard .NET tools and languages
Mobile Web Applications (2003) • Server controls • Markup optimized by device • Created using standard .NET tools and languages
Mobile Web Applications Broad device support PocketPC, Palm, RIM, Cell phones Online Server side logic Browser-based UI No client installation Smart Device Extensions Target rich clients Pocket PC/Phone edition, Smartphones, Windows CE.NET Offline and Online Client side logic and data UI flexibility Client side installation Leverage SQL Server CE Mobile Web vs. Rich Client Built in support for XML Web Services
XML Web Services • Integration between applications • Integration between organizations • Integration between heterogeneous systems .NET Connected Application
Internet connects entities together Email and WWW inherently cross boundaries XML Web Services applies the same platform neutral approach to system integration Platform Neutral Leverage Existing Standards No Rip and Replace E-mail Web Services WWW Connects Applications Connects People ConnectsPeople toInformation XML Web Services Explained
XML Web ServicesFoundation for Programmable Internet • Based on public standards • XML, SOAP, XSD, WSDL • Not bound to any single platform • Protocol and format-based contract • Loosely coupled programming • Preserve and connect existing systems • Broad industry support
XML Web Services Language Independent • J2EE App • BEA Weblogic • Oracle 8i • Solaris • Sun UE 10000 • SAP R/3 • DB2 • AIX • IBM RS/6000 Platform Independent Device Independent • Motorola i85s • J2ME XML Web Services • Compaq iPAQ • Windows CE • StrongARM • PeopleSoft 7.0 • SQL 2000 • Windows 2000/.NET • HP ProLiant • PERL • Apache 2.0 • MySQL • Linux
Promoters group for Web services • Facilitate customer adoption • Ensure interoperability • Not a standards body • Industry alignment around Web services • First testing tools this year • More info: http://www.ws-i.org • 100+ member community
Clients Tools Experiences & Solutions Services Servers Microsoft .NET Web services support across the Microsoft platform
“.NET is a brilliant strategy that enables Microsoft to define the next shift in the software business.” Gartner Group Gartner Web Services Magic Quadrant Ability to Execute IBM Sun HP Oracle Completeness of Vision *Source: Gartner Research, 9/13/2001 Analyst Perspective On .NET “Everyone should build on the XML/SOAP foundation.”Meta Group “Gartner believes Microsoft is now providing more vision and influence regarding this shift than any other vendor.” Gartner Group “.NET is a leading example of what we believe will be the dominant architectural model for the third generation of Internet applications.” Patricia Seybold Group
Pet Shop revisited: Middleware App. Server & Web Services Benchmark • MiddleWare Co. re-test of J2EE vs. .NET Per./Scale • Spent 4 months testing J2EE and .NET reference applications • Developed new J2EE application optimized for performance • Conducted new series of comprehensive benchmarks • All results taken by and certified by Middleware Company • Includes Web Application, Web Services and Distributed Transaction benchmarks • Report available at http://www.middleware-company.com/j2eedotnetbench • Downloadable code, test scripts, discussion forum also available
Web Application BenchmarkTests n-tier Web application hosting Windows Server 2003 outperforms J2EE by 339% on the Web application benchmark
Web Services BenchmarkWeb Service Hosting PerformanceMultiple Clients Making Remote SOAP Requests over HTTP .NET Framework 1.1 on Windows Server 2003 outperforms J2EE by 331% in Web service testing
Developer Productivity: Comparing .NET And J2EE Implementations Based on new Middleware J2EE Reference Application with EJBs and Equivalent .NET Reference Application with C# Components Optimizing, configuring J2EE: 10 man-weeks per application server .NET: 2 man-weeks
Agenda • .NET Goals • .NET Framework and Languages • Application Types • Case Study
computerjobs.com • 15M hits per month • 800k unique visitors • 250k resumes
Criteria • Speed • Stability • Productivity • TCO
Criteria • Speed • 500% improvement in efficiency • Stability • Productivity • TCO
Criteria • Speed • 500% improvement in efficiency • Stability • 99.998% uptime • Productivity • TCO
Criteria • Speed • 500% improvement in efficiency • Stability • 99.998% uptime • Productivity • Development time halved • TCO
Criteria • Speed • 500% improvement in efficiency • Stability • 99.998% uptime • Productivity • Development time halved • TCO • $100,000 saved in first year