Presentation is loading. Please wait.

Presentation is loading. Please wait.

Component-Based Software Engineering Introduction to.NET Paul Krause.

Similar presentations


Presentation on theme: "Component-Based Software Engineering Introduction to.NET Paul Krause."— Presentation transcript:

1 Component-Based Software Engineering Introduction to.NET Paul Krause

2 Lecture 11 - Introducing.NET  Motivation  The.NET Framework  CLR  C#  Web Services  A.NET Scenario  Summing Up

3 Motivation  “.NET is a tectonic shift for Windows developers” David Chappell - Understanding.NET David Chappell - Understanding.NET .NET is Microsoft’s response to the: increasing power of client side processing increasing power of client side processing increasing use of the internet as an integral part of applications increasing use of the internet as an integral part of applications increasing threat of Java to Microsoft’s dominance increasing threat of Java to Microsoft’s dominance

4 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 browser- based, access to Web applications supports programmatic, rather than browser- based, 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”.NET components are referred to as “Assemblies”

5 Lecture 11 - Introducing.NET  Motivation  The.NET Framework  CLR  C#  Web Services  A.NET Scenario  Summing Up

6 The.NET Framework Windows Common Language Runtime (CLR).NET Framework Class Library ASP.NETADO.NETWindows Forms Enterprise Services More Browser Apps Web Services Apps Local Apps Other Apps

7 The Java Environment Windows, Solaris, Linux, … Java Virtual Machine (JVM) Standard Java Packages Java Server Pages JDBCSwingEnterprise JavaBeans More Browser Apps Web Services Apps Local Apps Other Apps

8 Lecture 11 - Introducing.NET  Motivation  The.NET Framework  CLR  C#  Web Services  A.NET Scenario  Summing Up

9 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 Primarily C#, J#, Managed C++, JScript.NET and VisualBasic.NET  Provides common set of data types: integers, strings, classes and interfaces integers, strings, classes and interfaces specification of how inheritance works specification of how inheritance works

10 CLR Services  Garbage collection  Standard format for metadata information about classes and interfaces (and other types) that is stored with the compiled code 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 can consist of DLLs, EXEs and/or compiled classes

11 Compiling and Running Code  Code from any of the supported languages is first compiled into MSIL Microsoft Intermediate Language Microsoft Intermediate Language  MSIL is CPU independent Metadata is also produced and stored in the same file as the MSIL 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

12 Compilation and Execution Source Code MSIL and Metadata Language Compiler Compilation Native Code JIT Compiler Execution First time each method is called

13 Lecture 11 - Introducing.NET  Motivation  The.NET Framework  CLR  C#  Web Services  A.NET Scenario  Summing Up

14 C#  Very similar to Java in many ways: Single inheritance Single inheritance Method overriding Method overriding Exception handling Exception handling Multithreading Multithreading Multiple implementation of interfaces Multiple implementation of interfaces  But also can directly access specific memory addresses can directly access specific memory addresses use of Goto statement use of Goto statement

15 C# using System; class MyFirstProg { public static void Main( string [ ], args ) { Console.WriteLine(“Hello Friends”); foreach (String s in args) { Console.WriteLine(“Hi ” + s); }}}

16 .NET Framework Class Library System Int32, String, … WebDataWindows Enterprise Services XML … XmlDocument ServicedComponent, … Forms … ServicesUI

17 Lecture 11 - Introducing.NET  Motivation  The.NET Framework  CLR  C#  Web Services  A.NET Scenario  Summing Up

18 Web Services  Allows software to be accessed programatically over the Web  XML to describe information sent to describe information sent  Web Services Description Language (WSDL) specify what services are available - operations are grouped into interfaces specify what services are available - operations are grouped into interfaces  Simple Object Access Protocol (SOAP) how to invoke operations in an interface how to invoke operations in an interface  Universal Description, Discovery and Integration (UDDI) standard registry for storing information about services standard registry for storing information about services

19 Lecture 11 - Introducing.NET  Motivation  The.NET Framework  CLR  C#  Web Services  A.NET Scenario  Summing Up

20 Internet A.NET Scenario Passport.NET Profile.NET Wallet SQL Server Billing Application Ordering Application BizTalk Server Shipping Application Intranet

21 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


Download ppt "Component-Based Software Engineering Introduction to.NET Paul Krause."

Similar presentations


Ads by Google