Developing e-Commerce Sites An Integrated Approach

by ;
Edition: 1st
Format: Paperback
Pub. Date: 2000-06-29
Publisher(s): Addison-Wesley Professional
Availability: This title is currently not available.
List Price: $41.95

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

Summary

JG541

Introduction

I still remember those days in school when we spent endless hours writing a small program in C that would allow two computers to communicate. There is no doubt that C is an excellent and very flexible language. However, in today's world of breakneck speed, when everything needs to be developed by "next Tuesday," doing things in C alone can be a bit challenging. It's the day and age of specialized languages and technologies. In this book we discuss a number of languages specifically geared for Web development. And we discuss these within an even more focused environment--that of developing tools that can help in conducting commerce over the Internet.

The book not only introduces you to different languages that can be used for developing effective e-commerce applications, it also presents a large number of practical examples. In addition it deals with issues such as performance and security, which are of importance to any e-commerce site. The last section of the book presents a complete example: five systems that can be leveraged by any e-commerce site.

Rationale

There are a number of books on the market that talk about individual technologies for Web development. While these books excel in the topics they're dealing with, practical Web development requires the use of more than one language and technology. A book on databases would teach you SQL and everything related to databases. Another book would make you a master of Java. However, if you're asked to develop e-commerce systems for a company, you would need to know not only these two but a lot more, such as Javascript, JDBC, Servlets, Web servers, etc. More important, you would need to understand which language and technology are best suited for what and how they can be integrated.

This book is an attempt to fill that void. Different pieces required to solve the puzzle are presented in a logical and easy-to-follow manner. Every chapter builds on knowledge gained in previous chapters. Carefully crafted examples show you how to develop practical solutions using a combination of appropriate technologies. In short, the book was written to get you up to speed by next Tuesday, if not Monday!

Target Audience

The primary target audience for this book is technical people who want to learn how to develop applications for e-commerce. These include both technical developers who want to learn the technologies and technical managers who want to see how developers can apply them.

Even though the book uses e-commerce as a backdrop, it covers everything required for building any kind of Internet application. It is thus intended to be useful even for technical people interested in generic Web development.

Here are some categories of people who can benefit from this book:

  1. Software professionals who want to design and develop e-commerce applications.
  2. Semitechnical managers and business school students who want to understand what e-commerce systems are, what technologies they require, and how they can be developed and deployed.
  3. Consultants, developers, and computer science students who just want to learn different Web technologies and understand how they can be integrated to build powerfult Internet applications.

Highlights of the Book

The book has a number of useful features:

  • It brings readers up to speed on different technologies used for building powerful Web-based systems.
  • It contains a large number of practical examples.
  • It teaches gradually and progressively how to build a sophisticated e-commerce system.
  • It provides Java, Javascript, JDBC, Servlet, and SQL code segments that can be used to save product development time.
  • It gives the "inside" view of an e-commerce system so that users have a better understanding of the whole concept.
  • It provides an introduction to XML and how it can be used in e-commerce.

Organization

The book comprises four parts, followed by two appendices:

Part I contains the introductory chapter, which outlines everything that follows. This chapter also shows you how you can get your computer on the Internet and establish a Web presence. Terms applicable to the Internet are described briefly.

Part II begins with a chapter on HTML. Other chapters in this section discuss Java, Servlets, Javascript, SQL, JDBC, and XML. Everything is taught by example. All chapters except the HTML chapter end with a section called Practical Examples where we present a number of programs that solve some complex, practical problems. By making use of knowledge from previous chapters, these examples also illustrate an integration of different languages.

Part III takes a look at some practical considerations for anyone planning on building Web systems and/or e-commerce systems. Chapter 8, "Credit Card Verification," discusses several ways in which you can start accepting credit cards over the Net. Chapter 9, "Security and Performance," talks about steps you can take to make your site faster and more secure.

Part IV which completes the book, contains a complete e-commerce solution. It begins with Chapter 10, "System Design," which introduces five systems developed in the following chapters using technologies covered in Parts II and III. This chapter also presents the design of a database that is used by the e-commerce systems, which should work as a good tutorial for designing a normalized database. Chapter 11, "Functionality," talks about the user interface of the systems. Chapter 12, "Utilities," presents a number of utility classes that can be leveraged by any Web application. The remaining five chapters in Part IV discuss the actual implementation of the five systems.

Appendix A contains instructions for installing and configuring different pieces of required software such as JDBC drivers, Apache Web server, databases, etc. Appendix B provides a complete listing of code for the systems designed in Part IV.

Author Biography

Vivek Sharma is a software developer at Oracle Corporation with nearly seven years of software development and research experience. He writes for Web magazines such as Java Developers' Journal, and his major area of interest and expertise is Internet application research and development. Rajiv Sharma is the CEO of EDA, Inc., and also works as an independent consultant. He has more than ten years of experience, and is co-author of Java Programming by Example (SIGS publications/Cambridge University Press) with Vivek Sharma.

0201657643AB04062001

Table of Contents

Introduction xv
Rationale xv
Target Audience xvi
Highlights of the Book xvi
Organization xvii
Acknowledgments xvii
Part I 1(22)
The Basics of Internet Technology
3(20)
Skill Level Required
4(1)
Web Sites and Browsers
4(1)
Web Pages and HTML
5(2)
Web Servers and HTTP
7(1)
URLs
7(1)
FORMS and CGI
8(2)
Javascript
10(2)
Cookies
12(1)
Java and Servlets
13(1)
Databases
14(1)
JDBC
14(1)
XML
15(1)
e-Commerce Systems
15(1)
Inventory Management Systems
15(1)
Profile Management Systems
16(1)
Ordering Management Systems
17(2)
Shipping Management Systems
19(1)
Reporting Systems
19(1)
Getting on the Internet
19(2)
Using an ISP
20(1)
Using a Hosting Service
20(1)
Keeping the Computer with You
21(1)
A Note about Speed
21(1)
Disclaimer
21(2)
Part II 23(226)
HTML
25(18)
Introduction
25(1)
First HTML File
26(1)
Some Formatting Tags
27(2)
Links
29(2)
Lists
31(1)
Tables
32(1)
Frames
33(4)
Forms
37(4)
Putting Comments in HTML
41(1)
Conclusion
41(2)
Java
43(64)
Introduction
43(1)
Object Oriented Programming
44(1)
First Java Program
45(2)
Applets and Applications
47(1)
Instances
48(2)
Method Overloading
50(1)
Inheritance
51(3)
Interfaces
54(2)
Packages
56(2)
Exceptions
58(2)
File I/O
60(1)
Threads
61(4)
Some Useful Classes and Methods
65(3)
Vectors
65(2)
Hashtables
67(1)
Object Serialization
68(3)
Remote Method Invocation (RMI)
71(6)
Reading a URL
77(1)
Working with Proxies
78(1)
Internationalization
78(3)
Applets
81(3)
Threads in Applets
84(4)
Java Mail API
88(2)
Commenting Code in Java
90(1)
Some Useful Tools
90(1)
Some Practical Examples
91(12)
Displaying Multiple Advertisements on Your Site
91(5)
Keeping Track of Clicks on Advertisements
96(7)
Conclusion
103(1)
Some Handy Classes and Methods in Some Useful Packages
103(4)
Servlets
107(46)
HTML Forms
107(1)
Post and Get Methods
108(1)
Anatomy of a Request and a Response
109(1)
CGI Scripts
110(1)
Drawbacks of CGI
110(1)
Efficiency with Servlets
111(1)
Anatomy of a Servlet
112(1)
JServ---Servlet Engine
112(2)
A Basic Servlet
114(2)
Form Variables
116(2)
Cookies
118(5)
Sessions
123(3)
Some Practical Examples
126(15)
Bulk Email Sender
126(4)
Internationalized Help Screens for Your Worldwide Customers
130(6)
Stocks Reader
136(5)
Example: Session-Based Shopping Cart
141(8)
Conclusion
149(1)
Some Useful Interfaces/Classes and Some of Their Methods
149(4)
Javascript
153(32)
Introduction
153(1)
Documents
154(1)
documents.forms
154(1)
Statements
154(1)
Examples
155(1)
Functions
155(1)
Objects in Javascript
156(2)
Events and Event Handling
158(1)
Arrays
159(1)
Forms
160(1)
Select Lists
161(1)
Buttons
162(1)
Submit and Radio Buttons
162(2)
Checkboxes
164(1)
Text Fields and Text Areas
165(1)
Frames
165(2)
Cookies
167(3)
A Practical Example
170(12)
Example: Personalized One-to-One Service to Customers
170(12)
Some Useful Methods, Properties, and Event Handlers of Some Useful Objects
182(2)
Reference
184(1)
SQL and JDBC
185(40)
Databases and SQL
186(1)
Schemas
186(1)
Datatypes
187(1)
Table Creation
187(1)
Column Constraints
187(1)
Keys
188(2)
Indexes
190(1)
Dropping Tables
190(1)
Data Insertion and Modification
190(2)
Transactions
192(1)
Data Retrieval
192(1)
Operators
193(1)
Functions
194(1)
Retrieving Records from Multiple Tables
194(1)
Deleting Records
195(1)
Sequences
195(1)
Stored Procedures
196(2)
JDBC
198(1)
Connecting to the Database
198(1)
Drivers
199(1)
Connection Object
199(1)
Statement Object
200(1)
Retrieving Data
200(3)
Inserting/Modifying Data
203(1)
PreparedStatement
203(3)
Insert into a Long Column
206(2)
CallableStatement
208(2)
Transactions in JDBC
210(3)
Some Practical Examples
213(9)
A Customer Registration System
213(4)
Bulk Email Sender---JDBC Version
217(5)
Some Useful Classes and Interfaces in the Java.sql Package
222(3)
XML
225(24)
Introduction
225(2)
Some Rules to Follow
227(1)
Displaying an XML Document
227(1)
Data Interchange with an XML Document
227(2)
Document Type Definitions (DTDs)
229(1)
Parsers
230(1)
Using XML
230(1)
Client-Side Usage
230(2)
Server-Side Usage
232(2)
Some Practical Examples
234(13)
Generating XML from the Database
235(3)
Reading XML Data into the Database
238(5)
XML-Based Stock Analyzer
243(4)
Conclusion
247(1)
References
247(2)
PART III 249(20)
Credit Card Verification
251(6)
Card Authorization URLs
252(3)
Third-Party APIs
255(2)
Security and Performance
257(12)
Security
257(6)
Firewalls
258(1)
Database Security
258(1)
Software Patches
259(1)
Data Transmission Security
259(1)
Public and Private Keys
259(1)
Certificates
260(1)
Ciphers
260(1)
Secure Sockets Layer
260(1)
Message Digests
261(2)
Password Security
263(1)
Some Hints on Making the Applications Secure
263(2)
Performance
265(4)
Finding and Fixing Bottlenecks
266(1)
Some Suggestions
267(2)
PART IV 269(118)
System Design
271(12)
Introduction
271(1)
Inventory Management System
271(5)
Things to Think About
275(1)
Profile Management System
276(2)
Things to Think About
278(1)
Ordering Management System
278(3)
Things to Think About
280(1)
Other Systems
281(1)
Conclusion
281(2)
Functionality
283(28)
Introduction
283(1)
Inventory Management System
283(7)
Menu
284(1)
Adding a Category
284(2)
Adding a Subcategory
286(1)
Deleting Categories
287(1)
Adding Products
287(1)
Modifying Products
288(2)
Viewing and Deleting Products
290(1)
Typical Usage Scenario
290(1)
Ordering System
290(9)
Sign-In Page
291(1)
Ordering Menu
292(1)
Adding Products to Checkout Cart
293(1)
Cart Contents
294(1)
Checkout
294(1)
Checkout for Existing Users
295(1)
Personal Cart Option
295(1)
Categories Option
296(1)
Order History Option
296(1)
Search Option
297(2)
Typical Usage Scenario
299(1)
Profile Management System
299(5)
Top Menu
299(1)
Registration
300(1)
Profile Update
300(1)
Contact Us Option
301(2)
Password Finder Option
303(1)
Shipping Management System
304(2)
Sign-In Page
304(2)
Reporting System
306(5)
Sign-In Page
306(1)
Reporting Menu
306(1)
User Distribution
307(1)
Sales Distribution
307(2)
User Frequency
309(1)
Sales Frequency
310(1)
Utilities
311(12)
Introduction
311(1)
Description of the Utilities
311(1)
Connection-Pooling Utility
312(4)
Authenticator
316(2)
Email-Sending Utility
318(1)
HTML Template Utility
319(4)
Inventory Management System
323(22)
Prerequisites
323(1)
High-Level Description
323(4)
Classes and Their Methods
324(3)
Detailed Description
327(13)
HTML Files in Document Root
340(2)
Other HTML Files and Templates
342(3)
Profile Management System
345(16)
High-Level Description
345(3)
Classes and Their Methods
345(3)
Detailed Description
348(9)
Document Root HTML Files
357(2)
Other HTML Files and Templates
359(2)
Ordering Management System
361(26)
High-Level Description
361(5)
Classes and Their Methods
361(5)
Detailed Description
366(12)
Document Root HTML Files
378(7)
Other HTML Files and Templates
385(2)
PART V 387(22)
Shipping Management System
389(8)
High-Level Description
389(2)
Classes and Their Methods
389(2)
Detailed Description
391(4)
Document Root HTML Files
395(1)
Other HTML Files and Templates
395(2)
Reporting System
397(12)
High-Level Description
397(3)
Classes and Their Methods
397(3)
Detailed Description
400(6)
Document Root HTML Files
406(1)
Other HTML Files and Templates
406(3)
Appendix A Installation and Configuration Instructions 409(12)
Apache
409(3)
Installation
409(1)
Troubleshooting
410(1)
Configuration
411(1)
JServ
412(4)
Installation
412(2)
Configuration
414(2)
Oracle
416(1)
Utilities
416(1)
mSQL
417(2)
Troubleshooting
417(1)
Utilities
418(1)
JDBC Drivers
419(1)
Troubleshooting
419(1)
JavaMail
419(2)
Appendix B Complete Code Listing 421(186)
Installation
421(6)
Inventory Management System
427(45)
Ordering Management System
472(43)
Profile Management System
515(42)
Shipping Management System
557(16)
Reporting System
573(26)
Utilities
599(5)
SQL For Creating Tables and Sequences
604(3)
Index 607

Excerpts

JG541 IntroductionI still remember those days in school when we spent endless hours writing a small program in C that would allow two computers to communicate. There is no doubt that C is an excellent and very flexible language. However, in today's world of breakneck speed, when everything needs to be developed by "next Tuesday," doing things in C alone can be a bit challenging. It's the day and age of specialized languages and technologies. In this book we discuss a number of languages specifically geared for Web development. And we discuss these within an even more focused environment--that of developing tools that can help in conducting commerce over the Internet.The book not only introduces you to different languages that can be used for developing effective e-commerce applications, it also presents a large number of practical examples. In addition it deals with issues such as performance and security, which are of importance to any e-commerce site. The last section of the book presents a complete example: five systems that can be leveraged by any e-commerce site.RationaleThere are a number of books on the market that talk about individual technologies for Web development. While these books excel in the topics they're dealing with, practical Web development requires the use of more than one language and technology. A book on databases would teach you SQL and everything related to databases. Another book would make you a master of Java. However, if you're asked to develop e-commerce systems for a company, you would need to know not only these two but a lot more, such as Javascript, JDBC, Servlets, Web servers, etc. More important, you would need to understand which language and technology are best suited for what and how they can be integrated.This book is an attempt to fill that void. Different pieces required to solve the puzzle are presented in a logical and easy-to-follow manner. Every chapter builds on knowledge gained in previous chapters. Carefully crafted examples show you how to develop practical solutions using a combination of appropriate technologies. In short, the book was written to get you up to speed by next Tuesday, if not Monday!Target AudienceThe primary target audience for this book is technical people who want to learn how to develop applications for e-commerce. These include both technical developers who want to learn the technologies and technical managers who want to see how developers can apply them.Even though the book uses e-commerce as a backdrop, it covers everything required for building any kind of Internet application. It is thus intended to be useful even for technical people interested in generic Web development.Here are some categories of people who can benefit from this book: Software professionals who want to design and develop e-commerce applications. Semitechnical managers and business school students who want to understand what e-commerce systems are, what technologies they require, and how they can be developed and deployed. Consultants, developers, and computer science students who just want to learn different Web technologies and understand how they can be integrated to build powerfult Internet applications.Highlights of the BookThe book has a number of useful features: It brings readers up to speed on different technologies used for building powerful Web-based systems. It contains a large number of practical examples. It teaches gradually and progressively how to build a sophisticated e-commerce system. It provides Java, Javascript, JDBC, Servlet, and SQL code segments that can be used to save product development time. It gives the "in

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.