1 / 30

Microsoft .NET Gerry Miller Chief Technology Officer Microsoft Corporation – US Central Region

Microsoft .NET Gerry Miller Chief Technology Officer Microsoft Corporation – US Central Region. Vision. Empower people through great software any time, any place, and on any device. Names And Notables. Jim Gray, 1998 Turing Award Butler Lampson, 1992 Turing Award

Download Presentation

Microsoft .NET Gerry Miller Chief Technology Officer Microsoft Corporation – US Central Region

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microsoft .NETGerry MillerChief Technology OfficerMicrosoft Corporation – US Central Region

  2. Vision Empower people through great software any time, any place, and on any device

  3. Names And Notables • Jim Gray, 1998 Turing Award • Butler Lampson, 1992 Turing Award • C.A.R. Hoare, Turing Award, Kyoto Prize • Gary Starkweather, Inventor of the laser printer • Jim Blinn, Graphics pioneer • Jim Kajiya, Graphics pioneer • Michael Freedman, Fields Medal winner • Laci Lovasz, Wolf Prize and 2001 Godel Prize • Gordon Bell, Father of the VAX • Rick Rashid, Mach microkernel, “NUMA” • Compaq Tru64 Unix, Mac OS X

  4. Microsoft .NETA Platform for the Next-Gen Internet Vision Platform Services

  5. Web Service Web Service XML XML XML XML XML Web Service Web Service “Building Block Services” Client Client XML Vision: Web Services HTML

  6. Vision: New Devices • Broadband • Wireless • Smart cards • Incredible PCs with microphone, camera • Tablet PC • Pocket PC, screen phone • Adaptable, customizable UI

  7. Visual Studio.NET VB C++ C# JScript … Common Language Specification ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO.NET and XML Base Class Library Common Language Runtime Operating System Framework, Languages, And Tools

  8. .NET Inbox .NET Alerts .NET Calendar .NET Application Settings .NET Contacts .NET Documents .NET Lists .NET Categories .NET Devices .NET FavoriteWebsites .NET Location .NET Presence .NET Profile .NET Wallet User-Centric Web Services

  9. PC’s & Devices User experiences Web services Servers A Platform For Web Services?

  10. Host Integration Server 2000 Mobile Information 2001 Server ISA Server 2000 SQL Server 2000 Exchange 2000 BizTalk Server 2000 Commerce Server 2000 Application Center 2000 Enterprise Servers Building The .NET Platform PC’s and Devices User experiences .NET Programming VisualStudio.NET .NET Framework Authentication Web services Storage Notification Servers

  11. Customers Partners Employees Human Resource Customer Service ERP Customer Service Financial Services Supply Chain XML Web Services The Integration Challenge

  12. The TMC team spent 4 months performing this benchmark. They worked 100 hours per week on this and worked every weekend, skipping holidays. Trust me, they were trying very hard to make J2EE win. But in the end, J2EE did not come out on top. TMC had a lot of heartache seeing the results of this benchmark. We internally debated about whether we should post this or not. In the end, we decided to go forward and publish this report. - The Middleware Group, October 2002

  13. PerformancePetshop Case Study • Java Pet Store is Sun’s primary blueprint application for J2EE • Source: http://java.sun.com/j2ee/blueprints • Illustrates best coding practices for J2EE • Ships as a sample application in IBM Websphere, Oracle Application Server 9i, Sun iPlanet, and BEA WebLogic • The .NET Petshop is a port of the J2EE Java Pet Store to .NET • Source: http://www.gotdotnet.com/compare • Implements the same functionality as Java Pet Store • Illustrates best coding practices for .NET Framework

  14. Porting Java Pet Store to .NET 15500 Lines of Code Required 14,273 14000 .NET Petshop 11500 Java Pet Store 9000 7500 5,891 5,404 4,410 5000 2,865 2,566 2500 710 761 412 74 Total Lines of Code User Interface Middle Tier Data Tier Configuration

  15. Page Response Times • Based on Oracle-published data for tuned version of Java Pet Store • Using Oracle’s test scripts from their “9i App Server Challenge” • Run on equivalent hardware 1.0 0.8 0.6 Response Time (Seconds) 0.4 0.2 0 0 500 1000 1500 2000 2500 2750 User Load Level

  16. Page Response Times • Based on Oracle-published data for tuned version of Java Pet Store • Using Oracle’s test scripts from their “9i App Server Challenge” • Run on equivalent hardware 1.0 0.8 0.6 2800% Better performance Response Time (Seconds) 0.4 0.2 0 0 500 1000 1500 2000 2500 2750 User Load Level

  17. Page Response Times • Based on Oracle-published data for tuned version of Java Pet Store • Using Oracle’s test scripts from their “9i App Server Challenge” • Run on equivalent hardware 1.0 0.8 0.6 2800% Better performance Response Time (Seconds) 0.4 0.2 0 0 500 1000 1500 2000 2500 2750 User Load Level

  18. Page Response Times • Based on Oracle-published data for tuned version of Java Pet Store • Using Oracle’s test scripts from their “9i App Server Challenge” • Run on equivalent hardware Supporting 6 times more users 1.0 0.8 0.6 2800% Better performance Response Time (Seconds) 0.4 0.2 0 0 500 1000 1500 2000 2500 2750 User Load Level

  19. Broad Language Support J# String s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader();

  20. Broad Language Support VB.NET Dim s as String s = "authors" Dim cmd As New SqlCommand("select * from " & s, sqlconn) cmd.ExecuteReader() C# string s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader(); C++ String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s), sqlconn); cmd.ExecuteReader();

  21. Broad Language Support var s = "authors" var cmd = new SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader() JScript Perl String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s), sqlconn); cmd.ExecuteReader(); Python s = "authors" cmd =SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader()

  22. ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS SqlCommand AS "System.Data.SqlClient.SqlCommand"     CLASS SqlConnection AS "System.Data.SqlClient.SqlConnection". DATA DIVISION. WORKING-STORAGE SECTION. 01 str PIC X(50). 01 cmd-string PIC X(50). 01 cmd OBJECT REFERENCE SqlCommand. 01 sqlconn OBJECT REFERENCE SqlConnection. PROCEDURE DIVISION. *> Establish the SQL connection here somewhere. MOVE "authors" TO str. STRING "select * from " DELIMITED BY SIZE,    str DELIMITED BY " " INTO cmd-string. INVOKE SqlCommand "NEW" USING BY VALUE cmd-string sqlconn RETURNING cmd. INVOKE cmd "ExecuteReader". Cobol Broad Language Support

  23. Broad Language Support RPG DclFld MyInstObj Type( System.Data.SqlClient.SqlCommand )  DclFld s Type( *string )  s = "authors"  MyInstObj = New System.Data.SqlClient.SqlCommand("select * from "+s, sqlconn)  MyInstObj.ExecuteReader() Fortran assembly_external(name="System.Data.SqlClient.SqlCommand") sqlcmdcharacter*10 xsqlcmd Cmd x='authors' cmd = sqlcmd("select * from "//x, sqlconn)           call cmd.ExecuteReader() end 

  24. APL Broad Language Support s←String.New ‘authors’ cmd←SqlCommand.New (‘select * from ‘,s.ToString σ) sqlconn cmd.ExecuteReader     |s| := 'authors'.     |cmd| := SqlCommand('select * from '+s, sqlconn).     cmd.ExecuteReader(). Smalltalk

  25. Broad Language Support Scheme (let* ( (s "authors")   (cmd (new-SqlCommand (string-append "select * from " s) sqlconn))) (execute-command cmd)) local       s: STRING       cmd: SQLCOMMAND do      s := "authors"       create cmd("select * from " + s, sqlconn)       cmd.ExecuteReader() end Eiffel ExecuteReader = invoke System.Data.SqlClient.ExecuteReader(); SqlCommand = create System.Data.SqlClient.SqlCommand(String,\ System.Data.SqlClient.SqlConnection); query = sqlconn -> let{ s = "authors"; } in {    cmd <- SqlCommand ("select * from "+s, sqlconn);   cmd # ExecuteReader();    }; Mondrian

  26. You have to manage it by ignoring it. The complexity of J2EE is pretty extreme…There’s a dirty little secret about J2EE; most people don’t need J2EE; the JSPs and database APIs are enough ….If you need to use it, then use it; if you don’t, stay away. - James Gosling (the “father” of Java”), May 2002

  27. InfoWorld: So what you're saying is what J2EE adds in terms of Web services support in 1.4 could be relatively irrelevant? Mills: Yes. That's exactly what I'm saying. - Steve Mills, IBM chief software executive, April 2002

  28. Though in theory, any J2EE application can be deployed on any J2EE-compliant application server, in practice, this is not strictly true. - Oracle’s web site

  29. Due to the vendor-specific tools and extensions required for ease of development, functionality, performance, and integration, Java 2 Enterprise Edition (J2EE) application servers still lock users into a specific vendor's product, despite being based on standards. - The Meta Group

  30. The .NET Bet • Software industry transformation • Integration and XML • Decentralized computing • New user experience • User confidence in privacy, security • Windows 2000 foundation • Subscription business models • Partnerships

More Related