Read an Excerpt
1. Webifying Applications
E- and M-Commerce, the Intranet, the Extranet, the Web, Business-to-Consumer and Business-to-Business - the buzzwords of the moment, grouped under the umbrella term, the Internet, are the hot stuff, a much-hyped revolution that is changing the way business is conducted and how people communicate. In this chapter, we'll take a high-level view of the Internet, including:
The Internet continues to grow in leaps and bounds (it follows an exponential curve), as more people arrive at the conclusion that they cannot escape it and that in order to keep up, they must participate. Not only is the Internet fashionable but it does promise to improve the productivity and competitiveness of the people that use it. The Internet is bigger than the sum of its parts and is definitely a force that has to be dealt with.
Over the years, more and more corporations have been using the Internet to enable what can be termed business-to-consumer (B2C) e-commerce. Most have followed the following route:
These can also be characterized as the provision of static content, dynamic content, and then the use of web-enabled applications.
We're on the Internet
Usually the way that this first phase happened was that some corporate boss learned about the Internet from their children and realized that they had to be on it. More recently, the buzzwords have been omnipresent in the media and it is difficult for anyone to watch TV, listen to the radio, or read a newspaper without coming across a mention of the Internet.
The rush starts with trying to get the name of the corporation reserved in order to be able to have the precious .com trophy. This is not always a successful exercise for various reasons, but it does lead to very interesting and creative ways of representing the corporation with a .COm name when the true name is not available.
The next step in this phase is to find the materials that make up the corporation brochures and either retype them or save them as an HTML file. Throw all this stuff onto a web server, add connectivity to the Internet and voila you are on the Internet. Now the bosses have something to talk about at cocktail parties for the next few weeks. But just like Chinese food, they will want more after a little while. The pressure starts building again and the Chief Information Officer can no longer justify not doing more. Things conspire to take us to Phase 2...
You Can Do Queries
Even though the Management Information System departments deal with technology on a daily basis, typically they will be hesitant to quickly rush into implementing new technology. Most, being rather conservative will find a pilot project with which to experiment with these new things. The favorite application is the internal telephone directory (after all the PC at the reception has to be justified). So once again a developer is thrown on the project and after a few weeks the result is that the corporation has now really entered the Internet age with its web-based telephone directory.
As another example, many retailers in their early web presence offered a store locator (enter your zip code and it finds the nearest store to you).
Given the spectacular success of the initial project, the next step is to seriously consider making more information available to customers over the Internet. Most of the time corporations have some sort of customer service and a toll-free telephone number. Typically the customer service representative acts as a go-between between the customer and a computer application. These are the favorite applications to web-enable. Some of the information that is available from the existing application will be given a web front end in such a way that the customers can now access this information from their web browser. This information can change over time, so dynamic generation of the HTML page for a topic when it is requested, is a big change.
At this stage most of the MIS departments struggle with security issues that range from access via a login and password combination to the use of Secure Socket Layer (SSL) to secure web communications. Query types can be as simple as retrieving a specified document all the way to getting a bank statement, but the bottom line is that at this stage the functionality is limited to queries only, that is, the information flows only from the corporation to the consumer.
As you can imagine, this phase not only has the complexity of interacting with existing applications, but also the challenge of creating a simple, consistent web front end that allows consumers to interact with these systems intuitively. More then a technical challenge, this is a sociological and human engineering challenge. Sadly though, too many of these decisions are made by programmers whose concept of ease of use is rather different from that of their target audience.
You Can Do Updates
As the developers get more familiar with the technologies and more comfortable with the kind of information they are willing to share with their customers on the Internet, the next natural step is that of allowing 'customers' to update information. Those customers can be employees on the road, trusted clients, or the general public.
This may involve changes to business processes and applications, but the Internet paves the way for bidirectional relationships, a two way street that allows the corporation to have a truly personalized relationship with its customers. By updates we understand the ability of the consumer to insert and/or modify information in the data store of the corporation.
This process is what we call 'webifying' an application. You take an existing application and you create an additional front end using web technology that allows people to interact fully with an existing application. Examples of this can be as simple a request as a change of address, to a full airline reservation system.
The intuitive web front end in this phase is (we hope) the province of Human Computer Interaction (HCI) specialists, rather than the developers. The separation of presentation from content and programming is one of the big issues in current web application development, and is a subject we'll return to later.
There is one type of e-commerce that does not necessarily require a suitable front end - business-to-business (MB) interaction. Generally in B2B the customer or consumer of the applications is a trained professional in the subject matter and the concentration is on efficiency and not necessarily simplicity. In some B2B applications there is no interaction between humans and applications, but instead between applications. For example, an inventory system can automatically generate purchase orders that are then sent (via the Internet) to the provider's order processing application. However this is not the focus of this book, which will be looking chiefly at business-to-consumer (B2C) web applications.
The Exception - Newborn Businesses
Not everybody has the bad luck (or good fortune, it all depends) of having to base their business on existing applications. Some are fortunate enough to be able to design their systems from scratch specifically for their use on the Internet. The new generation of .Corn companies is the obvious example, but any young company without legacy systems can fall into this category.
They have the opportunity to develop their applications with only one user interface in mind, the Internet, without intervening development phases. After all, without a fully interactive, working web site, what use is Internet presence and PR to a .corn company? As these companies are younger and bolder they are more willing to risk it into the use of new technology and concepts, whereas their counterparts in the corporate world traditionally are more conservative. In general these newborns are the ones that have driven the evolution of the web technology, which will be reviewed now.
Evolution of Web Applications
In order to understand the way web applications have developed to date, let us quickly summarize the problems with a web application, and how these problems have been solved historically, before looking at the solution offered by Java 2 Enterprise Edition.
Web applications are different from ordinary applications in the following ways:
Web application development is a hybrid of client-server development, with a thin client communicating using HTTP, web content that is dynamically generated according to the client's request, and a central data server.
Web applications can be seen as going through three generations during their evolution...