Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2004 the University of Greenwich 1 Introduction to the Web and.NET Kevin McManus Adapted from material by Mark Sapossnek Computer Science Department.

Similar presentations


Presentation on theme: "© 2004 the University of Greenwich 1 Introduction to the Web and.NET Kevin McManus Adapted from material by Mark Sapossnek Computer Science Department."— Presentation transcript:

1 © 2004 the University of Greenwich 1 Introduction to the Web and.NET Kevin McManus Adapted from material by Mark Sapossnek Computer Science Department Metropolitan College Boston University © 2004 the University of Greenwich 1

2 © 2004 the University of Greenwich 2 Agenda Internet Technologies Programming Languages and Paradigms Programming the Web.NET Overview

3 © 2004 the University of Greenwich 3 WWW Architecture Platform: PC, Mac, Unix, etc. Web Server: Apache, IIS, Xitami, etc. Platform: PC, Mac, Unix, etc. Browser: IE, Mozilla, Opera, etc. Client Server Request: http://www.gre.ac.uk/about Response: … Network HTTP over TCP/IP

4 © 2004 the University of Greenwich 4 Internet Technologies WWW Architecture Client/Server, Request/Response architecture You request a Web page e.g. http://www.msn.com/default.asp?name-Leon HTTP request The Web server responds with data in the form of a Web page HTTP response Web page is expressed as (X)HTML Pages are identified as a Uniform Resource Locator (URL) Protocol: http Web server: www Domain msn.com Web page: default.asp GET parameters: ?name=Leon

5 © 2004 the University of Greenwich 5 Internet Technologies Web Standards Internet Engineering Task Force (IETF) http://www.ietf.org/ Founded 1986 Request For Comments (RFC) at http://www.ietf.org/rfc.html World Wide Web Consortium (W3C) http://www.w3.org Founded 1994 by Tim Berners-Lee Publishes technical reports and recommendations

6 © 2004 the University of Greenwich 6 Internet Technologies Hypertext Markup Language (HTML) The markup language used to create 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 W3C standard Derived from Standard Generalized Markup Language (SGML) HTML 3.2, 4.01, XHTML 1.0

7 © 2004 the University of Greenwich 7 Internet Technologies HTML Forms Enables you to create interactive user interface elements Buttons Text boxes Lists, menues Check boxes, radio buttons User fills out the form and submits it Form data is sent to the web server when the form is submitted Part of the HTTP request use either the GET or POST method

8 © 2004 the University of Greenwich 8 Internet Technologies Hypertext Transport Protocol (HTTP) The top-level protocol used to request and return data e.g. HTML pages, GIFs, JPEGs, Microsoft Word documents, Adobe PDF documents, etc. Request/Response protocol Methods: GET, POST, HEAD, … HTTP 1.0: simple HTTP 1.1: more complex

9 © 2004 the University of Greenwich 9 GET /default.asp HTTP/1.0 Accept: image/gif, image/x-bitmap, image/jpeg, */* Accept-Language: en User-Agent: Mozilla/1.22 (compatible; MSIE 2.0; Windows 95) Connection: Keep-Alive If-Modified-Since: Sunday, 17-Apr-96 04:32:58 GMT Internet Technologies HTTP Request MethodFileHTTP versionHeaders Data – none for GET Blank line

10 © 2004 the University of Greenwich 10 HTTP/1.0 200 OK Date: Sun, 21 Apr 1996 02:20:42 GMT Server: Microsoft-Internet-Information-Server/5.0 Connection: keep-alive Content-Type: text/html Last-Modified: Thu, 18 Apr 1996 17:39:05 GMT Content-Length: 2543 Some data... blah, blah, blah Internet Technologies HTTP Response HTTP versionStatus codeReason phrase Headers Data

11 © 2004 the University of Greenwich 11 Internet Technologies HTTP Server Status Codes CodeDescription 200OK 201Created 301Moved Permanently 302Moved Temporarily 400Bad Request – not understood 401Unauthorized 403Forbidden – not authorized 404Not Found 500Internal Server Error

12 © 2004 the University of Greenwich 12 Internet Technologies HTTP 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

13 © 2004 the University of Greenwich 13 Internet Technologies Cookies A mechanism to store a small amount of information (up to 4KB) on the client Cookies are associated with a specific web site A cookie may be sent from a web server to a web client in the HTTP response header Cookies are returned to the web server in all subsequent HTTP requests Can last for only for the duration of the session (until browser is closed) or may persist across sessions Can expire some time in the future Can persist indefinitely

14 © 2004 the University of Greenwich 14 Internet Technologies HTTPS A secure version of HTTP Allows client and server to exchange data with confidence that the data was neither modified nor intercepted Uses Secure Sockets Layer (SSL)/ Transport Layer Security (TLS)

15 © 2004 the University of Greenwich 15 Internet Technologies URIs, URLs and URNs Uniform Resource Identifier (URI = URL or URN) Generic term for all textual names/addresses Uniform Resource Locator (URL) The set of URI schemes that have explicit instructions on how to access the resource over the Internet, e.g. http, ftp, gopher Uniform Resource Name (URN) 1) A URI that has an institutional commitment to availability, etc. 2) A particular scheme intended to identify resources e.g. urn:schemas:httpmail:subject

16 © 2004 the University of Greenwich 16 Internet Technologies Multipurpose 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

17 © 2004 the University of Greenwich 17 Internet Technologies MIME Specifies character sets, e.g. ASCII Supports multi-part messages Originally designed for email, but also used in other places, such as HTTP

18 © 2004 the University of Greenwich 18 Internet Technologies Browsers Client-side application also known as a User Agent Forms HTTP requests on behalf of users Can render HTML usually graphical but may be text only Popular browsers: Mozilla Netscape Internet Explorer Opera Assistive technology specialised to provide access for people with disability

19 © 2004 the University of Greenwich 19 Internet Technologies Clients & Servers Client and Server computers both have: CPU Memory I/O Disks Network Bus Multi-tasking operating system Applications

20 © 2004 the University of Greenwich 20 Internet Technologies Clients & 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)

21 © 2004 the University of Greenwich 21 Internet Technologies Proxy 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

22 © 2004 the University of Greenwich 22 Internet Technologies Networks 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

23 © 2004 the University of Greenwich 23 Internet Technologies Networks Network scope internet: a collection of connected networks Internet: a specific world-wide network based on TCP/IP, used to connect companies, universities, governments, organizations and individuals. Originated as ARPANET, funded by the US DoD. intranet: a network based on Internet technologies that is internal to a company or organization extranet: a network based on Internet technologies that connects one company or organization to another

24 © 2004 the University of Greenwich 24 Internet Technologies Networks 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

25 © 2004 the University of Greenwich 25 Internet Technologies Networks 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

26 © 2004 the University of Greenwich 26 Internet Technologies Networks Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Internet Layer Application Layer TelnetFTPSMTPDNSRIPSNMPHTTP IP Host-to-Host Transport Layer TCPUDP Token Ring EthernetATM Frame Relay Network Interface Layer OSI Model Layers TCP/IP Protocol Architecture Layers TCP/IP Protocol Suite ARP ICMPIGMP TelnetFTPSMTPDNSRIPSNMP TCP

27 © 2004 the University of Greenwich 27 Internet Technologies Network Protocol Stack HTTP TCP IP Ethernet HTTP TCP IP Ethernet

28 © 2004 the University of Greenwich 28 Internet Technologies Networks - Internet Layer Internet Protocol (IP) Responsible for getting packets from source to destination across multiple hops Not reliable IP address: 32 bit value usually written in dotted decimal notation as four 8-bit numbers (0 to 255); e.g. 130.50.12.4

29 © 2004 the University of Greenwich 29 Internet Technologies Networks - Transport Layer Provides efficient, reliable and cost-effective service Uses the Sockets programming model Ports identify application Well-known ports identify standard services (e.g. HTTP uses port 80, SMTP uses port 25) Transmission Control Protocol (TCP) Provides reliable, connection-oriented byte stream UDP Connectionless, unreliable

30 © 2004 the University of Greenwich 30 Internet Technologies Networks - Application Layer Telnet: Remote sessions File Transfer Protocol (FTP) Network News Transfer Protocol (NNTP) Simple Network Management Protocol (SNMP) Simple Mail Transfer Protocol (SMTP) Post Office Protocol (POP3) Interactive Mail Access Protocol (IMAP)

31 © 2004 the University of Greenwich 31 Internet Technologies Networks - 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

32 © 2004 the University of Greenwich 32 Internet Technologies Extensible 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

33 © 2004 the University of Greenwich 33 Agenda Internet Technologies Programming Languages and Paradigms Programming the Web.NET Overview

34 © 2004 the University of Greenwich 34 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

35 © 2004 the University of Greenwich 35 Programming Paradigms Unstructured programming Structured programming Object-oriented programming Component-based programming Event-based programming

36 © 2004 the University of Greenwich 36 Programming Paradigms Unstructured Programming See “Go To Statement Considered Harmful” at http://www.acm.org/classics/oct95/

37 © 2004 the University of Greenwich 37 Programming Paradigms Structured Programming Sequence Conditional if then else switch Looping for i from 1 to n do while do until Functions Exceptions

38 © 2004 the University of Greenwich 38 Programming Paradigms Object-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

39 © 2004 the University of Greenwich 39 Programming Paradigms Object-Oriented Programming Key object-oriented concepts Identity Encapsulation Data + behavior Information hiding (abstraction) Classes vs. instances Polymorphism Interfaces Delegation, aggregation Inheritance Patterns

40 © 2004 the University of Greenwich 40 Programming Paradigms Component-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

41 © 2004 the University of Greenwich 41 Programming Paradigms Component-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

42 © 2004 the University of Greenwich 42 Programming Paradigms Event-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.

43 © 2004 the University of Greenwich 43 Agenda Internet Technologies Programming Languages and Paradigms Programming the Web.NET Overview

44 © 2004 the University of Greenwich 44 Programming the Web Client-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

45 © 2004 the University of Greenwich 45 Programming the Web Client-Side Technologies DHTML – HTML + CSS + JavaScript + DOM COM ActiveX controls COM components Remote Data Services (RDS) Java applets Plug-ins, e.g. shockwave Helpers Remote Scripting, e.g. AMF

46 © 2004 the University of Greenwich 46 Programming the Web Dynamic 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 is an object in the DOM that has associated events (e.g. onClick ) Script provides code to respond to browser events

47 © 2004 the University of Greenwich 47 Programming the Web DHTML DHTML Document Object Model (DOM) window historydocumentlocationscreen alllocationchildrenselectionformsbodylinks textbuttonradiotextareaselect password file checkboxsubmit reset option navigatorframesevent

48 © 2004 the University of Greenwich 48 Programming the Web ActiveX Based on COM Native only to Internet Explorer Supported in other browsers with a plug-in Good when you know your users (e.g. intranet) or can specify which browser to use Not so good when you don’t (e.g. the Internet) Small, efficient code Like Flash but not so pretty

49 © 2004 the University of Greenwich 49 Programming the Web Java 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

50 © 2004 the University of Greenwich 50 Programming the Web Server-Side Code What is server-side code? Software that runs on the server, not the client Receives input from URL parameters HTML form data Cookies HTTP headers Can access server-side databases, e-mail servers, files, mainframes, etc. Dynamically builds a custom HTML response for a client

51 © 2004 the University of Greenwich 51 Programming the Web Server-Side Code Why server-side code? Availability You can reach the Internet from any browser, any device, any time, anywhere Manageability Does not require distribution of application code Easy to change code Security Source code is not exposed Once user is authenticated, can only allow certain actions Scalability Web-based 3-tier architecture can scale out

52 © 2004 the University of Greenwich 52 Programming the Web Server-Side Technologies Common Gateway Interface (CGI) not language specific Internet Server API (ISAPI) netscape Server API (NSAPI) Active Server Pages (ASP) now obsolete Java Server Pages (JSP) PHP Hypertext Processor (PHP) Cold Fusion (CFM) actually J2EE with the arrival of ColdFusion MX ASP.NET

53 © 2004 the University of Greenwich 53 Programming the Web Active Server Pages (ASP) Technology to easily create server-side applications ASP pages are written in a scripting language usually VBScript but also Jscript or PerlScript An ASP page contains static HTML interspersed with server-side code ASP script is commonly used to access and update a database 3-tier systems

54 © 2004 the University of Greenwich 54 Programming the Web ASP HTTP request (form data, HTTP header data) HTTP response HTML, XML ASP page (static HTML + server-side logic)

55 © 2004 the University of Greenwich 55 Agenda Internet Technologies Programming Languages and Paradigms Programming the Web.NET Overview

56 © 2004 the University of Greenwich 56.NET Overview Introduction to.NET Web Services The.NET Framework Common Language Runtime Windows Forms Web Forms ADO.NET Languages

57 © 2004 the University of Greenwich 57 Introduction to.NET What 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

58 © 2004 the University of Greenwich 58 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 Introduction to.NET What is.NET? } The focus of this course

59 © 2004 the University of Greenwich 59 A business model software as a service subscription-based services application hosting Introduction to.NET What is.NET?

60 © 2004 the University of Greenwich 60 Introduction to.NET The.NET Platform Web Form.NET Framework Windows and Linux and… Web Service.NET Foundation Web Services Your Internal Web Service Third-Party Web Services.NET Enterprise Servers ClientsApplications Protocols: HTTP, HTML, XML, SOAP, UDDI Tools: Visual Studio.NET, Notepad

61 © 2004 the University of Greenwich 61 Web Services A programmable application component accessible via standard web protocols The centre of the.NET architecture Exposes functionality over the Web Built on existing and emerging standards HTTP, XML, SOAP, UDDI, WSDL, …

62 © 2004 the University of Greenwich 62 Web Services Evolution of the Web Generation 1 Static HTML HTML Generation 2 Web Applications HTML HTML, XML Generation 3 Web Services

63 © 2004 the University of Greenwich 63 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 The.NET Framework What Is the.NET Framework?

64 © 2004 the University of Greenwich 64 Common Language Specification Common Language Runtime VBC++C# ASP.NET: Web Services and Web Forms JScript… Windows Forms.NET Framework Base Classes ADO.NET: Data and XML Visual Studio.NET The.NET Framework The.NET Framework and Visual Studio.NET

65 © 2004 the University of Greenwich 65 System.Data Design OLEDB SQLTypes SQL System Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess SecurityRuntime InteropServices Remoting Serialization System.Xml XPath XSLTSerialization System.Web ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing The.NET Framework.NET Framework Classes System.Windows.Forms FormButton MessageBoxListControl

66 © 2004 the University of Greenwich 66 Common Language Runtime Goals Development services deep cross-language interoperability increased productivity Deployment services simple, reliable deployment fewer versioning problems – NO MORE ‘DLL HELL’ Run-time services performance scalability availability reliability security safety

67 © 2004 the University of Greenwich 67 Source Code C++, C#, VB or any.NET language csc.exe or vbc.exe Compiler Assembly DLL or EXE Common Language Runtime Compilation

68 © 2004 the University of Greenwich 68 Assembly logical unit of deployment contains manifest, metadata, MSIL and resources Manifest metadata about the components in an assembly (version, types, dependencies, etc.) Type metadata completely describes all types defined in an assembly: properties, methods, arguments, return values, attributes, base classes, … Common Language Runtime Assemblies

69 © 2004 the University of Greenwich 69 Common Language Runtime Assemblies Microsoft Intermediate Language MSIL or IL all languages compile to IL (managed code) IL is always compiled to native code before being executed Resources data, images, audio, etc.

70 © 2004 the University of Greenwich 70 Common Language Runtime Execution Model CLR VB Source code Compiler C++C# Assembly Operating System Services MSIL Common Language Runtime JIT Compiler Compiler Native code Managed Code Managed Code Managed Code Unmanaged Code CLR Services Ngen

71 © 2004 the University of Greenwich 71 Common Language Runtime Services Code management Conversion of MSIL to native code Loading and execution of managed code Creation and management of metadata Verification of type safety Insertion and execution of security checks Memory management and isolation Garbage collection Handling exceptions across languages Interoperation between.NET Framework objects and COM objects and Win32 DLLs Automation of object layout for late binding Developer services (profiling, debugging, etc.)

72 © 2004 the University of Greenwich 72 Common Type System (CTS) superset of the data types used by most modern programming languages Common Language Specification (CLS) subset of CTS that allows code written in different languages to interoperate What languages? Microsoft - C#, C++, VB.NET, JScript third party Perl, Ada, Cobol, Java, Fortran Eiffel, Smalltalk, Scheme, Oberon, Haskell, Python,… only practical if the language supports some sort of encapsulation Common Language Runtime Multiple Language Support

73 © 2004 the University of Greenwich 73 Common Language Runtime Applications An application consists of one or more assemblies How does one assembly bind to another? based upon metadata and policy local (preferred) Assembly Global Cache (AGC) (accurate garbage collection?) Multiple versions of an assembly may exist on the same machine easier software deployment, updates and removal multiple versions of an assembly can even be used by the same application like this is a new thing?

74 © 2004 the University of Greenwich 74 Common Language Runtime Security Evidence-based security (authentication) Based on user identity and code identity Configurable policies Imperative and declarative interfaces

75 © 2004 the University of Greenwich 75 Windows Forms 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

76 © 2004 the University of Greenwich 76 Web Forms Built with ASP.NET logical evolution of ASP similar development model: edit the page and go Requires less code actually more code but less programming 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

77 © 2004 the University of Greenwich 77 Web Forms Allows separation of UI and business logic separation of concerns is a good thing cleaner, more maintainable code Uses.NET languages not just scripting Easy to use components XCOPY/FTP deployment Simple configuration (XML-based)

78 © 2004 the University of Greenwich 78 Web Forms Caching (pages, fragments, custom) Scalable session state management Tracing support ASP.NET is extensible no ISAPI / ASP dichotomy Automatic process rollover Forms-based authentication

79 © 2004 the University of Greenwich 79 Similar to ADO, but better factored Language-neutral data access Supports two styles of data access disconnected forward-only, read-only access Supports data binding DataSet: a collection of tables Can view and process data relationally (tables) or hierarchically (XML) ADO.NET ActiveX Data Objects

80 © 2004 the University of Greenwich 80 Languages C # New language created for.NET a Java rip-off Safe, productive evolution of C++ but not as safe as Java until M$ sort out the exceptions Key concepts: component-oriented everything is an object robust and durable code preserving your investment Submitted to the ECMA for standardization

81 © 2004 the University of Greenwich 81 Languages Visual Basic.NET Modernizes and simplifies Visual Basic because the old VB was pants inheritance threading exception handling Support for late binding whatever that is Actually just C# with a different syntax and some of the fancy stuff missing because VB programmers are unlikely to be clever enough to use them anyway

82 © 2004 the University of Greenwich 82 Conclusion dotNET is pretty neat really even if it does come from M$ A whole lot of good ideas have been gathered together without the accumulation of legacy bugware that tends to plague other M$ products Although.NET initially looked like another attempt by Mr Evil to take over the world it is remarkably open and standard compliant compared with other M$ offerings The best bit is probably Visual Studio with it’s tooled up approach to application development

83 © 2004 the University of Greenwich 83 More Resources HTTP http://msdn.microsoft.com/library/periodic/period96/protocol.htm HTTP Essentials, Stephen Thomas, 2001, Wiley, ISBN 0471-39823-3 Cookies http://msdn.microsoft.com/library/default.asp?URL=/library/partb ook/instantj/cookies.htm MIME http://www.ufaq.org/navcom/mime_tutorial.html http://www.irvine.com/~mime/ Networks http://msdn.microsoft.com/library/periodic/period99/ntp99b3.htm

84 © 2004 the University of Greenwich 84 More Resources XML http://msdn.microsoft.com/xml/default.asp http://www.w3.org/XML/ Essential XML, Don Box, Aaron Skonnard, John Lam, Addison Wesley, 2000, ISBN 0-201-70914-7.NET http://www.microsoft.com/net/ http://msdn.microsoft.com/net/ http://www.gotdotnet.com msnews.microsoft.com news server microsoft.public.dotnet.general newsgroup


Download ppt "© 2004 the University of Greenwich 1 Introduction to the Web and.NET Kevin McManus Adapted from material by Mark Sapossnek Computer Science Department."

Similar presentations


Ads by Google