Java 400
Java 400
D.H.
ANDREWS
GROUP
September 1998
About D.H. Andrews Group
For 14 years, D.H. Andrews Group has been helping organizations make more effective use of computer
technology. Much of the consulting practice focuses on replacing older applications with newer and more
effective ones based on a mix of technologies including PCs, AS/400 systems, Unix computers, and main-
frames. D.H. Andrews Group has pioneered the development of management techniques to speed up the
implementation of improved applications.
D.H. Andrews Group helps organizations plan their use of information technology and then assists in the
implementation of new systems. We are also widely recognized for our clearly written computer industry
reports on current technologies including client/server, LANs, networks, Internet computing, and the IBM
AS/400.
Steven Aufderheide is Director of Research and Publications for D.H. Andrews Group. He has 32 years of
experience with the IBM Corporation in development, marketing, and strategy planning.
Maria DeGiglio is Publications Editor of D.H. Andrews Group. Maria has 13 years experience as an IT profes-
sional and has published frequently over the years.
Special thanks to Christopher Deakin of D.H. Andrews Group for his contribution.
David H. Andrews
Maria A. DeGiglio
Steven J. Aufderheide
Published by:
D.H. Andrews Group
700 West Johnson Avenue
Cheshire, CT 06410
(203) 271-1300
September 1998
September 1998 Perfect Together
Table of Contents
The information in this report is based on sources we believe to be reliable, but its accuracy, completeness,
and interpretation are not guaranteed. This report should not be relied on as a sole source of information or
opinion on the computing industry. D.H. Andrews Group does not assume responsibility for typographical
errors, and the opinions expressed in this report are subject to change without advance notice.
September 1998 Perfect Together
Millions of years ago a large asteroid struck the Gulf The impact of Java has been profound enough to
of Mexico. It ended the age of dinosaurs and changed make it a subject of interest to anyone who follows
life on Earth forever. In 1995 the world of informa- the evolution of information technology. What is not
tion technology was impacted in a similar way when obvious is the degree to which Java has become a
Java came hurtling out of cyberspace. critical issue for organizations that use IBM AS/400
servers. This is not surprising since Java is only
Even though it is still in its infancy, Java has beginning to catch on as a language and environ-
changed the agenda of the information age. Before ment for server-based applications.
Java, the world was a simpler place. Few people
believed that software portability was possible, the The goal of this report is to help people who have an
Web was an interesting way to link text documents, interest in IBMs AS/400 family of servers to under-
the phrase thin client did not exist, object technology stand the connection between the evolution of Java
was advancing at glacial speed, and software viruses and the future of AS/400. Beginning with OS/400
were frightening the wits out of everyone. V4R2, AS/400e servers can now be used to develop
or to run Java software. This is very important for
Javas first impact was to transform the Web from a application developers, especially RPG program-
place where text documents could be linked together mers, who should continue to watch this space. Java
into an exciting, interactive, multimedia experience. is more than another addition to the list of program-
Just as importantly, Java revived interest in the idea ming languages offered on AS/400e servers. It is not
of developing software that could be run on all types possible to understand how AS/400 is likely to evolve
of computers. The Unix movement made progress in without understanding Java and how the two interact.
this area, but it fell well short of the write once, run
anywhere goal that Java has set for the industry. People within the AS/400 community have different
levels of understanding of Java concepts and termi-
Javas most important contribution may be the way nology. The report therefore includes a section that
it has accelerated the adoption of object-oriented (OO) reviews basic Java history, terminology, and concepts.
programming. Java is an outgrowth of both the
Smalltalk and the C++ languages from which it The report is also designed to provide those interested
inherited its object-oriented structure and syntax, in Java with an understanding of the role AS/400e
respectively. Java developers did not invent OO. servers will play. People not familiar with AS/400
Their contribution has made OO a more practical are likely to be pleasantly surprised to discover the
and usable foundation for software development. natural affinity that it has for Java. It may also be
surprising to discover how much IBMs AS/400
Object-oriented programming is a fancy name for a Brand will contribute in the next few years to the
simple idea: create software by linking reusable Java movement. ◆
components together. There is little debate that, as
OO matures, it will revolutionize how software is
developed and will create a new era of productivity
and capability.
Executive Summary
Some people view Java as an asteroid from cyberspace A popular programming environment already
that slammed directly into Microsoft headquarters. acknowledged by a huge number of customers as
To the IBMers in Rochester, Minnesota, home of well as students and IT academics.
AS/400, Java is something that fell from heaven.
The rapid rise in popularity of client/server comput-
The arrival of Java in 1995 was welcome because it ing put AS/400 in a quandary. The client/server
provided solutions to many of the most pressing model moved the application to the clientand
problems that AS/400 developers were struggling to away from the server. As a result, many new appli-
solve at that point. AS/400 began life in 1988 as the cations that featured enticing graphical interfaces
last great proprietary minicomputer. It was so running on PC workstations became available on
successful that by the early 1990s AS/400 had helped Unix and PC server-based systems before AS/400.
drive the DEC VAX, Wang VS, and other minicom- Java offers AS/400 the opportunity not to just catch
puters out of the market. up, but to retake the position of technology leader-
ship it enjoyed ten years ago.
The original AS/400 had its own unique program-
ming environment built around the RPG language. Java brings client/server computing to a higher
Most of the large library of applications had been level. The graphical interfaces that are the major
specially designed for AS/400. Over time, however, advantage of client/server remain, while a number
software developers and customers became increas- of the drawbacks diminish. Client/server computing
ingly interested in open software based on Unix requires complex and difficult-to-support PC work-
standards. They also wanted applications with stations. With Java, the end-user device does not
graphical interfaces. IBM needed to find a way to have to be a full-function PC loaded with a mass of
transform AS/400 into an open, client/server system software products.
without losing its unique appeal.
Because of Java, the client/server tables have been
Java provides simple solutions to many of the turned. Thin clients (network computers), with
challenges the redesign of AS/400 created. Specifi- Java-enabled browsers, now have the opportunity to
cally, Java has the potential to provide AS/400 with: replace the fat PC desktop. This has forced PC
A leading-edge programming environment. hardware and software vendors to focus attention on
A new wave of advanced web-based applications making their products easier to support and less
and tools. difficult to install and maintain.
A mechanism to deliver graphical user interfaces.
Unassailable openness. Java was originally invented for the consumer
A way to continue using existing RPG and Cobol electronics industry to distribute intelligence through
applications while eventually converting them to on-board microprocessors in everyday devices. Much
Java.
Executive Summary
of the initial excitement of Java came from the way that controls each AS/400 is created in two layers.
it enhanced web pages. In a short period of time, The lower layer, called System Licensed Internal
Java has evolved to become the leading language to Code or SLIC, contains all the logic that is depen-
use as software is rewritten to take full advantage of dent on the specific characteristics of the hardware
networked environments. being used. The upper layer, called OS/400, inter-
faces with SLIC through TIMI.
In addition, the Java movement can take credit for
changing many of Microsofts plans. In direct response Java is based on exactly the same concept, but with
to Java, Microsoft has launched a variety of initia- different terms used to describe how it works. In the
tives designed to make Windows-based PCs easier to case of Java, the term bytecode is used to describe
live with, including Zero Administration Windows, the the high-level interface that the higher level Java
NetPC concept, Windows Based Terminals, and language uses to communicate the functions it wants
Terminal Server. Java has also become the rallying the hardware to perform. A lower level of software
point for a coalition of major vendors whose only called the Java Virtual Machine (JVM) translates
common interest is to limit Microsofts control of bytecode into hardware instructions. This structure
software standards. Microsoft likes to derisively allows Java programs to run on a wide variety of
refer to this group as NOISE (Netscape, Oracle, computers.
IBM, and Sun). Gartner Group calls them the
Vendors Against Microsoft (VAM). The affinity between Java and AS/400 is not limited
to this design similarity. AS/400 evolved from the
Because of Java, there is no longer a tendency to same design concept as the System/38. The original
assume that Microsoft will forever control the AS/400 was the second generation of the S/38 and,
standards by which software will be developed. as such, has been a pioneer in object technology for
Some observers have gone overboard and gleefully over twenty years, using object concepts from its
speculated about the extent to which Java will inception. Everything on AS/400 is an object, and
disrupt the Microsoft business model and create a AS/400 recognizes that only certain operations are
new era of openness and freedom. Java will not valid for each type of object. For example, an opera-
drive Bill Gates into a subsidized housing project. tion that can be performed on a database object may
not be allowed on a print file object.
Executive Summary
Executive Summary
garbage collection. This is a cute name for a serious Unlike C++, Java is a language that supports the
problem. The Java language does not ask program- same object restriction construct that was built into
mers to tell the system when a specific object, which AS/400. Java does not allow pointer manipulation. It
has been invoked, is no longer needed. Gradually, reduces the possibility of errors that could poten-
memory becomes filled with objects that are not being tially bring down not only the errant application but
accessed. It is the job of the JVM to periodically any other application that it impacts. Javas built-in
determine which objects can safely be removed. The security provides a good programming environment
specification provided by JavaSoft does not say for building business-critical applications.
exactly how this is to be done.
Because of its natural affinity with Java and the
The JavaSoft JVM will periodically halt all concur- innovative JVM created for it by Rochester engineers,
rent threads in order for the system to perform AS/400 is becoming firmly established as a leading
garbage collection. While this happens, no new Java server.
objects can be created. After garbage collection is
completed, the threads restart. In a multiprocessor
environment, garbage collection brings the proces- Developing AS/400 Java Applications
sors to a complete standstill. This not only impacts
performance, but it demonstrates that this approach One of the best things about Java is that an applica-
does not scale well. tion can be developed on any type of computer and
then run on any other type of computeras long as
The unique AS/400 JVM garbage collection approach that computer has a JVM. Java applications that
is based on the theoretical work of two computer will eventually be run on AS/400s can be created on
scientists from France. Developers in Rochester, a PC, NT, Unix workstation, or even on a mainframe.
therefore, are fond of calling their approach the Because of this, IBM is making it attractive to use
French Collection. This approach is concurrent, AS/400 as both the application development and
meaning that it allows other threads to participate deployment system for Java.
in identifying objects that may be collected. Because
all threads contribute in performing garbage collec- Java software that is going to be run repeatedly on
tion in the AS/400 environment, the process of an AS/400 server can be translated from bytecode
creating new objects does not have to be halted. This into native machine instructions once and then stored
allows AS/400 Java servers to perform better with in that format. This process is really a form of direct
larger workloads than those servers using the execution or static compilation and can significantly
garbage collection approach included within the improve performance.
JavaSoft JVM.
In order to support Java, a computer must offer both
Java has demonstrated its superiority over OO a standard JVM and include a group of standard
languages like C++ and has enhanced the AS/400 Java components that follow a JavaSoft specification
value proposition. This is not only because of gar- called the Java Development Kit (JDK). Every few
bage collection, but also because of the way both months JavaSoft adds enhancements to the JDK.
Java and AS/400 handle pointers. The most current version as of September 1998 is
JDK 1.1.6. As with the JVM, computer vendors can
Java has made having a high-level interface and no either convert the standard JavaSoft version of
direct access to instruction pointers a feature. This these components, or they can develop their own.
feature has made Java both network and server safe.
Executive Summary
A number of vendors offer Java Integrated Develop- Transforming AS/400 into a Java server will extend
ment Environments (IDE). These are suites of the already powerful value proposition of AS/400.
software products that help developers write visual IBMs challenge will be to retain AS/400s traditional
and graphical Java code, compile it into bytecode, strengths, maintain continuity with the past, be
test and debug, and interface with other software different when it makes sense, and give up the
such as database management systems, transaction freedom to make the programming environment
monitors, security systems, and printer subsystems. proprietary. AS/400 already started down this path
Some of these suites as well as the IBM VisualAge by adopting Unix standards: the C and C++ lan-
family of products are discussed in a later section of guages, TCP/IP, a Unix file system, and most of the
this report. programming interfaces defined by the X/Open
standards group. These changes, however, were
options designed to facilitate the conversion of
The Implications of Java on AS/400 packaged applications written for other computers.
Java is more than just another AS/400 programming Executives at IBM have publicly stated that while
language. It has the potential to change the nature RPG will continue to be important for years, Java is
of AS/400 itself. Much of the traditional strength of considered to be the AS/400 application development
AS/400 came because of its differences from other environment of the futurethe new RPG. IBM
servers, which included: realizes that it, too, does not have a choiceexcept
A unique programming environment. to make Java successful.
Many AS/400-specific applications.
A fully integrated systemfunctions provided by Making Java the preferred development environ-
third-party middleware on other computers were ment is a more fundamental change. The A in
baked into OS/400 (e.g., database, transaction AS/400 stands for Application and implies that it
processing, and security). offers applications not available elsewhere. Becoming
Java oriented means featuring software that behaves
Java is not something that AS/400 users need to deal with • Upgrade to OS/400 V4R2 or V4R3 as soon as practi-
instantly. Over time, Java will greatly change AS/400. The cal. If your AS/400 is already a RISC processor, this
near-term impact will largely be to enhance the image of makes sense because V4 improves RISC performance
AS/400. This provides time for the reader to develop a bet- greatly.
ter understanding of Java and to make plans for taking ad- • Follow Java in the trade journals, read Java-related
vantage of the benefits that will come. books, take Java training courses, and go to Java ses-
sions at events such as COMMON.
Specific things AS/400-oriented computer professionals • Ask what your current software vendors are doing about
might want to do in the near term include: Java.
• Visit the AS/400 and Java website and other websites • Follow the progress of IBM SanFrancisco.
dedicated to Java. • Begin to experiment with Java and associated tools—
• Obtain some of the large amount of available Java especially as an alternative to Visual Basic—for creat-
freeware. For example, jCentral is one of the Internet’s ing graphical client applications.
most comprehensive search engines for Java develop-
ers. It helps them find the specific Java resources they These and other suggestions are expanded upon in
require to develop and deploy Java solutions by lever- “Appendix: Where to Go from Here.” ◆
aging the resources of the global online Java community.
Executive Summary
the same way functionally on all servers. As exam- Cost. For most of its history, AS/400 hardware
ined in the following section, Java servers will compete has tended to sell at a premium versus Unix or
on other factors besides the availability of applica- Intel alternatives. That premium has largely
tions. This will be a different form of competition disappeared at the low end with the new AS/400e
than that which AS/400 encountered early in its life. server 170 models and will likely diminish soon at
the high end. AS/400e is likely to be a highly cost-
In mid-1997, IBM started to call its newest models effective Java application server as a result of the
AS/400e systems. The lower case e was meant to built-in JVM.
focus attention on AS/400s electronic business Scalability. The unique AS/400 architecture
capabilities. e-business is the umbrella term IBM especially its memory designand the advanced
uses for the ability to not only conduct buying and approach to garbage collection included in the
selling transactionse-commerceover the Inter- integrated JVM allows AS/400e to handle very
net, but to enable businesses to run their procedures, large Java application workloads. It could be
work flow, and business-critical applications elec- many years before NT-based Java servers can
tronically in a networked environment. scale nearly as well. It is therefore possible that
AS/400e will offer the best Java server scalability
The e could also stand for the amount of evolution in the industry.
that AS/400 has gone through over the past five Availability. The high quality of OS/400 has made
years. The net result of these evolutionary changes AS/400 a leader in reliability for many years.
is a server capable of competing in ways that earlier Recent enhancements are making AS/400e competi-
AS/400 systems could not. tive in situations where nearly continuous avail-
ability is needed.
Security. One of the strongest competitive advan-
Can AS/400e Be a Great Java Server? tages of AS/400 has always been its security model.
No viruses have ever been reported on AS/400
With Java, the basic rules for selecting servers are servers. The combination of both Javas and AS/400s
changing. If Java becomes the standard server inherent security capability could create a server
language, then all popular servers can be evaluated that is more resistant to attack than anything else.
for their unique strengths and capabilities because Ease of Operation. Other types of servers cannot
applications will be capable of being ported from one match the ease with which AS/400e servers can
server to another. Assuming this is likely to occur be installed and operated. This advantage comes
over time, it is useful to evaluate how competitive from a combination of the fully integrated system
AS/400e servers will tend to be in the era of Java software that is preloaded on AS/400e hardware
server applications. before it ships. Until recently, operators used to
manage AS/400s with outdated green-screen
The server characteristics that are likely to be the monitors. Now, new graphical user interface (GUI)
most important, once application functionality is the screens are finally available via AS/400s Opera-
same, are examined below: tions Navigator.
Performance. Until very recently, AS/400 perfor- Technical support. The most serious problem
mance has tended to be slower when compared to many server buyers face is obtaining the technical
other servers. Performance has now changed from talent needed to keep systems operational. The
a weakness to an advantage with recent AS/400e high degree of system software integration tends
enhancements. A key reason is the new Northstar to make AS/400e servers require less of this
64-bit PowerPC processor. precious resource.
Executive Summary
Physical design. Over the years, AS/400 hardware believers and success stories. As a result, the momen-
has tended to be attractive, functional, compact, tum will be hard to stop.
and energy efficient. Advanced features often become
available first on AS/400 before other servers. For Java, along with JavaScript, is firmly established as
example, AS/400e server models are the first to a key language for embedding program logic within
offer hardware-enabled disk compression. web pages. It is becoming increasingly popular as a
Serviceability. IBM AS/400 service and support language for developing software that runs on PCs
are still superior to those offered by other leading or other clients in a network. In this role, it is slowly
hardware and software vendors in the industry. taking the place of Visual Basic as the trendy
language for creating graphical applications because
It is too early to tell exactly how the market for Java of its ability to support application development on
servers will evolve. The above analysis is not meant clients other than Microsoft, including Network
to conclude that AS/400e is certain to dominate, but Station, Apple, Unix, OS/2, etc.
rather to make clear that there is every reason to
believetodaythat AS/400e will be highly com- The immaturity of Java is most evident when it is
petitive. If IBM does an effective job of engineering used as a language for developing server-based
and marketing, it is certainly possible that AS/400 software. It is currently possible to do so, but the
will emerge as the leading Java server. It is, how- effort required can outweigh the advantages.
ever, much too early to pick winners and losers.
As an object-oriented language, Java is at its best
when developers can rely on a comprehensive library
Java TodayIf Its So Great, Why Isnt Everyone of existing software components as a starting point
Using It? for development. The specifications for the necessary
building blocks have started to emerge, but the
Nothing quite like Java has ever happened before. software itself is not yet mature. The most impor-
In the already fast moving world of information tant of these efforts is called Enterprise JavaBeans
technology, Java has helped further accelerate the (EJB), a collection of Java components that will
rate of change. At the same time, Java is both greatly simplify the process of creating serious
amazingly advancedfor so new a development transaction processing systems.
and immature.
Another serious problem that Java currently faces is
A brief summary of the state of Javas evolution is in the computing resources needed to run programs.
order. Java is like most three-year olds: energeti- There are two major reasons why Java can be a
cally wobbling around on unsure legs, highly preco- resource hog. First, as an application runs, the JVM
cious, able to do something new almost every day, is designed to translate bytecode into machine code
and likely to make you feel good about the future. one instruction at a time. This technique tends to be
Java can also make a mess of things and needs slow. Second, OO languages are usually slower than
constant attention. procedural languages because of the inherent
overhead of objects.
In spite of its imperfections, Java is retaining a high
level of mindshare in the industry. Vendor invest- A massive effort is underway to reduce the Java
ment in solving Java problems continues to grow performance penalty. Progress is being made at a
along with a steady increase in the number of rapid rate, but performance will most likely continue
to be an issue into 2000.
Executive Summary
Other current Java problems include the need for Encouraging server-centric computingsome-
additional standards, scalability, limited availability thing the AS/400 does well.
of tools and building blocks, and reliability. As
discussed later in the report, these problems will Java has thus become a cornerstone of IBMs ongoing
also diminish in importance over the coming two years. strategy to evolve and revitalize AS/400. Gaining
recognition as a leading Java server could increase
AS/400 mindshare. In recent years, AS/400 has too
Summary often been written off as an interesting niche prod-
uct of limited importance to those that do not
Java and AS/400 were meant for each other. Each already own and understand it.
can help the other to be more successful. While Java
was invented by Sun Microsystems and still is IBM took a large risk by developing a custom AS/400
largely under its control, IBM has quietly become a JVM. Early indications are that the gamble is
major force in the evolution of Java. More talent and paying off in improved performance and cost effec-
funds are focused on Java within IBM than any tiveness. The potential downside is that having a
other organizationincluding Sun. custom JVM may occasionally mean being a few
months late to market with the newest features. ◆
Each of IBMs four server platforms now supports
Java. At the moment, however, it appears that more
resources are focused on making AS/400e the leading
Java server. This makes sense since Java has the
potential to have the greatest impact on AS/400
sales versus other IBM servers.
Java Basics
The continuing evolution of Java is one of the most other widely used devices. One by one the technical
fascinating and important things happening in the challenges this problem presented were dealt with.
field of information technology. This section of the When the dust settled, it was obvious that Java had
report will attempt to put the history of Java in a far broader application than originally planned.
perspective, list current issues, explain key concepts,
and take some of the mystery out of the subject. The original idea was not to create a new language,
but to make modest enhancements to C++the
Dont feel ashamed if the esoteric world of Java and most popular language for developing object-ori-
object-oriented programming technology seems ented applications. C++ allows programmers to
confusing. Few people with real jobs have the time interface with a computer and its system software at
and energy to keep up with this fast moving technol- a very low level. This makes it a good language for
ogy. Much of the information presented in this section creating machine-efficient code, but also puts a
will not be new to many readers. Even for them, heavy burden on programmers who must carefully
however, a brief review of the basics might help to manage what is happening in the computers
put the rest of the report in context. memory. It is all too easy for C++ programmers to
make mistakes; so rigorous testing is demanded.
Java Basics
Since there were many types of microprocessors heads, clickable maps, animated graphics, forms to
being embedded in products, an early goal of Java be filled out, and much more. Java rapidly became
was to allow the same program to run effectively in the most popular language for adding program logic
different devices. The way this was accomplished to web pages. Today, it is rare to find a home page
was to include special middleware within each on a popular site that does not make some use of Java.
device that would translate an intermediate version
of Java code into machine instructions. This middle- The universal acceptance of bytecode and the JVM
ware is called the Java Virtual Machine or JVM. as standards has created an interesting opportunity.
There is no reason why the compilers of other
Java was the first computer language developed computer languages and even high-level code
with networking in mind. It was assumed that generators cannot provide their output as Java
programs written in Java would need to run on a bytecodes. Java the language is therefore not the
large number of different types of remote devices only beneficiary of the Java environment it has
that were connected to each other through a commu- created. Synon Obsydian is one of the first of many
nications network. It was therefore decided that tools that will offer the option of bytecode output.
Java programs would be translated into an interme- The IBM Toronto labs are also exploring the possi-
diate form, called bytecode, that could efficiently be bility of creating a version of RPG that will produce
sent across a network. Java bytecode.
Programs written in Java are therefore compiled As a network-oriented language, Java has had to
into bytecode and then sent to the devices that will deal with security. The creators of Java knew that it
run them. Within the device is an embedded JVM would have to be virtually impossible for code
that manages program execution. This design is containing viruses to be sent to remote devices.
elegant, but it has one drawback: interpreting Therefore, Java limits what applets can doespe-
bytecode on the fly tends to be less efficient than the cially their ability to access permanent data files on
alternative of running code that is compiled into remote computers. This limits the ability of any
native instructions for each specific processor. As virus embedded within a Java applet to cause
computing evolves, new advances tend to trade damage. Limiting the use of local disk drives encour-
improved functionality for performance. Therefore, ages the design of software that is server-centric
this does not appear to be a fatal flaw. since servers must be the place where data is stored
permanently. By reducing the need for fat clients,
Java was developed at the same time as the Internet server-centric software opens the door for thin
was becoming popular. These two precocious chil- clients (network computers).
dren, growing up together, have become inseparable.
Java provided an ideal complement to the notion of The desire to develop better web pages created a
web browsing. Soon, all the popular browsers strong demand for Java skills. The first wave of
included a JVM. Standards for including Java people who learned Java tended to come from the
bytecode within web pages were created. Java C++ and Visual Basic community. Many of them fell
programs that are embedded within web pages and in love with the language that made object-oriented
run in a browser are called applets. programming easier than ever. Word spread rapidly
through the Web itself that Java was wonderful, and
Applets have instantly changed the nature of the the momentum began to build. Soon universities
web experience. A boring page of text suddenly could began to offer Java courses, and store shelves were
contain anything programmers dreamed up: bouncing crammed with new Java books.
Java Basics
Javas Role in the Object Technology Revolution Reduce the elapsed time needed to build software.
Increase software reliability.
The software surrounding us has become so sophisti-
cated that many people were not all that surprised The OO movement has seemed poised to deliver
when an IBM computer was able to defeat the world dramatic results for most of the past decade. Progress
chess champion. We also readily accept that it is has been steady, but there has always been a new
now possible to send electronic documents all hurdle to overcome. While victory is not yet com-
around the world and to gather information on plete, the achievement of many key goals is now in
almost any subject within minutes through the Web. sight. Many of the recent breakthroughs have
The body of hardware, software, and communica- revolved around the evolution of Java.
tions technology that makes this possible is incred-
ibly complex, but we are able to use it without Java did not begin as an effort to solve OO technol-
understanding how it all works. ogy problems. As improvements to C++ were formu-
lated, they helped to unleash much of the potential
Highly complex systems are usually designed as a that C++ always had. Even though Java needs to
series of independent modules. Each module inter- mature further before it can fully replace C++, it has
acts with other modules through interfaces that hide become a rallying point for the object technology
the complexity of what is going on elsewhere. movement.
Java Basics
(COM). As enhancements have been added, new Developers who want to build software out of
names have continually been added to the Microsoft reusable components currently face a serious di-
object technology vocabulary (COM plus, ActiveX). lemma. The most complete library of components
Distributed Component Object Model (DCOM) is the follow the Microsoft COM model. Software written
Microsoft alternative to the CORBA standard. using this model has the advantage of integrating
well with Microsoft products and other Windows-
The latest step in the evolution of Microsofts based applications.
software component plan is called Distributed
Network Architecture (DNA). DNA is actually the Unfortunately, the resulting software will only run
umbrella term for a collection of Microsoft technolo- under one of the Microsoft Windows 32-bit operating
gies. They include COM, DCOM, and Microsoft systems. Purists feel that the Microsoft approach to
Transaction Server (MTS). While MTS is a low-level OO is less advanced than that advocated by the
transaction server, DNA is essentially the equiva- OMG. Microsofts advantage wont last forever given
lent of JavaSofts Enterprise JavaBeans (EJB) the effort being put into the creation of reusable
initiative. Like EJB, DNA is a set of reusable build- Java componentsJavaBeans and Enterprise
ing blocks or middleware components that will help JavaBeans.
build server-side Java applications.
It was big news when WebLogic became the first vendor • Leverage their current investment and aid in modern-
in the industry to offer an implementation of Enterprise izing existing and critical RPG and Cobol applications
JavaBeans (EJB). The EJB specification, originally devel- • Specify the graphical interface—the client portion of the
oped by IBM, was released this past March. WebLogic application—within HTML as a Java applet.
seized the initiative and in June 1998 announced Tengah • Package business logic into EJBs, which are easily
Release 3.1, which is the first product to support Enter- deployed anywhere on the network and can be reused.
prise JavaBeans 1.0. Since then, WebLogic has begun
working with Intel, Hewlett-Packard, Microsoft, and IBM. “Tengah 3.1, optimized for AS/400,” says Scott Dietzen,
V.P. of Marketing for WebLogic, “will open up its Java ex-
WebLogic has certified Tengah on AS/400 and made ecution environment because AS/400 won’t have to face
Tengah available to coincide with the September 1998 the middleware nightmare.” In addition, EJB on AS/400
announcement of V4R3. The ramifications of certifying will attract three key constituencies:
Tengah—EJB—for AS/400 are far reaching and the key to • The current AS/400 ISV market because EJB opens
AS/400’s future success as the best-of-breed Java server. up the existing system and makes it extensible and
As the focus on deploying Java shifts from the client-side interoperable over a large network.
to the server-side, the need for middleware to aid in the • ISVs that do not currently develop applications for
distribution of new applications and existing business ap- AS/400 (e.g., many of WebLogic’s ISVs) and would like
plications, which are wrappered, over the Internet and in- to sell their applications on that platform.
tranets has become vitally important. EJB provides Java • Application developers who can now leverage the power of
server application developers with a rich and robust Java to extend their applications over the Internet.
runtime.
As Dietzen warns, “Time is of the essence in the Java
Enterprise JavaBeans will allow AS/400 developers to: community, and there is a need to support the rich value
• Take advantage of rapid application development (RAD) proposition across the non-Microsoft community. The ad-
without sacrificing productivity, performance, and man- vent of EJB on AS/400 will allow AS/400 to compete on a
ageability. level playing field.” AS/400 is primed to be the number
• Easily partition applications into graphical user inter- one Java server—second place is not an option. ◆
faces and business logic.
Java Basics
Who Owns and Controls Java? middleware functions necessary to create server-
based applications.
Sun Microsystems invented Java and still retains
control over its evolution through a subsidiary, The specification for EJB has been approved, and
JavaSoft. Vendors who wish to create Java-oriented the first of what is likely to be many implementa-
products must obtain a license from JavaSoft and tions is now available. Much of the design of EJB
adhere to the associated agreement. Vendors who came out of IBM. In the spirit of open standards, IBM
have made Java a critical part of their own strategy offered its design to JavaSoft for approval as an
especially IBM, Oracle, and Netscapewant official Java standard.
JavaSoft to relinquish some control of the Java
standards to an independent body. So far, JavaSoft Another initiative launched by JavaSoft that will
has not been inclined to do so. improve Java performance is called HotSpot.
HotSpots are frequently used Java classes that are
The standards that JavaSoft maintains include the compiled in a just-in-time manner. Often in a
Java Development Kit (JDK), the Java Virtual program, the same source code will be used over and
Machine (JVM), and specifications for the design of over. In Java, thresholds for calls to these frequently
JavaBeans and Enterprise JavaBeans. The JDK used objectscalled classesare identified in the
includes specifications for Java compilers, related JVM. When a program exceeds the threshold of calls
program development aids, and a set of Java pro- to a particular piece of code, the JVM uses a tech-
grams that are needed to create a Java program- nique called inlining. Instead of repeatedly going
ming environment on any computer that will be through all the steps to load the code, the JVM will
used for Java development. take a short cut and inline directly to it without all
the intermediate steps. This saves both time and
JavaBeans is a standard for the creation of reusable resources.
components. It is focused on, but not limited to, the
design of graphical components for client computers
that can be linked together using visual development The Status of Java Today
aids. A JavaBean could be something as simple as
an object that creates pull-down lists, moves the Java continues to be the most widely used language
screen pointer in response to the movement of a for adding programming logic to web pages. Soft-
mouse, or implements the scroll feature. At the ware developers can make the assumption that
other extreme, a JavaBean can be a highly sophisti- every type of computer now offers a JVM and that
cated application such as a calendar management there will be one within all popular browsers. Java
system or word processor. Thousands of JavaBeans is rapidly gaining ground on languages, such as
have already been created by a wide variety of Visual Basic, as a means of creating graphical PC
software developers. applications.
A second specification has been written for the By most estimates, there are over 700,000 trained
creation of the components needed on server com- Java programmers. More people appear to be
puters. These components are needed to handle learning Java than any other programming languages
functions such as managing the flow of transactions, including C, C++, VB, Cobol, and RPG. Colleges and
access to databases, and memory management. This training schools are rapidly adding Java courses.
specification is called Enterprise JavaBeans (EJB).
These server components (or Beans) perform the
Java Basics
One of the most important reasons for Javas success that it is the safer choice. Others would prefer a
is that programmers enjoy using it. With program- more open model but are reluctant to move toward
ming skills in such short supply worldwide, Java has a Java until it is more mature. Much of the success of
huge advantage because it is the language that a Java will hinge on the ability to move the Microsoft
rapidly growing number of programmers want to loyalists, and those that are waiting on the sidelines,
learn. Those that know Java as well as other pro- toward Java in the future.
gramming languages usually have a strong prefer-
ence for Java. This puts pressure on employers to In recognition of the importance of attracting NT-
make as much use of Java as possible. centric developers to Java, a group of vendors
including IBM, Netscape, and Sun have recently
At the moment, the main role for server-side Java is formed several Solution Partnership Centers
the execution of servlets. This is Java jargon for throughout the world in the US, Europe, Latin
programs that are executed on the server. While America, China, Australia, and India. These centers
applets are programs that get downloaded to a Java- focus on helping solution developers port their
enabled client, servlets are code that runs on an applications from one Java environment to another.
HTTP server. An example of this is a simple query These include AS/400 and other IBM server and
that is launched from a browser. The servlet accesses software platforms as well as Unix and NT.
a relational database on the server, formats the
results, and only sends the necessary datausually
a small amountback to the client. What Is Currently Wrong with Java
Java is not yet being widely used to create commer- The world of Java is not yet a perfect place. A
cial grade business applications on servers. Until number of technical problems still need resolution.
EJB components are widely available, the effort The more pressing problems fall into the following
required to do so will be too high for most organiza- categories:
tions. The use of Java for the creation of server Performance. At the moment, Java requires
applications will also likely increase as the number substantially more computing power than other
and sophistication of components that follow the languages. The performance penalty will diminish
EJB standards increase. IBM SanFrancisco is the greatly over time but will not go completely away.
most ambitious effort at the moment to offer Java This issue is discussed in more detail later.
components that will further simplify the creation of Scalability: The way that the current release of
server-based applications. Java handles record locking and synchronization
results in poor utilization within symmetrical
The ISVs that create packaged software are still multiprocessor (SMP) configurations. This means
doing most of their development in C and C++. that currently many Java servers would choke
Many are starting to experiment with Java. A high under a heavy workload. AS/400 tends to have
percentage of ISVs anticipate making increasing use less of a problem in this area versus other servers
of JavaBeans when they become more readily because it does a solid job of making the non-
available. contention path a lot faster. When AS/400 does
encounter contention, there are mechanisms
A number of key developers use the Microsoft within SLIC that improve utilization within the
Component Object Model (COM) as the foundation SMPs. Newer releases of the AS/400 JVM will
for current development efforts. In some cases, there continue to improve scalability.
is a strong feeling of loyalty to Microsoft or a belief
Java Basics
Integrity and reliability. Applications frequently office suite or can be integrated with other software
need to run in their own JVMs to prevent un- to form more sophisticated applications. For example,
wanted interactions or cross-talk that can lead to software developers that want to include word
unpredictable results and crashes. This problem processing and spreadsheet functions within appli-
emerges in many current JVM implementations cations can obtain eSuite and incorporate any or all
because a multiuser capability was not built into of it within their applications.
JavaSofts JVM specification.
Memory management. Memory management is
not sophisticated in Java when compared to more The Performance Issue
mature languages. Because Java programs tend
to require a great deal of memory space, this can Application performance remains the key near-term
be a serious resource issue. weakness of Java. Improving performance has
Availability of tools. The number of development therefore become the focus of an intense effort by
tools and code generators that support Java on many organizations. The problem is likely to dimin-
AS/400 is rapidly increasing. It is still not as ish gradually as a result of:
numerous as those that support NT, Unix, and Better memory management.
other environments. Improved garbage collection algorithms.
Availability of Beans. As an OO language, Java HotSpot technology from JavaSoft.
will have its greatest appeal when developers Faster and more efficient processors.
have lots of high-quality components available for A true Java runtime environment.
reuse. The standards for the creation of these Just-in-time compilation for applets.
components (a.k.a. Beans) already exist, but a Precompiled server code.
much wider selection of working Beans to choose New middleware.
from is badly needed. More tools are also needed
to help programmers select which Beans to use. Performance always matters, but the history of
The skill shortage. This is a pervasive problem computing shows that every important new advance
throughout the industry and will continue to be in software technology imposes a performance penalty.
one for years to come. Even though many schools Examples are endless: Cobol versus assembler
are teaching Java, the difficulty that procedural language, client/server versus green screen. (SAP R3
programmers have when learning OO concepts client/server applications are usually worse perform-
will make the skill shortage hard to fix. ers, by a factor of 10, than the older applications
Low-end network computers. Network computers they replace). Java only needs to get close to succeed,
and other thin clients may not have enough memory not to exactly match C++ or any other alternative.
or processing power to effectively handle Java
applications. As the amount of power available in It may prove easier to fix the server performance
these devices increases, the problem will diminish. problem because, in general, server Java can be pre-
However, in the near term, it remains an issue. compiled. A great deal of development effort is going
on within IBM to help reduce the Java performance
As a result of these problems, only a few serious penalty. Given the investment of time, money, and
business application packages have been written in talent, there is every reason to believe that this
Java. Lotus eSuite is one of the only available issue will melt away quickly over time.
examples. eSuite is perhaps the most ambitious
Java-based product available today. This highly
integrated group of Java applets can be used as a PC
Java Basics
Java seems to frighten Microsoft. While at times The question is not whether Java will be successful,
Microsoft can seem paranoid, this time there ap- but rather will it live up to the promise of write
pears to be a basis for concern. It does not help that once, run anywhere. With four Snow Whites (Sun,
so many industry observers engage in gleeful IBM, Oracle, and Netscape) and lots of Dwarfs
speculation about Javas potential to ruin Microsofts working hard to make it succeed, it is hard to
ability to control software standards. dismiss the dream of a universal language.
Most PCs run under Windows, which gives Microsoft Even if Java gains a stronger level of approval in the
the ability to dictate the de facto standards for PC industry, it is possible that market forces and the
software. Microsoft can extend this control beyond strength of the opposition will keep Java from becoming
PCs into servers if NT becomes the leading server the unifying force that its advocates want it to be.
operating system. If NT becomes dominant, it will be The best guess is thus that Java will become a widely
less attractive to develop software for other servers used, but somewhat imperfect, standard for software
(Unix, AS/400, or S/390). development. It will be imperfect in that some
adaptation will likely be needed for it to run effec-
Java has disrupted the orderly world that Microsoft tively on different types of computers. ISVs will
hopes to create. As a programming language, Java is probably design their applications for portability and
not a threat. It is the JVM and JDK standards that implement them for performance. This means that
concern Microsoft. If the software development some percentage of an ISV application will be portable
community accepts them as the foundation around with the remaining portion tuned for the server
which products are designed, then the operating platform on which it is implemented. It is even likely
system ceases to represent the critical interface. The that developers will write several server-specific JVMs.
obvious Microsoft strategy is to attempt to make
Java into just another language that follows standards So much is at stake that some form of compromise
they control. between the Java advocates and Microsoft is likely.
It is too early to speculate intelligently on the
Vendors who want to use Java technology must pay possible terms of a peace accord, but it is reasonable
a license fee to JavaSoft and sign a contract that to believe that some formula exists with which all
restricts how it can be used. The most important parties can live.
provisions prohibit making unapproved enhance-
ments that would make programs written in one There are numerous unsolved problems with Java
version of Java incompatible with the standard. today, and its future success will depend on how and
when they are resolved. It is reasonable to expect
In October of 1997, Sun sued Microsoft for alleged rapid progress because:
violation of the license agreement after Microsoft The problems all appear solvable given enough
released its own JDK with enhancements that time and money.
would allow the resulting programs to only run Progress to date has been faster than anything
under Windows. The suit has not been resolved, but that has come before.
its outcome could have a major impact on the Java A significant percentage of the available talent in
movementespecially if Microsoft prevails. the industry is directed toward making Java
succeed. ◆
Java became available on AS/400e servers in Febru- Java encourages the moving of processing and
ary 1998. On the surface this news did not seem very storage from clients to servers. A world full of
important. The AS/400 community never strongly large servers appeals greatly to the leading server
embraced any of the other standard languages vendor.
added in the past. With the exception of package Object technology is complex and processor
developers, who now write in C or C++, RPG contin- intensive. This increases demand for hardware
ues to be the most popular AS/400 language. It did and software. Java is the main force propelling
not seem like a big deal that it was now possible to the OO movement forward.
run Java under OS/400 V4R2although many Java and OO can dramatically speed up applica-
organizations have not yet upgraded to this release tion development. New applications drive demand
of OS/400. for everything IBM sells including hardware,
software, networking products, and services.
Appearances can be deceiving. The arrival of Java Java is helping turn the Web into a new multime-
may turn out to be one of the most important dia communications medium. This also creates
developments ever for AS/400. The Executive endless opportunity for IBMespecially with its
Summary outlined some of the key reasons why the focus on e-business.
Java-AS/400 combination has the potential to be so
powerful. This section of the report will examine IBM also seems pleased at the thought that Java
that combination in more detail after first looking at could limit Microsofts ability to control software
why IBM itself is investing so heavily in Java. standards. This is more of a delicious side benefit
rather than the main motivation.
IBM and Java The money and talent being invested in Java-related
activities within IBM is greater than that of Sun or
Sun Microsystems rightfully gets the credit for any other vendor. Specific Java-oriented projects
creating Java and for overseeing its evolution. Sun within IBM include:
CEO Scott McNealy is the industrys most vocal and VisualAge for Java. IBM offers an integrated
visible Java advocate. Behind the scenes, IBM is development environment called VisualAge for
doing much of the heavy lifting for the Java move- Java. This PC-based offering is highly graphical
ment. It has not become obvious to everyone why and creates 100% Pure Java code. The Enterprise
IBM is so strongly behind a technology it did not Edition includes the AS/400 Toolbox for Java.
invent and does not control. SanFrancisco. Java is at its best when program-
mers can access a large library of existing compo-
IBMs motivation is simple: Java is good for business nents and use them as the foundation for creating
in many important ways. They include: new applications. The goal of SanFrancisco is to
offer a group of object components written in Java The Marriage of Java and AS/400e
that software developers can then use as the
starting point for building business applications. The union of Java and AS/400 became official in
In the future, SanFrancisco components will February 1998 as IBM announced its latest wave of
follow the new Enterprise JavaBeans standards. server enhancements. No one present offered a
Lotus e-Suite. The first major product built reason why they should not be joined together. It
around the JavaBeans specification was e-Suite. would be unrealistic, however, to expect Microsoft to
It is an integrated collection of Java components forever hold its peace because the marriage of Java
that provide office suite functions such as word and AS/400 is sure to create additional competition
processing, e-mail, calendar management, and for NT.
spreadsheets. Like JavaBeans, the e-Suite compo-
nents can be used alone or integrated within AS/400 will probably remain the only Java Compat-
applications written by others. ible server with a custom-built Java Virtual Ma-
Lotus BeanMachine. Version 1.1 allows you to work chine (JVM). Most other servers are likely to use the
with business logic by assembling JavaBeans in a generic JVM that JavaSoft offers. While building
visual palette. The BeanMachine is not a low- and maintaining a custom JVM is quite expensive,
level Java programming environment, but rather IBMs justification for this investment is that a
a drag-and-drop scenario that facilitates the custom JVM is likely to make AS/400 better at
building of an application in a visual development serving Java software than any other computer. It is
studio. The BeanMachine works in combination also appropriate given the layered design of AS/400
with the VisualAge tools to create e-business system software.
applications in Java.
Lotus Domino. Version 5.0, which is slated for Had IBM decided to use the standard JavaSoft JVM,
general availability in 4Q98 for all Domino servers, it would have been necessary to run it above the
including AS/400, is expected to Java-ize all the machine interface that SLIC creates for the rest of
traditional Domino functions by taking those the system software. This would have been a simple
functions and making it easy to integrate them choice, but it meant giving up any hope of a perfor-
with Java. As programmers build Java applica- mance advantage. The more difficult option of
tions and find that they need robust components writing a custom JVM that was compliant with the
like Domino replication logic, they will be able to JavaSoft specification was thus chosen.
pull those components from Domino and use them
in their Java application. The strategy behind this As with any new software product, the primary goal
is to marry Java application development with of the first JVM release was to get a working product
the robust Domino infrastructure. into the market. Future OS/400 releases, starting
Network Station. The IBM Network Station is a with V4R3, due in September 1998, will include
Java-enabled thin client. As improvements and improvements in the JVM that will enhance perfor-
enhancements are made to network computers, mance, support JavaSoft additions to the JVM
they are likely to emerge as the client of choice for specification, and help make the transition to Java
Java applications servers. easier. Java servlet support is also available via
WebSphere. Announced in early June 1998, IBMs HTTP Server for OS/400 in V4R3.
WebSphere is now the umbrella term for all IBM
Internet development tools. IBM developers made the decision to embed the
JVM within SLIC, under the AS/400s Technology
Independent Machine Interface (TIMI). They did
this so that software developers could securely involve large address spaces. AS/400 has always
generate code as well as have access to the high- supported a larger address space than any other
speed AS/400 operating system and hardware type of computer. As a result, the AS/400 developers
features that handle the garbage collection algo- feel that their system is already well positioned to
rithm. become a leading server as distributed object com-
puting matures.
One important similarity between AS/400 and Java
is that both use abstract pointers. The use of ab- The development of Java has largely centered so far
stract pointers means that programs access other on developing software that will run on smaller
objects by symbolic namesnot their actual ad- remote devicesincluding PCs. Serious attention is
dresses in memory. Within an AS/400, SLIC trans- just beginning to be paid to the issues that arise
lates symbolic names into actual addresses at when Java is used for server-based applications.
runtime. This design leads to tighter security and One important difference with server computing is
makes programming easier. It also leads to fewer that software usually comes from a trusted source
program bugs and the inability of one application to and will be used over and over. It makes sense for
accidentally corrupt another. server Java applications to be compiled into machine
instructions and stored in that form. The AS/400
AS/400 designers also feel confident about their Java environment therefore includes a transformer
ability to offer exceptional Java performance be- that takes Java bytecode as its input and creates
cause of the 64-bit PowerPC processors included programs that can be stored in native AS/400 form.
within each new AS/400 model. Because no conver- The availability of this transformer greatly helps in
sion effort is required, Java software that is run on reducing the performance penalty associated with
an AS/400 will automatically use all 64 bits. Java.
The PowerPC processors that AS/400s use have One of the most important differences AS/400 offers
steadily evolved over the last few years. Each new as a Java server is the technique it uses to accom-
generation of processor has brought significant plish garbage collection. The JavaSoft specification
performance improvements, usually doubling requires that JVMs perform garbage collection, but
processor speed on the high-end AS/400 models. it does not provide the how-to.
Early in the new millennium, yet another processor
generation called Pulsar is due, which should again The standard JavaSoft JVM uses an approach that
double speed. By the end of 2001, AS/400s are periodically stops all of the active program threads,
scheduled to use a processor with a clock speed of determines which objects are no longer needed, and
1.1 gigahertz. There is good reason to believe that then lets the threads resume as the unneeded
any performance advantage established now can be objects are removed. While this approach works well
sustained for some time. for remote devices such as PCsrunning a limited
number of concurrent threads against powerful
When OO is fully mature, it will be possible for an processorsthere is a problem for larger systems
object to link to other objects anywhere within a which have many active threads, a large number of
networkeven when the requesting object has no objects to be examined, and a great deal of memory
idea where the object it wants to connect to is space. These are the conditions that servers face as
located. It will not be easy to manage a massive they grow in size. A JVM that stops everything to
number of distributed objects across a network. The collect garbage will therefore not tend to scale well.
best plans for handling distributed objects all As traffic grows, there will tend to be long delays
when garbage collection is occurring.
Java Bytecode and GUI Generators The AS/400 Toolbox for Java is 100% Pure (i.e., certified
Java applications can be created without having program- by JavaSoft). It can run on any JVM—both clients and serv-
mers actually learn the Java language. This can be ac- ers. The toolbox consists of a library of classes that permit
complished using the following products: Java applets and applications that are written on other sys-
• Synon1 Obsydian. Obsydian is one of the first develop- tems to access AS/400 data and resources. The toolbox
ment tools that helps programmers generate Java-based enables the network-distributed programming model. It is
applications. It is a high-level development tool that can a great way to get started writing Java on any client and
create Java bytecode as its output. then be able to access AS/400. Support provided by both
• CST Jacada. Jacada enables programmers to extend the JVM and the JDK are all that is required to use the
existing server-side applications by rapidly generating toolbox.
a feature-rich graphical interface. Jacada generates
Java source and can therefore provide a robust pro- Because Java is open, any Java IDE, such as Symantec
gramming environment that allows developers to add Visual Café, Sun Microsystem Java Studio, or Microsoft
logic and customize the client GUI. CST has also re- J++, can import the 100% Pure AS/400 Toolbox for Java
cently developed a native Java server-side product for into its visual Java environment to provide optimized
AS/400 called Jacada Server that will comprise an end- AS/400 access.
to-end Java solution.
• SEAGULL J Walk. J Walk essentially accomplishes the VisualAge for RPG is a product that provides RPG pro-
same thing as Jacada, but it does so differently. J Walk grammers with a way to build client/server AS/400 RPG
is PC-based, point and click, and WYSIWYG. It uses applications. In the Toronto laboratories, IBM engineers
GUI controls and a visual development environment to are seriously looking at the capability of generating Java
rapidly create graphical interfaces for existing AS/400 bytecode from RPG. The resulting product would have a
applications. J Walk includes features like emulation, tremendous impact on the RPG community. Such an ini-
business graphics, and open interface services. A single tiative would provide RPG programmers with a map to
development effort supports both Windows and Java application modernization by getting them on the road to
GUI clients. Java. The goal, here, is to help smaller RPG shops be-
come Internet-enabled so that they can take advantage of
IBM’s VisualAge Family of Products e-business.
The VisualAge family of products provides application de-
velopers with the ability to integrate OO technology with Imprise: Another Java IDE
existing application systems in cross-platform and cross- Inprise2 also offers an AS/400-based version of JBuilder—
language environments. IBM’s Java development environ- its IDE for Java—called JBuilder/400. This product offers
ment is a member of the VisualAge family. AS/400-specific features such as an AS/400 program call
wizard, a native compiler (transformer) wizard, and the abil-
VisualAge for Java is the IBM strategic Java Integrated ity to deploy and launch Java server applications on AS/400
Development Environment (IDE). The latest version of from JBuilder. Although JBuilder/400 competes with the IBM
VisualAge for Java (Release 2.0) is available for AS/400 VisualAge for Java product, it fully integrates the AS/400
customers and provides a visual and graphical Java pro- Toolbox for Java, thereby providing programmers with easy
gramming environment designed to build 100% Pure Java access to AS/400 resources and documentation. ◆
applications, applets, servlets, and JavaBean components
that run on any Java 1.1 level Virtual Machine. The Enter- 1
prise Edition of VisualAge for Java includes the AS/400 At the time of the writing of this report, Sterling Software
Toolbox for Java that supports Java development for both had just purchased Synon.
client and server applications. 2
Formerly known as Borland International, Inc.
The French Collection technique employed by tion is simple: Java is both an extremely productive
AS/400 is an algorithm that allows all active threads language and one that programmers love to use.
to concurrently identify objects which must be
removed from memory. The result is that it is not Even if the dream of developing write once, run
necessary to stop any transaction threads during anywhere software does not become achievable for
garbage collection. This technique is not as sensitive some organizations, Java will remain a great lan-
to volume and can therefore handle larger workloads guage with a rapidly growing following. As a lan-
without serious performance degradation. guage that can be used to create software for specific
servers, it will tend to be more attractive than C, C++,
AS/400 Brand is planning to implement its own Smalltalk, Cobol, RPG, Visual Basic, or anything
version of Hotspot. While IBM will not take Hotspot else. In an era when programming talent of any kind
from JavaSoft, it will enhance the JVM to inline is exceedingly hard to obtain, a language that is both
directly to a piece of user code at runtime and highly productive and that attracts the best talent is
perform a just-in-time compile. Currently, the JVM impossible to ignore.
on AS/400 performs straight static compiles of Java
bytecode. In a future release of OS/400, IBM is The key question, then, is: how will the gradual
planning to introduce just-in-time compiling through transition from RPG to Java occur? Every situation
inlining. will be somewhat unique, but it is possible to postu-
late what the steps will tend to be for most organiza-
tions. They will include:
The Transition from RPG to Java Using AS/400 Toolbox for Java, which provides
the ability for Java applications written on Java-
Over time Java will become the preferred language enabled clients or servers to access AS/400 resources.
for developing software for AS/400 systems. This Using SEAGULL J Walk or CST Jacada to create
does not mean that RPG will be instantly abandoned graphical interfaces for existing RPG code.
or that those currently using RPG will be forced to Using code generator tools, such as Synon
change. The transition will tend to occur gradually Obsydian, that will allow Java applications to be
in stages. generated without the need for programmers to
learn Java itself.
As time passes, developers who create component One or more programmers, in larger organizations,
parts of packaged software will increasingly use Java. who will learn Java and first use it to enhance
In many cases, AS/400 owners will not even be aware web-based applications. As time passes, Java will
of its presence. They might only know, for example, gain acceptance as the best language for any soft-
that certain software requires OS/400 V4R2 or later. ware that runs on client computers, such as PCs.
RPG programmers who will want to learn Java on
The speed at which the transition to Java takes their own. Their motivation will be to stay current,
place will, to some extent, depend on how rapidly it enhance their personal marketability, become
is embraced as an industry standard. It is realistic to more productive, and enjoy their work more.
assume that even if the fight between Microsoft and Replacing server-based RPG code in stages. In
the leaders of the Java movement (Sun, IBM, Netscape, some cases, existing code will be wrappered
and Oracle) continues without resolution, Java will with Java. This means that RPG program logic
still grow in importance as a language for develop- can become, in effect, a subroutine within a Java
ing AS/400 applications. The basis for this assump- program.
Eventually, Java will take the place of RPG as the there will still be work for RPG programmers well
leading AS/400 language, but the transition will not into the next decade or longer.
be totally painless. Learning Java will not be easy
for programmers who currently write in RPG. Those The largest hurdle for RPG programmers is making
who have already learned RPG IV and ILE will have the transition to an OO environment. Learning Java
an easier time, but they will still have a great deal to syntax will be difficult for some, but in most cases it
learn. A certain number of RPG programmers will will not be the problem. Understanding how to build
never successfully make the transition to OO tech- software using objects requires a different frame of
nology. This should not be a serious problem since mind from traditional languages such as RPG. It
Since 1990, CST Inc., based in Atlanta, Georgia, has been parts. In addition, Saab dealers had to navigate through
in the business of helping companies modernize and ex- many green-screen menus, do manual searches through
tend their existing enterprise applications. CST Jacada for files, or make telephone calls just to get to necessary in-
Java generates Java clients for both AS/400 and main- formation. This took a great deal of time and resources,
frame applications without the need to change existing ap- and it often did not produce the desired results.
plications that reside on the server. In this way, server ap-
plications can be “extended” via the Internet or an intranet Using CST Jacada for Java and Lotus Domino to create
to provide users with a client/server type of graphical inter- IRIS, Saab was able to integrate information that resided
face on their Java-enabled PC or thin client. David Holmes, on many servers to provide employees with a seamless
V.P. of Marketing for CST, points out, “With Jacada, CST graphical interface. Employees at Saab dealerships can
is helping its customers take the first steps to web-enabling now access vital customer and vehicle information both
their existing business applications as well as opening the efficiently and accurately to provide improved customer
door to the next step in the process: converting those ap- service.
plications to Java.”
“Saab’s adoption of CST Jacada for Java, which is gener-
Jacada uses the CST KnowledgeBase product that pre- ating the graphical client in 100% Java, is a tremendous
determines how green screens should look in a GUI for- endorsement for Java as an intranet enterprise solution,“
mat and then generates the Java client. KnowledgeBase says Holmes. “Saab can now more easily create and main-
is being hailed in the industry as the only true AI-based tain a computing solution that is Domino driven and web
engine that can automate the analysis of a 5250 (and 3270) enabled for its business-critical retailer application that in-
data stream and then generate a feature-rich graphical in- tegrates the Java-based GUI clients of its server applica-
terface. CST KnowledgeBase is an intelligent product that tions with Saab’s new intranet initiative.”
“learns” (i.e., amasses information about a customer’s
unique programming environment). Today both Domino and Jacada are running on Saab’s
AS/400. Domino is running in native mode and Jacada
In the spring of 1998, Saab Cars USA had two significant resides on NT on the AS/400 Integrated PC Server (IPCS).
accomplishments: first, it shipped its 1999 models to over
200 dealers using AS/400s nationwide, and second, Saab When asked about Java’s future in the server application
delivered its Intranet Retail Information System (IRIS) to space, Holmes replied, “When Java was first introduced,
most of its dealerships. With the collaboration of IBM Glo- ISVs looked at it as strictly a desktop application. CST is
bal Services organization and EDS, the vendor that main- certainly leveraging this today. However, CST is convinced
tains Saab’s existing enterprise systems, IRIS was devel- of the importance of server-side Java and rewrote CST
oped using CST Jacada for Java and Lotus Domino. Jacada Server as a Java application.” Jacada Server will
be available as a Java server application in 4Q98. CST
Until the deployment of IRIS, Saab did not have a central sees Java-based Jacada products all running natively on
database of dealer-type information that included sales in- AS/400 for an end-to-end solution. ◆
formation, service records, ownership, warranties, and
also requires learning a number of new concepts Symantec Café or Inprise JBuilder, are welcome to
such as inheritance, polymorphism, persistence, and use them. The computer used to develop Java code
encapsulation. does not have to be the one on which it runs. It is
now possible to use existing PC or Unix skills to
IBMs VisualAge for Java development environment develop Java applications on AS/400.
is great, but those that prefer others, such as
Based in Sweden, Intentia is one of IBM’s top AS/400 part- AS/400’s unique JVM, reliability, and availability, is the ul-
ners worldwide and among the top ten fastest growing En- timate solution.”
terprise Resource Planning (ERP) application providers in
the international arena. Intentia has its finger on the pulse of where the interna-
tional IT marketplace is headed—especially with regard to
Intentia develops and markets Movex, a suite of ERP busi- OO technology and Java. Berg points out, “Intentia is con-
ness management applications. Movex for AS/400 is writ- stantly evaluating the technology in the marketplace. In
ten in RPG and is world-renowned as a leading-edge ERP the future, Intentia will utilize several technologies—not just
solution for the manufacturing and distribution industries in one—in its long-term deployment strategy. Users, however,
Europe, the Middle East, Africa, and Asia Pacific. will be protected from the technology mix by a common
interface—a browser.”
Like most leading ERP solution providers, Intentia has felt
the market pressure to move not only to object-oriented Intentia’s business strategies are perfectly aligned with
programming but also to Java. Johan Berg, President of IBM’s network computing framework, e-business initiatives,
R&D for Intentia, points out, “Java technology brings down and the AS/400 Brand’s application development strate-
maintenance costs, shortens time to market, increases the gies. Berg remarks, “The world is shrinking, and yet there
configurability of applications, and will allow greater port- is a need to centralize data—while making it accessible to
ability. In the marketplace today, the most significant pres- everyone.” For example, Intentia’s manufacturing custom-
sures are to maintain acceptable quality and keep mainte- ers worldwide are experiencing the need to outsource some
nance costs low—both in the development and deploy- or all of their manufacturing processes and even some of
ment of applications. Using traditional programming envi- the distribution mechanisms. There is the need to share
ronments will not accomplish this.” data both efficiently and accurately. Java makes this possible.
Regarding Java, Intentia has a two-part strategy. The first In addition, no where is it more evident than in Europe
portion of this strategy is to convert its server-side application where cross-boundary issues like Eurocurrency, diverse
suite to Java. This project has been underway for a year and reporting standards, taxes, and Year 2000 problems are
is expected to be released into beta in 1Q99. The second causing software development companies to spin on a
portion of this initiative is to address the process of applica- dime. “Those companies,” states Berg, “that can react
tion development over the long term. Intentia chose Java as quickly, will have the advantage over others that do not.”
its application development environment over C++ for sev- Using applications that are based on Java will enable com-
eral reasons. Berg enumerates these reasons, “First, Java panies to snap out old components and plug in new ones
has a better learning curve than C++. Training procedural pro- as quickly as the standards change.
grammers in Java takes about half the time. Second, Java
abstracts the programmer from the underlying technology. Berg states, “The Java version of Movex, when shipped to
Third, Java supports open network-centric computing.” customers, will include a fully integrated development en-
vironment and a migration toolkit to permit fast and easy
Intentia is looking to re-architect the foundation of its cli- customization.”
ent/server applications for the long term. Currently, it is
evaluating SanFrancisco and other components-based Berg’s message to his customers as well as the IT com-
vehicles for the long-term conversion of both the client and munity at large is, “The road to component software is evo-
server pieces of Movex to Java. Berg states, “Intentia’s lutionary, not revolutionary. Intentia will deliver on the prom-
strategy is to become network-centric. Java, coupled with ise of securing its customers’ investments in their business
processes.” ◆
Appendix: Where to Go from Here provides specific Intel announced that Merced shipments have
advice on what RPG programmers can do to start again slipped past year-end 1999.
learning Java. D.H. Andrews Group launched a NT 5.0 and Wolfpack continue to be delayed by
program to teach Java to its RPG programmers in Microsoft.
early 1998. Results so far have been positive, but it Gartner Group has recommended that its clients
is clear that the process will take many months. wait until mid-2000 or later to roll out NT 5.0
because of delays in its development, the need to
first complete year 2000 projects, and concerns
Are NT Servers Taking Over the World? about flaws in the early versions of 5.0.
Compaqs purchase of DEC has created a major
It would be foolish to deny that NT has been an squabble within the WINTEL family of vendors.
enormous success and that further significant The DEC purchase brings with it the 64-bit Alpha
growth is inevitable. The conventional wisdom, processor, which Compaq would obviously like to
fueled by the opinions of the largest industry watch- feature in its servers. Besides, Merced is a joint
ers, is that it is only a matter of time before NT has development between Intel and HPan obvious
a greater share of the server marketplace than all foe of Compaq. Microsoft is caught in the middle
other types of servers combined. and needs to find a way to keep everyone happy.
The logic for predicting that NT will dominate goes It is also clear that while Merced is a 64-bit proces-
something like this: sor, it could be many years before NT-based applica-
Software developers are shifting development tions are capable of taking advantage of the new
toward NT. It is increasingly the reference processor architecture that is being introduced with
platform for new releases. Merced. In the meantime, Merced-based servers will
NT 5.0 and other future releases will succeed in use the slower X86 emulation feature built in to
fixing the obvious current weaknesses. handle the transition.
Intels Merced generation of processors will bring
64-bit processing to the Intel server world and What does all this have to do with AS/400? The
allow NT-based systems to drive down prices for answer is that it creates a golden opportunity over
larger scale servers. the next three to five years for AS/400 because:
Microsoft WolfPacks clustering technology, Java applications created for other platforms can
coming soon, will make large clusters of Merced- now be brought to AS/400 with minimal conver-
based servers practical. sion effort.
AS/400 is the only server available where every-
The case seems airtight until subjected to closer thing, including software developed for other
analysis. It then becomes clear that the world of platforms, can instantly take full advantage of its
WINTEL is not the happy kingdom its advocates 64-bit processors.
would like it to be. For at least the next three years, the PowerPC
processors used in AS/400s are likely to perform
Much of the air has recently gone out of the NT will better than those being offered by Intel, and a 1.1
soon dominate argument as a result of a number of gigahertz (1,100 megahertz!) PowerPC processor
developments: is planned for late 2001.
Software developers are increasingly looking to IBM will complete the process of creating common
make Java the foundation for future products, hardware for AS/400 and RS/6000 servers during
rather than any one specific operating system. 1999. This will increase production volumes and
make each server more cost effective.
Listed below are URLs, IBM Redbooks, and other AS/400 Java Jems:
relevant publications. Java training classes and www.softmall.ibm.com/as400/java/solutions/
courses of study can also be found in the URLs listed javajem.html
below.
IBM Java home page:
www.ibm.com/java
The Book Every RPG Programmer Must Read
Java for RPG Programmers, Phil Coulthard and IBM SanFrancisco:
George Farr. Palo Alto, CA: ADVICEPress, 1998. www.ibm.com/java/sanfrancisco
576 pages.
Visual Age for Java for AS/400:
www.software.ibm.com/ad/as400/vajava
Important URLs
DH Andrews web site:
www.dhagroup.com AS/400 and Java Redbooks
1. Accessing the AS/400 System with Java.
AS/400 home page: SG24-2152-00
www.as400.ibm.com/java 2. Building AS/400 Applications with Java. Version 2.
Or go to the main AS/400 site, to Products, then Java. Includes advanced topics. SG24-2163-01
3. Java Thin-Client Programming for a Network
Partners In Development: Computing Environment. SG24-5115-00
www.softmall.ibm.com:80/as400/java
Redbooks URL:
AS/400 Java application models: www.redbooks.ibm.com
www.softmall.ibm.com:80/as400/java/documents/
models2.html IBM Lunch and Learn Teleconferences:
(800) 289-0579
AS/400 Developer Kit for Java: www.as400.ibm.com/usa
www.softmall.ibm.com/as400/java/devkit.html
IBM Education and Training:
AS/400 Toolbox for Java: US & Canada: (800) IBM-TEAC(H).
www.as400.ibm.com/toolbox Others: (770) 858-5902.
www.training.ibm.com/ibmedu
CST Jacada:
www.cst.com
Intentia:
www.intentia.com
SEAGULL J Walk:
www.seagull.nl/
Synon Obsydian:
www.synon.com/products/obsydian/default.htm
WebLogic:
www.weblogic.com ◆