1 / 83

Introduction to .NET

Introduction to .NET. Objectives. Discuss the transformation in computing, the Internet, and application development Identify the need for .NET Explain the role of the CLR and IL Describe the core components of Microsoft. NET Discuss the .NET Framework and list the components in it.

trynt
Download Presentation

Introduction to .NET

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. Introduction to .NET

  2. Objectives • Discuss the transformation in computing, the Internet, and application development • Identify the need for .NET • Explain the role of the CLR and IL • Describe the core components of Microsoft. NET • Discuss the .NET Framework and list the components in it

  3. 1.1 Introduction • Since July 2000, when the world was introduced to .NET the IT world has been abuzz with this latest development at Microsoft. • There have beenseveral terms that have been associated with .NET that have also been floating around, such as CLR, and IL among others.

  4. 1.2 Transformation in Computing • In the beginning of the computing timeline, • When the concept of networks was introduced, • a mainframe was placed at the head, with several dumb terminals connected to it • dumb terminals did not process any processing power • all the processing was done at the mainframe’s end

  5. 1.2 Transformation in Computing Centralized Computing Mainframe Dumb terminals

  6. 1.2 Transformation in Computing • Advantages: • Data is centralized, and therefore secure • Dumb terminals are not costly • Disadvantages: • Load on the networks is high • Mainframe has to handle all the processing alone

  7. 1.2 Transformation in Computing • with time, the PCs gained popularity, and they became affordable as well • Therefore, a new form of computing arose, in which the dumb terminals were replaced my intelligent PCs • This form of computing used the processing capabilities of the PC as well • The PC, therefore, became a ‘client’ that requested information from the ‘server’

  8. Centralized Computing Client-Server Computing Server PC Clients: Smart terminals Transformation in Computing

  9. Advantages: • Processing load is shared between client and server • Disadvantages: • Server still continues to get loaded

  10. Distributed Computing • The next phase of computing, namely ‘Distributed Computing’ , evolved out of the client-server architecture • This evolution was triggered because the processing power of the PC was still not being utilized to its optimum • As a result , the processor was dormant most of the time

  11. Cont… • Therefore, it was assumed that if job could be distributed between several computers, it would be done more quickly • suchjobs could be distributed between computers in a networks, so that different computers could end up doing several jobs at the same time parallely, and the workload could thus be share • A job, therefore, which would take a supercomputer a little while to do, could be computed using such a scenario in much lesser time

  12. Cont… • Which such a scenario reduced the load on the server, the clients still depended on the server • This meant that the load on the network continued to be present • Moreover, with time, the processors became more powerful • However, their potential was not being totally utilized in such a client-server scenario

  13. Cont… • As a result, for most of the time, the processor was idle • Therefore, there was a need felt for an architecture, where the processor time would be completely utilized, and the dependence on a server would be removed

  14. Cont… • Such a scenario was popular in a local network. • However, with the present popularity of the internet, distributing is also being used on the Internet. • SETI@home is popular application of this concept. • It analyzes data from a telescope, searching for potential signals from extraterrestrials life. • With more and more applications moving towards such an architecture, it looks likedistributed computing is here to stay

  15. Centralized Computing Client-Server Computing Distributed Computing Network Transformation in Computing Smart terminals In local distributed computing, computers are present generally in a LAN

  16. Distributed Computing Internet

  17. Advantages: • Workload is shared between system • Processing still continues even if one or more system are down • Disadvantages: • Improper Security • Difficult to work with

  18. Centralized Computing Client-Server Computing Distributed Computing Internet Transformation in Computing

  19. 1.3 transformation in the Internet • The Internet too has been evolving since its inception • Earlier web sites used to work as islands, providing information to the clients requesting it

  20. Cont… • Here, mobile devices, PDAs (Persoanl Digital Assistants), laptops, desktop computer and other such devices access information from the web servers • However, each of the web servers from where the data is accessed exists in isolation from the other; hence, there is no interaction between these

  21. Web Server Web Server Internet Web Server The Internet Today • Today – Websites are isolated islands • Web serves HTML ‘pictures of data’-not actual data • Browser: glorified read-only dumb terminal • Architecture mirrors old time-sharing model • Personalization involves entering same personal info at every site!

  22. In addition, these web servers do not send the actual data, but ‘pictures’ of data • That is, when the servers are requested for data that exists in a database, these web servers interact with the RDBMS, access the required data, embed it within HTML, and send this HTML code across to the browser

  23. 3.Results Data embedded in HTML Database 5.HTML+data transmitted 2.Request for data 1.Request for data Client

  24. Therefore, when the data has to be sorted or filtered, the command needs to be resent to the server, which in turn interacts with the database server, and returns to sorted or filtered data

  25. Again, with the varied number of devices that the user currently uses, it becomes even more difficult to provide the same information to the user through all the devices • For example, as figure 1.6illustrates

  26. Other Info Offline Info Online Info Emails I need a system that allows me to write code for a PC, & deploy it to a variety of devices The Present Dilemma DEVELOPER USER • Inadequate tools for building, testing and deploying sites • Sites-generally attractive, not useful! I need a personal Information Space OFFICE HOME

  27. A person with many devices may have some of them connected at home, some in the office, and a few (such as the laptop or PDA) he would carry around with him. • In such a scenario, the user may need to access the same information regardless of where he is and which device he is using. • For instance, while in office he may want to listen to the mp3 songs residing on his home PC, or he may want to access the details present in the address book of his PC through his mobile.

  28. In other words, the user feels the need to access the data from anywhere and with any device. • On the user’s part, this call for a ‘personal information space’, where all the information can reside centrally and from where the users can access all their information’ • On the developer’s part, this calls for tools that help him develop just one application that runs on any device

  29. Therefore, it is observed that there is a need for websites to be able to interact with each otherto provide the necessary services, and information. • Hence, the internet needs to be transformed from a set of isolated island that provided ‘picture’ of data, into a constellation that provides the data itself, as well as a collaborative experience to the users who visit the site • This is illustrated in figure 1.7

  30. Web Server Web Server Web Server Web Server Web Server Web Server Transformation in the Internet Constellation Web sites as islands Sites, services, and devices-collaborate and provide rich user experience

  31. 1.4 Transformation in Apps. Development • A few year ago, when component technology became popular, individual components were created, which were reused by other applications. • The component was builtin such a way that it enclosed only the necessary functionality within it. • In order to reuse this component, the developer had to ensure that it was present on the local system

  32. The component exposed methods, which could be called by the application to invoke the required functionality. • Note that the code providing the functionality itself was not exposed to the application developer. • In such a scenario, the application can be referred to as a client that requests service from the component (the server).

  33. Although such a scenarioprovided reusable components, which reduced the developer’s job, the drawback was that these components needs to be present locally. • This limitation was reduced by newer technologies such as DCOM, RMI, CORBA, where components could be present on the network, and their functionalities accessed across it. • A minor limitation, however, still persisted.

  34. The same technology had to be used on the client, as well as the server. • Therefore, if CORBA clients were used, the server needed to be CORBA-compliant. • This limitation posed a problem when it came to vendor-independent component communication. • For example, when a DCOM client needed to talk to a CORBA-server, a whole lot of code had to written to make this communication possible. • Coincidentally, if the server were to be replaced by anRMI-server, the code would also need to be reworked.

  35. This obviously meant that there was need for transformation in the way applications were developed, so that clients and serverscould communicate with each other in a vendor-independent manner. • Therefore, we came upon the concept of web services, where components exposed there functionality over the internet. • Other applications could invoke this functionality to get a particular job done.

  36. These components or applications that expose their functionality are known as ‘web services’ • A web service may, therefore, be invoked by another web service, or by application. • Note here that the essence of web services in vendor-independence. • Therefore, a web service created using C# can invoked by a client built using Java, and vice-versa

  37. Internet Evolution of App Development Software as a service Less time to market Higher developer productivity Apps can be used by Anyone, Anywhere Higher quality software • Apps (Web Services) expose features programmatically over inter/intranet • developers integrate web services into their apps by calling web APIs • COMPONENT PROGRAMMING over the web! • Apps integrate entire applications from all over network+add unique value • Focus-therefore on unique business value, not on building infrastructure Rich resources & control over applications • Apps integrate local system services

  38. 1.5.NET a result of evolution • With the transformation in computing, it became obvious that distributed computing was here to stay. • On the other hand, with the transformation in the Internet, communications and computing got melded together, with the same applications being available on devices other than computers.

  39. Cont… • To be Moreover, web sites evolved into constellations from the isolated islands that they were. • Similarly, with the transformation in application development, software is soon expected to be available as a service, and applications are expected to be available to anyone,anywhere

  40. .NET-a result of evolution Melding Computing & Communications Transformation in the Internet Building Constellations -not islands! Transformation in Computing Distributed Computing -here to stay! Software as a service Transformation in App development Applications used by anyone/anywhere

  41. Microsoft’s .NET • Microsoft’s .NET is said to fuel the next generation of computing, accelerate the next generation of the Internet, and ease the next generation of application development.

  42. .NET-a result of evolution Melding Computing & Communications Building Constellations -not islands! .NET Distributed Computing -here to stay! Software as a service Applications used by anyone/anywhere

  43. Microsoft’s .NET • It can be said that .NET is a whole new centered around the Internet. • With .NET, user data lives on the net. • This data is accessible to the user from any place, at any time, and through any .NET compatible device. • It also enables the user to create applications that harness the powerof the Internet. • These applications are accessible via any browser, and any device.

  44. .Net – taking DC one step further

  45. 1.6 Building .NET Applications • The unique feature of .NET is the multi-language support that it provides. • .NET provides several languages that allow developers to develop applications that run on the WINDOWS platform.

  46. Cont… • Earlier, in languages such as VB or C++, the source code written in particular languageis compiled by the specific compiler into the executable code. • Each language has its own runtime, which takes care of executing the executable code that has been generated. • This, therefore, requires the languages to have their own compilers as well as their own runtimes

  47. Program Execution

  48. Program Execution in .NET • In .NET, however, the compiler of the respective language compiles the source code into intermediate format-called ‘Intermediate language’ IL or MSIL • This replaces the executable code that uses tobe generated earlier. • Moreover, each language does not have its own runtime.

  49. Cont… • Here, the language-specific runtime is replaced by a Common Language Runtime : CLR • This runtime takes care of executing the IL that has been generated

  50. Program Execution C L R IL

More Related