Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

50
Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies

Transcript of Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Page 1: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Copyright © 2004 ProsoftTraining, All Rights Reserved.

Lesson 11:Advanced Web Technologies

Page 2: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Lesson 11 Objectives• Identify client-side and server-side scripting technologies• Connect Web pages to databases• Use CSS to apply formatting to Web pages• Identify the benefits of Dynamic HTML (DHTML)• Define the function of the Document Object Model (DOM) and its

relationship to browsers• Discuss how to develop Web pages for PDAs and smart clients• Define Web application frameworks• Create aliases with TinyURL• Use advanced "Web 2.0" technologies to create Web pages• Compare the use of a service provider to hosting your own Web

site

Page 3: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Extending HTML• Client-side and server-side scripting• Additional ways to apply Cascading Style

Sheets (CSS) • Dynamic HTML (DHTML)• Web pages for PDAs and smart clients • Web application frameworks • Aliases with TinyURL • Advanced Web technologies made

possible through Web 2.0 and Ajax

Page 4: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Server-Side and Client-Side Languages

• Programming concepts– Not required knowledge, but essential

terminology is useful to understand• Programming statements

– if/then – if/then/else – do while– do until– break

Page 5: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Server-Side Languages• Attributes of server-side language:

– Code is executed by the Web server, not the Web browser

– Code executes because an interpreter has been installed and activated on the Web server

• Server-side scripts are used for various purposes: – Browser detection– Database connectivity– Cookie creation and identification– Logon scripts– Hit counters– File uploading and downloading

Page 6: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

PHP Hypertext Preprocessor (PHP)• An interpreted server-side scripting language for creating dynamic

Web pages• Embedded in HTML pages but usually executed on a Web server• Example of PHP code:

<?php$envVars = array("HTTP_USER_AGENT");foreach($envVars as $var){print "<html><head><title>PHP CGI Example</title></head><body><h1>Hello, World!</h1>Your user agent is:<strong>${$var}.</strong><br/></body></html>";}?>

Page 7: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Practical Extraction and Report Language (Perl)

• Another server-interpreted language• Older, but very popular• Example of Perl code:

#!/usr/bin/perluse CGI qw/:all/;$cgi_object = CGI::new();print "Content-type: text/html\n\n";print "<html>\n<head>\n<title>\nPerl CGI Example\n</title>\n<body>\n<h1>Hello, World!</h1>\nYour user agent is: <b>\n";print $cgi_object->user_agent();print "</b>.</html>\n";

Page 8: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Active Server Pages (ASP) using VBScript

• Microsoft’s original server-side scripting solution• Example of ASP code using VBScript:

<%@ LANGUAGE=vbscript %><html><head><title>ASP CGI Example</title></head><body><h1>Hello, World!</h1><% path = Request.ServerVariables("PATH_INFO")pagename = Request.ServerVariables("HTTP_HOST")method = Request.ServerVariables("REQUEST_METHOD")browser = Request.ServerVariables("HTTP_USER_AGENT")user = Request.ServerVariables("REMOTE_ADDR")

Page 9: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

The C Language• A procedural programming language (relies upon subprograms to

accomplish a task in an application)• C is a time-honored language, usually used to create stand-alone

applications and operating systems (e.g., Linux/UNIX)• Can also be used for CGI• Example of C code:

#include <stdio.h>int main(){ printf("Hello, World!\n"); return 0;}

• Note this code includes a reference to a library called stdio.h

Page 10: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

C++• Object-oriented programming language

– A style of programming that links data to the processes that manipulate it

– May include procedural elements, but instead of using subprograms to accomplish a task, will create an object that can then be manipulated throughout the program

– Once an object is created, it can be reused• Platform dependent:

– Must be compiled to a specific architecture (e.g, IBM-compatible, PowerPC)

Page 11: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Java• Object-oriented programming language• Compiled• Platform-independent

– Marketing: Write once, run anywhere– Reality: Write once, test everywhere

• Java can be used to write:– Stand-alone applications– Servlets– JavaServer Pages (JSP)

Page 12: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Visual Basic • A compiled programming language

developed by Microsoft Corporation• Used for stand-alone applications and

server-side Web applications• Once only procedural, now has object-

based elements

Page 13: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

C#• Object-oriented programming language• Compiled• Platform-dependent• Used for Microsoft .NET program

Page 14: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Server Side Includes (SSIs)• An instruction inside of an XHTML/HTML page

that directs the Web server to perform an action

• An alternative to CGI• SSI instructions are in SGML• Can be used to:

– Place the results of a database query into a page– Execute other programs– Indicate the last time a document was modified– Insert footer text at the bottom of a page– Add the current date as a timestamp to a page

Page 15: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Server Side Includes (SSIs) (cont'd)

• Standard SSI file name extensions:– .shtml– .shtm

• SSI support in Web servers– Most Web servers include code that enables

SSI– However, the SSI feature may be disabled

• You may have to activate the feature• You may also have to define a MIME type

Page 16: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Client-Side Languages• Issues with client-side languages

– Some clients do not support JavaScript or any other such scripting language

– Users can deactivate script execution in browsers that normally support it

Page 17: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

JavaScript• Object-based scripting language• Adds interactivity to Web pages• Can also be used on the server side (Server-Side

JavaScript [SSJS])• On the client side, can be used to:

– Detect browsers– Create cookies– Create mouse rollovers

• JavaScript advantages– Platform-independent– Vendor-neutral– Relatively simple

Page 18: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

JavaScript (cont'd)

• Can be placed in an HTML/XHTML document– Use the <script> tag

• Browser detection (using JavaScript or any other scripting technology) is useful for:– Presenting different versions of a site to different

browsers– Informing users in a corporate intranet to upgrade

their browsers to a supported version– Ensuring accessibility to disabled users

Page 19: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

JavaScript (cont'd)

• JavaScript and cookies– Cookies are stored on the hard drive– Cookies can be used to:

• Store passwords• Store user preferences• Choose which Web pages will be displayed based on

browser version

Page 20: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

VBScript• Microsoft’s answer to JavaScript• Can be used on the client side or the

server side• If used on the client side, only Internet

Explorer can render the script

Page 21: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Connecting to a Database

• For a database to work, you must:– Provide a way for the Web server and database to

recognize each other • Microsoft systems can use ODBC• Other methods include PHP scripts

– Provide permissions to the database so it can be read and/or written to

• You must also supply SQL scripts

Page 22: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

CGI and Permissions

• Aside from improper coding, CGI scripts usually fail to execute because:– The Web server does not have the permissions to

execute files and scripts– The file or script used has incorrect permissions,

which prohibits the server from executing the file

Page 23: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

ISPs and CGI

• If working with an Internet Service Provider (ISP), you generally need to:– Request CGI services– Request that the ISP:

• Enables execute permissions on your scripts• Creates a directory that contains available CGI scripts• Provides user name and passwords with enough

permissions to work the system

Page 24: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

N-Tier Applications• When discussing databases, three elements

are generally involved:– Data

• The database file or multiple database files

– Business logic• The SQL coding necessary to create relationships

with the data stored in the database

– Presentation• The way that data and business logic are presented

on the user screen

Page 25: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

N-Tier Applications (cont'd)

• In n-tier, all three database elements are separated

Page 26: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Styling Techniques with CSS • Types of CSS include:

– Linked style sheet• The <style> and <font> tags in the HTML/XHTML

file will override style sheets

– Inline style– Embedded style– Imported style sheet

Page 27: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Declaring an Inline Style• The <span> tag

– Can span multiple elements:<span style="background: red">

CIW Associate </span>• The style attribute

– Used inside a tag:<h1 style="color: magenta; font-family: arial"> CIW

Associate </h1>

Page 28: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Embedded Styles

• An embedded style sheet uses the <style> tag within the <head> section:

<head><title> CIW Associate </title> <style>h1 {color: magenta; font-family: arial; font-size: 20pt}</style></head>

• The style will remain in force until overridden (e.g., by an inline style)

Page 29: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Imported Style Sheets

• Like a linked style sheet, refers to a separate file• Created using the @import statement with the

following syntax:@import url(filename.css)

<head><title> CIW Associate </title><style type="text/css"> @import url(import.css);</style>

Page 30: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Style Sheets and Browser Compatibility

• Styles can cause problems with older browsers– Imported styles can especially cause

problems– Test your code in multiple browsers

• Most modern browsers are designed to support style sheets

Page 31: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Dynamic HTML (DHTML)• An enhancement that provides animation,

interactivity and dynamic updates in pages• DHTML capabilities include:

– Automatic adjustment of font sizes and colors– Absolute positioning– New document content– Granular control over animation, audio and

video• Requires XHTML 1.0 or HTML 4.01, CSS, and

a way to access the Document Object Model (DOM)

Page 32: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Document Object Model (DOM)

• A vendor-neutral, cross-platform application programming interface (API)

• Specifies how objects in a document can be referred to and manipulated through scripting languages

• Describes the elements, or objects, within a document rendered by a user agent (e.g., Web browser)

• A W3C standard

Page 33: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Document Object Model (DOM) (cont'd)

• Accessing a browser's DOM– Use a scripting language

• JavaScript• VBScript

– DOM compliance• At one time, several DOMs, depending upon browser

manufacturers• W3C standardization

• Choosing a DOM-compliant browser• Undefined object error and the DOM• XHTML, the DOM and browser compatibility

Page 34: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Developing Web Pagesfor PDAs and Smart Clients

• When you develop a Web site for viewing on mobile devices: – Keep your Web pages simple and

uncluttered – Prioritize your content – Optimize your site to a smaller screen size

Page 35: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Web Application Frameworks

• Web application framework – a set of software tools or code that is commonly used in the creation and management of online applications

• Popular Web application frameworks:– Django– Ruby on Rails

Page 36: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Creating Aliases with TinyURL

• TinyURL – a free Web service that generates short aliases for long URLs

• Short URL aliases are useful because they are easier to remember and type

• Short URL aliases are subject to linkrot

Page 37: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Working with Advanced Web Technologies

• Web 2.0 – changing trends in the use of WWW technology and Web design that have led to the development of information-sharing and collaboration capabilities

• Ajax – enables Web applications to interact with users in much the same way they do with desktop applications

Page 38: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Browsers as Application Delivery Platforms

• Access to hosted applications and services on Web sites that enable you to perform computing tasks without the need to download and install any software

• Cloud computing – a computing paradigm in which users are able to access software and services over the Internet instead of from their desktops

• Software as a Service (SaaS):– Another term for cloud computing– The software cannot be downloaded or owned by the

end user – The software becomes available as a service either for

free or for a fee

Page 39: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Browsers as Application Delivery Platforms (cont'd)

• Advantages– Flexibility – Scalability – Cost reduction

• Disadvantages – Connectivity – Speed – Lockout

Page 40: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Personalizing a Web Page with Third-Party Applications

• The functionality and usability of your Web page can dramatically increase without the need for you to create programs

• Adding such applications may slow page rendering speeds and can easily be overused

• Example: iGoogle Gadgets

Page 41: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Web Feeds

• Web feed – a data format for delivering Web content that is updated frequently

• Content syndication– RSS (Really Simple Syndication, RDF Site Summary

or Rich Site Summary) – Atom

Page 42: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Podcasts• Podcast – the use of audio or video

digital-media files that are distributed through Web feeds to subscribed users – Similar to an RSS feed – Podcast files can be syndicated, subscribed to

and downloaded automatically

Page 43: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Typosquatting

• Typosquatting – an unethical practice in which a typosquatter capitalizes on typing mistakes that users make when entering the URL of a Web site

• Also known as URL hijacking • Typosquatters frequently use their alternative

sites to distribute adware, spyware, viruses or other types of malware

Page 44: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Hosting and Web Service Providers• Internet Service Provider (ISP)

– Provides basic services• Internet connectivity• Web server

– You need your own experts• Application Service Provider (ASP)

– Provides more advanced services • Messaging (i.e., e-mail)• Databases• Spam filtering• Telephony services

Page 45: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Comparing Options• Configuring your own hosting solution

– Benefits– Drawbacks

• Using an ISP– Benefits– Drawbacks

• Using an ASP– Benefits– Drawbacks

Page 46: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Co-Location, Dedicated Hosting and Virtual Servers

• Co-location• Dedicated hosting (co-hosting)• Virtual server

Page 47: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Costs of Using an ASP

• Often based on: – Amount of traffic– Amount of support you require

• Database connectivity• Per-service costs• Bandwidth• Customer support• Security• Application development

Page 48: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Negotiating Web Services and Communicating Needs

• Be prepared to detail your needs• Negotiate prices by providing information:

– Potential amount of traffic– Hard drive space needed– Database and CGI needs– Additional services (e.g., custom applications)

• As you work with ISP and ASP sales representatives:– Communicate your needs– Talk to the sales representative manager– Have your manager talk to the ISP/ASP manager

Page 49: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Information You Need from Your Service Provider

• Account information• IP addresses and DNS names of the server• Instructions about file and directory locations• Service provider's contact information• Additional information:

– ISP/ASP security policies– ISP/ASP support procedures– Procedures for reporting problems– Average timelines for resolving problems

Page 50: Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 11: Advanced Web Technologies.

Lesson 11 Summary Identify client-side and server-side scripting technologies Connect Web pages to databases Use CSS to apply formatting to Web pages Identify the benefits of Dynamic HTML (DHTML) Define the function of the Document Object Model (DOM)

and its relationship to browsers Discuss how to develop Web pages for PDAs and smart

clients Define Web application frameworks Create aliases with TinyURL Use advanced "Web 2.0" technologies to create Web pages Compare the use of a service provider to hosting your own

Web site