Logo: TUG TORONTO USERS GROUP for Midrange Systems
TUG
e -server magazine

March 1997: Volume 12, Number 4


JAVA: WRITE ONCE, RUN EVERYWHERE

By Eli Javier



What is Java?

ava is an object-oriented language, designed by Sun Microsystems and released late 1995, based on the best of C++ and C. Java is designed to be portable across hardware platforms and operating systems, both at the source and binary object level.  Fig-1

Java is generally associated with a way to make Web pages jazzy or sexy, adding animation and sound into Web pages, but Java can also develop standalone applications. With the advent of the networked workstation (aka "thin client"), the potential of Java applications is increasing. The Java application or applet is created in two steps. First, the Java program or source code is compiled to generate "bytecodes" ( an intermediate binary format). Second, the bytecodes is executed by an interpreter which is part of the Java Virtual Machine (JVM).

Java is evolving and becoming known as the computing language paragon - the ideal model on which software developers can build applications, mission critical applications such as accounting, asset management, databases, human resources and sales, the bread and butter applications of most companies. The evolution is based upon the platform independence or portability of Java applications. The "Write Once, Run Everywhere" slogan refers to the fact that an application written is Java can be run on any hardware which has the Java Virtual Machine (JVM), and that the JVM is now licensed to hundreds of operating systems vendors systems including Microsoft for Windows.

Proclaiming platform-independence is a tall order for an any open development environment. To meet this claim, Sun requires all JVM licensees to meet the stringent Java Compatibility Test Suites to assure strict compliance with the Java specifications.

How Do Java Applications Work?

Java is different from typical workstation software applications, which take up megabytes on the hard disk of your PC.

Java applications, or applets, reside on the network in servers. The network delivers the application to your workstation on your request, since the applications or applets are so much smaller than conventional programs, they don't take long to download. With the latest version 1.1 of the Java Development Kit (JDK 1.1), JavaSoft (the Java software subsidiary of SUN) has added JAR (Java Archive), a platform-independent file format that aggregates many files into one, further improving the download speed. There are several real Java applications in existence.

For example, let's say that you want to check your banking records. You'd dial in to your bank and use your Web browser to log into the bank's system. The banking data will be sent to you along with the applet needed to view it. In fact there are a few Canadian firms which have implemented this type of application.

The question of security is usually asked about Java.

In terms of security, Java has built security checks with the JVM. The Java Security API incorporate both low-level and high-level security functionality into the Java applications. The security features include cryptography, key management and access control including APIs for digital signatures, "signed" classes and "trusted" applets.

Why Do Programmers Like Java? Why All the Fuss?

There are many reasons for all the hype about Java. First of all, there's the holy grail of programming. Java is one hundred percent portability and platform independence. As a programmer, I write this application once and I can port and run it anywhere. Java is also "hot" with respect to the explosion of the INTERNET. It's the first real web programming language and INTERNET programming is in demand. The JVM is small in terms of footprint and has built-in security features for safety of applications on the INTERNET. Java is simpler then C++ or C because there are no pointers nor memory management to worry about, and most bugs in programs are typically memory or pointer related. Therefore programming in Java is less error prone. Programmers claim they are more productive with Java, because they spend more time designing and developing and less time debugging.  Fig-2

That's all great but what about a non-C or C++ person, could an AS/400 RPG or Cobol developer learn Java ? Well, some C programmers can't figure out RPG !!! So I guess it depends on the individual, my personal experience is that Java is easy to learn as Cobol or Visual Basic.

Why Do Businesses Like Java?

Java has the ability to save companies money, and even increase revenue Java simplifies change management and version control of applications, simplifies the creation and installation of applications,therefore saving money. Java applications can be deployed without changes to any computing platform, again saving the costs of developing software for multiple platforms. Since the applications are managed on centralized servers, you eliminate the need to ship CD's or diskettes to update software.

Java also enhances the value of the new Network Stations which were designed to lower the cost of workstation hardware as well Java allows companies to keep their existing "legacy" computers and software. Java programs, once written, can run without modification on any kind of computer. The underlying operating system makes no difference. All is needed is the JVM. Because Java runs on the Windows, Macintosh, UNIX platforms, and soon AS/400 and S/390 , it provides the ability to "write once, run anywhere," giving Java the world's largest user base. There are software vendors that have ported and re-writing their products in Java such as Lotus's Notes and SmartSuite as well as Corel's Office.

What Are the AS/400 Plans for Java?

IBM has licensed the Java Development Kit from Sun, and is porting the JDK onto its system platforms such as S/390, OS/2 and OS/400. For the AS/400, the port is onto to RISC-based systems only (V3R6 and onwards). A beta version of the port is available today from the Web (ncc.hursley.ibm.com/javainfo/download/index.htm). This beta of run on IFS only. The beta is currently the JDK 1.02 version , with further ports of the latest 1.1 version planned in 1997. These betas will allows AS/400 programmers to learn and experiment with Java, prototyping applications before going to full production systems which will need faster performance than interpreted bytecodes.  Fig-3 IBM's next step is to implement Java natively on the AS/400. This implementation will focus on performance, so that the Java applications execute with speed.In addition, more Java enabled features (java classes) for affinity to the AS/400 are proposed such as DDM access, Java Database connectivity(JDBC) to DB2/400 , access to data queues and areas. These java classes will first be available for the client and later native AS/400 classes will run on the OS/400.

Along with the port of the JDK and native compiler on the AS/400, IBM will also delivering the VisualAge Java (VAJ) product which provides an "intelligent" development environment on OS/2, Windows 95 and NT. The execution platforms are all operating systems which have the JVM such as AS/400. VAJ has a rich set of tools such as the Visual Builder to create the graphical user interface of your java applications,as well as business logic with non-visual parts. Other tools included in VAJ are the Data Access Builder for database connectivity, a Proxy builder to help partition your java application between a client and server, and wizards or"SmartGuides" to help you develop in the IDE. These are just some highlighted features of VAJ, there is much much more.

Proposed VAJ features will incorporate more support for AS/400 specific classes such as DDM, subfiles, data queues and areas.

What is the Future of Java?

Only time will tell, but there is a definite customer and industry "pull" on Java. No single computer company is "pushing or controlling " Java. Since the release of the Java Development Kit (JDK 1.0) in January 1996, over 200,000 commercial developers is the estimated size of serious JAVA programmers. Compare this first year of Java to the ten years it took to reach an installed base of 400,000 Windows API developers.

There are predictions that Java is a threat to Microsoft and will replace Windows on the workstations. There are designs and plans for JAVA Chips (like Intel chips) to support more consumer devices like Web-based cellular phones run by Java applications on Java chips. Sun, IBM, and Compaq Computer, among others, established a $100 million venture-capital pool called the Java Fund to help seed startups.

Predicting the future is easy, getting it right is hard. If the past is any predictor of the future, based on the acceptance and explosion of Java in the last 24 months , then the future will evolve Java into a pervasive, universal computing tool with Java applications on most companies hardware servers. T < G