Open Solutions Architecture
Articles and Tips:
01 Jul 1998
In the past, companies measured the success of their network by the amount of data the network could carry. Today, however, companies must also consider network management because the costs associated with managing desktops, applications, and the network itself are increasing. (See "One Vision, One Strategy, and One Architecture" at http://www.novell.com/osa/briefing.html.)
Network management becomes even more important as companies struggle with the opportunity and the complexity of the Internet. In the expanding role of the Internet, the number one concern of most network administrators is managing all of the services and devices that are connected to the network.
Providing solutions that enable network administrators to manage their networks and reduce the total cost of ownership is fundamental to Novell's Open Solutions Architecture (OSA). OSA is Novell's strategy to make it easier to develop solutions for the NetWare platform. OSA focuses on Internet standards and open Application Program Interfaces (APIs) to provide network administrators and developers with more flexibility in building solutions that are network aware, Internet ready, and manageable.
This article explains Novell's OSA strategy and the developer tools that support this strategy.
EVOLVING THE NETWARE PLATFORM
With OSA, NetWare will no longer be a proprietary platform for application development. The purpose of OSA is to make the NetWare platform more useful, open, and easier for developers to build network solutions. The open APIs allow developers to
easily access Novell's advanced network, Internet, and management services, whether these developers use C/C++ APIs, Java class libraries and JavaBeans, or scripting languages (such as Visual Basic, JavaScripts, and Perl).
OSA is not only focused on the creation of network-aware applications but also addresses application deployment and management issues. Novell's goal is to evolve NetWare to become the best platform for deploying open solutions that are easily integrated with directory and management services. Through OSA Novell will provide the open protocols, standard interfaces, and Internet computing infrastructure necessary to make NetWare an ideal platform for Internet computing.
EMBRACING OPEN STANDARDS
As part of OSA, Novell is embracing Java across the NetWare platform and all network services. Embracing Java as the ideal Internet platform on which to build server-based solutions allows Novell to transition its traditionally proprietary network operating system to an open, high-performance platform for Java-based Internet applications. Novell is also embracing open standards such as Common Object Request Broker Architecture (CORBA) to build an Internet infrastructure for distributed object components. These--together with Novell's commitment to pure IP, Domain Naming Service (DNS)/ Dynamic Host Configuration Protocol (DHCP) services, Netscape services, and other open standards--make NetWare an open, standards-based platform for Internet computing. (For more information about pure IP, DNS/DHCP services, and Netscape FastTrack Server for NetWare, see "NetWare 5 Knows No Limits,"NetWare Connection, May 1998, pp. 6-21. )
As Figure 1 shows, the Java Runtime Environment enables you to run Java-based applications on a NetWare server. The Java class libraries then allow these applications to access NetWare services. As a result, Java-based applications can take advantage of NetWare's speed and reliability and can access Novell's advanced networking services.
Figure 1: Novell's Open Solutions Architecture
OSA also defines the architecture for interfaces and development tools to access network services. Applications can use the standard Java Development Kit (JDK) to open and access files stored on NetWare servers. Applications can also use the Java Naming and Directory Interface (JNDI) to access Novell Directory Services (NDS). OSA is designed to fully expose all of Novell's networking services through Java class libraries, JavaBeans, and Enterprise JavaBeans, thereby providing developers with the tools to build Internet solutions.
With Java, developers can quickly build and deploy applications on any node on the network. Most application development for Java has been on client systems, but Novell is focused on deploying Internet and intranet applications on NetWare servers. Using Java technology on the server enables faster performance, portability, and efficient partitioning of applications across clients and servers. As a result, developers can partition application logic to be executed at the point of the greatest economy and manageability.
However, writing an application in Java doesn't necessarily mean the application solves customer problems: Developers cannot address the cost of ownership and other customer problems without advanced networking services to extend the functionality of Java-based applications. For example, Novell's advanced networking services make applications easier to manage, secure, and license, and these services enable distribution and partitioning.
Through OSA, Novell will enhance and extend the pure Java model of "write once, run anywhere" by adding attributes that make applications easier to register, install, configure, manage, and update across the network. In short, OSA will provide the network architecture and developer tools to help lower the cost of ownership.
OSA DEVELOPMENT COMPONENTS
OSA is designed to embrace existing developer tools and frameworks from partners such as Netscape, IBM, Oracle, Microsoft, and others to extend an application's functionality to the network. Novell's DeveloperNet provides developers with the server components and tools to develop for, manage, and use Novell's new architecture and Java platform. Many components work on both NetWare 4.1x and NetWare 5. Also, each component has its own installation program, so you can install as few or as many components as you need.
Developers can become an electronic-level DeveloperNet member at no charge, and can then download all of the server components and tools described in the following sections. (For more information about DeveloperNet, visit Novell's DeveloperNet web site at http://developer.novell.com. To download these tools, go to http://developer.novell.com/sitemaps/kits.html.)
Kernel and Application Development
Before NetWare 5, developers had to write NetWare Loadable Modules (NLMs) to develop server-based applications. NLMs run in the same memory space as the NetWare kernel and provide high performance. Unfortunately, running in this memory space makes NLMs more difficult to develop, requiring skilled programmers.
With NetWare 5, NLMs can run in user memory space, which is located outside the NetWare kernel. This capability makes developing NetWare applications easier because developers can take advantage of protected and virtual memory, and they don't have to worry about applications corrupting the NetWare kernel and causing the server to abend.
Novell has formed strategic relationships with vendors, such as Metrowerks, to provide advanced developer tools to build server-based applications. Metrowerks CodeWarrior, for example, provides an advanced C/C++ and Java Integrated Development Environment (IDE) that fully supports the NetWare platform. (For more information about CodeWarrior, visit http://developer.novell.com/dev_resources/metrowerks.htm.)
Java Application Development
Developers can use Java to write extensions to NetWare that fully interact with NetWare services, web services, and database information (through Java Database Connectivity [JDBC]). The Java development components are listed below.
Novell JVM for NetWare. The Java Virtual Machine (JVM) allows Java-based applications to run on NetWare 4.x and NetWare 5 servers. Novell also ships all of the standard JavaSoft JDK libraries and components, and NetWare supports standard extension APIs, such as JDBC and servlets.The JVM runs extremely fast within the NetWare kernel. In an independent test by KeyLabs, the NetWare 5 JVM ran more than twice as fast as the nearest contender. (For more information, visit http://developer.novell.com/java.)Novell is ensuring that NetWare continues to be the fastest platform for Java: Novell is working with Intel to create a JVM that will run on Intel processor-based servers, including symmetrical multiprocessing (SMP) servers and forthcoming IA-64 architecture servers. Novell plans to incorporate this JVM into NetWare in 1999. (For more information, visit http://novell.com/press.)
Sun Microsystems Java Runtime Environment 1.5.1i for Windows 95 and Windows NT. This component provides NetWare clients with the files they need to run Java-based applications. Because these applications can run on any computer that supports a JVM, servers and workstations can run many of the same Java-based applications, such as Novell's ConsoleOne, which is explained below.
JavaBeans for Novell Services. These easy-to-use components allow developers to quickly write Java-based applications using Rapid Application Development (RAD) tools that can access NetWare services, such as NDS, print queue management, server socket, and client socket services.
Novell Class Libraries and Frameworks for Java. These class libraries and frameworks enable Java-based applications to access Novell's networking services through a single, consistent interface.
Novell ConsoleOne. This application provides a GUI framework, or shell, that runs Java-based management applets (which are called snap-in modules). Because Novell wrote ConsoleOne with Java, you can use ConsoleOne and its management utilities on any computer that supports a JVM. (For more information about ConsoleOne, visit http://developer.novell.com/consoleone.)
Novell Installation Services (NIS). This framework provides the infrastructure for creating server-based installation services on the NetWare platform. NIS includes standard installation capabilities, such as copying files from a CD-ROM, and GUI components to collect user preferences.
Internet Application Development
Web servers and application servers running on NetWare provide web publishing capabilities, scripting language support, and extended network services, such as application and database support.
Netscape FastTrack Server for NetWare. This web server enables you to publish web documents and to run web-based applications using Common Gateway Interface (CGI), JavaScript, NetBasic, Perl 5, and Java. Netscape FastTrack Server runs 30 percent faster on NetWare than on any other platform. (For more information, visit http://www.novell.com/intranetware/products/netscape_servers.) NetWare also supports Netscape Enterprise Server.
WebLogic Tengah Application Server and Services. This multithreaded Java application server provides a standard environment for Java-based applications in much the same way that Windows provides a standard environment for Windows-based applications. This application server offers a full suite of Java application development services, such as JDBC and JNDI interfaces, servlets, dynamic HyperText Markup Language (HTML), events, and session management. Tengah is Novell's Java application server that runs on the JVM. (For more information about Tengah, visit WebLogic's web site at http://www.weblogic.com.)
Scripting Application Development
Developers and network administrators can build solutions on NetWare using popular scripting languages (such as JavaScript, Perl 5, and Visual Basic scripts).
NetBasic 7.0. This scripting language enables developers to use Visual Basic scripts on a NetWare server. Developers can use the Microsoft Visual Studio or any text editor to create scripts and then run them on NetWare. NetBasic 7.0 also enables developers to incorporate Java class libraries and JavaBeans into any NetBasic script. NetBasic scripts can access Novell's networking services, build dynamic HTML pages, interface with the web-server, and perform server-based administrative tasks.
Perl 5. Developers can use Perl-based applications on NetWare, even if these applications were originally written to support other web servers. The LCGI Servlet Gateway enables developers to write Java servlets that run alongside Netscape FastTrack Server for NetWare.
JavaScript. This scripting language is supported through the Netscape FastTrack WebServer, offering advanced HTML automation and scripting services for web publishing.
Distributed Computing Infrastructure
The Novell Object Request Broker (ORB) enables developers to run CORBA applications on NetWare 5 and NetWare 4.11. CORBA enables pieces of programs, or objects, to communicate with each other regardless of the programming language in which the objects were written or the operating system on which the objects run.
EVERYONE BENEFITS FROM OSA
The OSA strategy offers a win-win solution for everyone: Novell wins because it has a long-term strategy that brings greater value to the NetWare platform through open protocols and standard interfaces. Developers win because OSA allows them to build applications that are network aware, Internet ready, and manageable. You win because you have better tools and NDS-enabled applications that will help you manage everything connected to the network. Your company wins because it gets a better return on investment as applications leverage the performance, reliability, and manageability of NetWare.
Terry L Jeffress works for Niche Associates, an agency based in Salt Lake City.
NetWare Connection,July 1998, pp. 8-12
* Originally published in Novell Connection Magazine
Disclaimer
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.