microsoft .net gerry miller chief technology officer microsoft corporation – us central region

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

Upload: rashida-turan

Post on 04-Jan-2016

20 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

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

Microsoft .NETMicrosoft .NET

Gerry MillerGerry MillerChief Technology OfficerChief Technology OfficerMicrosoft Corporation – US Central RegionMicrosoft Corporation – US Central Region

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

VisionVision

Empower Empower people people

through great through great softwaresoftware

any time, any place, any time, any place,

and on any deviceand on any device

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

Names And NotablesNames And Notables

Jim Gray, 1998 Turing AwardJim Gray, 1998 Turing Award Butler Lampson, 1992 Turing AwardButler Lampson, 1992 Turing Award C.A.R. Hoare, Turing Award, Kyoto PrizeC.A.R. Hoare, Turing Award, Kyoto Prize Gary Starkweather, Inventor of the laser printerGary Starkweather, Inventor of the laser printer Jim Blinn, Graphics pioneerJim Blinn, Graphics pioneer Jim Kajiya, Graphics pioneerJim Kajiya, Graphics pioneer Michael Freedman, Fields Medal winnerMichael Freedman, Fields Medal winner Laci Lovasz, Wolf Prize and 2001 Godel PrizeLaci Lovasz, Wolf Prize and 2001 Godel Prize Gordon Bell, Father of the VAXGordon Bell, Father of the VAX Rick Rashid, Mach microkernel, “NUMA”Rick Rashid, Mach microkernel, “NUMA”

Compaq Tru64 Unix, Mac OS XCompaq Tru64 Unix, Mac OS X

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

Microsoft .NETMicrosoft .NET A Platform for the Next-Gen A Platform for the Next-Gen

InternetInternetVisionVision

PlatformPlatform

ServicesServices

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

Web Web ServiceService

Vision: Web ServicesVision: Web Services

Web Web ServiceService

XMLXML

““Building Block Building Block Services”Services”HTML

HTML

ClientClient

XML

XML

ClientClientXMLXML

Web Web ServiceService

XMLXML

Web Web ServiceService

XMLXML

XM

LX

ML

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

Vision: New DevicesVision: New Devices BroadbandBroadband WirelessWireless Smart cardsSmart cards Incredible PCs with Incredible PCs with

microphone, cameramicrophone, camera Tablet PCTablet PC Pocket PC, screen phonePocket PC, screen phone Adaptable, customizable UIAdaptable, customizable UI

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

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

Base Class LibraryBase Class Library

ADO.NET and XMLADO.NET and XML

ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services

Mobile Internet ToolkitMobile Internet Toolkit

WindowsWindowsFormsForms

Common Language SpecificationCommon Language Specification

VBVB C++C++ C#C# JScriptJScript ……

Visu

al S

tud

io.N

ET

Visu

al S

tud

io.N

ET

Framework, Languages, And ToolsFramework, Languages, And Tools

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

User-Centric Web ServicesUser-Centric Web Services

.NET Inbox.NET Inbox

.NET Presence.NET Presence

.NET Location.NET Location

.NET Contacts.NET Contacts

.NET Devices.NET Devices

.NET Application.NET ApplicationSettingsSettings

.NET Calendar.NET Calendar.NET Alerts.NET Alerts

.NET Wallet.NET Wallet.NET Profile.NET Profile

.NET Lists.NET Lists

.NET .NET FavoriteWebsitesFavoriteWebsites

.NET Documents.NET Documents

.NET Categories.NET Categories

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

A Platform For Web Services?A Platform For Web Services?

User experiencesUser experiences

PC’s & PC’s & DevicesDevices

Web servicesWeb services

Servers Servers

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

Building The .NET PlatformBuilding The .NET Platform

User User experiencesexperiences

Web Web servicesservices

PC’s and PC’s and DevicesDevices

ServersServers

Authentication

Notification

App

licat

ion

App

licat

ion

Cen

ter 2

000

Cen

ter 2

000

Enterprise ServersEnterprise Servers

Biz

Talk

B

izTa

lk

Serv

er 2

000

Serv

er 2

000

Com

mer

ce

Com

mer

ce

Serv

er 2

000

Serv

er 2

000

Exch

ange

Ex

chan

ge

2000

2000

SQL

Serv

er

SQL

Serv

er

2000

2000

ISA

Ser

ver

ISA

Ser

ver

2000

2000

Mob

ile

Mob

ile

Info

rmat

ion

Info

rmat

ion

2001

Ser

ver

2001

Ser

ver

Hos

t H

ost

Inte

grat

ion

Inte

grat

ion

Serv

er 2

000

Serv

er 2

000

.NET Programming.NET ProgrammingVisualStudio.NETVisualStudio.NET.NET Framework.NET FrameworkStorage

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

XML Web Services XML Web Services The Integration ChallengeThe Integration Challenge

Customer ServiceCustomer Service

PartnersPartners EmployeesEmployees

Customer ServiceCustomer Service

Supply Chain Supply Chain

ERPERP Human ResourceHuman Resource

Financial ServicesFinancial Services

CustomersCustomers

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

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, - The Middleware Group, October 2002 October 2002

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

PerformancePerformancePetshop Case StudyPetshop Case Study Java Pet Store is Sun’s primary blueprint Java Pet Store is Sun’s primary blueprint

application for J2EEapplication for J2EE Source: Source: http://java.sun.com/j2ee/blueprintshttp://java.sun.com/j2ee/blueprints Illustrates best coding practices for J2EEIllustrates best coding practices for J2EE Ships as a sample application in IBM Websphere, Ships as a sample application in IBM Websphere,

Oracle Application Server 9i, Sun iPlanet, and Oracle Application Server 9i, Sun iPlanet, and BEA WebLogicBEA WebLogic

The .NET Petshop is a port of the J2EE Java The .NET Petshop is a port of the J2EE Java Pet Store to .NETPet Store to .NET Source: Source: http://www.gotdotnet.com/comparehttp://www.gotdotnet.com/compare Implements the same functionality as Java Pet Implements the same functionality as Java Pet

StoreStore Illustrates best coding practices for .NET Illustrates best coding practices for .NET

FrameworkFramework

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

1400014000

75007500

90009000

50005000

25002500

1550015500

1150011500Java Pet StoreJava Pet Store

Lines of Code RequiredLines of Code Required

User User InterfaceInterface

4,410

Data TierData TierMiddle TierMiddle Tier

2,865

.NET Petshop.NET Petshop

14,273

5,891

ConfigurationConfigurationTotal Lines Total Lines of Codeof Code

710

5,404

761 412 74

2,566

Porting Java Pet Store to .NETPorting Java Pet Store to .NET

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

Page Response TimesPage Response Times Based on Oracle-published data for tuned version of Java Pet StoreBased on Oracle-published data for tuned version of Java Pet Store Using Oracle’s test scripts from their “9i App Server Challenge”Using Oracle’s test scripts from their “9i App Server Challenge” Run on equivalent hardwareRun on equivalent hardware

1.01.0

00

User Load LevelUser Load Level

Re

spo

nse

Tim

e (S

eco

nds

)R

esp

on

se T

ime

(Se

con

ds)

0.60.6

0.40.4

0.20.2

0.80.8

00 500500 10001000 15001500 20002000 25002500 27502750

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

Page Response TimesPage Response Times Based on Oracle-published data for tuned version of Java Pet StoreBased on Oracle-published data for tuned version of Java Pet Store Using Oracle’s test scripts from their “9i App Server Challenge”Using Oracle’s test scripts from their “9i App Server Challenge” Run on equivalent hardwareRun on equivalent hardware

1.01.0

00

User Load LevelUser Load Level

Re

spo

nse

Tim

e (S

eco

nds

)R

esp

on

se T

ime

(Se

con

ds)

0.60.6

0.40.4

0.20.2

0.80.8

00 500500 10001000 15001500 20002000 25002500 27502750

2800% Better performance2800% Better performance

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

Page Response TimesPage Response Times Based on Oracle-published data for tuned version of Java Pet StoreBased on Oracle-published data for tuned version of Java Pet Store Using Oracle’s test scripts from their “9i App Server Challenge”Using Oracle’s test scripts from their “9i App Server Challenge” Run on equivalent hardwareRun on equivalent hardware

1.01.0

00

User Load LevelUser Load Level

Re

spo

nse

Tim

e (S

eco

nds

)R

esp

on

se T

ime

(Se

con

ds)

0.60.6

0.40.4

0.20.2

0.80.8

00 500500 10001000 15001500 20002000 25002500 27502750

2800% Better performance2800% Better performance

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

Page Response TimesPage Response Times Based on Oracle-published data for tuned version of Java Pet StoreBased on Oracle-published data for tuned version of Java Pet Store Using Oracle’s test scripts from their “9i App Server Challenge”Using Oracle’s test scripts from their “9i App Server Challenge” Run on equivalent hardwareRun on equivalent hardware

1.01.0

00

00

User Load LevelUser Load Level

Re

spo

nse

Tim

e (S

eco

nds

)R

esp

on

se T

ime

(Se

con

ds)

500500 10001000 15001500 20002000 25002500 27502750

0.60.6

0.40.4

0.20.2

0.80.8

2800% Better performance2800% Better performance

Supporting 6 times more usersSupporting 6 times more users

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

Broad Language SupportBroad Language SupportJ#J#String s = "authors";

SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn);

cmd.ExecuteReader();

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

string s = "authors";SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn);cmd.ExecuteReader();

C#C#

Dim s as Strings = "authors"Dim cmd As New SqlCommand("select * from " & s, sqlconn)cmd.ExecuteReader()

VB.NETVB.NET

Broad Language SupportBroad Language Support

C++C++String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s),

sqlconn); cmd.ExecuteReader();

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

String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s), sqlconn); cmd.ExecuteReader();

PerlPerl

s = "authors"cmd =SqlCommand("select * from " + s, sqlconn)cmd.ExecuteReader()

PythonPython

var s = "authors"var cmd = new SqlCommand("select * from " + s, sqlconn)cmd.ExecuteReader()

JScriptJScript

Broad Language SupportBroad Language Support

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

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".

CobolCobol

Broad Language SupportBroad Language Support

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

assembly_external(name="System.Data.SqlClient.SqlCommand")sqlcmdcharacter*10 xsqlcmd Cmd x='authors'cmd = sqlcmd("select * from "//x, sqlconn)           call cmd.ExecuteReader()end 

FortranFortran

  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()

RPGRPG

Broad Language SupportBroad Language Support

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

Broad Language SupportBroad Language Support

    |s| := 'authors'.    |cmd| := SqlCommand('select * from '+s, sqlconn).    cmd.ExecuteReader().

SmalltalkSmalltalk

APLAPLs←String.New ‘authors’cmd←SqlCommand.New (‘select * from ‘,s.ToString σ) sqlconncmd.ExecuteReader

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

(let* ( (s "authors")  (cmd (new-SqlCommand (string-append "select * from " s) sqlconn)))(execute-command cmd))

SchemeScheme

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();    };  MondrianMondrian

local      s: STRING      cmd: SQLCOMMANDdo      s := "authors"      create cmd("select * from " + s, sqlconn)      cmd.ExecuteReader()end

EiffelEiffel

Broad Language SupportBroad Language Support

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

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 - James Gosling (the “father” of Java”), May 2002 “father” of Java”), May 2002

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

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 - Steve Mills, IBM chief software executive, April software executive, April 2002 2002

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

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- Oracle’s web site

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

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- The Meta Group

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

The .NET BetThe .NET Bet Software industry transformationSoftware industry transformation Integration and XMLIntegration and XML Decentralized computing Decentralized computing New user experienceNew user experience User confidence in privacy, securityUser confidence in privacy, security Windows 2000 foundationWindows 2000 foundation Subscription business modelsSubscription business models PartnershipsPartnerships