1 / 50

Introduction to the Web and .NET

Introduction to the Web and .NET Internet Technologies The World Wide Web A way to access and share information Technical papers, marketing materials, recipes, ... A huge network of computers: the Internet Graphical, not just textual Information is linked to other information

jaden
Download Presentation

Introduction to the Web and .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 the Weband .NET

  2. Internet Technologies The World Wide Web • A way to access and share information • Technical papers, marketing materials, recipes, ... • A huge network of computers: the Internet • Graphical, not just textual • Information is linked to other information • Application development platform • Shop from home • Provide self-help applications for customers and partners • ...

  3. Internet TechnologiesWWW Architecture PC/Mac/Unix + Browser Client Request: http://www.msn.com/default.asp TCP/IP Network Response: <html>…</html> Web Server Server

  4. Internet TechnologiesWWW Architecture • Client/Server, Request/Response architecture • You request a Web page • e.g. http://www.msn.com/default.asp • HTTP request • The Web server responds with data in the form of a Web page • HTTP response • Web page is expressed as HTML • Pages are identified as a Uniform Resource Locator (URL) • Protocol: http • Web server: www.msn.com • Web page: default.asp • Can also provide parameters: ?name=Leon

  5. Internet TechnologiesHypertext Markup Language (HTML) • The markup language used to represent Web pages for viewing by people • Designed to display data, not store/transfer data • Rendered and viewed in a Web browser • Can contain links to images, documents, and other pages • Not extensible • Derived from Standard Generalized Markup Language (SGML) • HTML 3.2, 4.01, XHTML 1.0

  6. Internet TechnologiesHTML Forms • Enables you to create interactive user interface elements • Buttons • Text boxes • Drop down lists • Check boxes • User fills out the form and submits it • Form data is sent to the Web server via HTTP when the form is submitted

  7. Internet TechnologiesHTTP • HTTP is a stateless protocol • Each HTTP request is independent of previous and subsequent requests • HTTP 1.1 introduced keep-alive for efficiency • Statelessness has a big impact on how scalable applications are designed

  8. Internet TechnologiesCookies • A mechanism to store a small amount of information (up to 4KB) on the client • A cookie is associated with a specific web site • Cookie is sent in HTTP header • Cookie is sent with each HTTP request • Can last for only one session (until browser is closed) or can persist across sessions • Can expire some time in the future

  9. Internet TechnologiesMultipurpose Internet Mail Extensions (MIME) • Defines types of data/documents • text/plain • text/html • image/gif • image/jpeg • audio/x-pn-realaudio • audio/x-ms-wma • video/x-ms-asf • application/octet-stream

  10. Internet TechnologiesBrowsers • Client-side application • Requests HTML from Web server and renders it • Popular browsers: • Netscape • Internet Explorer • Opera • others • Also known as a User Agent

  11. Internet TechnologiesClients & Servers • Clients • Generally supports a single user • Optimized for responsiveness to user • User interface, graphics • Servers • Supports multiple users • Optimized for throughput • More: CPUs (SMP), memory, disks (SANs), I/O • Provide services (e.g. Web, file, print, database, e-mail, fax, transaction, telnet, directory)

  12. Internet TechnologiesProxy Servers & Firewalls • Proxy Server • A server that sits between a client (running a browser) and the Internet • Improves performance by caching commonly used Web pages • Can filter requests to prevent users from accessing certain Web sites • Firewall • A server that sits between a network and the Internet to prevent unauthorized access to the network from the Internet

  13. Internet TechnologiesNetworks • Network = an interconnected collection of independent computers • Why have networks? • Resource sharing • Reliability • Cost savings • Communication • Web technologies add: • New business models: e-commerce, advertising • Entertainment • Applications without a client-side install

  14. Internet TechnologiesNetworks • Network technology is largely determined by scale: • Local Area Network (LAN): Span up to a few kilometers. Bus vs. ring topologies • Wide Area Networks (WAN): Can span a country or continent. WANs use routers as intermediate nodes to connect transmission lines

  15. Internet TechnologiesNetworks • Network technology • Broadcasting • Packets of data are sent from one machine and received by all computers on the network • Multicast: packets are received by a subset of the machines on a network • Point-to-point • Packets have to be routed from one machine to another; there many be many paths • In general, geographically localized networks use broadcasting, while disperse networks use point-to-point

  16. Internet TechnologiesNetworks OSI Model Layers TCP/IP Protocol Architecture Layers TCP/IP Protocol Suite Application Layer Presentation Layer Application Layer Telnet FTP SMTP DNS RIP SNMP HTTP Session Layer Host-to-Host Transport Layer TCP UDP Transport Layer Network Layer Internet Layer IP IGMP ICMP ARP Data Link Layer Network Interface Layer Ethernet Token Ring Frame Relay ATM Physical Layer

  17. Internet TechnologiesNetwork Protocol Stack HTTP HTTP TCP TCP IP IP Ethernet Ethernet

  18. Internet TechnologiesNetworks - Domain Name System (DNS) • Provides user-friendly domain names, e.g. www.msn.com • Hierarchical name space with limited root names • DNS servers map domain names to IP addresses • .com • .net • .gov • .edu • .org • .mil • .jp • .de

  19. Internet TechnologiesExtensible Markup Language (XML) • Represents hierarchical data • A meta-language: a language for defining other languages • Extensible • Useful for data exchange and transformation • Simplified version of SGML

  20. Programming Languages • Machine code • Assembly language • High-level languages • Fortran, LISP, Cobol • C, Pascal, Basic, Smalltalk • C++, Eiffel • Java, C# • Scripting languages • Shell scripts, Perl, TCL, Python, JavaScript, VBScript

  21. Programming Paradigms • Unstructured programming • Structured programming • Object-oriented programming • Component-based programming • Event-based programming

  22. Programming ParadigmsUnstructured Programming • See “Go To Statement Considered Harmful” at http://www.acm.org/classics/oct95/

  23. Sequence Conditional if then else switch Looping for i from 1 to n do while do until Functions Exceptions Programming ParadigmsStructured Programming

  24. Programming ParadigmsObject-Oriented Programming • Objects have data and behavior • Data: members, fields, variables, slots, properties • Behavior: methods, functions, procedures • Using objects is easy • First instantiate the type of object desired • Then call its methods and get/set its properties • Designing new types of objects can be hard • Design goals often conflict: simplicity, functionality, reuse, performance

  25. Programming ParadigmsObject-Oriented Programming • Key object-oriented concepts • Identity • Encapsulation • Data + behavior • Information hiding (abstraction) • Classes vs. instances • Polymorphism • Interfaces • Delegation, aggregation • Inheritance • Patterns

  26. Programming ParadigmsComponent-Based Programming • Components • Independent modules of reuse and deployment • Coarser-grained than objects (objects are language-level constructs) • Includes multiple classes • Often language-independent • In the general case, the component writer and the component user don’t know each other, don’t work for the same company, and don’t use the same language

  27. Programming ParadigmsComponent-Based Programming • Component Object Model (COM) • Initial Microsoft standard for components • Specifies a protocol for instantiating and using components in-process, across processes or across machine boundaries • Basis for ActiveX, OLE, and many other technologies • Can be created in Visual Basic, C++, .NET, … • Java Beans • Java standard for components • Not language-independent

  28. Programming ParadigmsEvent-Based Programming • When something of interest occurs, an event is raised and application-specific code is executed • Events provide a way for you to hook in your own code into the operation of another system • Event = callback • User interfaces are all about events • onClick, onMouseOver, onMouseMove… • Events can also be based upon time or interactions with the network, operating system, other applications, etc.

  29. Programming the WebClient-Side Code • What is client-side code? • Software that is downloaded from Web server to browser and then executes on the client • Why client-side code? • Better scalability: less work done on server • Better performance/user experience • Create UI constructs not inherent in HTML • Drop-down and pull-out menus • Tabbed dialogs • Cool effects, e.g. animation • Data validation

  30. Programming the WebClient-Side Technologies • DHTML/JavaScript • COM • ActiveX controls • COM components • Remote Data Services (RDS) • Java • Plug-ins • Helpers • Remote Scripting

  31. Programming the WebDynamic HTML (DHTML) • Script that is embedded within an HTML page • Usually written in JavaScript (ECMAScript, JScript) for portability • Internet Explorer also supports VBScript and other scripting languages • Each HTML element becomes an object that has associated events (e.g. onClick) • Script provides code to respond to browser events

  32. Programming the WebActiveX • Based on COM • Native only to Internet Explorer • Supported in Netscape with a plug-in • Good when you know your users (e.g. intranet) or can specify which browser to use • Small, efficient code

  33. Programming the WebJava Applets • Based on Java bytecode • Held great promise as a portable, pain-free way to download client-side code: • “Write once, run anywhere” • Fairly safe: code runs in a “sandbox” • Compatibility and performance issues have prevented common usage

  34. Programming the WebServer-Side Technologies • Common Gateway Interface (CGI) • Internet Server API (ISAPI) • Netscape Server API (NSAPI) • Active Server Pages (ASP) • Java Server Pages (JSP) • Personal Home Page (PHP) • Cold Fusion (CFM) • ASP.NET

  35. Programming the Web Active Server Pages (ASP) • Technology to easily create server-side applications • ASP pages are written in a scripting language, usually VBScript or JScript • An ASP page contains a sequence of static HTML interspersed with server-side code • ASP script commonly accesses and updates data in a database

  36. HTTP request (form data, HTTP header data) HTTP responseHTML, XML Programming the WebASP ASP page (static HTML, server-side logic)

  37. Introduction to .NETWhat is .NET? • A vision of how information technology will evolve • A platform that supports the vision • A business model of software as a service

  38. Introduction to .NETWhat is .NET? • A vision • Web sites will be joined by Web services • New smart devices will join the PC • User interfaces will become more adaptable and customizable • Enabled by Web standards

  39. Introduction to .NETWhat is .NET? • A platform • The .NET Framework • Visual Studio.NET • .NET Enterprise Servers • Database, Messaging, Integration, Commerce, Proxy, Security, Mobility, Orchestration, Content Management • .NET Building Block Services • Passport • .NET My Services (“Hailstorm”) • Goal: make it incredibly easy to build powerful Web applications and Web services } The focus of this course

  40. .NET FoundationWeb Services Your InternalWeb Service Third-PartyWeb Services .NET EnterpriseServers Clients Applications Web Form Web Service .NET Framework Windows Introduction to .NETThe .NET Platform Protocols: HTTP,HTML, XML, SOAP, UDDI Tools:Visual Studio.NET,Notepad

  41. HTML, XML HTML, XML HTML HTML Generation 1Static HTML Generation 2Web Applications Generation 3Web Services Web ServicesEvolution of the Web

  42. The .NET FrameworkWhat Is the .NET Framework? • A set of technologies for developing and using components to create: • Web Forms • Web Services • Windows Applications • Supports the software lifecycle • Development • Debugging • Deployment • Maintenance

  43. The .NET FrameworkThe .NET Framework and Visual Studio.NET VB C++ C# JScript … Common Language Specification ASP.NET: Web Services and Web Forms WindowsForms Visual Studio.NET ADO.NET: Data and XML .NET Framework Base Classes Common Language Runtime

  44. System.Windows.Forms System.Web Form Button Services UI Description HtmlControls MessageBox ListControl Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OLEDB SQL XSLT Serialization Design SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading The .NET Framework.NET Framework Classes

  45. Source Code Assembly C++, C#, VB or any .NET language DLL or EXE Common Language RuntimeCompilation Compiler csc.exe or vbc.exe

  46. Framework for building rich clients Built upon .NET Framework, languages Rapid Application Development (RAD) Visual inheritance Anchoring and docking Rich set of controls Extensible controls Data-aware Easily hooked into Web Services ActiveX support Licensing support Printing support Advanced graphics Windows Forms

  47. Web Forms • Built with ASP.NET • Logical evolution of ASP • Similar development model: edit the page and go • Requires less code • New programming model • Event-driven/server-side controls • Rich controls (e.g. data grid, validation) • Data binding • Controls generate browser-specific code • Simplified handling of page state

  48. LanguagesC# • New language created for .NET • Safe, productive evolution of C++ • Key concepts: • Component-oriented • Everything is an object • Robust and durable code • Preserving your investment • Submitted to ECMA for standardization • Uses .NET Framework classes

  49. LanguagesVisual Basic.NET • Modernizes and simplifies Visual Basic • Inheritance • Threading • Exception handling • Support for late binding • Uses .NET Framework classes

  50. Conclusion • Internet Technologies • Programming Languages and Paradigms • Programming the Web • .NET Overview

More Related