Preface xxxv
1 Introduction to Computers, the Internet and the Web 1
1.1 Introduction 2
1.2 The Future of Computing 3
1.3 e-Business and e-Commerce 4
1.4 What is a Computer? 7
1.5 Types of Programming Languages 8
1.6 Other High-Level Languages 9
1.7 Structured Programming 10
1.8 History of the Internet 10
1.9 Personal Computing, Distributed Computing and Client/Server Computing 11
1.10 History of the World Wide Web 12
1.11 Hardware Trends 13
1.12 The Key Software Trend: Object Technology 13
1.13 JavaScript: Object-Based Scripting for the Web 15
1.14 Browser Portability 17
1.15 Evolution of the How to Program Series: C and C++ 17
1.16 Java and Java How to Program 19
1.17 Internet and World Wide Web How to Program 20
1.18 e-Business and e-Commerce How to Program 21
1.19 Dynamic HTML 21
1.20 A Tour of the Book 22
1.21 Internet and World Wide Web Resources 35
2 Introduction to Internet Explorer 5 and the World Wide Web 39
2.1 Introduction 40
2.2 Connecting to the Internet 40
2.3 Features of Internet Explorer 5 42
2.4 Searching the Internet 46
2.5 Online Help and Tutorials 47
2.6 Keeping Track of Your Favorite Sites 48
2.7 FTP (File Transfer Protocol) 49
2.8 Outlook Express and Electronic Mail 50
2.9 Outlook Express and Newsgroups 55
2.10 Using FrontPage Express to Create Web Pages 57
2.11 NetMeeting and Chat 57
2.12 Controlling the Details 61
2.13 Plug-ins 62
2.14 Internet and World Wide Web Resources 63
3 e-Business Models 70
3.1 Introduction 71
3.2 Storefront Model 72
3.2.1 Shopping-cart Technology 72
3.2.2 Online Shopping Malls 74
3.3 Auction Model 75
3.4 Portal Model 78
3.5 Dynamic Pricing Models 81
3.5.1 Name-Your-Price Model 82
3.5.2 Comparison Pricing Model 83
3.5.3 Demand-Sensitive Pricing Model 83
3.5.4 Bartering Model 85
3.5.5 Rebates 85
3.5.6 Offering Free Products and Services 85
3.6 B2B Exchanges 86
3.7 B2B Service Providers 87
3.8 Online Trading and Lending Models 87
3.9 Getting a Loan Online 89
3.10 Recruiting on the Web 89
3.11 Online News Services 91
3.12 Online Travel Services 91
3.13 Online Entertainment 92
3.14 Online Automotive Sites 93
3.15 Energy Online 94
3.16 Selling Brainpower 94
3.17 Online Art Dealers 94
3.18 E-Learning 95
3.19 Click-and-Mortar Businesses 96
4 Internet Marketing 103
4.1 Introduction 104
4.2 Choosing a Domain Name 105
4.3 Internet Marketing Research 105
4.4 Web Design 106
4.5 E-Mail Marketing 106
4.6 Promotions 107
4.7 E-Business Advertising 108
4.7.1 Banner Advertising 108
4.7.2 Buying and Selling Advertising on the Web 109
4.8 Webcasting and Interactive Advertising 111
4.9 E-Business Public Relations 112
4.10 Customer Relationship Management (CRM) 113
4.10.1 Keeping Track of Your Visitors 114
4.10.2 Customer Registration 114
4.10.3 Personalization 114
4.11 Business-to-Business Marketing on the Web 117
4.12 Search Engines 117
4.12.1 META Tags 118
4.12.2 Search-Engine Registration 118
4.13 Partnerships 119
4.13.1 Affiliate Programs 119
4.13.2 Creating an Affiliate Program 119
4.14 Marketing to the World 123
4.15 Internet and World Wide Web Resources 123
5 Online Monetary Transactions 135
5.1 Introduction 136
5.2 Credit-Card Transactions 136
5.3 E-Wallets 138
5.4 Alternate Consumer Payment Options 139
5.5 Digital Currency 140
5.6 Peer-To-Peer Payments 140
5.7 Smart Cards 141
5.8 Micropayments 142
5.9 Business-to-Business (B2B) Transactions 144
5.10 E-Billing 146
5.11 Online Banking 149
5.12 Internet and World Wide Web Resources 150
6 Legal, Ethical and Social Issues; Internet Taxation 161
6.1 Introduction 162
6.2 Legal Issues: Privacy on the Internet 163
6.2.1 Right to Privacy 163
6.2.2 Internet and the Right to Privacy 163
6.2.3 Tracking Devices 164
6.2.4 Cookies 164
6.2.5 Employer and Employee 166
6.2.6 Protecting Yourself as a User 168
6.2.7 Protecting Your Business: Privacy Issues 169
6.3 Legal Issues: Other Areas of Concern 170
6.3.1 Defamation 170
6.3.2 Sexually Explicit Speech 172
6.3.3 Children and the Internet 173
6.3.4 Alternate Methods of Regulation 173
6.3.5 Intellectual Property: Patents and Copyright 174
6.3.6 Trademark and Domain Name Registration 177
6.3.7 Unsolicited Commercial e-mail (SPAM) 178
6.3.8 Online Auctions 179
6.3.9 Online Contracts 179
6.4 Social Issues: Online Communities 180
6.4.1 Online Communities: Defining the Difference 180
6.4.2 Online Activism 180
6.4.3 Disabilities and the Web 180
6.5 Global Issues 182
6.6 Internet Taxation 183
6.7 Internet and World Wide Web Resources 185
7 Computer and Network Security 197
7.1 Introduction 198
7.2 Ancient Ciphers to Modern Cryptosystems 199
7.3 Secret-key Cryptography 200
7.4 Public Key Cryptography 202
7.5 Key Agreement Protocols 204
7.6 Key Management 204
7.7 Digital Signatures 205
7.8 Public Key Infrastructure, Certificates and Certification Authorities 206
7.9 Cryptanalysis 208
7.10 Security Protocols 209
7.10.1 Secure Sockets Layer (SSL) 209
7.10.2 Secure Electronic Transaction™ (SET™) 210
7.11 Security Attacks 211
7.12 Network Security 215
7.12.1 Firewalls 215
7.12.2 Kerberos 215
7.12.3 Biometrics 216
7.13 Steganography 216
7.14 Internet and World Wide Web Resources 217
8 Hardware, Software and Communications 233
8.1 Introduction 234
8.2 Structure of the Internet 235
8.3 Hardware 235
8.3.1 Servers 235
8.3.2 Communications Media 236
8.3.3 Storage Area Networks (SANs) 237
8.4 Connecting to the Internet 237
8.4.1 Digital Subscriber Lines (DSL) 238
8.4.2 Broadband 239
8.4.3 Integrated Services Digital Network (ISDN) 239
8.4.4 Wireless 240
8.4.5 WebTV 242
8.5 Software 242
8.5.1 Application Service Providers (ASPs) 242
8.5.2 Operating Systems 243
8.5.3 Databases 244
8.6 Building a Web Site 245
8.6.1 Web-Site Construction Services 246
8.6.2 Web-Site Hosting 248
8.6.3 Domain Names 249
8.7 E-Commerce Consulting 249
8.8 Internet and World Wide Web Resources 250
9 Introduction to HyperText Markup Language 4 (HTML 4) 259
9.1 Introduction 260
9.2 Markup Languages 260
9.3 Editing HTML 261
9.4 Common Tags 262
9.5 Headers 264
9.6 Text Styling 265
9.7 Linking 267
9.8 Images 270
9.9 Formatting Text With <FONT> 274
9.10 Special Characters, Horizontal Rules and More Line Breaks 276
9.11 Internet and WWW Resources 279
10 Intermediate HTML 4 284
10.1 Introduction 285
10.2 Unordered Lists 285
10.3 Nested and Ordered Lists 287
10.4 Basic HTML Tables 291
10.5 Intermediate HTML Tables and Formatting 293
10.6 Basic HTML Forms 297
10.7 More Complex HTML Forms 300
10.8 Internal Linking 306
10.9 Creating and Using Image Maps 309
10.10 <META> Tags 311
10.11 <FRAMESET> Tag 313
10.12 Nested <FRAMESET> Tags 315
10.13 Internet and WWW Resources 317
11 Ultimate Paint 324
11.1 Introduction 325
11.2 Image Basics 325
11.3 File Formats: GIF or JPEG? 329
11.4 Tool Palette 331
11.5 Brushes 333
11.6 Effects 334
11.7 Internet and World Wide Web Resources 337
12 Microsoft FrontPage Express 342
12.1 Introduction 343
12.2 Microsoft FrontPage Express 343
12.3 Text Styles 346
12.4 Images and Links 349
12.5 Symbols and Lines 351
12.6 Tables 352
12.7 Forms 355
12.8 Marquees and Scripts 357
13 JavaScript/JScript: Introduction to Scripting 363
13.1 Introduction 364
13.2 A Simple Program: Printing a Line of Text in a Web Page 364
13.3 Another JavaScript Program: Adding Integers 372
13.4 Memory Concepts 378
13.5 Arithmetic 379
13.6 Decision Making: Equality and Relational Operators 383
13.7 JavaScript Internet and World Wide Web Resources 389
14 JavaScript/JScript: Control Structures I 398
14.1 Introduction 399
14.2 Algorithms 399
14.3 Pseudocode 400
14.4 Control Structures 400
14.5 The if Selection Structure 403
14.6 The if/else Selection Structure 404
14.7 The while Repetition Structure 409
14.8 Formulating Algorithms:
Case Study 1 (Counter-Controlled Repetition) 410
14.9 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 2 (Sentinel-Controlled Repetition) 416
14.10 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 3 (Nested Control Structures) 422
14.11 Assignment Operators 429
14.12 Increment and Decrement Operators 430
14.13 A Note on Data Types 433
14.14 JavaScript Internet and World Wide Web Resources 434
15 JavaScript/JScript: Control Structures II 444
15.1 Introduction 445
15.2 Essentials of Counter-Controlled Repetition 445
15.3 The for Repetition Structure 448
15.4 Examples Using the for Structure 452
15.5 The switch Multiple-Selection Structure 457
15.6 The do/while Repetition Structure 462
15.7 The break and continue Statements 464
15.8 The Labeled break and continue Statements 466
15.9 Logical Operators 469
15.10 Structured Programming Summary 473
16 JavaScript/JScript: Functions 486
16.1 Introduction 487
16.2 Program Modules in JavaScript 487
16.3 Programmer-Defined Functions 489
16.4 Function Definitions 489
16.5 Random Number Generation 495
16.6 Example: A Game of Chance 500
16.7 Duration of Identifiers 508
16.8 Scope Rules 509
16.9 JavaScript Global Functions 511
17 JavaScript/JScript: Arrays 523
17.1 Introduction 524
17.2 Arrays 524
17.3 Declaring and Allocating Arrays 526
17.4 Examples Using Arrays 527
17.5 References and Reference Parameters 534
17.6 Passing Arrays to Functions 535
17.7 Sorting Arrays 538
17.8 Searching Arrays: Linear Search 540
17.9 Multiple-Subscripted Arrays 542
18 JavaScript/JScript: Objects 554
18.1 Introduction 555
18.2 Thinking About Objects 555
18.3 Math Object 557
18.4 String Object 559
18.4.1 Fundamentals of Characters and Strings 559
18.4.2 Methods of the String Object 559
18.4.3 Character Processing Methods 561
18.4.4 Searching Methods 563
18.4.5 Splitting Strings and Obtaining Substrings 566
18.4.6 HTML Markup Methods 568
18.5 Date Object 572
18.6 Boolean and Number Objects 577
19 Dynamic HTML: Cascading Style Sheets™ (CSS) 589
19.1 Introduction 590
19.2 Inline Styles 590
19.3 Creating Style Sheets with the STYLE Element 591
19.4 Conflicting Styles 594
19.5 Linking External Style Sheets 597
19.6 Positioning Elements 599
19.7 Backgrounds 602
19.8 Element Dimensions 604
19.9 Text Flow and the Box Model 606
19.10 User Style Sheets 612
19.11 Internet and World Wide Web Resources 614
20 Dynamic HTML: Object Model and Collections 619
20.1 Introduction 620
20.2 Object Referencing 620
20.3 Collections all and children 622
20.4 Dynamic Styles 626
20.5 Dynamic Positioning 629
20.6 Using the frames Collection 631
20.7 navigator Object 633
20.8 Summary of the DHTML Object Model 634
21 Dynamic HTML: Event Model 641
21.1 Introduction 642
21.2 Event ONCLICK 642
21.3 Event ONLOAD 644
21.4 Error Handling with ONERROR 646
21.5 Tracking the Mouse with Event ONMOUSEMOVE 648
21.6 Rollovers with ONMOUSEOVER and ONMOUSEOUT 650
21.7 Form Processing with ONFOCUS and ONBLUR 653
21.8 More Form Processing with ONSUBMIT and ONRESET 655
21.9 Event Bubbling 658
21.10 More DHTML Events 660
22 Dynamic HTML: Filters and Transitions 665
22.1 Introduction 666
22.2 Flip filters: flipv and fliph 667
22.3 Transparency with the chroma Filter 669
22.4 Creating Image masks 671
22.5 Miscellaneous Image filters: invert, gray and xray 672
22.6 Adding shadows to Text 674
22.7 Creating Gradients with alpha 676
22.8 Making Text glow 678
22.9 Creating Motion with blur 681
22.10 Using the wave Filter 684
22.11 Advanced Filters: dropShadow and light 686
22.12 Transitions I: Filter blendTrans 691
22.13 Transitions II: Filter revealTrans 695
23 Dynamic HTML: Data Binding with Tabular Data Control 703
23.1 Introduction 704
23.2 Simple Data Binding 705
23.3 Moving a Recordset 708
23.4 Binding to an IMG 711
23.5 Binding to a TABLE 713
23.6 Sorting TABLE Data 715
23.7 Advanced Sorting and Filtering 718
23.8 Data Binding Elements 723
23.9 Internet and the World Wide Web Resources 723
24 Dynamic HTML: Client-Side Scripting with VBScript 727
24.1 Introduction 728
24.2 Operators 728
24.3 Data Types and Control Structures 730
24.4 VBScript Functions 735
24.5 VBScript Example Programs 739
24.6 Arrays 745
24.7 String Manipulation 750
24.8 Classes and Objects 755
24.9 Internet and World Wide Web Resources 764
25 Active Server Pages (ASP) 774
25.1 Introduction 775
25.2 How Active Server Pages Work 776
25.3 Client-side Scripting versus Server-side Scripting 777
25.4 Using Personal Web Server or Internet Information Server 777
25.5 Active Server Page Objects 778
25.6 A Simple ASP Example 779
25.7 Server-side ActiveX Components 781
25.8 File System Objects 785
25.9 Session Tracking and Cookies 794
25.10 Databases, SQL, Microsoft UDA and ADO 806
25.11 Accessing a Database from an Active Server Page 810
25.12 Internet and World Wide Web Resources 818
26 ASP Case Studies 824
26.1 Introduction 825
26.2 Setup 825
26.2.1 Shopping Cart 825
26.2.2 Auction Site 826
26.2.3 Comparison Pricing Search Engine 827
26.3 Case Study: a Shopping Cart 827
26.4 Case Study: an Online Auction Site 848
26.5 Case Study: a Comparison Pricing Search Engine 876
26.6 Internet and World Wide Web Resources 888
27 XML (Extensible Markup Language) 891
27.1 Introduction 892
27.2 Structuring Data 894
27.3 Document Type Definitions (DTD) 899
27.4 Customized Markup Languages 901
27.4.1 MathML 901
27.4.2 WML 903
27.4.3 XBRL 903
27.4.4 ebXML 907
27.4.5 FpML 907
27.4.6 Other Markup Languages 907
27.5 Using XML with HTML 908
27.6 Document Object Model (DOM) 910
27.7 Extensible Style Language (XSL) 915
27.8 Microsoft Schema 921
27.9 Extensible Hypertext Markup Language (XHTML™) 927
27.10 Microsoft BizTalk™ 930
27.11 Simple Object Access Protocol (SOAP) 932
27.12 Internet and World Wide Web Resources 933
28 Case Study: An Online Bookstore 943
28.1 Introduction 944
28.2 Setup 948
28.3 Client-Side Documents 948
28.4 XML Data (Book Listing) 954
28.5 Other Server-Side Documents 954
28.6 Business-to-Business (B2B) Models 956
28.7 B2B Example 957
28.8 Internet and World Wide Web Resources 958
29 Perl 5 and CGI (Common Gateway Interface) 961
29.1 Introduction 962
29.2 Perl 963
29.3 String Processing and Regular Expressions 968
29.4 Viewing Client/Server Environment Variables 974
29.5 Form Processing and Business Logic 976
29.6 Server-Side Includes 981
29.7 Verifying a Username and Password 985
29.8 Using ODBC to Connect to a Database 990
29.9 Cookies and Perl 994
29.10 Example: An Internet Shopping Cart 999
29.11 Internet and World Wide Web Resources 1005
30 Dynamic HTML: Structured Graphics ActiveX Control 1011
30.1 Introduction 1012
30.2 Shape Primitives 1012
30.3 Moving Shapes with Translate 1016
30.4 Rotation 1018
30.5 Mouse Events and External Source Files 1020
30.6 Scaling 1023
31 Dynamic HTML: Path, Sequencer and Sprite ActiveX Controls 1030
31.1 Introduction 1031
31.2 DirectAnimation Path Control 1031
31.3 Multiple Path Controls 1033
31.4 Time Markers for Path Control 1036
31.5 DirectAnimation Sequencer Control 1039
31.6 DirectAnimation Sprite Control 1042
31.7 Animated GIFs 1046
32 Multimedia: Audio, Video, Speech Synthesis and Recognition 1050
32.1 Introduction 1051
32.2 Adding Background Sounds with the BGSOUND Element 1052
32.3 Adding Video with the IMG Element’s DYNSRC Property 1055
32.4 Adding Audio or Video with the EMBED Element 1056
32.5 Using the Windows Media Player ActiveX Control 1059
32.6 Microsoft Agent Control 1063
32.7 RealPlayer™ Activex Control 1081
32.8 Embedding VRML in a Web page 1083
32.9 Using Streaming Media 1085
32.10 Internet and World Wide Web Resources 1090
33 Macromedia® Flash™ 4: Building Interactive Animations 1098
33.1 Introduction 1099
33.2 Learning Flash with Hands-on Examples 1100
33.2.1 Changing the Appearance of the Stage 1105
33.2.2 Creating a Shape with the Oval Tool 1105
33.2.3 Adding Text to a Button 1107
33.2.4 Converting a Shape into a Symbol 1107
33.2.5 Adding Keyframes 1108
33.2.6 Editing Button Symbols 1108
33.2.7 Using the Paint Bucket Tool 1108
33.2.8 Using Test Movie to Verify Changes 1109
33.2.9 Adding Layers to a Movie 1110
33.2.10 Using Tweening to Animate Text 1110
33.2.11 Adding a Text Field 1112
33.2.12 Adding ActionScripting 1112
33.3 Creating a Projector (.exe) File Using Publish 1117
33.4 Manually Embedding a Flash Movie in a Web page 1118
33.5 Using Flash for Special Effects 1119
33.5.1 Importing and Manipulating Bitmaps 1119
33.5.2 Using Masking to Create an Advertisement Banner 1120
33.5.3 Adding Online Help to Your Forms 1121
33.5.4 Adding Sound 1126
33.5.5 Creating a Web-Site Introduction 1129
33.6 Creating a Store Front 1141
33.7 Using Loops 1145
33.8 ActionScripts 1149
33.9 Internet and World Wide Web Resources 1150
34 Accessibility 1157
34.1 Introduction 1158
34.2 Providing Alternatives for Multimedia Content 1159
34.3 Maximizing Readability by Focusing on Structure 1162
34.4 Accessibility in HTML Tables 1162
34.5 Accessibility in HTML Frames 1165
34.6 Using Voice Synthesis and Recognition with VoiceXML™ 1166
34.7 Accessibility in Microsoft® Windows® 2000 1170
34.7.1 Tools for Visually Impaired People 1171
34.7.2 Tools for Hearing-Impaired People 1173
34.7.3 Tools for Users Who Have Difficulty Using the Keyboard 1175
34.7.4 Microsoft Narrator 1179
34.7.5 Microsoft On-Screen Keyboard 1181
34.7.6 Accessibility Features in Microsoft Internet Explorer 5.0 1181
34.8 JAWS® for Windows 1183
34.9 Other Accessibility Tools 1183
34.10 Internet and World Wide Web Resources 1184
A HTML Special Characters 1191
B HTML Colors 1192
C ASCII Character Set 1195
D Operator Precedence Charts 1196
Bibliography 1201
Index 1208