Java! Introduction and Implications
by Lark Dunham
BA 296 - Impact of Multimedia and Networks
November 21, 1996
Java is an evolutionary outgrowth of both the desire for standardization and the popularity of the Internet. In the most basic terms, Java is another programming language developed by Sun Microsystems. It differs from most programming languages in its ability to bring applications to any platform or operating system environment through a new medium; the Internet. In this regard, Java is revolutionary. The widespread use of Java could have significant ramifications on how the Internet (the World Wide Web in particular) and applications are used and distributed. This dramatic change in the way applications are transmitted has the potential to radically change the procedures and implementation of computer environments within corporations.
To understand the implications of Java, it is important to understand the crucial components to the language and its proposed environment on the Web. The Internet began as a networking protocol for a branch of the Federal Government known as the Advanced Research Project Agency. This agency was created to address issues with regard to the space race against Russia in the late 1950ıs and 1960ıs. In 1969 ARPAnet was commissioned to research network protocol. TCP/IP was created to meet the need of a standardized networking protocol in 1973, but not adopted until 1982. TCP/IP stands for Transmission Control Protocol/Internet Protocol. This protocol became popular after it was incorporated into a version of the UNIX operating system developed at the University of California at Berkeley (Go Bears!). The beauty of the system is that it is hardware-independent. TCP/IP is carried on top of whatever hardware protocol is being used (such as ethernet). In 1983 there were 500 Internet hosts, 5,000 in 1986 and 10,000 in 1989 when the ARPA closed up shop. Today, there are well over 4,000,000 hosts extending far beyond government, to educational institutions, businesses and the general population.
When the Internet was first evolving, it was a very tight environment of programmers and computer scientists. It was very difficult to maneuver and it required knowledge of a complex coding scheme to execute commands. As the Internet grew, there was a contiguous growth in the demand for a less complex mechanisms for use. One example is the growth of e-mail as a medium of transmission over the Internet.
In 1990, a European researcher developed a simpler, text-based protocol for delivering files over the Internet. This was the beginning of the World Wide Web. The true popularity of the Web became realized when a graphical interface was developed, known as Mosaic, by the National Center for Supercomputing Applications (NCSA). Although the information being provided was non-interactive, brand new types of media could now be shared over the entire globe. These new media included graphics, photographs, sound and even video. Access to the Web comes via programs called browsers, which provides the outlet to the Internet. Accompanying the development of the Java programming language are a number of browsers, which incorporate important features for the implementation and complete utilization of Java programming based applications. Netscape, one of the leading suppliers of browsers, was by far the most important player to jump on the Java-licensing bandwagon. Netscapeıs Navigator was the first browser to be considered Java-enabled.
Ironically, the beginnings of what is now Java had nothing to do with the Internet or the computer industry per se. In 1990, Java began as an attempt to create a product for the consumer electronics market that would use a graphical interface and feature platform independence. A new programming language called Oak, which is based on C++, evolved from this project. The highlight of this new program was the ability to port the application over several platforms. Sun formed a separate company called FirstPerson for this endeavor. FirstPerson concentrated their marketing and development efforts towards companies related to the ³video-on-demand² concept. Intended platforms for Oak-based programs included the 3DOıs set-top box design developed in 1993. The market for universal set-top boxes, in contrast to the Web, did not and has not grown as quickly as might have been anticipated.
In 1995, FirstPerson was dissolved by Sun and the efforts re-focused the project towards Internet applications. In the process, Oak was renamed Java. It is at this time that Sun developed HotJava, the browser mentioned above. HotJava was developed primarily to demonstrate the capabilities of Java to the public and to customers.
There are seven primary features of Java. Because of Java is a programming language, the importance of these features is more relevant to software developers. Programs written in Java are: portable, secure, robust, object-oriented, dynamic, high performance and easy. Java provides portability by requiring applications to run through an interpreter. This means that any computer that wants to run a Java-programmed application must have this interpreter to convert the Java codes into the native code for the target machine. By using this independent interpreter approach, Java-programmed applications can run on any hardware in any operating system environment. Sun has implemented the latest interpreter and compiler within Java interpreters developed to date.
Security is an important issue with regard to the utilization of the Web and is critical for Javaıs success. Growth and accessibility of the Internet give rise to concerns regarding privacy and protection against viruses. The Java environment was designed to protect the client against intentional and unintentional threats and potential harm. Java addresses security through the use of bytecode verification, run-time memory layout and file access restrictions. Bytecode verification means the language is checked for compliance before it is interpreted or run. Memory layout and file access are means by which Java prevents unwanted applications or code from accessing of becoming imbedded into a client system.
The remaining features relate primarily to issues of concern to the software developer and programmers. Robust means that the code will run effectively without bringing on a system crash when applications or the interpreter is launched. Object-oriented is a popular type of programming that is the foundation for many languages on the market today. Java has the look and feel of C++, but the language is designed to be object-oriented from the start. In object-oriented programming, rather than retyping lines of code over and over, common data and procedures are embedded in a single object that can be assembled with other objects to build a program. Dynamic is an extension to object-oriented programming. Two programs (or objects) interact in a dynamic manner, in contrast to a static manner. High performance is a feature that described the features of multithreading, just-in-time compiling and native code usage. Interpreted programming languages are inherently slower then programs compiled in advance on an optimizing compiler. The high performance features help minimize the performance differences. Lastly, because Java has the look and feel of C++, it is considered easy to use from a programmerıs perspective.
What it Does
Given the features, what does Java actually do? From the end-user or corporate perspective, Java serves two primary functions in the near future. The most familiar use currently is the 'applet'. An applet is a small application that is designed specifically for the WWW. Currently, most applets are simple games and animation. An applet is commonly known as a way to create jazzy, souped-up interactive web pages. To view or use an applet, an end-user must download the applet through a Java-enabled browser which enables the applet to communicate with the host OS to run. The function of the Java-enable browser is to provide the runtime interpreter which recognizes and handles Java language code. The beauty of the applet is that it can run on any desktop, regardless of the hardware or operating system. This creates huge opportunities in the marketplace now dominated by the Wintel standard. The key to the system is the browser which is always platform-specific. The browser provides the layer of code which enables the 'cross-platform capability' of Java applets.
The applets are just one application of the programming language. Larger and more complex applications are being developed by a host of software vendors. Java is marking it possible to develop diverse applications for communication and collaboration over a distributed network, such as the Internet. Such applications run the gamut from traditional spreadsheets and word processors to critical applications for accounting, asset management, database, human resources and order-entry systems. These programs can be distributed without concern for platform compatibility. This feature could have a potentially HUGE impact on the way software vendors are staffed and the range of products they produce. Currently, once a product is developed, the code typically has to be ported to a variety of environments (Mac OS, UNIX, Windows). With Java, this requirement could be eliminated. There are potentials for large cost savings and the potential elimination of many jobs. Todayıs increasingly fast computers make the performance penalty of an interpreted versus compiled program less significant for many applications.
What can Java Do for Me or My Company
Java has important and potentially significant implications for the way in which users structure their computing environment. If Java is successful, hardware and OS standardization will no longer be such a big concern. Access and utilization of the Web will allow users to go to a software vendors site, download a demo or sample of an application and try it out. This changes the entire paradigm of how software purchasing channels are pursued. Upgrades and add-on features can be downloaded over the Web. This can represent huge cost and time savings for users, especially within corporate environments. Moreover, only those users who need or want upgrades can receive them. Ideally, they can perform the download themselves within the comfort of their office. Even new applications can be distributed through this new medium. The physical distribution of software could potentially be a thing of the past.
Obviously, this will have huge ramifications on the pre-existing channels. Some of the larger resellers and retail outlets are already feeling the impact of on-line distributions. New companies are stepping in to perform the task of Web distribution. EarthWeb and Cnet are mastering the art of on-line software shopping by providing virtual storesı on their Web sites. Many companies are looking to Electronic Commerce as a future reality, but currently only software sales can be considered a successı in the virtual shopping world.
As with every major new technologies, there exists some glitches and adaptations that need to be addressed. The major drawback to Java is the dependence on the browser and the inherent interpreter. Cross-platform portability and universal access is not feasible unless a Java-enabled browser or operating system is on your desktop. This implies a huge reliance on the current browser suppliers. Sun is trying to overcome this obstacle through heavy promotion efforts for Java. The user also requires a certain bandwidth connection to get Java applications easily and a certain horsepower to get good interpreter performance. Another potential drawback is the potential for incompatibility among applet on the desktop.
There are a number of specific considerations for the success of Java within the corporate world. For corporations to achieve the potential benefits of the Java environment and Java-programmed applications requires a commitment from management and implementation of a new organizational strategy. Many of the traditional functions of IT departments could radically change. TCP/IP networks, browsers and other network related issues will become even more important to a Java work-environment. There will most likely be a de-emphasis on hardware and compatibility issues. The potential benefits are substantial, but the internal structure must be in place to implement and promote the changes.
Why is Sun into Java?
Java is currently marketed by JavaSoft, founded in January of 1996 and headquartered in Cupertino, CA. It is considered a business unit of Sun Microsystems. The company's stated mission is 'to develop and support Java technology and products based on it.' To that end, JavaSoft's product offerings include the core Java Platform, which includes the virtual machine, the Java language and the Java API's (application programming interfaces). Javasoft is working with a number of companies in the industry to develop additional APIıs for media, enterprise, database, embedded and security-related commerce applications. JavaBeans is a component-architecture that works with other development environments such as OpenDoc and ActiveX. JavaOS is the smallest and fastest OS that will run Java. It can run on networked computers, PDAıs, cellular phones and game machines. HotJava is a set of class libraries for building Internet-aware applications.
Despite what appears to be a laundry list of product offerings, Java is not a direct money-maker for Sun nor was that the intention. Licenses and tools are practically given away. What Java has done is generate a growth in the world of networked computing. Sun's goal is proliferation and the creation of a new standard for computing. In this world, Scott McNealy , CEO of Sun, is hoping for a Sun server to be driving the networks. This strategy has already begun to pay off. Indirect revenue from Java has amounted to a 25% growth in Sunıs revenue in the 3rd quarter of 1996. Profits went up 45% to $123 million driven largely by the sales of server software. Sunıs stock price has also seen the positive effects of the Java-hype.
Timing and industry factors had a huge impact on the acceptance of Java. Itıs release was clearly positioned to take advantage of the growth occurring on the Internet and the Web. There is also a collective hatred in the computer-industry for Microsoft and to a lesser degree Intel. Big losses have occurred for both hardware and software manufacturers as a result of the Wintel standard. Sun is in a great position to take advantage of this discontent as forces rally behind Java. Java gives software vendors a way to win back some of the business they lost to Microsoft as itıs applications smothered the market along with the OS. Hardware companies are relishing the platform-independence of the program. As proof of the industry commitment to Java, Sun, IBM, Compaq and others have set up a $100 million venture capital pool called the Java Fund to help seed startups. Microsoft finally realized the impact and potential of Java and in March of 1995 licensed Java in addition to making Internet Explorer, their browser, Java-enabled.
It appears we are entering the age of network computing with vengeance. Major shifts will occur in the way software companies develop programs, the way software are distributed, and the way users interact with their machines. Lock-in to a specific hardware/software paradigm could very likely be a thing of the past. Much time, energy and money are being poured into the Java proposition. The outcome is not certain, but the camps are clearly in the Java court. Microsoft is desperately seeking ways to maintain its grip, while not being blind to the major shifts occurring. Irving Wladawsky-Berger, IBMıs chief Internet czar and Java strategist stated: ³In the past, power and success in the computer industry all boiled down to who controlled the key technological chokepoints. Thatıs what IBM did in the 60's and 70's, and that is what Microsoft is doing now. Customers donıt want that kind of industry domination anymore, and at this point neither do we at IBM. That is why Java is different. Sun is leading it, but by design nobody really owns it.² A new world order could be emerging in the computer industry. Or not?
OıConnell, Michael. 'Java: The inside story,' SunWorld Online Feature. July, 1995. (URL: http://www.sun.com/sunworldonline/swol-07-1995/swol-07-java.html)
English, Jason. 'What is Java?', (URL: http://www.javasoft.com/)
Bank, David. 'The Java Saga', HotWired (URL: http://www.HotWired.com/)
Schilender, Brent. 'Sunıs Java: The Threat is Real', Fortune, November 1996.
Moon, Ken. 'Sun Microsystemsıs Java, An Introductory Look at the Net's Hottest All-New Super-Duper Thing'. 1995. (URL: http//www/online-magazine.com) Ritchey, Tim. Java! (Indianapolis: New Riders Publishing, 1995). Laudon, Kenneth and Laudon, Jane. Management Information Systems, Organization and Technology (New Jersey: Prentice-Hall, Inc, 1996).