Applications of .NET to Scientific Computing

Download Report

Transcript Applications of .NET to Scientific Computing

Applications of .NET to
Scientific Computing
James Kovacs
Lead Senior Systems Analyst
Quadrus Development Inc.
March 22, 2005
www.quadrus.com
1
Agenda
•
•
•
•
•
•
Introductions
Benefits of .NET
.NET Framework Overview
Windows Forms
ASP.NET
Web Services
www.quadrus.com
2
About Quadrus
• Formed in 1993
 Close-knit group of highly skilled software professionals
• Solution Areas
 Software Development – complete end-to end or codevelopment 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
3
About 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
4
Benefits of .NET
•
•
•
•
Ease of use
Choice of development language
Greatly improved stability and security
Common development framework
www.quadrus.com
5
Ease 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
6
Language 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




Cobol
PHP
Perl
Many others
• 3rd-party developed/supported
www.quadrus.com
7
Stability 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
8
Common 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
9
.NET Framework Overview
VB
C++
C#
JScript
J#
Common Language Specification
Visual Studio.NET
ASP.NET
Web Forms Web Services
Mobile Internet Toolkit
Windows
Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
Operating System
www.quadrus.com
10
Common Language Runtime
Base Class Library Support
Thread Support
COM Marshaler
Type Checker
Exception Manager
Security Engine
Debug Engine
JIT
Compiler
Code
Manager
Garbage
Collector
Class Loader
www.quadrus.com
11
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
12
Garbage Collector
• Compacting, generational GC
• Frees developer from managing memory
• Eliminates memory leaks
www.quadrus.com
13
JIT Compiler
Compilation
Source
Code
Language
Compiler
Native
Code
JIT
Compiler
Execution
www.quadrus.com
Metadata
Assembly
Code (MSIL)
At installation or the
first time each
method is called
14
.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
15
.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
16
Windows Forms
•
•
•
•
•
•
•
Rapid application development (RAD)
Rich interface and user controls
ActiveX support
Accessibility
Licensing
Printing
Deployment scenarios
 MSI
 No touch deployment
www.quadrus.com
17
ASP.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
18
Web Services using ASMX
• ASMX
 [WebMethod]
 [WebService]
• SOAP
• Universal Description, Discovery and
Integration (UDDI)
• Web Services Description Language (WSDL)
• XML serialization
www.quadrus.com
19
Web 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
20
Transactions
WS-Trust
WS-RM
WS-Coordination
WS-Federation
WS-Transactions
WSDL, WS-Policy
Reliability
Metadata
Security
WS-Security
Applications &
Application Structure
…
Connected Applications
Business
Processes
Management
Web Services Architecture
Foundation
Messaging (SOAP, WS-Addressing)
XML
UDP TCP HTTP
www.quadrus.com
Transport
21
Microsoft Corporation
• BizTalk Server 2004
• CLR Hosts
 Office 2003
 Visual Studio .NET
• Content Management
Server 2002
• MSN
 Music
 Search (Beta)
• Project Server 2003
• SharePoint Portal
Server 2003
• SQL Server 2000
 Notification Services
 Reporting Services
• SQL Server 2005
• Windows Server 2003
• Operations Manager
2005
www.quadrus.com
22
Questions
http://www.jameskovacs.com
[email protected]
www.quadrus.com
23