.NET Overview Geoff Snowman .NET Evangelist [email protected] 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 Implementation and Benefits .NET Framework and Tools VB C++ C# … J# Common Language Specification Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Common Language Runtime Operating System Visual Studio .NET ASP .NET Implementation and Benefits Common Language Runtime VB C++ C# … J# Common Language Specification Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Common Language Runtime Operating System Visual Studio .NET ASP .NET Implementation and Benefits Compilation and Execution Compilation Source Code Language Compiler Native Code JIT Compiler Execution Code (IL) Assembly Metadata At installation or the first time each method is called Implementation and Benefits .NET Framework Class Library VB C++ C# … J# Common Language Specification Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Common Language Runtime Operating System Visual Studio .NET ASP .NET Implementation and Benefits .NET Framework Class Library System.Web Services Description Discovery Protocols UI HtmlControls WebControls Caching Configuration Security SessionState System.Windows.Forms Design ComponentModel System.Drawing Drawing2D Imaging System.Data OleDb Common Printing Text System.Xml SqlClient SQLTypes XSLT XPath Serialization System Collections Configuration Diagnostics Globalization IO Net Reflection Resources Security ServiceProcess Text Threading Runtime InteropServices Remoting Serialization Implementation and Benefits .NET Languages VB C++ C# … J# Common Language Specification Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Common Language Runtime Operating System Visual Studio .NET ASP .NET .NET Languages (Microsoft) • • • • Microsoft: Visual Basic.NET Microsoft: C# Microsoft: C++ (Managed/Unmanaged) Microsoft: J# .NET Languages (Others) • • • • • • • • • APL Fujitsu COBOL Micro Focus COBOL Eiffel Forth FORTRAN 95 Haskell Mercury Mondrian • • • • • • • • Oberon Pascal Perl Python RPG S# Scheme Standard Meta Language 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 Demo 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 code <tags> Form1.aspx separate files (“code-behind”) <tags> code Form1.aspx Form1.vb Classic ASP vs. ASP.NET Development Features Programming Model Presentation Tier Classic ASP • No separation of presentation from business logic No built-in support for up/down level browsers Spaghetti code Limited session management • • • • • • • • • • • • Scripted Top-down processing Limited error handling No support for XML/XSL Difficult debugging Mediocre performance Difficult deployment No built in security No support for caching ASP.NET • • • • • • • • • • • • • 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 Compiled Event-based programming Structured error handling Full support for XML data, web services, XSLT transformation 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 Demo 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 Demo Mobile Web Applications (2003) • • • Server controls Markup optimized by device Created using standard .NET tools and languages Mobile Web vs. Rich Client • Mobile Web Applications • • • • • Broad device support • • Smart Device Extensions • PocketPC, Palm, RIM, Cell phones Online Server side logic Browser-based UI No client installation • • • • • 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 Built in support for XML Web Services Demo XML Web Services • • • Integration between applications Integration between organizations Integration between heterogeneous systems .NET Connected Application XML Web Services Explained • • • Internet connects entities together Email and WWW inherently cross boundaries XML Web Services applies the same platform neutral approach to system integration • • • E-mail WWW Web Services Connects People Connects People to Information Connects Applications Platform Neutral Leverage Existing Standards No Rip and Replace XML Web Services Foundation 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 J2EE App BEA Weblogic Oracle 8i Solaris Sun UE 10000 SAP R/3 DB2 AIX IBM RS/6000 Language Independent Platform Independent Device Independent Motorola i85s J2ME XML Web Services PERL Apache 2.0 MySQL Linux PeopleSoft 7.0 SQL 2000 Windows 2000/.NET HP ProLiant Compaq iPAQ Windows CE StrongARM • • • • 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 Microsoft .NET Web services support across the Microsoft platform Services Servers Experiences & Solutions Tools Clients Analyst Perspective On .NET “.NET is a brilliant strategy that enables Microsoft to define the next shift in the software business.” Gartner Group “Everyone should build on the XML/SOAP foundation.” Gartner Web Services Meta Group Magic Quadrant “Gartner believes Microsoft is now providing more vision and influence regarding this shift than any other vendor.” Gartner Group IBM “.NET is a leading example of what we believe will be the Sun dominant architectural model for HP Oracle the third generation of Internet applications.” Patricia Seybold Group Completeness of Vision *Source: Gartner Research, 9/13/2001 Demo 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.middlewarecompany.com/j2eedotnetbench Downloadable code, test scripts, discussion forum also available Web Application Benchmark Tests n-tier Web application hosting 8000 2CPU 4CPU 7000 550 MHz Compaq ProLiant 8500 8CPU Responses/sec 6000 5000 Windows Server 2003 outperforms J2EE by 339% on the Web application benchmark 4000 3000 2000 1000 0 J2EE Application Server A J2EE Application Server B .NET 1.0/W2K .NET 1.1/Windows.NET Web Services Benchmark Web Service Hosting Performance Multiple Clients Making Remote SOAP Requests over HTTP SOAP Requests/sec 1000 2CPU 900 4CPU 800 8CPU 700 600 550 MHz Compaq .NET Framework 1.1 on Windows Server 2003 outperforms J2EE by 331% in Web service testing 500 400 300 200 100 0 J2EE A J2EE B MS W2K MS Win .NET Developer Productivity: Comparing .NET And J2EE Implementations Based on new Middleware J2EE Reference Application with EJBs and Equivalent .NET Reference Application with C# Components .NET Implementation 16000 14004 J2EE Implementation Lines of Code Required 14000 Optimizing, configuring J2EE: 10 man-weeks per application server .NET: 2 man-weeks 12000 10000 8000 6187 5567 6000 4000 2096 2053 1002 2000 795 197 197 102 0 Total User Interface Middle Tier Data Tier Config Agenda • .NET Goals • .NET Framework and Languages • Application Types • Case Study computerjobs.com 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 Q & A ?
© Copyright 2024 ExpyDoc