danf @microsoft
Post on 23-Jan-2016
37 Views
Preview:
DESCRIPTION
Transcript
danfdanf@microsoft.com@microsoft.com
.NET .NET Laying the groundwork for the next Laying the groundwork for the next generation of Internet applicationsgeneration of Internet applications
Dan FayDan FayMicrosoft ResearchMicrosoft ResearchUniversity RelationsUniversity Relations
What is .NET?What is .NET?
A domain name extension?A domain name extension? A Brand? A Brand? .net = C#?.net = C#? A vision?A vision? Set of technologies?Set of technologies?
AgendaAgenda
EvolutionEvolution Web ServicesWeb Services .NET Vision.NET Vision .NET Platform Architecture.NET Platform Architecture
Common Language RuntimeCommon Language Runtime ASP.NETASP.NET .NET Compact Framework.NET Compact Framework
Evolution of the InternetEvolution of the Internet 11stst Generation: 1994 – 1996 Generation: 1994 – 1996
InfrastructureInfrastructure Static PagesStatic Pages E-mailE-mail Browsers, Web ServersBrowsers, Web Servers
22ndnd Generation: 1996 – 2000 Generation: 1996 – 2000 Dynamic PagesDynamic Pages Personalization, e-commercePersonalization, e-commerce Applets, DatabasesApplets, Databases
The Future of the InternetThe Future of the Internet
33rdrd Generation Generation Beyond BrowsingBeyond Browsing Integration of InternetIntegration of Internet Web ServicesWeb Services XMLXML
The .NET EvolutionThe .NET Evolution
Before COM, CORBA, etc applications were completely separate entities with little or no integration
Application
Code and data
structures
The .NET EvolutionThe .NET Evolution
COM provides a way for components to integrate. However, each component must provide the “plumbing” and objects cannot directly interact.
The .NET EvolutionThe .NET Evolution
With the .NET Framework common language runtime, components are built on a common substrate. No “plumbing” is needed; objects can directly interact
Microsoft’s VisionMicrosoft’s Vision
People will use many different kinds People will use many different kinds of devicesof devices
Information will be accessible from Information will be accessible from anywhereanywhere
Information will stay in digital formInformation will stay in digital form Companies will offer services via the Companies will offer services via the
webweb
Open StandardsOpen Standards
.NET is based on open Internet standards.NET is based on open Internet standards HTTP, HTML, XML, SOAP, WSDL HTTP, HTML, XML, SOAP, WSDL
WWW ConsortiumWWW Consortium
.NET itself is an open standard.NET itself is an open standard ECMA - http://www.ECMA.chECMA - http://www.ECMA.ch ECMA 335ECMA 335 - “Common Language Infrastructure” - “Common Language Infrastructure”
All core .NET Framework Protocols, Formats, & All core .NET Framework Protocols, Formats, & Interfaces Interfaces
ECMA 334ECMA 334 – C# Language Specification – C# Language Specification
UDDI: Directory for web servicesUDDI: Directory for web services Co-Sponsors with Microsoft - HP, Intel, IBM, Co-Sponsors with Microsoft - HP, Intel, IBM,
Ariba… Ariba…
Shared Source Shared Source Implementation of the CLI Implementation of the CLI
(ROtOR)(ROtOR) source and binariessource and binaries ref implementation of ECMA specsref implementation of ECMA specs includes C# & JScript compilersincludes C# & JScript compilers subset of the V1 .Net Frameworks subset of the V1 .Net Frameworks on both on both WindowsWindows and and FreeBSDFreeBSD intended for teaching and researchintended for teaching and research liberal license, no taintingliberal license, no tainting available first half of 2002available first half of 2002
The Web Services RevolutionThe Web Services RevolutionA New Programming ParadigmA New Programming Paradigm
Integration Is IntrinsicIntegration Is Intrinsic An industry initiativeAn industry initiative Based on cross-platform standardsBased on cross-platform standards Data and servicesData and services
Software As A ServiceSoftware As A Service Operate locally or hostedOperate locally or hosted ProgrammabilityProgrammability Any place, any time, any deviceAny place, any time, any device
Database
Web ServiceWeb ServiceWeb Service
Web Web ApplicationApplication
.NET Applications.NET Applications
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
University University PortalPortal
.NET Applications.NET Applications
SearchSearchServiceService
XMLXML
““Building Block Building Block Services”Services”HTML
HTML
ClientClient
XML
XML
ClientClientXMLXML
CourseCourseCatalogCatalog
XMLXML
StudentStudentDataData
XMLXML
XM
LX
ML
SOAPSOAP Web Service consumers can send and Web Service consumers can send and receive messages using SOAP receive messages using SOAP
Web ServicesWeb ServicesDescription LanguageDescription Language
Web Services are defined in terms of the Web Services are defined in terms of the formats and ordering of messagesformats and ordering of messages
UDDIUDDI You can ask a site or device for a You can ask a site or device for a
description of its Web Services, or use description of its Web Services, or use a directory service such as UDDIa directory service such as UDDI
All these capabilities are built using All these capabilities are built using open Internet protocols open Internet protocols XML, HTTPXML, HTTP
What is a Web Service? What is a Web Service?
Open Internet Protocols
Web Web ServiceService
A programmable application A programmable application component accessible via standard component accessible via standard Internet protocolsInternet protocols
Creating Web ServicesCreating Web Services
ASP.NETASP.NET Easiest way to create web servicesEasiest way to create web services
SOAP Toolkit V2 (VS6) – MSDN SOAP Toolkit V2 (VS6) – MSDN http://msdn.microsoft.com/webservices/http://msdn.microsoft.com/webservices/
SOAP Toolkits for SOAP Toolkits for Apache - Apache - http://xml.apache.org/soap/http://xml.apache.org/soap/ XMethods http://www.xmethods.netXMethods http://www.xmethods.net ……
Web ServicesWeb Services
Example ServicesExample Services MIT – www.devhood.comMIT – www.devhood.com TerraServer – terraservice.netTerraServer – terraservice.net
List of Web ServicesList of Web Services www.Uddi.orgwww.Uddi.org www.XMethods.netwww.XMethods.net www.GotDotNet.comwww.GotDotNet.com www.SalCentral.comwww.SalCentral.com www.Microsoft.com/MyServiceswww.Microsoft.com/MyServices
Web Services Competition Web Services Competition www.webservicescontest.comwww.webservicescontest.com
Building On An XML Building On An XML FoundationFoundation
Benefits Of XML FoundationBenefits Of XML FoundationUser:User: Beyond browsing Beyond browsing Access and act on informationAccess and act on information Greater control, better decision-making, Greater control, better decision-making,
easier collaborationeasier collaboration Optimal support for different devicesOptimal support for different devices
Business:Business: Integration Integration by designby design Best-of-breed internally and externallyBest-of-breed internally and externally Business processes and partnersBusiness processes and partners Agility to run, adapt business betterAgility to run, adapt business better
Industry:Industry: New opportunities New opportunities Don’t have to do it all yourselfDon’t have to do it all yourself Make your value easier to consumeMake your value easier to consume ““Plug and play” business relationshipsPlug and play” business relationships
ToolsTools Enterprise ServersEnterprise Servers
DevicesDevicesBuilding BlockBuilding Block
ServicesServices
ToolsTools.NET Framework.NET Framework
Visual Studio.NETVisual Studio.NETEnterprise ServersEnterprise Servers
DevicesDevices.NET Compact FW.NET Compact FW
.NET Foundation .NET Foundation ServicesServicesIdentityIdentity
NotificationNotificationStorageStorage
Microsoft .NET Microsoft .NET A Software Platform for XML Web ServicesA Software Platform for XML Web Services
Bring distributed computing to the InternetBring distributed computing to the Internet Spans clients, servers and servicesSpans clients, servers and services Consistent programming modelConsistent programming model Interoperable via XML Web ServicesInteroperable via XML Web Services Key capabilitiesKey capabilities
Deliver software as a serviceDeliver software as a service Integration becomes intrinsicIntegration becomes intrinsic Enable smart, service-aware systemsEnable smart, service-aware systems New, richer user experiencesNew, richer user experiences
The .NET Framework is the The .NET Framework is the programming-model substrate programming-model substrate for the .NET visionfor the .NET vision
.NET Framework.NET Framework
Unified programming modelUnified programming model Delivers XML Web ServicesDelivers XML Web Services Spans clients, servers, servicesSpans clients, servers, services
Improved developer productivityImproved developer productivity Design time supportDesign time support Focus on business logic, not plumbingFocus on business logic, not plumbing
Simplified deployment and Simplified deployment and maintenancemaintenance
Great performanceGreat performance Intense focus on securityIntense focus on security
Operating SystemOperating System
Common Language Runtime (CLR)
Inside the .NET FrameworkInside the .NET Framework
Base Framework
Data and XML
Web Services User Interface
VB C++ C#
ASP.NET
J# Python …
Secure, integrated class libraries
•Unifies programming models across languages
•Enables cross-language integration
•Factored for extensibility
•Designed for tools
Secure, integrated class libraries
•Unifies programming models across languages
•Enables cross-language integration
•Factored for extensibility
•Designed for tools
Common Language Runtime
Executes code, maintains security, handles component “plumbing” and dependencies
Common Language Runtime
Executes code, maintains security, handles component “plumbing” and dependencies
ASP.NET
High-productivity environment for building and running Web services
ASP.NET
High-productivity environment for building and running Web services
Common Language RuntimeCommon Language Runtime Manages running codeManages running code
ThreadingThreading Memory managementMemory management
Fine-grained evidence-based securityFine-grained evidence-based security Code access securityCode access security Role-based securityRole-based security Integrated with underlying OSIntegrated with underlying OS
No-touch deploymentNo-touch deployment Object remoting with SOAPObject remoting with SOAP
Communication ProtocolsCommunication ProtocolsXML, SOAP, HTTP, HTMLXML, SOAP, HTTP, HTML
.NET Framework.NET Framework
Visual Studio .NETVisual Studio .NET
One Runtime For All One Runtime For All LanguagesLanguages CLR is an open standardCLR is an open standard Any language can make use of CLR Any language can make use of CLR
servicesservices Any language can use classes written Any language can use classes written
in any other language (consumer)in any other language (consumer) Any language can (code) inherit Any language can (code) inherit
classes written in any other language classes written in any other language (extender)(extender)
A language can become a providerA language can become a provider
AdaAda
APLAPL
Basic (Visual Basic)Basic (Visual Basic)
C#C#
CC
C++C++
COBOLCOBOL
Component PascalComponent Pascal(Queensland Univ of Tech)(Queensland Univ of Tech)
ECMAScript (JScript)ECMAScript (JScript)
Eiffel (Eiffel (Monash University)Monash University)
Haskell Haskell (Utrecht University)(Utrecht University)
Java LanguageJava Language
Current List of LanguagesCurrent List of Languageslcc lcc
(MS Research Redmond)(MS Research Redmond)
Mondrian Mondrian (Utrecht)(Utrecht)
ML ML (MS Research Cambridge)(MS Research Cambridge)
Mercury Mercury (Melbourne U.) (Melbourne U.)
Oberon Oberon (Zurich University)(Zurich University)
Oz (Oz (Univ of Saarlandes)Univ of Saarlandes)
PerlPerl
PythonPython
Scheme Scheme (Northwestern U.)(Northwestern U.)
SmallTalkSmallTalk
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();
Broad Language SupportBroad Language SupportJ#J#String s = "authors";
SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn);
cmd.ExecuteReader();
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
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
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
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
(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
CompilerCompiler AssemblyAssemblyAssemblyAssembly
Common Language RuntimeCommon Language RuntimeDEVELOPMENTDEVELOPMENT
C#C#J#J#VBVB
CobolCobol……
MSILMSILMetadataMetadata
ResourcesResources
public static void Main(String[] args ){ String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); }}
public static void Main(String[] args ){ String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); }}
Source codeSource code
CompilerCompiler AssemblyAssemblyAssemblyAssembly
DEVELOPMENTDEVELOPMENT
C#C#J#J#VBVB
CobolCobol……
MSILMSILMetadataMetadata
ResourcesResources
public static void Main(String[] args ){ String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); }}
public static void Main(String[] args ){ String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); }}
Source codeSource code
ApplicationApplicationDirectoryDirectory
ApplicationApplicationDirectoryDirectory
GlobalGlobalAssemblyAssembly
Cache (GAC)Cache (GAC)
GlobalGlobalAssemblyAssembly
Cache (GAC)Cache (GAC)
Common Language RuntimeCommon Language Runtime
AssemblyAssemblyAssemblyAssembly
DEVELOPMENTDEVELOPMENT DEPLOYMENTDEPLOYMENT
SetupSetupCopyCopy
BrowserBrowser
Download Download CacheCache
Download Download CacheCache
InstallInstall
Debug EngineDebug Engine
IL to NativeIL to NativeCompilerCompiler
ApplicationApplicationDirectoryDirectory
ApplicationApplicationDirectoryDirectory
SetupSetupCopyCopy
BrowserBrowser
Download Download CacheCache
Download Download CacheCache
GlobalGlobalAssemblyAssembly
Cache (GAC)Cache (GAC)
GlobalGlobalAssemblyAssembly
Cache (GAC)Cache (GAC)
AssemblyAssemblyon Target on Target MachineMachine
AssemblyAssemblyon Target on Target MachineMachine
Common Language RuntimeCommon Language Runtime
AssemblyAssemblyAssemblyAssembly
DEVELOPMENTDEVELOPMENT DEPLOYMENTDEPLOYMENT
InstallInstall
EXECUTIONEXECUTION
AssemblyAssemblyLoaderLoaderSecuritySecurityClass Class
LoaderLoader
Native .exe Native .exe + GC table + GC table Native .exe Native .exe + GC table + GC table
Code Code ManagerManager
Garbage CollectionGarbage Collection
Exception ManagerException Manager
Thread SupportThread Support
COM InteropCOM Interop
Policy<?xml version="1.0" encoding="utf-8" ?><configuration> <mscorlib> <security> <policy> <PolicyLevel version="1"> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="Nothing" Name="All_Code" Description="Code group grants no permissions and forms the root of the code group tree."> <IMembershipCondition class="AllMembershipCondition" version="1"/> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust"
ASP.NET Web Service ASP.NET Web Service DemoDemo
Same programming modelSame programming model Same set of toolsSame set of tools Same application architecturesSame application architectures
.NET For Devices.NET For Devices
rich clientrich client
rich webrich web
Rich Web ApplicationsRich Web Applications
Visual Studio .NETVisual Studio .NET Mobile Internet ToolkitMobile Internet Toolkit
Over 75 device modelsOver 75 device models
rich webrich web
code on servercode on server
Mobile Internet ToolkitMobile Internet Toolkit
Common Language Common Language RuntimeRuntime
Base ClassesBase Classes
ASP.NETASP.NET
Windows Windows FormsFormsW
eb
Web
F
orm
sF
orm
s
Web
W
eb
Ser
vice
sS
ervi
ces
Extends ASP.NET to Extends ASP.NET to mobile device web mobile device web browsersbrowsers
Extends VS.NET to Extends VS.NET to build mobile forms build mobile forms and controlsand controls
Visu
al S
tud
io .N
ET
Visu
al S
tud
io .N
ET
Mobile Internet Toolkit Mobile Internet Toolkit BenefitsBenefits
Richest user experienceRichest user experience Adaptive mobile web applicationsAdaptive mobile web applications Leverage full browser capabilitiesLeverage full browser capabilities Customizable and extensible frameworkCustomizable and extensible framework
End-to-end integrationEnd-to-end integration Clients, Server and ServicesClients, Server and Services
Best developer productivityBest developer productivity Single code baseSingle code base Great designer and emulator supportGreat designer and emulator support
Rich Client ApplicationsRich Client Applications
rich clientrich client
code on devicecode on device
Today:Today: eMbedded Visual ToolseMbedded Visual Tools
New with .NET:New with .NET: Smart Device Extensions Smart Device Extensions
for Visual Studio .NETfor Visual Studio .NET .NET Compact Framework.NET Compact Framework
ASP.NETWeb Forms Web Services
Mobile Internet Toolkit Smart Device Smart Device Extensions for Extensions for Visual Studio .NETVisual Studio .NET VC#, VB .NETVC#, VB .NET DesignersDesigners RAD for devicesRAD for devices
Visu
al Stu
dio
.NE
TV
isual S
tud
io .N
ET
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
WindowsWindowsFormsForms
.NET Compact Framework.NET Compact Framework Lightweight architectureLightweight architecture Compatible feature subset Compatible feature subset Broad availabilityBroad availability
Platform And ToolsPlatform And Tools
.NET Compact Framework .NET Compact Framework BenefitsBenefits
Richest user experienceRichest user experience Local intelligence and dataLocal intelligence and data Online and offlineOnline and offline Leverage full capabilities of Leverage full capabilities of
devicedevice End-to-end integrationEnd-to-end integration
Clients, Server and ServicesClients, Server and Services Best developer productivityBest developer productivity
Languages, Tools, PlatformLanguages, Tools, Platform Skills transferSkills transfer
Sca
lab
le A
rch
itec
ture
Sca
lab
le A
rch
itec
ture
Visual Studio.NETVisual Studio.NET ““Drag and Drop” Web application and services Drag and Drop” Web application and services
developmentdevelopment Fully supports .NET FrameworkFully supports .NET Framework Multi-language supportMulti-language support Open, extensible development environmentOpen, extensible development environment
Languages focus on compiler – not UILanguages focus on compiler – not UI Consistent set of tools across languagesConsistent set of tools across languages
OpportunitiesOpportunities
StudentsStudents Use C# or any .NET programming Use C# or any .NET programming
languagelanguage Create new Languages and Compilers Create new Languages and Compilers
Target CLR/ILTarget CLR/IL Create Peer-to-Peer Apps Create Peer-to-Peer Apps Expose Web Sites via Web ServicesExpose Web Sites via Web Services
OpportunitiesOpportunities
ResearchResearch LanguagesLanguages Distributed ComputingDistributed Computing SecuritySecurity Mobile Devices/Ubiquitous ComputingMobile Devices/Ubiquitous Computing
CurriculumCurriculum Intro to ProgrammingIntro to Programming CompilersCompilers DatabaseDatabase Software EngineeringSoftware Engineering Embedded DevicesEmbedded Devices othersothersCourses Currently at:Courses Currently at:
Yale, Arizona, MIT, Indiana Univ, BU, Monash, ETH Yale, Arizona, MIT, Indiana Univ, BU, Monash, ETH Zurich, etc.Zurich, etc.
SummarySummary .NET Framework enables a new generation of .NET Framework enables a new generation of
distributed web applications and servicesdistributed web applications and services A leap forward in developer productivityA leap forward in developer productivity Improved operationsImproved operations Deep integrationDeep integration
.NET is open.NET is open Open protocols are the core building blockOpen protocols are the core building block Standardization is a key tenetStandardization is a key tenet
.NET is about all kinds of computing devices.NET is about all kinds of computing devices Common framework, consistent paradigmCommon framework, consistent paradigm Apps and platform are portable, adaptableApps and platform are portable, adaptable Devices grow richer by adding secure codeDevices grow richer by adding secure code Devices plug natively into Web ServicesDevices plug natively into Web Services
How do you get started?How do you get started?
Get the .NET Framework SDKGet the .NET Framework SDK Download from the WebDownload from the Web
http://msdn.microsoft.com/nethttp://msdn.microsoft.com/net Choose your Programming LanguageChoose your Programming Language Pick your favorite Dev ToolPick your favorite Dev Tool
Visual Studio .NETVisual Studio .NET NotepadNotepad EmacsEmacs SlickEditSlickEdit UltraEditUltraEdit
Check out following sitesCheck out following sites www.gotdotnet.comwww.gotdotnet.com www.asp.netwww.asp.net
Resources - WResources - Web Siteseb Sites
www.GotDotNet.com – Community Sitewww.GotDotNet.com – Community Sitewww.ASP.net – ASP.NET www.ASP.net – ASP.NET www.microsoft.com/net - .NET Infowww.microsoft.com/net - .NET InfoMsdn.microsoft.com/net - .NET Dev SiteMsdn.microsoft.com/net - .NET Dev Sitewww.DotNetBooks.com - .NET Bookswww.DotNetBooks.com - .NET Bookswww.xmethods.net – List of Web Serviceswww.xmethods.net – List of Web Serviceswww.DevHood.com – Student Dev Sitewww.DevHood.com – Student Dev Site
Find Out More about .NETFind Out More about .NET msdn.microsoft.commsdn.microsoft.com/NET/NET
Download developer docsDownload developer docs Download .NET SDKDownload .NET SDK Download Visual Studio.NET (universal subscribers)Download Visual Studio.NET (universal subscribers)
News and Discussion GroupsNews and Discussion Groups news://msnews.microsoft.com/microsoft.public.dotnet.academicnews://msnews.microsoft.com/microsoft.public.dotnet.academic MSDN Online articles: MSDN Online articles:
http://msdn.microsoft.com/msdnmag http://msdn.microsoft.com/msdnmag http://discuss.develop.comhttp://discuss.develop.com http://asplists.comhttp://asplists.com
Public Sample Applications: Public Sample Applications: www.ibuyspy.com: ASP.NET running livewww.ibuyspy.com: ASP.NET running live www.fmexpense.com: ASP.NET with mobile controlswww.fmexpense.com: ASP.NET with mobile controls
Books – www.dotnetbooks.comBooks – www.dotnetbooks.com
Dan FayDan Faydanfdanf@microsoft.com@microsoft.com
Common Language Runtime
Base Class Library
ADO.NET and XML
ASP.NETWeb Forms Web Services
Mobile Devices
WindowsForms
.NET Framework .NET Framework CommunicationCommunication
ASP.NET Web ServicesASP.NET Web Services HTTP messages call methodsHTTP messages call methods Simple deploymentSimple deployment
System.RemotingSystem.Remoting Full object fidelityFull object fidelity Any transport or formatAny transport or format
System.NetSystem.Net Full protocol stackFull protocol stack Lightweight for client, scalable Lightweight for client, scalable
on the serveron the server System.MessagingSystem.Messaging
Reliable, guaranteed deliveryReliable, guaranteed delivery Fully transactedFully transacted
Common Language Runtime
Base Class Library
ADO.NET and XML
ASP.NETWeb Forms Web Services
Mobile Devices
WindowsForms
.NET Framework Data.NET Framework Data
ADO.NETADO.NET Fastest way to access SQLFastest way to access SQL Native XML supportNative XML support Managed providers give Managed providers give
stream-level access stream-level access
System.XmlSystem.Xml Great support for XSLT 1.0, Great support for XSLT 1.0,
XPath 1.0, XSD 1.0, DOM2XPath 1.0, XSD 1.0, DOM2 Extensible architectureExtensible architecture
XSLT/XPathXSLT/XPath Transforms on relational dataTransforms on relational data W3C compliantW3C compliant
Common Language Runtime
Base Class Library
ADO.NET and XML
ASP.NETWeb Forms Web Services
Mobile Devices
WindowsForms
.NET Framework .NET Framework PresentationPresentation
Windows FormsWindows Forms Richest framework for Richest framework for
Windows applicationsWindows applications Visual forms inheritance, Visual forms inheritance,
automatic layout provide power automatic layout provide power and flexibilityand flexibility
ASP.NET Web FormsASP.NET Web Forms Component based, event Component based, event
driven page architecturedriven page architecture Rich and reach requires no Rich and reach requires no
new codenew code ASP.NET Mobile Internet ASP.NET Mobile Internet
ToolkitToolkit Target broad range of mobile Target broad range of mobile
devices devices
top related