1 / 23

Applications of .NET to Scientific Computing

Applications of .NET to Scientific Computing. James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005. Agenda. Introductions Benefits of .NET .NET Framework Overview Windows Forms ASP.NET Web Services. About Quadrus. Formed in 1993

tavia
Download Presentation

Applications of .NET to Scientific Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Applications of .NET to Scientific Computing James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005

  2. Agenda • Introductions • Benefits of .NET • .NET Framework Overview • Windows Forms • ASP.NET • Web Services

  3. About 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

  4. 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 • JamesK@Quadrus.com

  5. Benefits of .NET • Ease of use • Choice of development language • Greatly improved stability and security • Common development framework

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

  7. 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 • 3rd-party developed/supported • Cobol • PHP • Perl • Many others

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

  9. Common Development Framework • Windows application • Windows Forms • Web application • ASP.NET • Server application • Web Services • Windows Services • Mobile devices • ASP.NET • Compact Framework

  10. Visual Studio.NET VB C++ C# JScript J# Common Language Specification ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO.NET and XML Base Class Library Common Language Runtime Operating System .NET Framework Overview

  11. Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine JIT Compiler Code Manager Garbage Collector Common Language Runtime Base Class Library Support Class Loader

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

  13. Garbage Collector • Compacting, generational GC • Frees developer from managing memory • Eliminates memory leaks

  14. Assembly Language Compiler Native Code JIT Compiler Execution JIT Compiler Compilation Metadata Source Code Code (MSIL) At installation or the first time each method is called

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

  16. .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”

  17. Windows Forms • Rapid application development (RAD) • Rich interface and user controls • ActiveX support • Accessibility • Licensing • Printing • Deployment scenarios • MSI • No touch deployment

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

  19. Web Services using ASMX • ASMX • [WebMethod] • [WebService] • SOAP • Universal Description, Discovery and Integration (UDDI) • Web Services Description Language (WSDL) • XML serialization

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

  21. Web Services Architecture Applications & Application Structure Connected Applications Business Processes … Management Security WS-Security WS-Trust WS-Federation Reliability WS-RM Transactions WS-Coordination WS-Transactions Metadata WSDL, WS-Policy Foundation Messaging (SOAP, WS-Addressing) XML Transport UDP TCP HTTP

  22. 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 Microsoft Corporation

  23. Questions http://www.jameskovacs.com JamesK@Quadrus.com

More Related