The Novell OSA SDK: An Overview
Articles and Tips: article
Senior Research Engineer
01 May 1998
Provides an overview of Novell's OSA SDK components such as server and services, client objects and interfaces, and development tools. Also discusses Java servlets, and how to access databases from Java on NetWare using OSA.
Open Solutions Architecture Software Development Kit (SDK) from Novell is an open set of developer tools, based on Java and other industry-standard technologies. It exposes a comprehensive set of networking services with which you can build server-based distributed applications that are easy to manage and are secure across the Internet and Intranet.
In the last two issues of DevNotes, we have given you a thorough introduction to Novell's Open Solutions Architecture (OSA). In the February '98 issue, Dave Clare's article, "OSA: A New Focus for Novell and Developers", gave a conceptual overview of OSA. Art Nevarez's article in the March issue, "Open Solutions Architecture Technical Overview" gave further detail. Several other articles in the March issue dealt with OSA's management framework (ConsoleOne) and scripting framework at a more detailed and technical level. Figure 1 shows a block diagram of the Open Solutions Architecture.
Figure 1: The Open Solutions Architecture.
Open Solutions Architecture extends the Java Runtime Environment (JRE) and Java Developer Kit (JDK) interfaces to promote 100% pure application interoperability on the NetWare platform. With the Open Solutions Architecture, Novell promotes a new class of distributed applications and services that are network-aware, directory-enabled, and globally-managed.
NetWare, when combined with Open Solutions Architecture, provides developers with the most reliable, the most scalable, and the highest performance Network Operating System (NOS) available. Java makes server-based development easy. Programming to NetWare is now as easy as writing Java code with your favorite Java development tool, or developing an application in a Rapid Application Development (RAD) environment using JavaBeans components.
Something for Almost Everyone
The OSA SDK provides tools for people in a broader range of roles than Novell's previous SDK offerings:
The OSA SDK contains everything you need to write object-oriented, multi-threaded, and dynamically-linked international applications using the Java language. This open, standards-based development environment allows easily-managed, secure, and server-based distributed applications, servlets, and applets to be built using Novell Providers for JNDI and Java Class Libraries, Beans for Novell Services, Novell ORB, and CORBA objects.
The SDK contains all you need to develop and deploy CORBA-compliant, distributed, Java applications. This development environment is geared to Java programmers who want to develop CORBA-compliant software in an all-Java environment (CORBA C++ applications are not currently supported). This is accomplished through Caffeine technology which includes the Java2IIOP compiler.
Web Solutions Programmer
The OSA SDK contains everything you need to operate the Novell Java Virtual Machine and Novell Object Request Broker (ORB) on NetWare 4.1x or NetWare 5.x and administer NetWare 4.1x or NetWare 5. Tools are included to administer Java-enabled applications and applets, the Java-based server GUI, processes, and environment variables.
OSA SDK Components Server and Services
Java Server Environment
The Novell Java Virtual Machine (JVM) provides the foundation for testing and deploying Java-enabled applications and applets. The final release of the OSA SDK includes JVM v1.1.3 for NetWare and IntranetWare and the Just In Time Java Compiler v1.1.3, for NetWare and IntranetWare.
This release of the JVM includes a graphical user interface for Java on the NetWare/IntranetWare server. The GUI can display graphical interfaces developed with the Abstract Windows Toolkit (AWT).
Java and CORBA Components
The Java Naming and Directory Interface (JNDI) is an implementation-independent interface to directory services like NDS. The OSA SDK includes Novell Providers for JNDI and Java Class Libraries that provide access to NetWare services through a single, consistent access interface. JNDI unleashes the power of the network and allows you to build applications spanning location and time, making them more productive and connected.
Directory service providers such as the industry leading NDS play a vital role in Intranets and Internets by storing, managing, and providing access to information about users, machines, networks, services, applications, and all other important objects.
Java application developers will greatly benefit from a directory service API that is not only independent of any particular directory or naming service implementation, but also enables seamless access to objects stored in the directory. The Java Naming and Directory Interface (JNDI) is that API. JNDI is the way for Java applications to access directory services and naming facilities. Through it, any Java application can discover, store, and retrieve objects of any type.
The JNDI specification was developed by JavaSoft in conjunction with a number of leading industry partners, including Novell, SunSoft, Netscape, IBM, and HP. The specification is available for public review at the JavaSoft Web site.
In addition, the new Beans for Novell Services (see under "OSA SDK Components Client Objects and Interfaces," below) provide access to NDS through easy RAD development environments.
The Novell ORB is a CORBA 2.0-compliant Object Request Broker (ORB). This release of Novell ORB is based on VisiBroker for Java 3.1, a product developed by Visigenic Software, Inc. The Novell ORB supports the deployment of distributed CORBA objects on NetWare 4.11, and the current pre-release version of NetWare 5. The documentation includes Visigenic's VisiBroker for Java 3.1 documentation and supplementary documentation specific to Novell ORB.
OSA SDK Components Client Objects and Interfaces
The Novell Object Request Broker (ORB) supports the development of CORBA applications on Windows NT and Windows 95, and the hosting of client programs on Windows NT/95. It is based on the VisiBroker Developer for Java 3.1 development package.
JNDI (Java Naming and Directory Interface) is an industry-wide, open interface that gives developers a common interface for navigating the myriad of naming systems that exist in the computing world today. JNDI greatly simplifies the code needed to browse directory services (like NDS, X.500, LDAP), file systems, DNS, etc. Client DLLs are provided for Windows 95 and Windows NT, along with example code to help you create and use Native JNI calls to NCPs. Also included is JNI Browser, a complete working example of a generic namespace browser written using the java.naming interfaces.
Beans for Novell Services
Beans for Novell Services provide Java components for developing NetWare and IntranetWare services. Each object abstracts significant Novell networking services and data sources, providing easy-to-use components for rapid and effective development of network applications. The following Beans are now available:
NWDirectory Bean. The NWDirectory Bean manages NDS using associated layout, field type, and syntax objects. It abstracts the features available in the directory and provides features for managing NDS.
NWSession Bean. The NWSession Bean includes login features for a network session, allowing you to retrieve and set session properties, and execute the Client32 dialog.
Beans that abstract other Novell network services are under development and will be made available as they are completed.
ConsoleOne (also known by the code name Houston) is an extensible snap-in framework that provides a common console and the necessary programming interfaces (APIs) for developing management and administration applications. For more information on ConsoleOne, see the articles in the March '98 issue of Novell Developer Notes.
OSA SDK Components Development Tools
A number of development tools are included with the OSA SDK.
Novonyx Fast Track Web Server
Not a development tool exactly, but the Novonyx Fast Track Web Server provides the foundation for the Universal Component System for Java, which gives you a choice of scripting languages to use in your Web application development.
The Novonyx Fast Track Web Server allows you to publish Web documents and write applications without the complexity or added investment of most Web servers. It enables individuals and small workgroups to establish a Web presence and deploy intranet solutions quickly. FastTrack Server's rich cross-platform environment supports building or deploying a variety of Web or database applications.
Universal Component System for Java
The Universal Component System for Java provided by the Novonyx Fast Track Web Server, gives you a choice of four scripting languages.
PERL. PERL Scripting is a standard feature on the Fast Track Web Server, allowing you to protect your existing investment in the PERL scripts and PERL applications that you depend on. In addition, PERL 5.0 scripts written on other Web servers will run on the Fast Track Server.
NetBasic. NetBasic Scripting is a VBScript-compatible language that allows you to use your Visual Basic scripting skills on the NetWare platform. Whether you are rapid application developer or a Web designer, you can use NetBasic and its pre-built components to access NetWare and integrate NDS (Novell Directory Services), Oracle, and Btrieve databases into your Web applications.
LCGI. The LCGI Scripting Gateway allow you to use your Java programming skills to write "servlets" and Java applications that run on the Fast Track Web Server. For more information on servlets see "Servlets" later in this article. The LCGI Scripting Gateway also lets you use JDBC (Java Database Connectivity) to access and support a variety of databases from your Web pages. For more information, see "Accessing Databases from Java on NetWare," later in this article.
Java Spellcheck SDK
The Novell Collexion Java Spell Checker allows you to write applets and applications that have spell checking capabilities.
Novell Install Services (NIS)
Novell Installation Services (NIS) provides the infrastructure for creating an installation program. It includes standard install capabilities, such as copying files from a CD-ROM and displaying a graphical user interface (GUI) to collect user preferences, and API that allow you to customize your installation to your specific needs. NIS also lets you bundle separately-developed products.
Third-Party Development Tools
If you haven't settled on a Java development environment, the OSA SDK includes evaluation versions of Java development tools to let you compare.
Java WorkShop. Sun's Java WorkShop 2.0 is a powerful, visual development tool for professional Java programmers. Java WorkShop offers a complete, easy-to-use toolset for building JavaBeans, Java applets and applications faster and easier than ever before.
Penumbra Super Mojo. Super Mojo is a RAD tool written 100% in Java for creating applications and JavaBeans. It has a drag-and-drop visual designer and integrated coder (IDE), providing access to all underlying code. Evaluation versions for both PC and Solaris are included with the OSA SDK.
Symantec Visual Cafe. Symantec's popular Visual Cafe RAD development environment enables fast Java application development through drag-and-drop visual programming, a flexible development environment, a comprehensive component library, an extensive Java toolset, and fast compilers.
IBM VisualAge for Java. VisualAge for Java is a RAD tool for building Java-compatible applications, applets, servlets, and JavaBean components. IBM Visual Age for Java is particularly well-suited for enterprise application development using AS/400 systems and DB2 databases.
Novell Open Solutions Architecture supports the new Java servlet specification. A servlet can be thought of as a server-side applet. It runs in a server the way an applet runs in a Web browser. Typically, a servlet has no user interface. That is, there is no user interface to worry about. The key value of Java servlets is that they provide a standard method for extending server functionality without the limitations of CGI-based or server-specific approaches. Another key benefit is that servlets are dynamic. Java servlets can be loaded and administered dynamically.
In practical terms this means that:
Java servlets can be written for specialized purposes and loaded as needed "on-the-fly." Administration can be performed without bringing down the server.
Developers who are looking to extend server functionality in a uniform way will now be able to create server logic without having to worry about the particular server software being used.
Running Servlets on NetWare
The OSA SDK includes the Java Servlet Manager. To access the Servlet Manager open the URL http://[your server's address or name]:7001/ from your browser. You will be able to manage your servlets through this browser interface.
To install your own servlet, the server manager needs to locate the servlet on the server in the subdirectory SYS:/JAVA/SERVLETMGR/CLASSES/. Refer to the Servlet manager (URL above) for more details and documentation on developing and running servlets.
This SDK also provides additional support for servlets via the Web Server (using RCGI). Install the demonstration program RCGISERVLETGATE and refer to the README file for further details.
Accessing Databases from Java on NetWare
With the Open Solutions Architecture SDK, Novell gives you the ability to access your data from any Java code base executing on the NetWare OS or elsewhere. Your Java code can take the form of a servlet, an applet, or an application. The included industry standard Java Database Connectivity (JDBC) driver for Oracle databases ensures accessibility to Oracle on NetWare.
JDBC is a vendor neutral API developed by JavaSoft. It provides Java programmers with a uniform interface to a wide range of relational and object oriented databases. JDBC is a standard part of Java and is part of the Java Development Kit v1.1.
In addition to the Oracle database access provided by the Oracle JDBC driver, future releases will provide support for many other databases including Sybase, DB2, and Informix.
Running JDBC on NetWare
The Oracle JDBC driver, WLOCI22.NLM, is automatically configured to be loaded with the rest of the SDK. Executing the JSTART command also loads this driver. After installing the driver, refer to the sample applications for an example of how to call into the database using the JDBC interface.
More Information/Downloading the OSA SDK
You can get more information about the Open Solutions Architecture and download the OSA SDK at the Novell DeveloperNet Web page:
You can download the OSA SDK for free, whether or not you are a DeveloperNet member.
* 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.