The Internet Solution
Some view life as a circle. If you examine the software evolution from hosted application to desktop application to client/server application and now to the Internet application, you might think software mimics life! The Internet is, after all, the grandest, most host-centric system ever conceived. The Web browser is a marginally smarter client than the dumb terminal, relegated to rendering graphics and the UIs of client/server and desktop applications, but performing little to no business processing. Browsers instead rely almost completely on the Internet servers to which they connect. Okay, to be fair, Web-based applications can and often do perform some client-side processing using JScript and Dynamic HTML (DHTML). However, except for filling out an information request form that validates some of the data (such as verifying that the customer's name and address were entered or that the entered date is valid), most processing is performed on the server side.
NOTE
JScript, JavaScript, and ECMAScript are more or less the same language sharing a common heritage. ECMAScript is the standardization of Netscape's JavaScript and Microsoft's Jscript. If you are interested in learning more about ECMAScript, visit http://www.ecma.org. For more information on DHTML, check out http://www.w3c.org.
These scripting languages are lightweight programming languages used by Web developers to perform processing on a Web page from the browser (the client side). However, more often than not, business logic isn't executed with JScript and the Dynamic Hypertext Markup Language (DHTML). Instead, it's used for user interface-related tasks, such as creating dynamic navigation trees or pop-up context-sensitive windows to aid the surfer.
Thinking of the Web in universal terms, the "big bang" happened around 1993 and spread outward at nearlight speed. In the beginning, the Web was a world of information that was magnificently useful but static. Web pages contained few graphics, and the idea of dynamic pages with animations and sound was nothing more than a dream. As the Web became more popular and developed into common medium, corporations took note and, at an increasingly rapid pace, began publishing their presence starting around 1995. It was during the corporate push that the Web started to become more interactive. The corporate invasion (as many in academia view this period of transition from the Web's birth to commercial use) started a demand for dynamic, user-friendly, and engaging pages. The result was that browser manufacturers, such as Microsoft and Netscape, began competing to supply the corporate demands, introducing features into their browsers in a breakneck upgrade pace that led to sophisticated browsers of today.
As you know from the recently belabored dot.com revolution, during this time many companies were born whose existence orbited solely around the Internet. This was the beginning of what became "the portal wars" between Yahoo!, Excite, Lycos, and AltaVista in the years to follow.
Taking a step back from the front lines for a moment, the idea of a portal really came into existence as a result of browser designers creating the default Web page that's called up when users start their browsers. Yahoo! and most of the other contenders were originally conceived solely as simple search engines or directories to help Web surfers find Web sites of interest. The need for help finding sites in 1994 and 1995 was, in my opinion, even more of a necessity than today because, in its infancy, the Web was dominated by educators and personal sites. Today you can enter just about any word of interest surrounded by "http://www." and ".com" and find a site of interest. For this reason, it made practical sense to make a search page the default page of many users.
Returning to the battle once again, when these search sites became companies during the initial public offering (IPO) mania of the late 1990s, they needed to produce revenues, primarily through ad dollars. For this reason, becoming a Web surfer's default page became the prime objective of these search companies.
It did not take long for the competitors to realize that the greatest power of the Internetthe capability to jump from one source of information to another at a clickwas also their biggest threat. The harsh reality: Web customers were viciously loyal, but only for about an Internet minute. Logically, the second field of battle was fought in finding ways to make surfers not only continue to use their sites as the default page, but also in getting users to stay at the site as long as possible. It is from this idea of maintaining surfers' attentions that the term "stickiness" was coined.
The main strategy employed by these warring Web sites to create stickiness was to offer various services to surfers. The portal wars present an interesting business case study but aren't within the scope of this book.
Birth of the Internet Solution
As the portal wars heated up, sites began to offer additional services, including news, horoscopes, and stock market updates. The idea was simple: entice surfers to stick around a little longer by catching up on world or local events rather than clicking on some other Web site. However, the nature of the Web beast encourages movement and change. Back to square one: offer new services to once again differentiate.
Internet Service Solutions: Yahoo!, Amazon, and the Like
One of the first portal sites to offer extensive personalization was Yahoo! when it introduced its My Yahoo! Web service. Once you sign up for My Yahoo!, you are free to select the types of news and information you want, including the standard fare of sports updates, entertainment news, local and world news, local weather, and business and investment news. (See Figure 1.)
Figure 1 My Yahoo! provides the user with a personalized portal with which to view Web information.
Yahoo! and other sites that now offer similar services can provide such personalized information in part because, when you sign up, you agree to let them use your personal information, such as your address. The benefit to you is that you can have the local news delivered to you, as well as view the local TV schedule and movie listings.
As competitors have come, challenged, and died, Yahoo! has managed to continue to add services to further differentiate itself from the pack, including the ability to customize the look and feel of its My Yahoo! pages. In a "just because we can and its cool" move, Yahoo! even added the capability to select color schemes for your personalized page (see Figure 2) and makes it possible to add pages, each with different information or tools (which are Web-based applications!).
Figure 2 My Yahoo! provides the user with the ability to customize colors or apply themes.
Yahoo! took the step from mere information Web service to an Internet-based software solution provider when it began offering a Personal Information Manger (PIM), e-mail, and an Internet-based "hard drive." The latter makes it possible for users to store and retrieve documents from anywhere in the world by simply connecting to the Internet.
The PIM solution is comprehensive and includes an address book, a to-do list, and a calendar. Yahoo! added further value to these "online" solutions by partnering with Starfish Software to make its TrueSync software available. TrueSync enables you to synchronize contacts, calendar, and mail between Yahoo!'s Internet solutions and your offline, desktop applications, such as Outlook, Outlook Express, or Eudora. Additionally, the company introduced Yahoo! Messenger, which is a tool you download and runsort of like a desktop-based Web application. Do not let the name fool youthis tool is not only for sending and receiving instant messages (like AOL's AIM and Microsoft's MSN Messenger), but it is an extension of the online My Yahoo! service. This companion application logs into your account either manually or automatically in order to keep you updated on your stocks, provide news flashes of interest to you (see Figure 3), remind you of scheduled appointments, provide access to your contacts, and more. It is this piece of software that keeps users returning to Yahoo!even when their browsers are pointed at some other Web site.
Figure 3 Yahoo! Messenger keeps you informed even when your browser is closed.
Yahoo! might have started as a mere directory and search service that saw the potential of becoming a personalized Internet newspaper, but it has matured vastly and become a personalized information center.
As you can see, the services that Yahoo! offers are the first incarnations of Web services. Later you will learn how .NET not only takes this idea further, but also how it facilitates its realization. But first, take a look at another portal site offering first-generation Web services.
Today's Web Services: Passport
Microsoft provides its own preview of .NET services with its creation of Microsoft Passport. Understanding the where, what, and why behind Passport requires revisiting Yahoo! and the other Web portal services.
Almost every Web site today offers some kind of personalization. This ranges between content and layout customization, such as in My Yahoo! and The Wall Street Journal Interactive Edition, to managing online payment preferences. The one aspect common to all personalization efforts is that you, the Web surfer, need to identify yourself so that your preferences can be saved and restored as you come and go.
Technically, enabling a Web site to store user identities and preferences is rather straightforward. The development team creates a registration page that enables the users to designate a username and password, which the site uses to uniquely identify and authorize each user. A username is analogous to a customer number, serving as an identifier. More often than not, the registration page also requests varying degrees of personal information, such as mail address, e-mail address, and phone number, some of which are later used to personalize content and advertisements.
From the user standpoint, setting up personalization can prove rather time consuming. Most sites require you to register and create a username and password that becomes your identity. Because this identity process is first come, first served, often your choice of username is taken and you must choose another. One challenge is remembering which name/password combination you used on each site.
One of the key concepts behind the Passport service is that it manages information that is uniquely yours. Conceptually, it's like the wallet in your back pocket or purse: It stores personal information such as your mailing address, phone number, and birth date. It can securely store your credit card and other sensitive information (see Figure 4), and it can manage the various username/password combinations you have with different Web sites.
Figure 4 Microsoft Passport wallet service page stores your credit card information securely.
Essentially, it aims to make your Web surfing experience as effortless as possible by alleviating the need to re-enter or remember information that is unique to you. For instance, if you purchase an item from a site that utilizes Passport, you do not have to retype your name, credit card number, expiration date, and billing address every time you shop at another site. Passport conveys this information to the site without requiring you to get actively involved. This saves you time and aggravation; however, Passport releases only the information that you authorize. Passport is an example of a non.NET Web service.
NOTE
If you are interested in seeing a complete list of e-tailers that use Passport, point your browser to http://www.passport.com/Directory.
Passport, however useful now, is mostly built on yesterday's Web or proprietary technologies. It does not leverage the open technology solutions that underlie .NET, including XML, SOAP, and UDDI. These services enable Web sites to more easily integrate; this, in turn, is what will make Web services ubiquitous.