Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Component-Based Software Engineering Introduction to .NET Paul Krause Lecture 11 Introducing .NET Motivation The .NET Framework CLR C# Web Services A .NET Scenario Summing Up Motivation “.NET is a tectonic shift for Windows developers” David Chappell - Understanding .NET .NET is Microsoft’s response to the: increasing power of client side processing increasing use of the internet as an integral part of applications increasing threat of Java to Microsoft’s dominance What is .NET? Hard to be concise - in effect .NET is a brand covering a range of technologies Key core technology is Web services supports programmatic, rather than browserbased, access to Web applications Although not explicitly marketed as a component technology, the idea is to access Web services via well defined interfaces .NET components are referred to as “Assemblies” Lecture 11 Introducing .NET Motivation The .NET Framework CLR C# Web Services A .NET Scenario Summing Up The .NET Framework Browser Apps ASP.NET Web Services Apps ADO.NET Windows Forms Local Apps Enterprise Services .NET Framework Class Library Common Language Runtime (CLR) Windows Other Apps More The Java Environment Browser Apps Java Server Pages Web Services Apps JDBC Local Apps Swing Enterprise JavaBeans Standard Java Packages Java Virtual Machine (JVM) Windows, Solaris, Linux, … Other Apps More Lecture 11 Introducing .NET Motivation The .NET Framework CLR C# Web Services A .NET Scenario Summing Up CLR The Common Language Runtime (CLR) provides a “standard implementation” for a range of languages Primarily C#, J#, Managed C++, JScript.NET and VisualBasic .NET Provides common set of data types: integers, strings, classes and interfaces specification of how inheritance works CLR Services Garbage collection Standard format for metadata information about classes and interfaces (and other types) that is stored with the compiled code Assemblies - a scheme for organising compiled code can consist of DLLs, EXEs and/or compiled classes Compiling and Running Code Code from any of the supported languages is first compiled into MSIL Microsoft Intermediate Language MSIL is CPU independent Metadata is also produced and stored in the same file as the MSIL MSIL must then be compiled into native code for the processor on which it is running Compilation and Execution Compilation Source Code Language Compiler MSIL and Metadata First time each method is called Execution Native Code JIT Compiler Lecture 11 Introducing .NET Motivation The .NET Framework CLR C# Web Services A .NET Scenario Summing Up C# Very Single inheritance Method overriding Exception handling Multithreading Multiple implementation of interfaces But similar to Java in many ways: also can directly access specific memory addresses use of Goto statement C# using System; class MyFirstProg { public static void Main( string [ ], args ) { Console.WriteLine(“Hello Friends”); foreach (String s in args) { Console.WriteLine(“Hi ” + s); } } } .NET Framework Class Library System Int32, String, … Web Data Windows Forms UI Enterprise Services XML XmlDocument Services ServicedComponent, … … … Lecture 11 Introducing .NET Motivation The .NET Framework CLR C# Web Services A .NET Scenario Summing Up Web Services Allows software to be accessed programatically over the Web XML Web Services Description Language (WSDL) specify what services are available - operations are grouped into interfaces Simple Object Access Protocol (SOAP) to describe information sent how to invoke operations in an interface Universal Description, Discovery and Integration (UDDI) standard registry for storing information about services Lecture 11 Introducing .NET Motivation The .NET Framework CLR C# Web Services A .NET Scenario Summing Up A .NET Scenario Passport .NET Profile Internet .NET Wallet Ordering Application SQL Server Shipping Application BizTalk Server Intranet Billing Application Summing Up .NET is a significant response to J2EE It is locked (for the moment) to the Windows platform It does not have the maturity of J2EE But there are some things (Web Services) that it does better Whatever your preference, the competition is healthy