1 applications of.net to scientific computing james kovacs lead senior systems analyst quadrus...
TRANSCRIPT
![Page 1: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/1.jpg)
1www.quadrus.com
Applications of .NET to Applications of .NET to Scientific ComputingScientific Computing
James KovacsLead Senior Systems AnalystQuadrus Development Inc.
March 22, 2005
![Page 2: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/2.jpg)
www.quadrus.com 2
AgendaAgenda
• Introductions• Benefits of .NET• .NET Framework Overview• Windows Forms• ASP.NET• Web Services
![Page 3: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/3.jpg)
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
![Page 4: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/4.jpg)
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]
![Page 5: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/5.jpg)
www.quadrus.com 5
Benefits of .NETBenefits of .NET
• Ease of use• Choice of development language• Greatly improved stability and security• Common development framework
![Page 6: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/6.jpg)
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
![Page 7: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/7.jpg)
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
![Page 8: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/8.jpg)
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
![Page 9: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/9.jpg)
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
![Page 10: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/10.jpg)
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
![Page 11: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/11.jpg)
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
![Page 12: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/12.jpg)
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
![Page 13: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/13.jpg)
www.quadrus.com 13
Garbage CollectorGarbage Collector
• Compacting, generational GC• Frees developer from managing memory• Eliminates memory leaks
![Page 14: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/14.jpg)
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
![Page 15: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/15.jpg)
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
![Page 16: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/16.jpg)
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”
![Page 17: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/17.jpg)
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
![Page 18: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/18.jpg)
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
![Page 19: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/19.jpg)
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
![Page 20: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/20.jpg)
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
![Page 21: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/21.jpg)
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
![Page 22: 1 Applications of.NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cc05503460f949872e9/html5/thumbnails/22.jpg)
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