An Overview of.NET Gavin King.NET Developer Group Microsoft Ltd [email protected].
1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus...
-
Upload
kenyon-dunning -
Category
Documents
-
view
213 -
download
0
Transcript of 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus...
1www.quadrus.com
Applications of .NET to Applications of .NET to Scientific ComputingScientific Computing
James KovacsLead Senior Systems AnalystQuadrus Development Inc.
March 22, 2005
www.quadrus.com 2
AgendaAgenda
• Introductions• Benefits of .NET• .NET Framework Overview• Windows Forms• ASP.NET• Web Services
www.quadrus.com 3
About QuadrusAbout Quadrus• Formed in 1993
Close-knit group of highly skilled software professionals
• Solution Areas Software Development – complete end-to end or co-
development services for custom applications and EAI Project Management – methodology adoption, project
oversight Training & Mentoring – public and private course
offerings, PM and technical mentoring Business Intelligence – data warehouses, analytics,
reporting
www.quadrus.com 4
About James KovacsAbout James Kovacs
• Lead Senior Systems Analyst (Quadrus)• Masters in Physical Chemistry (Harvard)• Catalysis of hydrocarbons on metal
surfaces Required custom data acquisition and analysis
software
• http://www.jameskovacs.com• [email protected]
www.quadrus.com 5
Benefits of .NETBenefits of .NET
• Ease of use• Choice of development language• Greatly improved stability and security• Common development framework
www.quadrus.com 6
Ease of UseEase of Use• Object-oriented model
Everything is an object
• Namespace and Framework structure Easier to comprehend and use Naming scheme of namespaces reflects the
underlying functionality
• Tremendous amount of available functionality .NET Framework contains thousands of classes
and methods Wide variety of 3rd-party components available
www.quadrus.com 7
Language ChoiceLanguage Choice• Everyone has their favourite language• .NET supports a wide variety of languages to
encourage adoption and interoperation• Microsoft developed/supported
C# VB.NET C++ with Managed Extensions J# JScript.NET
• 3rd-party developed/supported Cobol PHP Perl Many others
www.quadrus.com 8
Stability and SecurityStability and Security
• Garbage collector manages memory No more memory leaks
• Strongly versioned assemblies Eliminates DLL Hell
• Verifiably type-safe code Eliminates buffer overruns, indexing out of array
bounds, bad pointer arithmetic, use of uninitialized data, unsafe casts
www.quadrus.com 9
Common Development FrameworkCommon Development Framework
• Windows application Windows Forms
• Web application ASP.NET
• Server application Web Services Windows Services
• Mobile devices ASP.NET Compact Framework
www.quadrus.com 10
.NET Framework Overview.NET Framework Overview
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 J#J#V
isua
l Stu
dio
.NE
TV
isua
l Stu
dio
.NE
T
www.quadrus.com 11
Common Language RuntimeCommon Language RuntimeBase Class Library SupportBase Class Library Support
Thread SupportThread Support COM MarshalerCOM Marshaler
Type CheckerType Checker Exception ManagerException Manager
JITJITCompilerCompiler
CodeCodeManagerManager
GarbageGarbageCollectorCollector
Security EngineSecurity Engine Debug EngineDebug Engine
Class LoaderClass Loader
www.quadrus.com 12
Common Language Runtime (CLR)Common Language Runtime (CLR)
• Common Type System (CTS) Defines a set of primitive types Enables cross-language integration and type
safety
• Common Language Specification (CLS) Defines a set of programmatically-verifiable
rules• Controls interoperation of types in different
programming languages
CLS-Compliant Code
www.quadrus.com 13
Garbage CollectorGarbage Collector
• Compacting, generational GC• Frees developer from managing memory• Eliminates memory leaks
www.quadrus.com 14
JIT CompilerJIT Compiler
AssemblyAssemblySource Source CodeCode
Language Language CompilerCompiler
CompilationCompilation
ExecutionExecution
JIT JIT CompilerCompiler
NativeNative
CodeCode
Code (MSIL)Code (MSIL)
MetadataMetadata
At installation or the At installation or the first time each first time each
method is calledmethod is called
www.quadrus.com 15
.NET Performance.NET Performance
• .NET comparable to native C/C++ for: Integer and floating point math Access to locals, parameters, and instance fields Flow of control Method calls
• Areas for improvement: 64-bit arithmetic Complex inlining cases Analysis time cap
www.quadrus.com 16
.NET Performance Advice.NET Performance Advice
• Correct and slow is better than fast and wrong
• Know the cost of the features you use Easy to use expensive operations/features
• Always measure before (and after) tuning• Don’t be afraid to throw away
“improvements”
www.quadrus.com 17
Windows FormsWindows Forms
• Rapid application development (RAD)• Rich interface and user controls• ActiveX support• Accessibility• Licensing• Printing• Deployment scenarios
MSI No touch deployment
www.quadrus.com 18
ASP.NETASP.NET
• Supports all .NET languages• Browser-compliant controls
JavaScript, DHTML
• Rich set of server controls DataGrid Validators
• Session management In-proc, state server, or SQL Server
• Compilation• Caching
www.quadrus.com 19
Web Services using ASMXWeb Services using ASMX
• ASMX [WebMethod] [WebService]
• SOAP• Universal Description, Discovery and
Integration (UDDI)• Web Services Description Language (WSDL)• XML serialization
www.quadrus.com 20
Web Services using WSE v2.0Web Services using WSE v2.0
• Web Services Enhancements• Supports advanced XML Web service
specifications WS-Addressing WS-Policy WS-Security
• Supports various message exchange patterns Request/response, publish/subscribe, one way,
etc.• Microsoft.Web.Services2.dll
www.quadrus.com 21
Web Services ArchitectureWeb Services Architecture
Foundation
Applications & Application Structure
Transport
Connected ApplicationsConnected Applications
Ma
na
ge
me
nt
Ma
na
ge
me
nt
Bu
sin
es
sB
us
ine
ss
Pro
ce
ss
es
Pro
ce
ss
es
……
SecuritySecurityWS-SecurityWS-Security
WS-TrustWS-Trust
WS-FederationWS-Federation
ReliabilityReliabilityWS-RMWS-RM
TransactionsTransactionsWS-CoordinationWS-Coordination
WS-TransactionsWS-Transactions
Messaging (SOAP, WS-Addressing)Messaging (SOAP, WS-Addressing)
XMLXML
Me
tad
ata
Me
tad
ata
WS
DL
, WS
-Po
licy
WS
DL
, WS
-Po
licy
UDP TCP HTTPUDP TCP HTTP
www.quadrus.com 22
Microsoft CorporationMicrosoft Corporation
• BizTalk Server 2004• CLR Hosts
Office 2003 Visual Studio .NET
• Content Management Server 2002
• MSN Music Search (Beta)
• Operations Manager 2005
• Project Server 2003• SharePoint Portal
Server 2003• SQL Server 2000
Notification Services Reporting Services
• SQL Server 2005• Windows Server 2003