throbber
ServiceNow's Exhibit No. 1017
`
`001
`
`

`
`-...
`
`• I
`I
`
`..
`
`ServiceNow's Exhibit No. 1017
`
`002
`
`

`
`ServiceNow's Exhibit No. 1017
`
`003
`
`

`
`Publisher • Mitchell Waite
`Associate Publisher • Charles Drucker
`
`Acquisitions Manager • jill Pisani
`Acquisitions Editor • joanne Miller
`
`Editorial Director • john Crudo
`Project Editor • Laura E. Brown
`Content Editor • Scott Rhoades
`Technical Reviewer • Keith Allison
`Copy Editor • jan jue
`
`Production Director • julianne Ososke
`Production Manager • Cecile Kaufman
`Production Editor • Mark Nigara
`Senior Designer • Sestina Quarequio
`Designer • Karen johnston
`Cover Illustration • Rafael lopez
`Production • Carol Bowers, jeanne Clark, Cheryl Dietsch, Mike Henry, louisa Klucznik, Andrew Stone
`
`© 1996 by The Waite Group, Inc.®
`Published by Waite Group PressTM, 200 Tarnal Plaza, Corte Madera, CA 94925.
`
`:t:.
`
`Waite Group PressTM is a division of Sarns Publishing.
`All rights reserved. No part of this manual shall be reproduced, stored in a retrieval system, or transmitted by any
`means, ~leH~<?nic, mechanical, photocopying, desktop publishing, recording, or otherwise, without permission
`·frqm the pt!ffi\l.fit!tbt~l1fl.tent liability is assumed with respect to the use of the information contained herein.
`" ~ ..
`h:J t ~j;: .f,.. While e'(ery precautio~ hM' been taken in the preparation of this book, the publisher and author assume no
`•· · ·• ·~ , .~tesponsibility for .errors or omissions. Neither is any liability assumed for damages resulting from the use of the
`info'rmat4on tpntained herein.
`•
`'1•
`I
`All terms mentioned in tlui boo~ that are known to be registered trademarks, trademarks, or service marks are
`listed below. In addition, terms suspected of being trademarks, registered trademarks, or service marks have been
`appropriately capitalized. Waite Group Press cannot attest to the accuracy of this information. Use of a term in
`this book should not be regarded as affecting the validity of any registered trademark, trademark, or service mark.
`
`•
`
`I
`
`The Waite Group is a registered trademark of The Waite Group, Inc.
`Waite Group Press and The Waite Group logo are trademarks of The Waite Group, Inc.
`WebSite is a trademark of O'Reilly & Associates, Inc. Webforms and Web Mania are trademarks of Q&D Software
`Development. Visual Basic, Access. and Windows 95 are registered trademarks and Windows is a trademark of
`Microsoft Corporation. All other product names are trademarks, registered trademarks, or service marks of their
`respective owners.
`
`Printed in the United States of America
`96 97 98 99 • 10 9 8 7 6 5 4 3 2 1
`
`library of Congress Cataloging-in-Publication Data
`Khurana, Gunnit S., 1969-
`Web database construction kit I Gunnit S. Khurana, Balbir S. Khurana.
`p. em.
`Includes index.
`ISBN l-57169-032-8
`1. Database design. 2. Microsoft Access. 3. Microsoft Visual Basic.
`4. World Wide Web (Information retrieval system)
`I. Khurana, Balbir S.
`Il. Title.
`QA76.9.D26K48 1996
`005. 75'8--dc20
`
`96-31733
`C!P
`
`ServiceNow's Exhibit No. 1017
`
`004
`
`

`
`DEDICATION
`
`To Amit and Amrita, for their love and support.
`
`- Gunnit S. Khurana and Balbir S. Khurana
`
`ServiceNow's Exhibit No. 1017
`
`005
`
`

`
`Message from the
`Publisher
`
`WELCOME TO OUR NERVOUS SYSTEM
`Some people say that the World Wide Web is a graphical
`extension of the information superhighway, just a network
`of humans and machines sending each other long lists of the
`equivalent of digital junk mail.
`1 think it is much more than that. To me, the Web is nothing less than the nervous
`systf'm of the entire planet-not just a collection of computer brains connecLeu togeth(cid:173)
`er, but more like a billion silicon neurons entangled and recirculating electro-chemical
`signals of information and data, each contributing to the birth of another CPU and
`another Web site.
`Think of each person's hard disk connected at once to every other hard disk on earth,
`driven by human navigators searching like Columbus for the New World. Seen this way
`the Web is more of a super entity, a growing, living thing, controlled by the universal
`human \vill to expand, to be more. Yet, unlike a purposeful business plan with rigid
`rules, the Web expands in a nonlinear, unpredictable, creative way that echoes natural
`evolution.
`We created our Web site not just to extend the reach of our computer book products but
`to be part of this synaptic neural network, to experience, like a nerve in the body, the flow
`of idea~ and then to pass those ideas up the food chain of the mind. Your mind. Even more,
`we wanted to pump some of our own creative juices into this rich wine of technology.
`
`TASTE OUR DIGITAL WINE
`And so we ask you to taste our wine by visiting the body of our business. Begin by
`understanding the metaphor we have created for our Web site-a universal learning
`center, situated in outer space in the form of a space station. A place where you can jour(cid:173)
`ney to study any topic from the convenience of your own screen. Right now we are
`focusing on computer topics, but the stars are the limit on the Web.
`If you are interested in discussing this Web site or finding out more about the Waite
`Group, please send me e-mail with your comments, and l \vill be happy to respond. Being
`a programmer myself, I love to talk about technology
`and find out what our readers are looking for.
`
`Sincerely,
`
`~1J:li;Y
`
`Mitchell Waite, C.E.O. and Publisher
`
`ServiceNow's Exhibit No. 1017
`
`006
`
`

`
`Come Visit
`
`WAITE.COM
`
`Waite Group Press
`World Wide Web Site
`
`Now find all the latest information on Waite Group books at our new Web
`siLe, http://www.waite.com/waite. You'll find an online catalog where
`you can examine and order any title, review upcoming books, and send e(cid:173)
`mail to our authors and editors. Our FTP site has all you need to update your book:
`the latest program listings, errata sheets, most recent versions of Fractint, POV Ray,
`Polyray, DMorph, and all the programs featured in our books. So download, talk to
`us, ask questions, on http://www.waite.com/waite.
`r-------
`
`The New Arrivals Room has all our new books
`listed by month. Just click for a description,
`Index, Table of Contents, and links to authors.
`
`1
`J
`I
`I
`I
`
`The Backlist Room
`has oil our books listed
`alphabetically.
`
`,..(cid:173)
`
`I
`I
`I
`I
`I
`I
`-..1
`
`r--
`1
`I
`I
`I
`I
`-.J
`
`The People Room is where
`you'll interact with Waite
`Group employees.
`
`Links to C yberspoce get
`you in touch with other
`computer book publishers
`and other interesting
`Web sites.
`
`I
`I
`I
`
`L - The FTP site contains all
`program listings, errata
`sheets, etc.
`
`I
`I
`I
`I
`I
`I
`I
`L- -
`
`I
`I
`
`I L------------
`The Order Room is where
`you con order any of our
`books online.
`
`The Subject Room contains typical book
`pages which show description, Index, Tobie
`of Contents, and links to authors.
`
`ServiceNow's Exhibit No. 1017
`
`007
`
`

`
`About the Authors
`
`unnit S. Khurana has an M.S. in Computer Science from
`the University of Nebraska, Lincoln. He has been
`involved with publishing databases on the Web since
`the standardization of Common Gateway Interface (CGI).
`'
`He initially worked with World Wide Web servers and CGI
`programs in the UNIX environment but quickly realized
`that it was not the easiest way to develop database-oriented
`Web sites. Being an expert Microsoft Access programmer,
`he sees great benefits in Windows- and Windows NT(cid:173)
`based World Wide Web servers that support Windows
`CGI, and has employed that combination to rapidly develop
`various database publishing applications for the Web.
`
`Balbir S. Khurana is a professor in the School of
`
`Computer and System Sciences at Jawaharlal Nehru
`University, New Delhi. He received his B.S. from the
`University of Roorkee, his M.S. from the University of
`Rajasthan, and his Ph.D. from the University of Tokyo.
`During his twenty years of teaching, and ten years of indus(cid:173)
`trial experience, he has developed many teaching aids and
`construction kits to augment his lectures, mastered the
`intricacies of the most difficult technical concepts, and
`developed them in a clear and simple manner. He enjoys
`exploring the Web and imagining new and creative ways of
`utilizing this powerful technology.
`
`ServiceNow's Exhibit No. 1017
`
`008
`
`

`
`TABlE OF CONTENTS
`
`INTRODUCTION ......................................... . . . . . ... I
`I
`2 GETTING STARTED ....... . ................... . ...... . ............ 9
`3 DISSECTING A JOB LISTING SYSTEM . . . . ................. . .......... 51
`4 BUILDING A DATABASE WITH MICROSOFT ACCESS .................. 87
`5 BUILDING MICROSOFT ACCESS QUERIES .......................... I 17
`6 DESIGNING ADVANCED QUERIES ..................... . .... . ... . . 151
`7 ELEMENTS OF THE WORLD WIDE WEB .... . ..................... . . 191
`8 CREATING HTML FORMS ... . . . .. . ... . ..... . .... . ................ 225
`9 WINDOWS COMMON GATEWAY INTERFACE ...................... 261
`I 0 WINDOWS CGI OUTPUT STANDARD ............................. 289
`I I DESIGNING A WINDOWS CGI APPLICATION ..................... . . 303
`12 DESIGNING A WINDOWS CGI APPLICATION
`TO PROCESS FORM DATA .... . ........ . ... . . . .. . ...... . ........ . . 329
`13 UTILITIZING AN ACCESS DATABASE IN A CGI APPLICATION ......... 367
`14 PROCESSING TEMPLATE FILES WITH A CGI APPLICATION ........... .403
`15 DISPLAYING DATABASE RECORDS THROUGH TEMPLATE FILES ....... .433
`16 CREATING AN ON-LINE BOOKSTORE ... . ..... . . . . . .... . ... . .. . . . .465
`17 ENHANCING THE ON-LINE BOOKSTORE ........ . ................ .495
`18 SETTING UP AN ON-LINE ORDERING SYSTEM .... . ................. 537
`A ORGANIZATION OF FILES ON THE CD ............................ 581
`B SOURCE CODE OF THE UTILS.BAS LIBRARY ........................ 585
`C
`INTERNET EXPLORER 3.0: A FIELD GUIDE . ................ . ........ 625
`
`INDEX ........................ . ... . ......................... . . 639
`
`VII
`
`ServiceNow's Exhibit No. 1017
`
`009
`
`

`
`CONTENTS
`
`INTRODUCTION .... . ........ . . . .. .. ..... . .. . .... .. . . . .. ... I
`WHAT THIS BOOK IS ABOUT ....................................... . .......... .4
`WHO THIS BOOK IS FOR ............... . . . . . ...................... . .......... .5
`WHAT YOU GAIN FROM THIS BOOK ............................... . .......... .5
`HOW THIS BOOK IS ORGANIZED ................................... . ........... 6
`A FINAL NOTE ................................................................ 8
`2 GETTING STARTED ......... . ..... ... ... . ...... .. .. . .... . .. . 9
`FEATURES OF THE WEBSITE WWW SERVER ..................................... 12
`Easy To Configure ....................................................... I 3
`Running External Programs ................................................. I 3
`Mapping Support ......................................................... 13
`Multiple Web Identity Support .............................................. 14
`Access and Error Logs .................................................... 14
`Built-In lmagemap Processing ..... . ......................................... IS
`Automatic Directory Indexes ............................................... I 6
`Site Security ............................................................. 17
`Server-Side Includes .......................... . ........ . ... . . . ............ 18
`LESSON I: INSTALLING THE EVALUATION VERSION OF WEBSITE ................. 19
`STEP I : Complete the Prerequisites ......................................... 19
`STEP 2: Setting Up WebSite ...... . ... . ............... .. .......... . ...... . . 20
`STEP 3: Testing the WebSite Server ......................................... 23
`STEP 4: Demonstrating the Server Features ................................... 25
`LESSON 2: ADMINISTERING WEBSITE .......... . . . ............................. . 26
`General Section Parameters ................................................ 26
`Mapping Section Parameters ............................................... 28
`Document Mapping ..... . ..... . ...... ..... . . ............... . ......... . ... 29
`Redirect Mapping ....................................................... .3 1
`CGI Mapping ............................................................ 32
`Content Type Mapping ............. . ... . .............. . ........... ... .... . 33
`Logging Section Parameters ................................................ 36
`LESSON 3: INSTALLING THE SAMPLE APPLICATIONS ............................ .37
`The GuestBook Application ....... . ... .... ................................ .38
`The On-Line Questionnaire ............................................... .39
`LESSON 4: SIGNING THE GUEST BOOK ............. . .......................... .40
`LESSON 5: VIEWING THE GUEST BOOK ............. . . . ........................ .42
`LESSON 6: DISPLAYING RECENT ENTRIES OF THE GUEST BOOK ................... 43
`LESSON 7: DEMONSTRATING THE ON-LINE QUESTIONNAIRE APPLICATION ...... .45
`REVIEW QUESTIONS ......................................................... .49
`EXERCISES ...................... . ........................................... .50
`
`viii
`
`ServiceNow's Exhibit No. 1017
`
`010
`
`

`
`CONTENTS
`
`. ....................... . . 51
`3 DISSECTING A JOB LISTING SYSTEM
`LESSON I: ADDING A N EW COMPANY IN THE JOB LISTING SYSTEM ........... . . .54
`LESSON 2: ADDING JOBS IN THE JOB LISTING SYSTEM ...... , ...... .. ............ 57
`Listing the First Job .. . ............ ... . .. ... .. ........... . ................ . 58
`Listing the Second Job
`. ............... . ... . . ...... . ......... . .... . ........ 60
`Points to Note on Adding Jobs ............. .. .. . ........................... 61
`LESSON 3: FINDING JOBS USING KEYWORD SEARCH ................... .. ....... 62
`LESSON 4: FINDING JOBS USING DRILL-DOWN SEARCH ... . . . .......... . .... . ... 69
`LESSON 5: PERFORMING SQL-BASED SEARCHES ........... . . . .... . ..... ... .. .. . . 70
`DYNAMICS OF THE JOB LISTING SYSTEM ................. ... . . ....... . ... .. .. .. 72
`LESSON 6: UNDERSTANDING THE ROLE OF THE WEB BROWSER .. . .............. 72
`Passing User Requests ............... . . . .... . .......... . . .. . ............... 72
`Passing User Data ................... . ........... . ...... . ............. . .. .73
`Showing Server Response ................................. . . .. . ...... . .... 75
`LESSON 7: UNDERSTANDING THE ROLE OF THE WEB SERVER .... . ... . ........... 75
`Primary Function of A Web Server ......... . ................ . .. . . . . ......... 75
`Running Extemal Programs ....................... . ...... . .. . .... .. ... . ..... 77
`LESSON 8: UNDERSTANDING THE ROLE OF THE CGI PROGRAM ........ .. ........ 78
`Performing Multiple Functions ....... ........ ..................... . ......... 78
`Processing Template Files . . .................................... , . , . , , , . , , , .79
`LESSON 9: UNDERSTANDING THE ROLE OF THE ACCESS DATABASE .... ... .. .. ... 82
`Directly Viewing the Information in Microsoft Access ........ .. ................. 82
`Managing Information Through Microsoft Access ............ . ........... . ... . . . 83
`Searching for Information ..... .. . .. ... . ................. . ............ . ..... 84
`REVIEW QUESTIONS .. . ............. .. .......................... . ..... . ....... 84
`EXERCISES ............................ . ...................... . ............... 85
`4 BUILDING A DATABASE WITH MICROSOFT ACCESS .. ..... ..... . 87
`LESSON I: CREATING A NEW DATABASE .......... . ............... . ............ 90
`LESSON 2: CREATING A DATABASE TABLE .. . ...... . ........... . .... . ..... . ..... 92
`Data Types Supported by Access ....... . . . .... . . . ............... . . . . . ...... 93
`Field Properties Supported by Access ............. . ..... . .............. . ..... 94
`Concept of a Primary Key . .......................................... .. . . . . 96
`Defining the Jobs Table ... . .......................... . ............. . ... . .. 96
`Things to Consider When Designing a Table .................................. 99
`LESSON 3: POPULATING A DATABASE TABLE ....... .. . ... .......... . .......... I 0 I
`LESSON 4: MANIPULATING EXISTING RECORDS .. .. . .. . . ............. .. .. . ..... I 04
`Editing Records ... . . . . . ................... . .. . . . . .. ............ .. ....... I 05
`Deleting a Record .. . .................. . ........................ . . . ...... I 05
`Things to Consider During Data Editing . . . . . . ......... . ............ . ........ I 05
`Editing Characteristic of an AutoNumber Type Field ...... .. . .................. I 06
`LESSON 5: NORMALIZING TABLES .................. . .... . . ................. . . I 06
`LESSON 6: ESTABLISHING TABLE RELATIONSHIP AND REFERENTIAL INTEGRITY . . .. 110
`Cascade Update Option .. . ..... . .......................... . ......... . .... I I 3
`Cascade Delete Option ... ... ............ . .............. . ... . ............ I I 3
`Testing Referential Integrity Rules
`. ....... . . . .................. . ..... . ... .. . I 14
`REVIEW QUESTIONS ............. . ... . ...... . ... . .. . .......... . . ............ I 15
`EXERCISES ....... . ..... . ...... . . .. . . . . . ..... . . . .... . ............ . ........... I 15
`
`IX
`
`ServiceNow's Exhibit No. 1017
`
`011
`
`

`
`WEB DATABASE CONSTRUCTION KIT
`
`5 BUILDING MICROSOFT ACCESS QUERIES . ....... .......... ... I 17
`LESSON I: CREATING A SINGLE TABLE QUERY ................................. 20
`Examining the Query Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
`Saving the Query Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
`Examining the Query Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
`LESSON 2: SORTING RECORDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
`LESSON 3: EXAMPLES OF DIFFERENT CRITERIA ................................. 29
`Filtering a Date Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
`Using Criteria Against a Calculated Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 I
`Filtering Records on Discrete Values with the IN Operator . . . . . . . . . . . . . . . . . . . . . . 33
`LESSON 4: USING EXPRESSIONS IN CRITERIA ........... . ....... . .... ... ........ 34
`LESSON 5: MATCHING PATTERNS WITH W ILDCARDS AND THE LIKE OPERATOR . . 35
`LESSON 6: SPECIFYING CRITERIA ON MULTIPLE FIELDS ................... . ...... 36
`LESSON 7: CREATING A TWO-TABLE QUERY ..................... ... .......... 38
`LESSON 8: WORKING WITH INNER AND OUTER JOINS ............. . ........... 40
`Understanding How the Inner Join Works ................................... 41
`Creating an 9uter Join ...... . . . ........ .. ........................... .' .... 42
`Creating a Subtract Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3
`THINGS TO CONSIDER WHEN DESIGNING A QUERY .......... . ................ 44
`Viewing the SQL Statement Behind Your Query ............. . ... . ...... .. .... 45
`Criteria and Field Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
`Cartesian Product ofT wo T abies
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
`TABLE-QUERY RELATIONSHIP ................................... . . . .......... 47
`REVIEW QUESTIONS ........ . ... . ................................... . ....... 48
`EXERCISES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
`6 DESIGNING ADVANCED QUERIES ..... . .. .. .... ............ . 151
`LESSON I: CREATING A TOTAL QUERY ........ . ............ . ... ... ...... . .... 155
`The Group By Function .................... . ... . .......... . . ... ........... 157
`Aggregate Functions ...... ......... . ....... . . .............. ...... ... .. .. . 159
`LESSON 2: USING MULTIPLE AGGREGATE FUNCTIONS .......................... 60
`Step I: Deciding the Grouping Field(s) ...................... . . . . . .... . ...... 60
`Step 2: Performing the Job Count by State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
`Step 3: Finding the Jobs from Recruiting Companies . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
`Step 4: Finding Average and Maximum Salary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
`Step 5: Testing Your Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
`LESSON 3: APPLYING CRITERIA IN TOTAL QUERIES ........ . .......... .... ...... 63
`Specifying a PostCriterion in a Total Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
`LESSON 4: TOTAL QUERIES AND TABLE JOINS ... . . ... ......................... 67
`LESSON 5: USING A CROSSTAB QUERY . . . . ........ ............................ 69
`LESSON 6: PARAMETER QUERIES ............................. . . . .............. 71
`Step I: Create a Regular Criteria Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
`Step 2: Replace the Criterion Value with a Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . 72
`Syntax of Query Parameters
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 4
`Specifying Multiple Parameters ............................................. 174
`Specifying Multiple Occurrences of the Same Parameter ........................ 175
`Specifying Parameters in Calculated Fields .................................... 176
`Specifying the Data Type of a Query Parameter ....... . ....................... 177
`Other Considerations About Parameters .................................... 179
`
`X
`
`ServiceNow's Exhibit No. 1017
`
`012
`
`

`
`CONTENTS
`
`LESSON 7: NESTED QUERIES ................................. ... .. .... ........ 180
`Simplify Query Design Through Query Reuse ................................ 180
`Propagate Changes ....................... .... ........................... 183
`Perfonn Advance Data Analysis ................................. . ... . ...... 184
`OPTIMIZING PERFORMANCE OF QUERIES ....................... .... ........... 188
`REVIEW QUESTIONS ........................................................ 189
`EXERCISES ........................... . ................................ . ... .. 190
`7 ELEMENTS OF THE WORLD WIDE WEB . .. ... . ... ..... .. .... . 191
`CLIENT-SERVER INTERACTION THROUGH HTIP ................ . .............. 194
`UNIFORM RESOURCE LOCATOR .................... . ...... . ..... .... ......... 196
`HTIP REQUEST ...................... .. .............. .. .... .. ............... 196
`HTTP Request Method .. . ..................... . .......... . . . . ... . . . . . ... 196
`HTTP Request Header ......................... : ......... .... . . . . ........ 198
`HTTP Request Data .................................. ..... . . . ....... .... ~ 98
`HTTP Response ... .. . ................ . ................................. i 98
`HTTP Status Code ..................................... .. . . .. ... . ... .. .. 199
`HTTP Response Header .. . ................................. .. .. .. . ...... . 20 I
`AN OVERVIEW OF HTML .................................................... 202
`LESSON I: DEFINING THE DOCUMENT STRUCTURE IN HTML .................... 204
`The <HTML> ... </HTML> Tag Pair ........................................ 204
`The <HEAD> ... </HEAD? Tag Pair ........................................ 204
`The <BODY> ... </BODY> Tag Pair ................... ..... .. . ............ 205
`LESSON 2: FORMA TIING TEXT USING HTML ................................... 207
`Block-Level Fonnatting ... ............................................... . 207
`Character-Level Fonnatting ............................................... 208
`LESSON 3: CREATING LISTS IN HTML ......... ...................... ........... 2 I
`Ordered List ......... . ... ............. ... .................... .......... 2 2
`Unordered List ................ . ..... . . ... ........ ........... ..... .... . .2 2
`Definition List .............................. .. ........... .... . ..... .... . 2 2
`Experimenting with HTML Lists ................................... . . ....... 2 2
`LESSON 4: CREATING COMMENTS AND MET A CHARACTERS ............ .. . ..... 2 3
`LESSON 5: CREATING TABLES . .. ......... .. ................ .......... ........ 2 5
`The <TABLE> ... <IT ABLE> Tag Pair ................... . ........... . ....... 2 5
`The <TR> ... </TR> Tag Pair .. . . ... .. . .............. . .. ............. ...... 2 6
`The <TD> ... <lTD> Tag Pair ............................ .. . ... ........... 2 6
`The <TH> ... </TH> Tag Pair ............................. .. . .. . ... ....... 2 7
`The <CAPTION> ... </CAPTION> Tag Pair ................................. 2 7
`Experimenting with T abies ...................................... . ......... 2 7
`LESSON 6: ADDING INLINE IMAGES ............................. ... . ... ....... 2 9
`Experimenting with lnline Images ........... . ................. ...... ........ 220
`Things to Consider When Adding lnline Images to Your Document .............. 221
`LESSON 7: CREATING HYPERTEXT AND HYPERGRAPHICS ...................... .222
`REVIEW QUESTIONS ................. . . ... ... . . . ... . . .. . ..... . ...... ....... .223
`EXERCISES ............................... . ....................... ... .... .. .. 224
`
`xi
`
`ServiceNow's Exhibit No. 1017
`
`013
`
`

`
`W EB DA TABASE CO N STR UC T ION KI T
`
`8 CREATING HTML FORMS .. . . ... . .... .. ..... . . . .. ..... . .... . 225
`LESSON I: CREATING A SIMPLE HTML FORM ...... . .... ....... ................. 228
`LESSON 2: EXAMINING THE <FORM> TAG ....... . .... . ....... .. . .... .. ....... 23 1
`The ACTION Attribute .... . . . . . . .. ..... . ............. . . . .. . . ... . ........ 23 1
`Redirecting the Form Data ............................... . ................ 23 1
`The METHOD and the ENCTYPE Attributes ................................. 232
`LESSON 3: EXAMINING THE <INPUT> TAG .................. . ................. 235
`The TYPE Attribute ..................................................... 236
`The NAME Attribute ............................................. . . .... . 236
`The VALUE Attribute ................................................ . . .. 237
`The SIZE and the MAXLENGTH Attributes .................. . . . ......... . . .. 237
`The CHECKED Attribute .............. . . . . ............................... 237
`The SRC Attribute ...................................................... 237
`Example: Creating a Text Box and a Password Field ........................... 238
`LESSON 4: CREATING RADIO CONTROLS ....... . ............................. 240
`LESSON 5: CREATING CHECK BOXES .......................................... 243
`LESSON 6: CREATING MULTIPLE SUBMIT BUTIONS ............................. 246
`LESSON 7: CREATING SELECTION LISTS ..................... . .... . ............ 248
`The <SELECT> ... </SELECT> Tags ........................ . . . . .... . ....... 249
`The <OPTION> Tag ................................... .. ............... 249
`Example I: Creating a Drop-Down List . .. .... . . . . . . ....... ... . . . ... . ....... 249
`Example 2: Creating a Multiple-Selection List ... ................ . . . ... . ....... 251
`LESSON 8: USING HIDDEN FIELDS ............................................. 254
`Defining Script Functionality ............................................... 254
`Specifying Script Parameters ............................................... 256
`Embedding State Information ... . . ............... . ......................... 256
`REVIEW QUESTIONS ........................................................ 257
`EXERCISES ........................................... .. . . . .......... . ....... 257
`9 WINDOWS COMMON GATEWAY INTERFACE ..... .. . . .. . . .. . . 261
`LESSON I: TRACING WINDOWS CGI COMMUNICATION .......... . ............ 264
`Identifying the Temporary CGI Files ........................................ 265
`The CGI Profile File ... .. .... .. . .... ........... ............. ....... ...... 267
`The CGI Output File .................................................... 268
`Limitations of the Windows CGI Communication Model ....................... 268
`LESSON 2: LISTING THE CGI VARIABLES ............................... ......... 269
`CGI Version .................. . ... . ........................... . ......... 269
`Request Protocol ............... . ...................................... . 270
`Request Method .... ... .. ... . . . ... . . . .. . . . .... . ........... . .. . . ...... . .. 270
`Keep-Alive .................................................... . .... .. .. 270
`Executable Path ......................................................... 271
`Logical Path ........................................................ . ... 271
`Physical Path .... .... ...... .............................. ......... ... ... 271
`Query String .................................................... . .... . . 271
`Content Type .......................................................... 271
`Content Length . . ................................... . ................... 271
`Server Software ....... . ....................... . ..... . ................... 272
`Server Name ....................................... . ... . ............... 272
`Server Port ........................................ .... .............. .. 272
`Server Admin ...................................... . ................... 272
`Remote Host . ... ....................................... ................ 272
`
`XII
`
`ServiceNow's Exhibit No. 1017
`
`014
`
`

`
`CONTENTS
`
`Remote Address ........................................................ 272
`From .................... .. . . .. .. ..................................... 272
`Referer .................... ....... ............................... . ..... 273
`User Agent . . .............. .. . ....... . ....................... .. ........ 273
`Authentication Method, Authenticated Usemame, Authentication Realm
`. . ........ 273
`LESSON 3: INTERPRETING THE PATH INFORMATION .................. . ........ 273
`Application of the Executable Path CGI Variable ... . .......................... 273
`Application ofthe Logical and Physical Path CGI Variables ........... ........... 276
`LESSON 4: PASSING USER DATA .............................................. 276
`LESSON 5: PASSING DECODED DATA ............................ ...... ....... 28 I
`LESSON 6: EXAMINING OTHER WINDOWS CGI INFORMATION .................. 284
`The [System] Section .... . . .. . . ........ ........... . ..... . ........ ........ 284
`The [Accept] Section ... ... . . ........... ... ................ . ..... . ....... 285
`The [Extra Headers] Section . .. ....... . ................... .. ... ........... 286
`REVIEW QUESTIONS ............. . .......................................... 286
`EXERCISES .................................................................. 287
`10 WINDOWS CGI OUTPUT STANDARD . .. ................... . . 289
`LESSON I: UNDERSTANDING THE CGI OUTPUT FORMAT ....................... 292
`LESSON 2: RETURNING DATA THROUGH CGI OUTPUT ......................... 293
`LESSON 3: REDIRECTING TO ANOTHER URL . .... . ... . . ................. .. ..... 297
`Redirection Example .... : ..... . ...... . .. .. . . ... . .............. ... . . . ..... 298
`Advantages of Using Redirection as a CGI Response ................ . .......... 299
`LESSON 4: RETURNING A DIFFERENT STATUS CODE ............................ 299
`Retuming an Error Status ................................................. 299
`Retuming a No C antent Message ......................................... .30 I
`REVIEW QUESTIONS ....................................................... .302
`EXERCISES ...... . ......................................................... . .302
`II DESIGNING A WINDOWS CGI APPLICATION ... .. .... ....... . 303
`LESSON 1: SffiiNG UP A VISUAL BASIC PROJECT .. . ........................... .307
`LESSON 2: WRITING CODE FOR YOUR CGI PROGRAM ........ . ....... . ........ .309
`LESSON 3: COMPILING AND TESTING YOUR CGI PROGRAM ......... ... ....... .3 12
`LESSON 4: CUSTOMIZING THE PROJECT ................. ... .................. .3 14
`Renaming the NEWAPP.BAS Module ............................. . ........ .3 14
`The Program's Entry Point Setting ......................................... .3 16
`LESSON

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket