IBM Skip to main content
  Home     Products & services     Support & downloads     My account  
  Select a country  
Journals Home  
  Systems Journal  
  ·  Current Issue  
  ·  Recent Issues  
  ·  Papers in Progress  
  ·  Search/Index  
  ·  Orders  
  ·  Description  
  ·  Author's Guide  
Journal of Research
and Development
  Staff  
  Contact Us  
Systems Journal  
Volume 37, Number 3, 1998
Java Technology
 Table of contents: arrowHTML arrowASCII   This article: HTML arrowASCII   DOI: 10.1147/sj.373.0306 arrowCopyright info
   

Preface - IBM Systems Journal issue 37-3, Java technology

The Java** programming language is the language of choice for Internet-based applications that are designed to run unchanged on many, different computer platforms. Java's powerful capabilities are used more and more frequently to lower the cost of programming for diverse platforms while making the resulting products available to a wide range of customers and users. IBM uses the Java language to develop many of its application products for the Internet and intranets.

This issue features a variety of Java-based and Java-oriented environments, products, and tools from IBM and its Lotus Development Corporation subsidiary. Among the nine papers, topics range from an introduction to IBM's Java initiatives, to middleware for network programs implemented with Java, and to relationships between Java and other software systems. We are indebted to K. D. preface of the IBM Network Computing Software Division in Research Triangle Park, North Carolina, for his initiative and significant effort in developing and coordinating this issue.

preface presents an overview on how IBM is using Java in applications, infrastructure, and tools. A description of the architectural structure of IBM's implementations of Java is followed by discussions of the approaches used for components, server platforms, and distributed objects. Tools for Java and the importance of security are also discussed.

The paper by Brackenbury et al. describes how the IBM Enterprise Server for Java specification provides a standard model and set of services by using Enterprise JavaBeans** to meet current and future middleware requirements. The specification assumes a three-tier model for applications, consisting of a client tier, a Java application server tier, and a data and resource manager subsystem tier.

Bayeh describes a recently announced IBM product, the WebSphere Application Server*. The architecture for this server has its foundation in the Network Computing Framework and was developed to allow easy deployment of client/server applications on the Web. Because Web applications are becoming more complex and dynamic, and since Java provides many benefits as an application programming language, Java is the programming language of choice for Web applications. To better serve this environment, the WebSphere Application Server is based on Java technology.

As Java technology matures, security is a prime focus of many development efforts. Initially Java was a tool used in conjunction with Web browsers for small downloaded applications, or applets. This use prompted development of the first security measures to protect against the downloading of hostile code. As Java has evolved to encompass other uses, Java security has likewise evolved. The paper by Koved et al. describes how security has been handled from the early uses of Java up to the present, with a discussion of security requirements and future directions.

The San Francisco* project allows independent software vendors to concentrate on their own unique programming solutions by providing them with a common foundation, which they can specialize and extend to produce platform-independent software. Rubin, Christ, and Bohrer explain why San Francisco was written almost entirely in Java and what had to be considered as the product was developed.

Network computers allow applications to be downloaded on demand. Since there is only one persistent copy of these applications, maintenance and upgrade tasks are greatly simplified. The eSuite** product from Lotus is an integrated set of downloadable applications developed for network computers and personal computers. In his paper, Briggs describes how eSuite was designed to take advantage of a network-centric environment, making use of Java, the Internet, and intranets.

VisualAge* for Java assists programmers in rapidly developing Java applications by providing visual interfaces for developing, combining, and testing components. Chamberland, Lymer, and Ryman describe this set of tools and explain how they can be used effectively. Code generated with this product supports the JavaBeans** component model, allowing programmers to create components that can be reused in other tool environments.

In Java the validity of array references must be checked at run time. In their paper, Midkiff, Moreira, and Snir present results of their work to develop techniques that minimize the number of run-time tests that must be performed for Java array reference operations. They describe various optimization techniques and some experimental results. Although developed for use with Java, these techniques can be applied to other programming languages.

For distributed computing to be used successfully, especially with the development of very small smart devices, communication among all devices must be of the highest quality. Network middleware is the software layer that will enable such quality to be obtained. A Tuplespace system, which acts like a global communication buffer, can be used for delivering data in distributed computing networks. Wyckoff et al. describe T Spaces, a system based on the Tuplespace system, implemented in Java, that allows any program or system service to be available to any other program or service in a network.

The next issue of the Journal consists of papers on a variety of subjects, including IBM's Component Broker, improving existing measurement frameworks, performance of teams and tools in software development, and the thirtieth anniversary of IBM's Information Management System (IMS*).

Gene F. Hoffnagle
Editor

*Trademark or registered trademark of International Business Machines Corporation.

**Trademark or registered trademark of Sun Microsystems, Inc. or Lotus Development Corporation.