The book provides an in-depth examination of the core concepts and general principles of web application development, using examples from specific technologies. This conceptual knowledge is critical when designing, developing and debugging complex systems, and makes it easier to learn the new application programming interfaces (APIs) that arise in the rapidly changing Internet environment.
The companion web site for the book is located at www.webappbuilders.com.
The text is organized into the following sections:
The second edition of the book has been updated with enhanced coverage of:
and new chapters on:
"Sinopsis" puede pertenecer a otra edición de este libro.
Leon Shklar currently works for Thomson Reuters where he is the head of technology for Reuters Media. Previously, Leon headed up the development team for the online edition of the Wall Street Journal at Dow Jones. Prior to joining Dow Jones, he spent six years at Bell Communications Research and almost as long in the world of dot-coms and Internet software. Leon holds a Ph.D. in Computer Science from Rutgers University.
Rich Rosen is a senior developer in the Fixed Income Systems Group at Interactive Data Corporation. Previously, he was an Application Architect at Dow Jones. Rich began his career at Bell Labs, where his work with relational databases and the Internet prepared him the world of Web application development. He is a co-author of Mac OS X for Unix Geeks, 4th Edition (O'Reilly). Rich holds an M.S. in Computer Science from Stevens Institute of Technology.
It is not enough for Web application developers to be proficient in just one platform. As platforms grow and evolve, and as new ones arise, developers must be able to transfer their proficiency across platforms in order to build complex Web applications effectively. This book helps developers understand the underlying core technologies so that they can learn new APIs and application frameworks more quickly.
Web Application Architecture provides an in-depth examination of the basic concepts and general principles associated with Web application development, using examples that illustrate specific technologies. This conceptual knowledge is critical when building and deploying complex systems that are scaleable, extensible, maintainable and reusable. The book explains the underlying protocols and languages that support Web application development, and delineates the best practices associated with building robust applications. It describes mechanisms for providing Web access to heterogeneous data sources including relational databases and multimedia.
The new edition includes brand new and fully updated chapters on:
Ideally suited for course usage and self-study, this practical, engaging textbook is essential reading for students, programmers and system architects and designers alike. It provides a comprehensive, timely overview of modern web technology.
Visit the supplementary website at www.wileyeurope.com/college/shklar
IN THIS CHAPTER
History and pre-history of the web
From web pages to web sites to web applications
Web 2.0 and AJAX
Summary of what is covered in the book
OBJECTIVES
Offer a historical overview of web technology.
Introduce the concept of "web applications."
Explain the focus and purpose of the book.
Provide a chapter-by-chapter outline.
1.1 History and Pre-History of the Web
Back in 1989, at CERN (the scientific research laboratory near Geneva, Switzerland), Tim Berners-Lee presented a proposal for an information management system that would enable the sharing of knowledge and resources over a computer network. We now know this system as the worldwide web (the web). Building on the foundation of existing Internet protocols and services, it lives up to its name as a ubiquitous network providing information and communication services to hundreds of millions of people around the world.
From the very beginnings of Internet technology, many people shared the dream of using the Internet as a universal medium for exchanging information over computer networks. Internet file-sharing services (such as FTP and Gopher) and message forum services (such as Netnews) provided increasingly powerful mechanisms for information exchange and brought us closer to fulfilling those goals.
Ted Nelson's Xanadu project aspired to make that dream a reality, but the goals were lofty and never fully realized. Nelson coined the term "hypertext" as a way of describing "non-sequential writing - text that branches and allows choice to the reader." Unlike the static text of print media, hypertext was intended for use with an interactive computer screen. It is open, fluid and mutable, and can be connected to other pieces of hypertext by "links".
It took Tim Berners-Lee to "marry together" (in his words) the notion of hypertext with the power of the Internet, bringing those initial dreams to fruition in a way that the earliest developers of both hypertext and Internet technology might never have imagined. His vision was to connect literally everything, in a uniform and universal way. Berners-Lee originally promoted the web as a virtual library, a document control system for sharing information resources among researchers. On-line documents could be accessed via a unique document address, a universal resource locator (URL). These documents could be cross-referenced via hypertext links.
From its humble beginnings, the web has expanded exponentially to serve a wide variety of purposes for a wide variety of people:
Given its origins, it seems natural that educational institutions and research laboratories were among the very first users of the web, employing it to share documents and other resources across the Internet.
Popular adoption of the web by individuals followed gradually, originally through on-line services, such as America On-line (now AOL) that slowly but surely integrated with the web and the Internet. Initially, personal usage of the web was limited to e-mail and web surfing. Eventually, people began building their own web sites where they posted everything from on-line photo albums to personal journals that would become known as "blogs."
Over time, businesses saw the potential of the web and began to employ it for e-commerce, providing an on-line medium for buying and selling goods interactively. As more and more people were connected to the web, the draw of a new source of revenue and the fear that competitors would get there first and undercut traditional revenue streams made e-commerce increasingly important to business. E-commerce applications are now being used for everything - from displaying catalogs of available merchandise to providing the means for customers to purchase goods and services securely on-line.
As the impact of e-commerce grew, the back-end applications supporting e-commerce became increasingly important to the companies using it. The front-end, customer-facing web sites needed to be up to date, synchronized with inventory systems so that customers would know what items were or weren't immediately available. Automated fulfillment systems connected to the on-line ordering mechanisms became commonplace. With that, secure login and registration, including collection of credit card information and payment processing, became an absolute requirement for viable e-commerce sites.
With the maturing of the web, a tug of war arose between sites offering free and paid content. Google was successful in tilting the balance in favor of free content supported by ads. Even the Wall Street Journal, which pioneered the notion of paid subscriptions for on-line content, has been opening up more and more of its content to non-subscribers. Critical technological challenges for free sites include tracking visitor behavior, providing adaptive personalization, and offering advanced community-building tools.
The web did not come into existence in a vacuum. It was built on top of core Internet protocols that had been in existence for many years prior to the inception of the web. Understanding the relationship between web technology and the underlying Internet protocols is fundamental to the design and implementation of true web applications. In fact, it is the exploitation of that relationship that distinguishes a web page or web site from a web application.
1.2 From Web Pages to Web Sites
The explosive growth of the web at least partially can be attributed to its grass-roots proliferation as a tool for personal publishing. The fundamental technology behind the web is relatively simple. A computer connected to the Internet running a web server was all that was necessary to serve documents. Both CERN and the National Center for Supercomputer Applications (NCSA) at the University of Illinois had developed freely available web server software. A small amount of HTML knowledge (and the proper computing resources) got you something that could be called a web site. Early web sites were just loosely connected sets of pages, branching hierarchically from a home page; now, a web site is much more than just a conglomeration of web pages.
When the web was in its infancy, academic institutions and technology companies owned the only computers that were connected to the Internet and could run server software. In those days, personal computers sitting on people's desks were still a rarity. If you wanted access to any sort of computing power, you used a terminal that let you "log in" to a large server or mainframe over a direct connection or dial-up phone line.
Still, creating and posting web pages quickly became popular among people that had access to scarce computing power. The original HTML language was simple enough that, even without the more sophisticated tools we have at our disposal today, it was an easy task for someone to create a web page. (Some would say too easy.) In the end, all that was needed to create first generation web pages was a simple text editor.
There is a big difference between a bunch of web pages and a web site. A web site is more than just a group of web pages that happen to be connected to each other through hypertext links:
First, there are content-related concerns. Maintaining thematic consistency of content is important in giving a site some degree of identity.
There are also aesthetic concerns. In addition to having thematically related content, a web site should also have a common look and feel across all of its pages, so that site visitors know what they are looking at. This means utilizing a common style: page layout, graphic design, and typographical elements.
Then there are architectural concerns. As a site grows in size and becomes more complex, it is critically important to organize its content. This includes not just the layout of content on individual pages, but also the interconnections between the pages (site navigation). If the site becomes so complex that visitors cannot navigate their way through, even with the help of site maps and navigation bars, then it needs to be reorganized and restructured.
1.3 From Web Sites to Web Applications
Initially, what people shared over the Internet consisted mostly of static information found in files. They might edit those files, but there were few truly dynamic information services.
Granted, there were a few exceptions: search applications for finding files in on-line archives and services that provided information about the current weather, or the availability of cans from a soda-dispensing machine. (One of the first web applications that Tim Berners-Lee demonstrated at CERN was designed to look up numbers in an on-line phone book using a web browser.) However, for the most part, the information resources on the web were static documents.
The advent of the dynamic web, which resulted from the proliferation of dynamic information services, changed all that. The new services ranged from CGI scripts to search engines to packages that connected web applications to relational databases. No longer was it sufficient to build a web site (as opposed to a motley collection of web pages). It became necessary to design a web application.
What is a "web application?" It is a client-server application that uses a web browser as its client program. It delivers interactive services through web servers distributed over the Internet (or an intranet). A web site simply delivers content from static files. A web application can present dynamically tailored content based on request parameters, tracked user behaviors, and security considerations.
Web applications power information portals, retail sites, and corporate intranets. They not only provide information and interact with site visitors, but also collect and update information, maintain access controls, and support on-line transactions.
A prime example of a dynamic web application is an on-line shopping site. Site visitors browse on-line catalogs, search for items they want to purchase, add those items to an on-line shopping cart, and place their orders through a secure interface that encrypts personal information. To enable this functionality, the web application communicates with warehouses that maintain catalog and inventory information, storing this information in a database. Users can search the on-line database to obtain information about products. The application provides a way for users to select items to be added to their shopping carts, maintains shopping cart contents for the duration of the browser session, and records order information in the database. It communicates with outside financial institutions to verify credit card and address information, fulfills the order by directing warehouses to ship the purchased items, and sends confirmation e-mails to purchasers allowing them to track shipment of their orders.
1.4 Web 2.0: On-line Communities and Collaboration
Since 2000, another major trend has arisen in the on-line world, incorporating applications that support user-generated content, on-line communities, and collaborative mechanisms for updating on-line content. This trend is often referred to as Web 2.0, because it is closely tied to advances in web technology that herald a new generation of web applications.
In many respects, Web 2.0 is a harking back to the web as a network for presenting personal hyperlinked information. Information flow on the web is no longer one way, from the web site to the surfer. Site visitors contribute information of their own, ranging from reviews and ratings for movies, music, and books to personal journals, how-to information, and news for popular consumption. These journals go by the name blogs (short for "web logs") and the whole blogging movement has resurrected the idea of the personal web page and elevated its status.
Personal blogs and community web sites encouraging user input may bear a resemblance to the more personal web of old, but the technology behind them does not. Whereas individual owners could easily maintain the simple static web sites of old, this has become impractical given the enormous volume and increasingly malleable nature of content out there today. Blogs, user forums, and collaborative community sites may look like the simpler web sites of the past, but the underlying functionality supporting them is based on sophisticated web application technology incorporating user authentication, access control, and content management services.
1.5 The Brave New World of AJAX
Another radical change in the web application landscape was the advent of AJAX (an acronym that stands for Asynchronous JavaScript and XmlHttpRequest). While the technology advances behind it accumulated gradually, AJAX represents a paradigm shift that has changed the way web applications are conceived and developed.
Tim Berners-Lee's original concept of HTTP was that of a simple stateless request-response protocol. Such a protocol allows for independent processing of requests and responses, without requiring a persistent connection. This simplicity fostered wide acceptance of the HTTP protocol but imposed significant limitations. The only method available for updating page content was to replace the entire page. This limitation was unsatisfying to those who were used to client-server applications that communicated with their associated servers directly and continuously. For instance, in such an application, a server-side change to a value in a spreadsheet cell could immediately be reflected on the screen without refreshing the whole spreadsheet.
HTTP, and the web experience in general, have evolved in a number of ways since their inception, introducing elements that allow web transactions to transcend the limitations of a stateless request-response protocol (e.g., cookies and JavaScript). AJAX is the latest such element, essentially allowing what amounts to an "end-run" to communicate with a web server indirectly: instead of submitting a direct request to see a new page from the server, a subordinate background request is submitted (usually through a JavaScript object called XmlHttpRequest) and the response to that request is used to dynamically modify the content of the current page in lieu of replacing its content entirely.
The main impact of AJAX is that the web experience is brought closer to that of client-server applications, allowing for a more immediate dynamic interaction between the user and the web application.
1.6 Focus of This Book
The purpose of this book is to provide a guide for learning the underlying principles, protocols, and practices associated with designing flexible and efficient web applications. Our target audience is senior undergraduate or graduate students who have already learned the basics of web development and professional developers who have had some exposure to web application development and want to expand their knowledge.
We expect our readers to have some familiarity with HTML and JavaScript - not at the level of experienced web designers but enough to create web pages and embed simple JavaScript code to submit forms to a web server. We recommend at least some exposure to Internet protocols, such as Telnet, FTP, SMTP, HTTP and SSL. We appreciate that many of our readers may not be familiar with Linux or Unix operating systems. However, it is helpful to have some understanding of the command-line interfaces provided by interactive shells, as some of our examples employ such an interface.
As we have said, there is a major difference between web pages, web sites, and web applications. There are excellent resources dedicated to web page and web site design, and the References section at the end of this chapter lists some of the best that we know. When we examined the current literature available on the subject of web application development, we found there were three main categories of book currently available.
technical overviews
reference books
focused tutorials.
Technical overviews are usually very high level, describing technology and terminology in broad terms. They do not go into enough detail to enable the reader to design and build serious web applications. They are most often intended for managers who want a surface understanding of concepts and terminology without going too deeply into specific application development issues. Frequently, such overviews attempt to cover technology in broad brushstrokes; their subject may be Java, XML, e-commerce, or Web 2.0. Such books approach the spectrum of technology so broadly that the coverage of any specific area is too shallow for serious application developers.
(Continues...)
Excerpted from Web Application Architectureby Leon Shklar Rich Rosen Copyright © 2009 by Leon Shklar. Excerpted by permission.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.
"Sobre este título" puede pertenecer a otra edición de este libro.
EUR 5,87 gastos de envío desde Reino Unido a España
Destinos, gastos y plazos de envíoEUR 4,67 gastos de envío desde Reino Unido a España
Destinos, gastos y plazos de envíoLibrería: Better World Books Ltd, Dunfermline, Reino Unido
Condición: Good. Ships from the UK. Used book that is in clean, average condition without any missing pages. Nº de ref. del artículo: 8132526-75
Cantidad disponible: 1 disponibles
Librería: Better World Books Ltd, Dunfermline, Reino Unido
Condición: Good. Ships from the UK. Former library book; may include library markings. Used book that is in clean, average condition without any missing pages. Nº de ref. del artículo: 17937506-20
Cantidad disponible: 1 disponibles
Librería: Better World Books Ltd, Dunfermline, Reino Unido
Condición: Very Good. Ships from the UK. Former library book; may include library markings. Used book that is in excellent condition. May show signs of wear or have minor defects. Nº de ref. del artículo: 9131585-6
Cantidad disponible: 2 disponibles
Librería: medimops, Berlin, Alemania
Condición: very good. Gut/Very good: Buch bzw. Schutzumschlag mit wenigen Gebrauchsspuren an Einband, Schutzumschlag oder Seiten. / Describes a book or dust jacket that does show some signs of wear on either the binding, dust jacket or pages. Nº de ref. del artículo: M0047051860X-V
Cantidad disponible: 1 disponibles
Librería: ThriftBooks-Dallas, Dallas, TX, Estados Unidos de America
Paperback. Condición: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 1.8. Nº de ref. del artículo: G047051860XI4N00
Cantidad disponible: 1 disponibles
Librería: ThriftBooks-Atlanta, AUSTELL, GA, Estados Unidos de America
Paperback. Condición: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 1.8. Nº de ref. del artículo: G047051860XI4N00
Cantidad disponible: 1 disponibles
Librería: WorldofBooks, Goring-By-Sea, WS, Reino Unido
Paperback. Condición: Good. The book has been read but remains in clean condition. All pages are intact and the cover is intact. Some minor wear to the spine. Nº de ref. del artículo: GOR005750954
Cantidad disponible: 1 disponibles
Librería: WorldofBooks, Goring-By-Sea, WS, Reino Unido
Paperback. Condición: Very Good. The book has been read, but is in excellent condition. Pages are intact and not marred by notes or highlighting. The spine remains undamaged. Nº de ref. del artículo: GOR004218135
Cantidad disponible: 1 disponibles
Librería: MusicMagpie, Stockport, Reino Unido
Condición: Very Good. 1745931391. 4/29/2025 12:56:31 PM. Nº de ref. del artículo: U9780470518601
Cantidad disponible: 1 disponibles
Librería: AwesomeBooks, Wallingford, Reino Unido
Condición: Very Good. This book is in very good condition and will be shipped within 24 hours of ordering. The cover may have some limited signs of wear but the pages are clean, intact and the spine remains undamaged. This book has clearly been well maintained and looked after thus far. Money back guarantee if you are not satisfied. See all our books here, order more than 1 book and get discounted shipping. . Nº de ref. del artículo: 7719-9780470518601
Cantidad disponible: 2 disponibles