HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

Hello, and welcome to electronic Java! In this column we'll examine the role of Java in the fast-growing world of electronic commerce. We'll also look at how the different components of the Java 2 Platform fit together to create complete enterprise-level e-commerce applications. This column will also focus on how these technologies relate to the world of Java and vice versa.

Before we get into the specifics of how Java contributes to the world of e-commerce, I'd like to set the stage by briefly introducing e-commerce and how it relates to the Internet. Of course, once we get to the Internet, Java's presence is inevitable; as far as Java and the Internet are concerned, when one is present, the role of the other is more or less taken for granted.

E-Commerce and Internet Commerce
E-commerce may be defined as a method of doing business "electronically." This isn't a new concept. For example, EDI has been the main means of conducting business electronically for several years now. What has made a difference in the past few years is the phenomenal growth of the Internet, leading to a revolution in the way business can be conducted electronically. Internet commerce is the new, next-generation, "revolutionize the world as we see it today," whizbang phenomenon that is currently in the process of taking the world by storm. Business surveys estimate that e-commerce-based business will grow to well over a trillion dollars by the year 2002.

In the context of business transactions, Internet commerce is a part of e-commerce that refers to the use of the global Internet for purchase and sale of goods and services. It can be categorized as two types of businesses. The first allows the end customer (the buyer or purchaser) to interact in the transaction by directly buying/ordering goods on the Internet. This necessitates a highly interactive user interface on the client-side architecture used to implement the features of Internet commerce. In the second type, businesses conduct transactions without the involvement of the end users. One business plays the role of purchaser; the other, the role of the seller.

Please note that when I mention e-commerce in the discussions offered in this column, I refer to Internet commerce, since Java is primarily applied in the areas of Internet commerce. The development efforts in the e-commerce market today are focused mainly on two fronts:

  • E-commerce application development: Parties involved in this kind of development are using current technologies and frameworks to develop and deploy e-commerce alternatives to current businesses.
  • Development of e-commerce-enabling frameworks: Parties involved in this kind of development are using compatible enabling technologies to develop frameworks that can be used to build e-commerce applications.
Putting together enterprise-level frameworks or applications for enabling commerce on the Internet involves design and integration of various technologies that play specific roles in a distributed computing environment. A distributed topology is a prerequisite for building such applications since the Internet is inherently distributed in nature. A distributed architecture, especially in the realm of electronic commerce, places higher demands on connectivity, security, reliability, robustness and scalability than do applications in other areas of computing.

Java and E-Commerce
So what role can Java play in the world of electronic commerce? Before answering that question, let's refresh our minds with the original goals of the Java Platform. The authors of Java used the following buzzwords to define the features offered by Java - simple, object-oriented, distributed, robust, secure, architecture-neutral, portable, interpreted, high performance, multithreaded, dynamic. To date Java has proved most of these descriptors accurate. Also, Sun Microsystems and other industry partners that influenced the evolution of the Java Platform are working hard to make sure that Java meets the expectations of the industry regarding features that are not yet satisfactory (e.g., performance).

Of the 11 buzzwords, the ones that have a direct bearing on the world of Internet commerce are:

  • Distributed: As mentioned earlier, Internet commerce implies a distributed nature. Transactions on the Internet may take place across several tiers of a distributed architecture. The Java Platform and its APIs provide a high degree of support for distributed architectures.
  • Robust: Buying and selling goods or services on the Internet requires robust services. Lack of trust in transactions can make the difference between people accepting e-commerce channels over traditional commerce channels.
  • Secure: Security is perhaps the first thing that comes to mind when parties conduct transactions over the Web since the data transferred over the Internet is over public channels. Java provides an extremely secure base infrastructure that ensures security in Internet transactions.
  • Architecture-neutral: The fact that software developed in Java is architecture-neutral is the most important reason for its being particularly well-suited to networked environments, since networks (especially the Internet) typically interconnect heterogeneous platforms that must work together despite their underlying differences.
Java also provides a rich set of APIs that facilitate building networked applications, particularly for the World Wide Web. This is why Java has become the enabling technology for building interoperable, distributed Web applications. Commerce, by definition, involves relationships between multiple participants, as opposed to transactions between individuals. As such, when business is conducted over the Web, it's to the advantage of all parties involved to overcome underlying differences in their respective computing platforms, to concentrate on buying and selling, not on whether they're using compatible operating systems. For this reason, Java is well-suited to being an enabling context for Web-based commerce, paving the way for business on the Internet. At the same time, for the end user, Java-based commerce-enabled Web pages can bring a greater degree of interactivity and responsiveness to a buyer's shopping experience.

Java Technologies for E-Commerce
The Java Platform offers several technologies that can be applied in the world of electronic commerce. Some are listed in Table 1. Figure 1 illustrates how each of these technologies fits into an n-tier e-commerce application. Note that the different technologies occupy specific roles in each tier of the architecture.
Figure 1
Figure 1:
Table 1

Other Technologies
The Java Platform offers many components that will contribute to the successful conduct of business on the Internet. However, it won't provide all the pieces necessary to make e-commerce a success. Other technologies are competing with the solutions offered by Java, trying to ensure their place in the world of e-commerce. At the same time, Java needs to integrate with supplementary technologies to provide viable solutions in the e-commerce market. Providing the technological answers solves only part of the problem. Integrating with existing and legacy technologies is imperative for providing feasible solutions for the market. Some existing technologies include payment and ordering systems, EDI, modules implemented in legacy programming languages and so on. Prominent among emerging technologies are new security paradigms, non-Java commerce frameworks and XML (Extended Markup Language). We'll discuss these technologies and considerations in future columns.

About the Author
Ajit Sagar is a member of the technical staff at i2 Technologies in Dallas, Texas. He holds a BS in electrical engineering from BITS Pilani, India, and an MS in computer science from Mississippi State University. He is a Java certified programmer with eight years of programming experience, including two in Java.
He can be reached at: [email protected]


All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.