Java on NetWare Takes Shape
Articles and Tips: article
Developer Services Division
STEVEN C. JONES
Senior Research Engineer
Novell Systems Research
01 Jul 1996
This DevNote begins with a brief summary of Novell's view of client/network computing. The JavaTM programming language is then reviewed given its key role as an enabling technology for distributed computing. Novell's plans for bringing the Java platform to NetWare are detailed. Novell plans to create a Java-compatible virtual machine for NetWare, Java classes that expose NDS and other services, and technology that allows for using NDS as a vehicle for managing the use and distribution of Java objects over the network. The DevNote concludes with a summary of the Novell Software Developer's Kit (SDK) for the Java platform targeted for beta release in October of 1996.
RELATED DEVNOTES Jun 96 "Introduction to Java and the Java Infrastructure for NetWare"" Jul 96 "Novell's Vision of Client-Network Computing for Developers"
With powerful desktop computers providing impressive processing power, rich GUI operating environments, and powerful networking services, a new era in network computing is upon us, an era Novell calls client/network computing.
With these evolutions in networking and application development, Novell has been focused on providing the standard in network services to share information and resources. With over 50 million personal computer connected to over 3 million servers world-wide, Novell NetWare represents over 63 percent of the NOS market as reported by IDC in their 1995 PCLAN Market Research Report. NetWare's installed base represents one of the largest network computing opportunities for the future distributed network-aware applications.
With the introduction of Java, a new programming paradigm that is platform independent and ideal for building distributed applications, a whole new opportunity has opened up for developers. Combining the power of NetWare and Java represents many new and powerful opportunities for developers writing distributed, network-aware applications.
This document will outline the strategic directions and opportunities NetWare and Java will offer developers in the new computing paradigm of client/network computing.
New Era of Distributed Applications-Java
Java introduces a new way to build applications and distribute logic in a cross-platform, processor independent way. The acceptance of Java as a powerful object-oriented programming language has been propelled by the Internet. Originally developed by Sun Microsystems for software development of consumer electronic devices, Java provides the attributes of being small, fast, efficient, and portable. These attributes make Java the ideal language for distributing "executable" programs (logic) over the network.
Perhaps the best way to describe the possibilities and attributes of Java as a distributed application environment are given in the definition of Java by Sun in "The Java Language: A White Paper":
"Java: A simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multi threaded, and dynamic language".
The Java programming model has inherited many virtues of C and C++ programming concepts, plus the ability to execute the same code on a variety of platforms-in a self-interpretive execution way. A Java-compatible compiler creates platform independent bytecodes as binary files that can be distributed across network nodes and executed. The Java bytecodes can be executed either through an interpreter (Java-compatible virtual machine) or Just-In-Time (JIT) compiled (bytecodes converted to machine code) at the time of execution.
This versatility offers many unique advantages in building logic that is adaptable and flexible to processing environments and enables logic to be inherently distributed.
Novell believes the pervasiveness of Java as a universal programming model, combined with the virtues of platform and processor neutrality, will enable a new generation of distributed applications ideally suited for the network. Java will evolve to be more than just an automation language for Web pages and browser applications. Java will become a powerful programming model, similar to C and C++, in building mission critical applications, full-featured end user applications, and distributed logic to access database content and perform background processes.
The Java development framework will be enhanced by powerful 3rd party tools vendors, such as Borland, Symantec, Sun, and many others in offering high performance Just-In-Time (JIT) compilers, debugging tools, and Integrated Development Environments (IDEs). Enhanced Java Class Libraries will expose more functionality to developers and offer easier ways to build network-aware applications.
One of the greatest opportunities Novell provides Java is the ability to expose networking services as open, general Java class libraries that hide the complexity of the network to Java-based applications. The ability to inherit the attributes of the network by accessing a naming (directory service) to locate and find/bind to other applications and services at runtime opens up a new way to design and deploy distributed applications. Rich networking services such as naming, security, communication, management, licensing, and many others enrich the Java development framework to provide a platform independent, client/network computing model for application development.
Java for NetWare
Novell, with its large networking installed base represents a huge opportunity for software developers utilizing Java. In the June DevNote, "Introduction to Java and the Java Infrastructure for NetWare," we introduced Novell's initial plans for Java related technologies currently consisting of three parts:
Java-compatible virtual machine embedded as acore execution environment within the NetWare operating system.
Java class libraries that provide interfaces to open networking services (naming, security, communication, etc.) and specific NetWare services (NDS, licensing, file, print, etc.) to enhance the Java development framework.
The utilization of Novell's Directory Service as a repository for information that allows access and management of Java objects. Enrich the Java distributed object framework (RMI, ORBs, etc.) through networking services.
This DevNote expands on that initial discussion, providing more detail on the NetWare version of the Java-compatible virtual machine, Java class libraries that expose NetWare and networking services, and the utilization of NDS as a repository and enabler for distributed computing.
Java Virtual Machine Running on NetWare
As the first vendor to license the Java Virtual Machine for the server platform, Novell reiterated its vision that the partitioning of logic (client and server-based logic) across the network will become critical to meet the needs of Internet and intranet computing. Java for NetWare will establish NetWare as a specialized execution platform for Java logic within the Internet and intranet community.
Novell believes that server-based logic will greatly enhance the performance, security, and access to information distributed across multiple servers. This approach greatly reduces the overhead of downloading full execution code segments across the wire. Clients who access the network should not be required to know which servers execute which logic, and should dynamically bind to servers and access logic transparent to the user and the application.
Java on NetWare will provide a "user level" execution environment for server applications on NetWare. The graphic user interface (GUI) for NetWare will be supported through the standard Java.awt Class Libraries. Extending the Java Class Libraries to support Novell's rich networking services will greatly enhance the types of applications developers can build using Java.
The value in placing the Java-compatible virtual machine on NetWare as a specialized application server platform highlights many key strengths of the NetWare operating system, including:
Optimized OS for network communications and resource sharing. NetWare is an ideal platform for Java-based server applications to support multiple network connections and offer high-bandwidth network performance. Unlike general purpose OS platforms, NetWare is optimized for the network.
Because Java was originally designed for minimal OS requirements, Java and NetWare complement each other in operating system dependencies and overhead. While NetWare is focused on providing high-performance network access, Java is focused onmemory protection, allocation, threads, and security.
Adding stronger intranet and Internet capabilities to NetWare, such as Web server, Web publishing, transaction monitoring, and fault tolerance complement the value Java applications will bring to intranet and Internet solutions. Java applications will have easier access to Novell's networking and Internet services. Server administration and management utilities, Dynamic HTML page generation, and database access logic are a few of the solutions Java will bring to the NetWare platform.
Java Class Libraries
To enhance the Java development framework and provide network-aware capabilities within Java, Novell has licensed the native Java Class Libraries (JDK 1.0 and future releases) to promote an open development environment on NetWare. Novell will embrace these and future JDK Libraries and work with JavaSoft to recommend new Java Class Libraries to expose network services.
Open Java class libraries (independent of vendor specific implementations) for naming, communications, security, management, licensing, and others will greatly enhance the types of Java applications that can be built. Novell provides many advanced networking services that can greatly enhance how applications operate across the network.
These services include a powerful directory service, security services, licensing service, networking communication services, file, print, and much more. Novell will also define NetWare-specific Java class libraries that will be available on the Java for NetWare product to expose full access to NetWare services. Novell will be able to use these NetWare-specific classes to build administrator utilities, and support legacy NetWare services.
Developers using the Java programming environment will inherit the attributes of network services to build new distributed applications for the global network.
NDS as a Distributed Registry
Novell's Directory Service (NDS) is a global, distributed, replicated, information store that is scalable and extensible. NDS provides an ideal way to control, manage, and access objects across the network. The management of objects will be critical as Java applications become distributed.
Access control, configuration management, versioning, distribution, and location independent binding all highlight the value a full directory services can offer the Java development framework. Working with Object Request Broker (ORB) technologies, Novell will establish NDS as a component registry/trader service for Java developers.
Utilizing a global directory service, Java developers can realize Java's potential to minimize software distribution, installation, management, and maintenance problems. NDS provides a rich distributed application communication infrastructure that supports secure, authenticated network access and connections. Leveraging the scalability and "client/network" attributes of NDS, Java developers will be able to build "directory-enabled" applications.
The NetWare SDK for the Java Platform
Novell was the first OS company to license the Java platform. The first beta release of the NetWare SDK for the Java platform, scheduled for release in October of 1996, will include a Java-compatible virtual machine and a Just-In-Time (JIT) compiler, a series of NetWare Loadable Modules (NLMs) that make applications written in Java executable on NetWare.
The JIT compiler will allow for execution of Java bytecode at or close to the speed of native compiled code. The SDK will also include the base Java class libraries and an early-release version of NetWare specific Java Class Libraries to enhance NetWare development. Developers using the NetWare SDK for the Java platform can, with relative ease, take advantage of the attributes and functions of network services, including Novell Directory Services.
To get started now on Java development, visit our site:
for references to sites offering a Java SDK for various client platforms available for download.
Multi-tier computing (partitioning of logic across multiple clients, servers, and devices) across the intranet and Internet, will require a networking infrastructure rich in advanced networking services to provide the naming, security, communication, and management of distributed logic. Novell's vision of multi-tiered computing is called client/network computing. Java represents a universal programming model ideally suited for building platform and processor independent applications.
Novell offers the industry leading network operation system and advanced networking services ideally suited for the intranet and Internet. Together, Java and NetWare complement each other in providing a complete client/network development and execution framework.
Java coupled with rich networking services (extended through class libraries), working with a robust networking infrastructure for distributing objects (ORBs and NDS), together with component management through a powerful directory service truly introduces the next generation for distributed applications for the intranet and Internet.
* Originally published in Novell AppNotes
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.