Developing e-Commerce Sites: An Integrated Approach

From the Book: 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: 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 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.