560 likes | 705 Views
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
E N D
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 • Java Applets • Java Servlets • Microsoft Active Platform (ASP, ActiveX) • Java Server Pages • Thin Clients • Application Servers • XML
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.
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.
Intranets (cont’d) • Linked together by backbones. • Backbone • A network link with a high transmission capacity, employing fibre optics and other high-bandwidth circuits.
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
Typical Client: Web Browser • Displays files for reading • Downloads as needed • Sends requests (filenames) and processes responses (file contents)
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.
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.
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.
HTML Tags • Tags come either singly or in pairs: • <HR> • <TAG>Some text here</TAG> (Tags are case insensitive)
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>
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
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
Example • <HTML> • <HEAD> • <TITLE> Title of Page </TITLE> • The Header of the document. • </HEAD> • <BODY> • The Main body of the document • </BODY> • </HTML>
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
Linking WWW Pages (cont’d) • Good design practice is to use absolute referencing. • This enables portability of the entire site.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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 clients system, and can talk only with the server that hosted it.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.