Why Develop to NetWare 5?
Articles and Tips: article
01 Jan 1999
Describes how NetWare 5 with Novell Directory Services (NDS) easily manages and controls the entire networking environment, including multiple operation systems (Win95, Windows NT Server, etc.), protocols (IP and IPX), applications (Java, Web-based, and server), and desktops.
NetWare 5 with Novell Directory Services (NDS) easily manages and controls the entire networking environment, including multiple operating systems (Win95, Windows NT Server, etc.), protocols (IP and IPX), applications (Java, Web-based, and server), and desktops (ZENworks). It combines the maturity of the business network and the open standards of the Internet, delivering tools and services that offer pure IP connectivity and management, as well as services and functions, such as WAN support (X.25, Frame Relay, ISDN, ATM, and PPP) and a browser and Web server. In addition, by supporting popular APIs such as WinSock 2 on the NetWare 5 platform, Novell further enables developers with unimpeded access to IPX/SPX, IPv4, and IPv6 transports.
NetWare 5 supports applications your customers need to run their business. And it includes new features that enhance reliability when developing kernel-level services. It supports open application development on a fast, proven operating system and is simply the best network server platform on which to deploy distributed, server-side Java solutions. NetWare 5 provides high performance, simple management and deployment, and adherence to open standards and protocols for server-based solutions written in Java, Scripting, and C/C++.
NetWare 5's file, print, management, directory, security, and Web services are all optimized for industrial-strength networking and application support (as opposed to general-purpose operating systems). In addition, NetWare 5 reduces customer total cost of ownership (TCO) by greatly enhancing network management, optimizing bandwidth, consolidating protocols, running distributed applications, and delivering proven networking services on their existing network infrastructure.
Because it makes full use of Novell Directory Services, NetWare 5 is the industry's only intelligent network operating system-and the feature-rich, directory-enabled networking platform that is set to reward developers who follow suit with valuable next-generation, directory-based applications. With out-of-the-box support for powerful development tools such as Java, NetBasic, CORBA (Common Object Request Broker Architecture), LDAP (Lightweight Directory Access Protocol) and others, NetWare 5 is poised to become the deployment platform of choice the platform you and your customers can rely on for running your valuable applications anywhere across LANs, WANs, intranets and the Internet.
The lure of Internet-based technologies is driving companies to implement new strategies for getting and sharing information, within their organizations and with partners, suppliers and customers. As a result, many businesses are looking for computing environments and distributed applications that seamlessly integrate local and wide area networks, the Internet and intranet operations. With best-in-industry support for open Internet standards, protocols and interfaces, NetWare 5 enables users with easy access from anywhere and allows businesses to streamline their information systems, while addressing the full range of business computing needs for basic corporate, business-critical and line-of-business applications.
With its roots in networking's beginnings, Novell continuously seeks new ways to advance the businesses of its customers by developing advanced Internet/intranet software solutions. Although important, Novell's strategy isn't based on NetWare 5.0. It's based on the directory services-centric model of network computing, and we have a multi-year lead in this area. The company's networking strategy not only builds on extensive experience with client/server computing and directory services technologies, but also recognizes that network clients need secure and reliable anytime, anywhere access to a wide variety of network services, resources and networked applications that are easily managed.
This strategy forms the basis for NetWare 5's client/network computing-clients rely on an intelligent network to direct resources from a wide range of devices. In this paradigm, clients transparently access network resources and services regardless of the physical location of a specific resource. Browsing the World Wide Web shows the ease with which network resources can be exploited in this new paradigm. Embedded hypertext links and specialized search engines make this specific use of the client/network computing paradigm possible.
NetWare 5 Platform Features
NetWare 5 raises the bar on network and application performance and reliability by offering a host of new features, including:
Novell Storage Services
Novell Distributed Print Services
MPK is the advanced NetWare kernel that provides an integrated single/multiprocessor OS (operating system) to facilitate symmetrical multiprocessing (SMP)-enabled network services and ease SMP enabling for applications. This creates a clean execution environment for applications and application environments such as Java. In addition, the MPK adds to the high-availability picture by boosting the vertical scalability of servers on the network. It replaces SMP as the next-generation multiprocessing software environment. NetWare 5's MPK can support a machine with as many as 32 processors.
NetWare 5 includes a new memory management system which incorporates virtual memory (VM). VM enables administrators to address a memory storage space much larger than the physical RAM on a machine. And the NetWare 5 VM swap file is much more dynamic than other VM systems. For instance, with NetWare 5's VM you can have more than one swap file, and swap files can grow and shrink dynamically.
The use of VM greatly reduces the physical memory limitations of the server, monitoring memory usage so that only necessary and frequently accessed memory is kept readily available; other memory is swapped out to the hard disk on one or more NetWare volumes. Virtual memory will prove to be a great advantage because most NetWare Loadable Modules (NLMs) and other server-based applications use only a small percentage of the memory that they may allocate. VM significantly decreases the physical memory requirements for a given module and frees up that memory for other purposes. GroupWise post office NLMs, for example, require 8MB to run on the server; VM testing shows that less than 2MB actually needs to occupy physical memory during normal day-to-day operation. This frees up at least 6MB to be used for caching and other server components.
Virtual Memory is transparent to the user, as well as the NLM developer, and works in conjunction with NetWare 5's memory protection feature. As with many other NetWare configuration parameters, VM is set up with a maximum/minimum size parameter (since it grows and shrinks dynamically). Moreover, you can specify the amount of the NetWare volume space to be kept free. With NetWare, the swap file can also be directed to any NetWare volume. You can also view the status of your swap file via the server's monitor utility.
By utilizing VM, NetWare 5 provides better performance by minimizing I/O, while keeping workload on the CPU high, and better efficiency by minimizing memory fragmentation, sharing of memory resources, and balancing system response and bandwidth utilization. It also provides the needed infrastructure to support shared memory, very large memory configurations, and expandable and compressible stacks.
NetWare 5 offers a series of protected memory spaces in which NLMs can be loaded and isolated from the server code and from other NLMs. If one or more protected modules fails, the server will remain up; only the isolated address space will fail, and the components can be re-loaded without bringing the server down. Furthermore, the reloading of a failed address space and all its modules can be done automatically. Also, NLMs that use the standard CLIB interface and do not enable/disable interrupts can be loaded in protected spaces with little or no loss of performance, providing a forgiving, and flexible, way of building, testing and deploying applications.
With NetWare 5, the use of protected memory is 100 percent optional. That is, all NLMs can run in kernel space as in previous versions of NetWare. An optional auto-start flag is available for any protected module; therefore, if a fault occurs, the address space will be cleaned up and re-built with all modules re-loaded automatically. All modules running in protected address space use virtual memory, automatically. Libraries (such as CLIB) are shared across address spaces for maximum memory efficiency. And diagnostic core dumps are created for the faulted address space without bringing the server down.
NetWare 5 includes a hardware configuration manager that tracks all changes and modifications to the hardware. The configuration manager includes Hot Plug PCI management and accommodates other architectures, such as EISA, MCA, and PnP ISA. Configuration manager detects hardware configuration on hardware buses that support auto detection and stores the current information; then, each time the operating system is brought up, configuration manager loads and compares the current detected hardware configuration with the saved configuration. If a change is detected, NetWare automatically loads the appropriate installation NLM. If dynamic changes are made using Hot Plug PCI, the configuration manager will monitor the NetWare Event Bus to determine when a device is removed. If it detects a dynamic change, it sends a message to the corresponding device driver so it will unload; when a device is dynamically added, NetWare 5 again automatically loads the installation NLM to deal with the configuration change.
Novell Storage Services
Novell's new file system, Novell Storage Services (NSS), is a reliable and powerful new high-performance storage and access system that expands Novell's performance lead over other operating systems. Because in this case size really does matter. NSS greatly improves memory and disk space usage and provides the ability to handle a large number of file system objects, regardless of object size. As a result, NSS allows virtually unlimited directory entries and can store objects as large as hundreds of terabytes. NSS raises the bar on file scalability-allowing for billions of volumes and directories and 64-bit addressing, while maintaining a very small memory footprint.
Novell Distributed Print Services
Novell agreements with leading companies such as Hewlett-Packard and Xerox are bearing fruit with Novell Distributed Print Services (NDPS) in NetWare 5.0. By establishing a bidirectional standard between the directory and devices external to the file server, Novell has increased tenfold the status information to be passed from network to client workstation. Imagine, as a user, sending a large job to a printer and being informed there isn't enough paper or toner to complete it!
Additional Enhancements to NetWare 5
In NetWare 5, services become part of the TCP/IP environment while maintaining full support for your customers' current IPX-based applications and providing an easy migration path for developers. This was accomplished by modifying and enhancing Novell technologies and combining them with TCP/IP standards, as follows:
Modify NCPs (NetWare Core Protocols) to use both TCP and UDP (User Datagram Protocol) transports.
Modify the NetWare operating system to remove all IPX dependencies (IPX functionality therefore exists only to provide IPX compatibility).
Enable users to continue to use the existing NetWare/IP product if they choose.
Have DHCP broker IP addresses and help the Novell client requester locate an NDS server.
Use NDS for naming and Service Location Protocol (SLP) to provide service discovery that replaces SAP without the "chatty" overhead.
ConsoleOne will begin shipping as part of NetWare 5 and initially include the user and container administration tools that are currently provided with NWAdmin. Later, Novell will deliver the functionality of all of its management applications as snap-in tools into ConsoleOne (i.e., NWAdmin, ManageWise, ZENworks, and the administration tools for GroupWise, Novell BorderManager, and NDS for NT)-providing IT managers with a common, intuitive interface and single point of control for all the essential network administration and management functions.
ConsoleOne, the next generation of NWAdmin, provides a single GUI management infrastructure for both ManageWise and NetWare-based administration. ConsoleOne's common framework is based on Internet standards such as Java, JNDI, IP, LDAP and SSL. It integrates Java applets and snap-ins to allow developers to easily build management solutions with a common look and feel, speeding the development and deployment of solutions that can be distributed and accessed across all platforms on business networks, intranets and the Internet.
Most importantly, Novell's snap-ins to ConsoleOne will fully leverage Novell Directory Services to allow role-based administration and greater levels of security.
ZENworks Workstation Management
NetWare 5 ships with ZENworks Starter Pack, which includes Novell Application Launcher (NAL) and Workstation Manager, as part of the NetWare 5 installation. ZENworks is a bundle of management utilities that assist customers in managing individual workstations in their enterprise.
The components of ZENworks allow administrators to solve a user's workstation problems without visiting the user's workstation. By adding workstation objects and workstation group objects to the NDS tree, administrators can manage the desktop configuration, distribute applications, and perform maintenance on the workstation through NDS. With ZENworks installed, workstations are registered with NDS each time a user logs in to the network. Registration enables administrators to look at workstation object details and centrally manage workstations through NDS. Moreover, ZENworks remote control (sold separately) allows administrators and support personnel to control workstations remotely, eliminating expensive travel time to touch client workstations for installation, troubleshooting, or repair.
While NetWare 5 ships with ZENworks Starter Pack, it does not come with full ZENworks functionality, which is considerable. Customers need to purchase the full-featured product (for more information, visit http://www.novell.com/products/nds/zenworks).
The NetWare 5 Deployment Environment
The NetWare operating system is a stable, proven operating system-developed on the premise that a dedicated network operating system is better for hosting the network and far more efficient than a general-purpose operating system. A dedicated operating system has the ability to get the best performance out of the server's subsystems: the communications channel, the disk channel, the processor, the I/O bus, etc. Which makes NetWare the highly reliable, available and scalable NOS of choice for business networks-and an elegantly thin, fast platform for the world's developers.
At the heart of NetWare 5 is a high-performance multiprocessing kernel. The scheduler submits work to do and the kernel provides the execution environment and context for scheduled work items. Novell's high-speed communications engine runs on the kernel. In NetWare 5, this engine uses pure IP-it doesn't retain an IPX-based encapsulation, as with NetWare 3 and 4, or a NetBIOS encapsulation, as with Windows NT servers. And to ensure backward compatibility, NetWare 5's compatibility mode lets customers run IP only, as well as any combination of IP and IPX network segments-ensuring smooth migration to IP and leveraging their existing applications.
Thousands and thousands of proven, market-winning extensions to the NetWare kernel have been developed as NetWare Loadable Modules (NLMs). As kernel extensions, NLMs have proven to be very efficient and highly reliable, and they have traditionally required a high degree of programming skill. But that's yesterday's news. NetWare 5 maintains the NetWare environment's high performance and, at the same time, includes a superior application-level development environment for network-aware solutions to be easily created, used and managed using nearly any popular developer tool.
Via Novell's new Open Solutions Architecture (OSA), Java is implemented right at the NetWare 5 kernel using NLM (NetWare Loadable Module) architecture, giving it better performance, availability and reliability. Novell is also partnering with Oracle to leverage Java by integrating the NetWare platform with Oracle databases, providing powerful database connectivity and Web application development. In addition, NetWare 5 also supports ActiveX control development.
NetWare 5 delivers an outstanding infrastructure for hosting distributed network applications based on Java and Common Object Request Broker Architecture (CORBA). Novell is supporting CORBA as the standard for distributed objects. The CORBA ORB enables interoperability between objects of all kinds, even those built in different languages and running on dissimilar machines. One advantage of CORBA support in NetWare 5 is that users can access their network "view" from anywhere. The location of the data is irrelevant. As a result, users can personalize how, when, and what data they"view.
The Java Environment in NetWare 5
A majority of medium and large-sized businesses are making their plans to use Java on the server within the next two years. And, with an opportunistic eye toward the future, it's easy to see why enterprises are embracing Java as the "glue" of choice behind their server-side application development and object distribution. With elegance and simplicity, a rich component model, code mobility and robust execution on a range of platforms, Java can significantly reduce the time and cost of business application development. NDS, in turn, makes the Java solutions you develop secure, manageable and available to your customers. All of these benefits are available to you on the NetWare platform today.
The manageable performance of the NetWare JVM (Java Virtual Machine) positions NetWare as the best server platform for running Java applications. Novell achieved NetWare 5's high performance levels by eliminating a significant amount of the performance penalty associated with Java applications. On Windows NT or UNIX, for example, Java duplicates many operating system functions, adding overhead to the system. As the first major player to license Java on the server and include the industry's highest-performing Java Virtual Machine as part of its Novell Developer Kit (NDK), Novell is far ahead of the competition when it comes to leveraging the server-side advantages of the Java platform.
The Novell JVM for NetWare contains the following components:
Symantec JIT compiler
The Novell JVM for NetWare is comprised of several NetWare Loadable Module (NLM) programs that let the NetWare server run applications and applets that use the packages in the Java core API. The Novell JVM for NetWare 1.1.5 is the Java Virtual Machine (JVM) engine that runs Java applications, servlets, and applets. Included with the JVM is the Server Console GUI for use on your NetWare server. You can load Java support by calling JAVA.NLM at the server console prompt, and you can run Java applications using the APPLET console command. Accessed through the Novell Developer Kit, Sun Microsystems' Java Runtime Environment (Windows 95/WindowsNT 4.0 version) is also installed on the NetWare server with the JVM for access by NetWare clients.
Included with the NetWare 5 platform, WebLogic's Tengah Java application server is an open, extensible, standards-based platform for assembling, deploying, and managing distributed Java applications. With Tengah, Java applications can interconnect with heterogeneous databases and other network information resources, as well as other Java business components. Tengah manages application objects to ensure security, scalability, performance, and transaction integrity.
Java application developers will greatly benefit from the Java Naming and Directory Interface (JNDI) support in NDS. JNDI is the API for Java applications to access directory services and naming facilities. Independent of any particular directory or naming service implementation, it also enables complete access to objects stored in the directory. Through this interface, any Java application can discover, store and retrieve objects of any type.
JavaBeans For Novell Services
With NetWare 5, you can use JavaBeans as a server programming interface to gain access to NetWare services. Designed for the Java programmer, as well as for the Web master/scripting programmer, JavaBean functionality can be used to build console applications, Java servlets, Java applications, and CGI programs. Novell's JavaBean objects abstract significant NetWare networking services and data sources, providing easy-to-use components for rapid and effective development of network applications.
The following JavaBeans are now available:
The NWDirectory Bean manages NDS using associated layout, field type, and syntax objects. It retrieves the entries, layouts, field types, and syntaxes of an NDS tree and provides methods for creating NDS elements and object icons. The NWDirectory Bean abstracts the features available in the directory and provides features for managing NDS. It is the top-level object that encompasses the network directory. It contains properties associated with other objects, including the NWEntry, NWLayoutDescription, NWFieldType, NWFieldDescription, NWSyntax, and NWValue objects. These objects and the NWDirectory Bean are used as independent components to develop network management applications.
The NWSession Bean includes login features for a network session, allowing you to retrieve and set session properties, and executes the Client32 dialog. The NWSession Bean allows you to list the available trees and servers, identify the trees or servers you are logged in to, and view network volumes to which you have access. You can also map and unmap network drives as well as list current drive mappings. Using the NWSession Bean, you can log in to NDS trees or specific servers on the network using either a customized login interface or Novell's standard client32 login dialog box.
In addition to access through Java, Beans for Novell Services provide access to NDS through Rapid Application Development (RAD) environments, discussed later in this paper.
Java Servlets on the NetWare Platform
NetWare 5 also supports the new Java servlet specification. A servlet can be thought of as a server-side applet, running in a server the way an applet runs in a Web browser. Typically, a servlet has no user interface to deal with. 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. Developers looking to extend server functionality in a uniform way will now be able to create server logic without worrying about which operating system software is being used. Another key benefit is that servlets can be loaded, run and administered dynamically. In practical terms, this means that Java servlets can be written for specialized purposes and loaded by network managers as needed "on-the-fly," enabling performance of administrative tasks without bringing down the server.
Accessing Databases from Java on NetWare
You can access data from any Java code base executing on the NetWare OS or elsewhere. Java Database Connectivity (JDBC), the vendor-neutral API developed by JavaSoft, provides Java programmers with a uniform interface to a wide range of relational and object-oriented databases. Java code can take the form of a servlet, an applet or an application. JDBC is based on the X/Open SQL Call Level Interface and is compliant at the SQL-92 Entry Level Standard. The Novell Developer Kit includes a JDBC driver for Oracle databases that ensures complete access to Oracle on NetWare. In addition to Oracle database access provided by the Oracle JDBC driver, future releases will provide support for many other databases, including Sybase, DB2, and Informix.
The Oracle JDBC Remote Driver complies with JDBC version 1.22. Additionally, this driver has some extensions to properties, types, and performance. The Oracle JDBC Remote Driver is a Type 4 driver, which uses Java sockets to connect directly to the Oracle database. It provides its own implementation of a TCP/IP version of the Oracle Net8. The driver is written entirely in Java and is platform independent. This driver requires a TCP/IP listener on the server side, but does not require Oracle software on the client side. And it connects to any Oracle database version 7.3 or higher.
NDS For Developers
Novell has made key enhancements to NDS in NetWare 5 so that it efficiently supports you in building manageable applications that can exploit existing and emerging Internet standards. Today, NDS already manages more than 40 million client desktops worldwide. With an award-winning track record that includes a decade in development and more than five years on the market, NDS is the de facto Internet-directory standard. And with directory-enablement getting ever higher on the list of customer priorities, enhancing your solutions with NDS can provide rich rewards by enabling you to provide secure, manageable solutions to a rapidly growing Internet user base.
NetWare 5 ships with a new version of Novell Directory Services (NDS) that offers increased flexibility and security in managing and administering the network, saving businesses considerable time and money. Enhancements to NDS in NetWare 5 focus on providing protocol independence between IPX and IP, enabling developers to utilize NDS for name resolution and minimizing protocol-specific naming such as SAP and SLP.
NDS core components that have been enhanced are as follows:
WAN Traffic Manager
WAN Policy Maker
Transitive synchronization changes the process of how NDS replicas synchronize. The biggest change is that each server in a replica list no longer has to synchronize with all other servers in that replica list. Rather, when a server synchronizes with another server in the replica list, it checks the Replica Upto vectors on the target server for other servers in the replica list. Comparing the target server Replica Upto vectors against the source servers determines whether the source server needs to synchronize with any other servers in the replica list.
If the target server has more recently synchronized with other servers in the list than the source server, it is not necessary for the source server to synchronize with those servers. This cuts down on synchronization traffic a great deal and facilitates larger replica lists. In addition, changes made on a replica can be synchronized to other replicas via intermediaries. This eliminates the problem of DS servers being unable to connect with one another.
Lightweight Directory Access Protocol (LDAP) is the de facto protocol standard for accessing directory information over the Internet or intranets, enabling users to easily access X.500-based directories such as NDS. In-house and third-party applications can employ LDAP to access various directories, including NDS.
In contrast to native LDAP directories, Novell's implementation of LDAP (LDAP Services for NDS), provides a high-performance, easy-to-deploy directory service that runs reliably-today-on a variety of platforms. A server-based interface between NDS and LDAP-compliant applications, LDAP Services for NDS in NetWare 5 is fully compliant with the latest LDAP standards.
DSDIAG is a new utility in NetWare 5 that offers many convenient options in diagnosing and troubleshooting NDS errors. It supports multiple trees, identities, and naming conventions. It also allows you to export data into several formats for ease of viewing. New functionality of the diagnostics module in NDS, DSDIAG.NLM, includes the following:
Reports on new status attributes on background processes
Compare replica rings
Tuned name reporting
Schema compare reports
WAN Traffic Manager
The WAN Traffic Manager acts as a WAN "traffic officer." It is a general-purpose WAN traffic policy interpreter for use by NDS that will give network administrators the ability to determine how often NDS should send changes over the WAN link. This will minimize the expenses for those networks that have pay-by-the-use connection fees.
WAN Policy Manager
The WAN Policy Manager is a GUI utility that provides control of the creation, deletion, and editing of WAN Traffic Manager policies. The Policy Manager also performs syntax checking to validate policies. Policies are stored as text in NDS attributes of server and LAN area objects. The Policy Manager runs as a NWAdmin snap-in on Windows 3.1, Windows 95. and Windows NT and is enabled for internationalization.
Catalog Services provide developers with the capability to create and access catalog databases. A catalog database is a flat file database that contains a snapshot of information from the directory. It provides fast querying of a defined set of data from an entire directory tree or a portion of the tree. Also, NetWare 5 includes new "contextless login" capabilities that leverage the NDS catalog, allowing users to authenticate from any point on the network simply by typing their login name and password, removing the need to know the location of their user object in the NDS tree.
The Catalog Services Manager is a GUI utility that allows the user to specify the search scope, match criteria, and extraction criteria for creating a catalog database. It also allows the user to schedule the Dredger operation to create and refresh the catalog, or to run the Dredger manually. It includes a rudimentary catalog browser that allows a user to execute queries against an existing catalog. Catalog Services Manager is a NWAdmin snap-in and runs on Windows 3.1, Windows 95, and Windows NT.
Dsbacker was created in response to customer requests for a method of archiving NDS data and schema into a file that can be backed up and restored by any backup application available on the host platform.
NetWare 5 will offer NDS Manager as an NWAdmin snap-in and as a standalone utility. NDS Manager runs the same as in NetWare 4.11, but with two key enhancements: 32-bit code in place of 16-bit code for faster performance, and the NDS Schema Manager snap-in included with the software rather than being offered as a downloadable add-on.
NDS is pulling together enterprise networks with mainframe systems as well as heavy-duty database servers like Oracle, Sybase, and Informix to create a common management fabric across heterogeneous networks. In addition, NDS for NT enables developers to build NT applications that can be administered and authenticated by NDS, providing developers with maximum freedom of choice while they accrue the benefits of NDS across intranets and the Internet. Broad-based support of a common directory is unprecedented, and reinforces the significance of NDS as the industry's only global directory that is capable of providing secure, manageable access to applications in distributed multivendor networks.
Using NDS, you retain maximum flexibility and control in building and deploying applications. Directory-enabled applications are inherently intelligent because they are aware of the network. Thus, directory-enabled applications can do a lot more than deliver business logic. They can query and log in to network services, discover new services, and register application-specific information that can then be administered, managed, and secured across the network, rather than on individual client or server machines. Beyond global directory lookups, it not only provides the benefits of a single sign-on and single point of administration, it also gives your application access to a powerful and fault tolerant network database-and the potential for new levels of automation and interactively.
For example, with the extensibility of NDS, you can modify the directory schema to add application-specific attributes or information that automates how applications and users interact. Just as users and resources are managed across the network from the directory, your application can also benefit from the anytime, anywhere access control, management, and security attributes of a global directory. So instead of requiring your application to perform its own login and password security access, it can leverage NDS for this information. NDS provides the ability to automate how an application can log into the network and gain access to services, lowering your application's cost of ownership and deployment by providing a single point of administration, management, and distribution. For millions of network users, NDS can serve as the universal link between disparate (and distant) workstations, servers, hubs, routers, databases, operating systems, network environments, individual users, workgroups, organizations, and your application.
Not only is NDS easy to leverage, it adds serious market value to applications because it simplifies access and management tasks for network administrators and end-user customers. For example, the NDS maps network names to addresses using a hierarchical name space rather than a flat name space. This hierarchy allows the database to be mapped as a tree that can be partitioned by its subtrees. Because object names contain the hierarchy information, users can access network resources globally, and administrators can administer the entire tree and its objects from a single point. That's extremely cost-effective, and something decision makers will take a second look at when considering your solution.
And there are many other benefits to working with NDS in NetWare 5 or NetWare 4, Windows NT and UNIX servers for that matter. With so much of the work already done in the directory space, you obtain concrete advantages such as fewer hassles and less time spent in the development process. And it's not just all or nothing when it comes to leveraging our directory. You can pick and choose the NDS functionalities you want to leverage, including single sign-on, authentication, single point administration, management, and object repository. In addition, by using NDS, you can be confident that you're adding tried-and-true directory functionality to your application. Use your choice of familiar developer tools, without having to design and build access and management services of your own. Design, build, market, and support your application's logic while Novell handles the directory services end, and you make your application far easier to develop, sell, and manage.
LogicSource for NDS
One of the newest resources for developers looking to leverage Novell Directory Services is LogicSource for NDS. LogicSource for NDS represents the most comprehensive technical support resource ever written for any network directory service. More than 1500 pages of technical specifications, hypertext links and detailed instructions on how to perform functions and procedures unique to NDS are included in one convenient CD. LogicSource for NDS is a high-powered tool for end-users, developers and system administrators who want a competitive advantage when implementing NDS, writing code or resolving operational problems.
For more information about developing solutions using NDS, please visit http://developer.novell.com/nds.
The Novell ODBC Driver for NDS provides database developers and administrators with the ability to perform Structured Query Language (SQL) calls to NDS. It is now easy to create reports concerning the user accounts, group memberships, and account balances contained within your directory using standard tools, such as Crystal Reports and Microsoft Excel. For programmers, NDS can now be used in the same manner as other ODBC data sources, such as Oracle, Sybase, and others. It can also be used with JDBC, using JDBC:ODBC bridging technology.
CORBA, an architecture specification produced by Object Management Group (OMG) is designed to allow platform-independent interoperability between objects in a distributed network environment. In this open environment, objects can discover each other and invoke services on each other via an ORB, regardless of location, implementation language or platform.
The Novell ORB is a CORBA-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. Novell ORB can be thought of as a version of VisiBroker for Java that's been ported and customized to provide a CORBA solution for NetWare. Novell ORB supports the deployment of CORBA-based applications on NetWare 4.11 and NetWare 5. Novell ORB also supports the development of CORBA applications on Windows NT and Windows 95, as well as the hosting of client programs on Windows NT and Windows 95.
The Novell ORB is a platform for developing and deploying distributed applications implemented in Java. Because the APIs and underlying communications protocol supported by the ORB conform to the CORBA specification, ORB-based applications are portable to and interoperable with other CORBA-conforming environments. Using the Novell ORB, developers can implement object-oriented client/server and multi-tier applications, with the clients typically running on Windows NT or 95 and the servers on NetWare. The ORB hides the details of the communications layers on each OS, while supporting a variety of communications paradigms, such as synchronous and asynchronous requests and callbacks. The ORB also provides features to enhance application reliability, location transparency, and security.
Benefits of using the Novell ORB are:
A comprehensive set of high-level APIs for building distributed applications. Applications built on the Novell ORB are easy to develop because the ORB hides details of underlying communications protocols and low-level location primitives.
Support for CORBA protocols and interfaces. Because the Novell ORB conforms to the OMG's CORBA specification, it allows NetWare hosts to function as robust application servers in heterogeneous environments where CORBA-conforming applications are deployed.
Complements and extends the functionality of Web browsers and HTTP servers. Novell ORB clients can be implemented as standalone Java applications or as Java applets ("thin clients").
Novell ORB servers can be identified and accessed using Uniform Resource Locators (URLs).
Allows CORBA-conforming applications to be developed exclusively in Java. Using the Novell ORB's Caffeine feature, programmers can implement their applications entirely in Java, without needing to use the Interface Definition Language (IDL) defined in the CORBA specification.
Provides naming and reliability features that extend the CORBA specification.
The Novell ORB's Smart Agent provides directory service functions, fault tolerance, and object migration facilities.
Hardware and software vendors are already offering CORBA-conforming middleware products on a variety of hardware architectures and operating systems. With the addition of the Novell ORB, the capabilities of current NetWare networks can be extended to support the deployment of CORBA-based distributed applications. Organizations that wish to deploy CORBA-based applications can now include the NetWare platform as a serious competitor for duty as an application server.
If you're interested in leveraging ORB services, the Novell Developer Kit contains everything 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 all-Java environments (CORBA C++ applications are not currently supported). This is accomplished through Caffeine technology, which includes the Java2IIOP compiler.
Compatibility, simplicity and power are the strengths of the new NetBasic 7.0. Programmers who use Visual Basic or VBScript will find it easy to use NetBasic 7.0 to write CGI scripts, put intelligence into Web pages, and build server-side task automation applications for NetWare. NetBasic 7.0 is VBScript-compatible so it can consume the scripts built on other platforms. It supports a variety of scripting tools to enliven Web content while leveraging the skills a high-level developer requires in a visual development environment. NetBasic provides server components that you can script together to build network applications and provide server-side task automation. These components are executed using the VBScript-compatible language in NetBasic 7.0.
NetBasic 7.0 incorporates predefined NetWare components with a VBScript-compatible scripting language. It is an object-oriented development environment that supports both the highly skilled RAD programmer and the high-level Web designer. NetBasic 7.0 replaces the NMX architecture of NetBasic 6.0 with the Universal Component System (UCS), a unified scripting and component architecture. The UCS interpreter allows you to write solutions using NetBasic components, JavaBeans, Perl scripts, and other popular scripting and component languages.
The biggest difference between NetBasic 6.0 and NetBasic 7.0 is that the new version is completely syntax compatible with Microsoft's VisualBasic. NetBasic 7.0 uses an interpreted language that is compatible and consistent with VBScript and ANSI Basic standards. Because NetBasic 7.0 is both Basic and VBScript-compatible, developers can leverage their Basic, Visual Basic and VBScript programming skills while utilizing the power of NetWare services. Which means you can build dynamic HTML Web applications using standard tools such as FrontPage, HotMetal, etc. and Web scripts using any text editor or BASIC source code editor (e.g., SlickEdit or VisualBasic).
Perl's process, file, and text manipulation facilities make it particularly well-suited for tasks involving quick prototyping, system utilities, software tools, system management tasks, database access, graphical programming, networking, and Web programming. Perl is an interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. You can write programs and test them without an intermediate compilation step, allowing you to experiment and test/debug quickly and easily.
The typical Perl extension may be written in C or C++ and dynamically linked into your main Perl script, which means you can make any component of it available as just another Perl function or variable. You can also go in the other direction and write your main program in C or C++, and then link in Perl code on the fly to create a very powerful application. With version 5, Perl may now be embedded easily in your C or C++ application, and can either call or be called by your routines through a documented interface. The XS preprocessor is provided to make it easy to glue your C or C++ routines into Perl. Dynamic loading of modules is supported.
The Universal Component System (UCS)
UCS exposes the wealth of NetWare services to the scripting community, regardless of the preferred development environment. UCS is a scripting language interpreter that lets you develop applications using component technology from multiple vendors, including JavaBeans and native UCS objects. Using a single interface, UCS can consume Java, Perl, NetBasic, C and C++ programs, providing both Web scripting and server-side functionality. UCS offers a robust middle-tier solution for development on the NetWare platform, allowing NetWare services to be easily taken advantage of and implemented into Internet and intranet solutions based on open standards.
Rapid Application Development
Rapid Application Development (RAD) is widely accepted as a factor for better software quality and security, and the ability to both improve and accelerate software development. Novell is committed to enabling RAD developers to quickly develop applications on NetWare without having to understand the complexities of NLM development. Simply, RAD provides accelerated development of applications using encapsulated objects executed with scripts. By using predefined objects, you can drastically raise the quality of finished systems while reducing the time it takes to build them.
Novell Libraries for Delphi and Visual Basic gives developers full access to the low-level NetWare APIs that have traditionally only been available to C programmers. As examples, Delphi shim libraries enable a Delphi user to use NetWare APIs. And Visual Basic shim libraries allow the use of NetWare APIs in a VB program.
Currently, a selection of 11 Novell Controls for ActiveX provides full access to NDS, as well as administration capabilities for NetWare servers, print queues, and volumes. All of this functionality is packaged so it can be used quickly and easily in a wide variety of Windows visual builder and other development tools, such as Visual Basic, Delphi, PowerBuilder, Active Server Pages for the Internet Information Server, Windows Scripting Host and the Internet Explorer Web browser. Although the Novell Controls for ActiveX provide broad coverage of the most popular features of the NetWare platform, they do not wrap 100% of the available API set. However, the libraries offer a convenient way of calling all the APIs without writing the language bindings for yourself.
Novell Controls for ActiveX
The initial Novell Developer Kit release of the Controls for ActiveX contains eleven controls:
Application Administration Control (NWAppAdm)
Client and Server Socket Controls (NWCliSk and NWSvrSk).
Internet Directory Control (NWIDir)
Print Queue Administration (NWPQA)
Print Server Administration Control (NWPrtSvrAdm)
Server Administration Control (NWSrvAdm)
Session Management (NWSess)
Volume Administration Control (NWVolAdm)
Novell Open Solutions Architecture
With Open Solutions Architecture (OSA), Novell introduced a standards-based development infrastructure which encompasses open Java technology. NDS is the glue that ties OSA together, and OSA is the strategy thread running through the entire Novell product offering. OSA exposes a rich set of networking services from Novell and many others you can use to create server-based distributed applications that are better than they otherwise would be-because they're far easier to manage, secure, access, license and meter across the Internet and intranets.
OSA is Novell's developer strategy around building directory-enabled applications for the Internet. Central to Novell's strategy to "Directory-enable the Network", applications and solutions must also be directory-enabled to make them easier to install, manage, deploy, license, meter, and use across the network. OSA uses Internet standards and open interfaces to give developers the easiest tools, widest range of APIs, and richest networking services to build network-aware, Internet-ready, and manageable solutions. OSA also represents an open distribution model to promote rich network-aware solutions that are "channel-ready" and available through Novell's channel partners"10,000 platinum resellers and 120,000 CNEs.
Focused on the manageability of applications and solutions, OSA delivers a set of developer APIs, frameworks, and infrastructure necessary to build server-side applications. OSA is available through Novell's Developer Kit and Novell's DeveloperNet subscription program. OSA addresses the fundamental question in software development and costs of ownership as it relates in bringing more valuable solutions into your business network, "So you have built it, now what are you going to do with it?"
Open Solutions Architecture helps users construct systems and solutions encompassing both legacy and new technologies in an open, distributed environment. It helps planners and strategists develop directions for products and solutions by enabling them to understand technical dependencies and the context for incorporating future technologies. And it helps developers build core technologies and solutions written to appropriate industry and standards which can seamlessly integrate and interoperate with other installed products. Lastly, OSA helps other vendors understand how to integrate with Novell systems, as well as how to incorporate and extend Novell technologies into their own productive systems solutions.
* 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.