James Kovacs Lead Senior Systems Analyst Quadrus Development Inc. March 22, 2005 • Introductions • Benefits of .NET • .NET Framework Overview • Windows Forms • ASP.NET • Web Services • 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 • 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 • Ease of use • Choice of development language • Greatly improved stability and security • Common development framework • 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 • 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 • 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 • Windows application • Windows Forms • Web application • ASP.NET • Server application • Web Services • Windows Services • Mobile devices • ASP.NET • Compact Framework 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 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 • 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 • Compacting, generational GC • Frees developer from managing memory • Eliminates memory leaks 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 • .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 • 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” • Rapid application development (RAD) • Rich interface and user controls • ActiveX support • Accessibility • Licensing • Printing • Deployment scenarios • MSI • No touch deployment • 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 • ASMX • [WebMethod] • [WebService] • SOAP • Universal Description, Discovery and Integration (UDDI) • Web Services Description Language (WSDL) • XML serialization • 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 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 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 http://www.jameskovacs.com JamesK@Quadrus.com , ML.NET is a very powerful yet relatively unknown set of machine learning tools in the .NET ecosystem. It can train many different types of models, ranging from a simple classification to something more advanced, such as product recommendation engines. It even supports deep-learning tasks such as image analysis, object detection, Continue Reading, Practical .NET workshops and enterprise training programs led by seasoned software engineers.