1 / 56

An Introduction to WWW Technology

An Introduction to WWW Technology. Yelena Yesha Olga Streltchenko. Presentation Overview. The Internet Client/Server Architecture World Wide Web HTML, URLs, HTTP Downloaded and Mobile Code CGI Scripting languages (JavaScript/JScript, VBScript). Presentation Overview (cont'd). Java

lapis
Download Presentation

An Introduction to WWW Technology

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. An Introduction to WWW Technology Yelena Yesha Olga Streltchenko

  2. Presentation Overview • The Internet • Client/Server Architecture • World Wide Web • HTML, URLs, HTTP • Downloaded and Mobile Code • CGI • Scripting languages (JavaScript/JScript, VBScript)

  3. Presentation Overview (cont'd) • Java • Java Applets • Java Servlets • Microsoft Active Platform (ASP, ActiveX) • Java Server Pages • Thin Clients • Application Servers • XML

  4. The Internet • The Internet is a vast interconnected collection of computer networks of many different types. • Large distributed system; • Enables user to employ services like World Wide Web, Email, ftp, etc.; • The set of services can be extended. • ISP • Provides connection to individual users and organizations enabling them to access services via the Internet; • Provides local services, like Web hosting.

  5. Intranets • A portion of the Internet that is separately administered and has a boundary that can be configured to enforce local security policies; • Connected to the rest of the Internet via a router; • Employ firewalls to preventunauthorized access from outside; • Go beyond password protection by disabling an entire class of services (ftp, telnet) for all but specified IP address. Passwords are still required.

  6. Intranets (cont’d) • Linked together by backbones. • Backbone • A network link with a high transmission capacity, employing fibre optics and other high-bandwidth circuits.

  7. Client/Server Architecture • The terms “Client” and “Server” can be applied to both computer programs and to machines. • Server provides services like receiving and executing instructions, sending results. s processes, objects • Server runs continuously, waiting for clients’ requests. s processes, objects

  8. Typical Client: Web Browser • Displays files for reading • Downloads as needed • Sends requests (filenames) and processes responses (file contents)

  9. Typical Server: Web Server • Listens for and fulfils requests from Web browsers • Basic activities: • receive simple URL specifying an HTML file; • locate the file locally; • return to requesting browser.

  10. World Wide Web • WWW is an application of the Internet. • Evolving system for publishing and accessing resources and services across the Internet. • Open system: can be extended and implemented in new ways without disturbing its existing functionality; • Moved beyond simple data resources to encompass services, like electronic purchasing of goods.

  11. HTML • HyperText Markup Language. • Used to specify the text and images that make up the contents of a web page, and to specify how they are formatted for presentation to the user. • The set of markups (tags) is fixed.

  12. HTML Tags • Tags come either singly or in pairs: • <HR> • <TAG>Some text here</TAG> (Tags are case insensitive)

  13. Physical Markup Tags • They change the physical appearance of the text directly -- the WWW browser has no influence over the typeface used, • Section titles/headers; use H1 through H6 tags: • <H1>Big and Bold Header</H1> • <H2>Slightly Smaller Header</H2> • Also, H3, H4, H5 and H6 • Font styles • <B> Bold </B> • <I> Italics </I> • <U> Underlined </U> • <TT> are in Typewriter font </TT>

  14. Logical Markup Tags • They give a specific reason for changing the appearance of text -- it is up to the browser to decide in what fashion to change the appearance. • <EM> Emphasized </EM> : Emphasized • <STRONG> Strong </STRONG> : Strong • <CODE> some code </CODE> : some code • <CITE> citation </CITE> : This is a citation

  15. Document Structure • Document Structure • <HTML> This surrounds the entire document and lets the browser know what language is being used (<SGML> might also be used) • <HEAD> This surrounds the header portion of the document. Title is within the head as well. • <TITLE> The title of the document as shown in the title bar of the WWW browser. • <BODY> The main body of the document

  16. Example • <HTML> • <HEAD> • <TITLE> Title of Page </TITLE> • The Header of the document. • </HEAD> • <BODY> • The Main body of the document • </BODY> • </HTML>

  17. Linking WWW Pages • HTML pages on the Web are linked to one another. • The basic tag for hypertext is called the Anchor • Anchors can be • the starting point for a link: a name proceeded by a #; • the destination (path) of a link. • A URL is placed in the HREF portion of the Anchor tag • The HREF can be either a Relative: <A HREF = "http://www.cs.umbc.edu/~streltch/myfile.html”> This is a relative reference </A> • or Absolute reference: <IMG SRC=“picture.gif" ALIGN=LEFT> • right, middle, top, bottom

  18. Linking WWW Pages (cont’d) • Good design practice is to use absolute referencing. • This enables portability of the entire site.

  19. URLs • Uniform Resource Locator. • Identifies a resource in such a way as to enable the browser to locate the resource on the Internet. • Has two top-level components: scheme:scheme-specific-location • Scheme declares which type of URL it is: • mailto, ftp, http, nntp, telnet. • Only schemes sanctioned by W3C.

  20. URLs (cont’d) • HTTP URLs: http://servername[:port][/pathNameOnServer][/arguments] • Domain Name Service (DNS) name; • Optional path name of the server resource; • Arguments, like query to a search engine. • Pathname conventions: • ~streltch refers to subdirectory public_html of user streltch’s home directory; • A pathname that end in a directory name rather than a simple file refers to a file index.html in this directory.

  21. URIs • Uniform Resource Identifier. • URLs are a subset of URIs. • URIs can take any access method (schemes), i.e. not necessarily established • Can define your own access method: Mysecrets:mysecrets_location.

  22. HTTP • HyperText Transfer Protocol. • Request-reply protocol. • main method of transfer used by Web protocols to transfer data between a server and client. • understands URLs. • intended for hypertext/hypermedia environments. • Stateless • Cookies –later.

  23. HTTP Cookies • HTTP designed to be stateless • Web sites want to save client associated session information • Solution: cookies • small amounts of data save by the Web server and retrieved later from the client system; • normally used by CGI and related server-side code.

  24. HTTP Cookies (cont’d) • Managed by Web browsers, normally stored in database or one or more files. • Implemented via 2 new HTTP headers: Cookie and Set-Cookie. • Cookie transaction initiated by the server asking the client to save a cookie. • If willing, client saves the data. • Later, browser returns data when visiting the site.

  25. The Common Gateway Interface : CGI • Static pages • same each time visited unless the file is modified on the server. • Many WWW sites are dynamic, i.e., the contents change each time we visit. • Need to search, fill out questionnaires, order things from catalogs. • Need two pieces: • HTML language to create Forms • Common Gateway Interface (CGI) to process the forms. • CGI is a way to pass information from a WWW browser to a program for further processing

  26. CGI (cont’d) • CGI programs are run on the servers to generate content for their clients. • Application specific functionality • E.g., DB connectivity, etc. • Can parse the arguments that the client provides. • Produce content of the required type • Usually HTML text.

  27. Downloaded code • Web design requires service-related code to run inside the browser • at the user’s computer. • Solution: Scripting • added to HTML documents; • expands static HTML to include client-side interactivity; • inserted into HTML document using script language tag.

  28. Mobile Code • Downloaded code is a subset of mobile code. • Code that can be sent from one computer to another; • e.g., Java applets. • The advantage of running downloaded code is network delay avoidance during interactions. • Potential security threat to the local resources.

  29. Scripting Languages: JavaScript • A scripting language developed by Netscape to enable Web authors to design interactive sites. • Developed independently from Java. • Can interact with HTML source code, enabling Web authors introduce dynamic content. • It is supported by recent browsers from Netscape and Microsoft, • Internet Explorer supports only a subset, which Microsoft calls JScript.

  30. Scripting Languages: VBScript • Microsoft proprietary scripting language • operations identical to JavaScript/JScript; • syntax familiar to Visual Basic users; • grew out of Visual Basic. • Visual Basic is component-based: • a program is built by placing components onto a form; • then using VB to link them together.

  31. Scripting Languages: VBScript (cont'd) • Visual Basic Control (VBX) • VBXs shared a commmon interface that allowed them to be placed on a VB form. • The main difference between VB and VBScript is security • VBScript has no functions that interact with the host file system.

  32. Scripting languages and Java • A script-enhanced page gives immediate feedback to the user • Use to check forms before sending them to the server, update the web-page without reloading, etc. • JavaScript/JScript has limited functionality; • increasingly a thing of the past; • Wide divergence between Netscape and Microsoft standards; • While Java has become uniform and stable. • Solution: Java applet • small, platform-independent programs that run within the context of a browser’s HTML document.; • add dynamic information to the static document.

  33. Java • A high-level programming language developed by Sun Microsystems. • Java is an object-oriented language. • Java source code files (files with a .java extension) are compiled into a format called bytecode (files with a .class extension), which can then be executed by a Java interpreter.

  34. Java (cont'd) • Compiled Java code can run on most computers . • Java interpreters and runtime environments= Java Virtual Machines (VMs), • exist for most operating systems. • Bytecode can also be converted directly into machine language instructions by a just-in-time compiler (JIT).

  35. Java Virtual Machine (JVM) • An abstract computing machine. • JVM is a platform-independent programming language that converts Java bytecode into machine language and executes it.

  36. JVM (cont'd) • Mimics a real Java processor, enabling Java bytecode to be executed as actions or operating system calls on any processor regardless of the operating system. • e.g., establishing a socket connection from a workstation to a remote machine • involves an operating system call. • JVM translates the programming code so that the two machines that may be on different platforms are able to connect.

  37. Java for WWW • Java applets have a number of features that make them well suited for use on the World Wide Web. • Java applets • small Java applications that can be downloaded from a Web server and run on the user's computer by a Java-compatible Web browser.

  38. Java applets • Stored on server, downloaded by web client using HTTP. • Applets need to be embedded in another application, normally an HTML document and run by a Java-enabled Web browser. • Applets have a restricted security context, cannot access the client’s system, and can talk only with the server that hosted it.

  39. Java Servlets • An applet that runs on a server • runs within a Web server environment.; • analogous to a Java applet that runs within a Web browser environment. • Java servlets are becoming increasingly popular as an alternative to CGI programs.

  40. Java Servlets vs CGI • A Java applet is persistent; • once it is started, it stays in memory and can fulfill multiple requests. • A CGI program disappears once it has fulfilled a request. • The persistence of Java applets makes them faster • Don’t need to initiate a new process for each request.

  41. The Microsoft Active Platform • Standard-based software architecture for developing Internet applications; • ‘open’, according to MS. • Tools: • HTML; • Scripting (JScript, VBScript); • Components (Java or ActiveX). • On the client machine: Active Desktop. • On the Web server: Active Server.

  42. The Microsoft Active Platform (cont’d) • Encompasses related technologies: • Object Linking and Embedding (OLE); • Component Object Model (COM); • Distributed COM (DCOM); • Windows Distributed interNet Application Architecture (Windows DNA); • Active Desktop; • Active Server.

  43. OLE • Clipboard metaphor for sharing data across applications. • Dynamic Data Exchange (DDE) protocol as an extension of the Clipboard functionality. • Slow and unreliable. • OLE replaced DDE. • Object-oriented technology that enables development of reusable software components. • OLE architecture allows application to use shared objects that provide specific functionality. • Text docs, charts, spreadsheets, email messages, graphics, etc.; • When linked appear to be within the client application; • When clicked on, starts the application that created it.

  44. COM • Developed to provide seamless object integration. • Allows functional components that provide specific services to be created and plugged from one application into another; • Component objects idea. • Component Object Model is an object-based model consisting of • Specs that define the interface between objects within a system; • Inplementation (packeged as DDL- Dynamic Linked Library).

  45. COM (cont’d) • Establishes a connection between a client application and an object and its associated services. • Provides a standard method for • finding and installing objects; • communication between the client and the component. • Provides a binary interoperability standard.

  46. DCOM • Provides a distributed component-based computing environment • Implements location transparency for the client. • Replaces interprocess communication between the client and the component with an appropriate network protocol.

  47. Windows DNA • An upward-compatible extension of COM. • Integration of PC and the Internet. • Defines a common set of services • Components; • Scripting; • Transactions; • Message queuing; • Security; • Directory and system management; • User interface; • DB and data access.

  48. Active Desktop and Active Server • Active desktop=operating system-independent client • Part of Internet Explorer; • but can be componentized, i.e. integrated within other client applications. • Active server is based on open standards and protocols • Provides a way to integrate the Web and legacy applications. • Includes several core components • Active Server Pages; • Active Data Objects (discussed later in course); • others.

  49. Active Server Pages • A specification for a dynamically created Web page with a .ASP extension that utilizes ActiveX scripting • ActiveX=a set of scripting technologies based on OLE and DCOM paradigms • Provides native support for VBScript or JScript. • When a browser requests an ASP page, the Web server generates a page with HTML code and sends it back to the browser. • Provide CGI functionality, but • enable Visual Basic programmers to work with familiar tools. • Run in-process with the server, multi-threaded • Don’t need to initiate a new process for every request.

  50. Java Server Pages • An extension to the Java servlet technology • a server-side technology; • not restricted to any specific platform or server; • developed by Sun as an alternative to Microsoft's ASPs (Active Server Pages). • JSPs have dynamic scripting capability that works with HTML code, • separates the page logic from the static elements • the actual design and display of the page.

More Related