NET2000: Interface and Implementation
Articles and Tips: article
01 Jan 1996
One of Novell's fundamental goals is to allow developers to easily create networked applications. To remove barriers that have hindered the development of distributed applications, Novell has announced a universal network interface, code-named Net2000, that promises to make network services easier to access. Net2000 represents a collection of networking APIs and an associated infrastructure which helps make these APIs globally available. It will provide consistent functionality across all platforms and will be presented through identical interfaces on both clients and servers. Net2000 is comprised of the Net2000 interface and the Net2000 implementation (see Figure 1).
Figure 1: Key aspects of Net2000.
This document briefly introduces these aspects of Net2000, beginning with the implementation.
Net2000 implementation includes the Net2000 Service Abstraction Interface Definition Language (IDL) and the Net2000 Service Provider Multiplexer (SPM). The Net2000 Service Abstraction IDL is the part of Net2000 that runs on NetWare. It serves two purposes:
Integrating several distributed services into a simple view and making that view accessible through integrated APIs and components.
Allowing third-party implementations of services to work underneath Net2000 interfaces.
The Net2000 Service Abstraction provides managed and integrated access to key NetWare services such as NetWare Directory Services (NDS), NetWare Advanced File System(NAFS), NetWare Distributed Print Services (NDPS), security, licensing, management, and others. Running on NetWare servers, the Service Abstraction collects and combines these services into coherent interfaces for creating and deploying distributed applications and services. For example, security is tightly integrated with management, naming is tightly coupled with communications, and communications are tightly joined with security. Currently Net2000 has defined a number of core interfaces as part of the Service Abstraction IDL:
Naming. The Net2000 naming service abstraction includes functions to register a service in the directory by name for advertisement on the network. It also provides opaque address management and supports browsing and query functions.
Communications. The communications abstraction includes support for transport independent connectivity. This isolates applications from all transport dependen-cies and allows multiple transports to be used simultan-eously, even by the same application. The Net2000 communications abstraction will initially support IPX/ SPX and TCP/IP as protocol modules. Additions to the communication abstraction will support groupware and enterprise requirements for messaging, multicast, bulk data transfer, and others. The combination of naming and communications will provide applications and services with location independence, thus making the application independent of the physical configuration of the network and of the location of the accessor.
Security. The security abstraction allows users to control how information is accessed and disseminated. It provides authentication and verification capabilities along with encryption routines for data privacy. This extends Novell's current authentication offering to include peer-to-peer capabilities that are required for distributed applications.
Management. Net2000 provides a management abstraction that allows creators of services and applications to easily make their products manageable. This includes support for registering, storing and remotely administering statistical and configuration information. In addition, this management abstraction includes a policy manager that allows the administrator or user to specify a set of rules to sort or filter available choices. Additions to the management abstraction will include software licensing, distribution and auditing. Since the management and security abstractions are tightly integrated, control of who can view, access and change management information is built into the management abstraction.
Storage. Net2000 will provide a global, location-independent object store for storing any kind of information in virtually any form. The storage service interface will be based on NetWare Directory Services (NDS) and the NetWare Advanced File System.
Backup and Recovery. This abstraction allows developers to store and recover information about all network resources, applications, services, and the information they generate.
Additionally, Net2000 supports several extended services:
Messaging. Leveraging the advanced messaging services provided by GroupWise, collaborative and messaging abstractions will be exposed to make available advanced collaborative and message-based functions, such as scheduling, reliable store-and-forward delivery services, tasks, workflow, and conferencing. For example, a database application may wish to use the messaging interfaces in Net2000 to reliably distribute updates across the network. Additionally, through the Net2000 interfaces, advanced functions can be supported such as scheduling the time when updates should be sent, and so on.
Transactions. Net2000 will integrate the advanced transactions services from TUXEDO with other network abstractions, such as naming, security and management, to provide developers with transaction services that can be used to build applications for electronic commerce, mission-critical line-of-business applications and advanced vertical application services such as health care and accounting.
The Service Provider Multiplexer (SPM) defines the interface by which multiple service providers can bind into the Net2000 Service Abstraction interface. This allows for support of multiple name service providers, security authentication providers, encryption providers, storage providers, and so on. Through the SPM, the Net2000 Service Abstraction allows third-party services to add value and extend the network while remaining compatible with applications written to the Net2000 interfaces. It also allows for flexibility and growth based on changing technology and business requirements. Compatibility between different service providers will be maintained through the common abstraction interfaces of Net2000. Through this approach, Novell will ensure that the functionality of NetWare Services will be exposed through a truly open architecture.
Interface: APIs and Components
Net2000 APIs are the next-generation programming interfaces to NetWare Services, built on the integrated Service Abstraction described above. They will expose Novell's network services to developers in three ways:
They will expose all NetWare Services through a procedural API library usable in most 3GL tools.
They will be mapped under select existing desktop interfaces (such as WinSock and MAPI).
They will be mapped under ATMI--an X/Open and ISO standards-compliant interface.
The Net2000 API library will provide procedural interfaces developers can use to write network applications in 3GL languages such as C and C++. This library will include integrated API sets covering the core and extended services described above. The Net2000 API will also be well integrated with existing "legacy" applications written to the NWCalls and NWNet APIs. Net2000 APIs will fully support Microsoft's established APIs for its Windows platforms (Win3.1, Win95, NT), such as WinSock, Win32 and MAPI. In fact, Net2000 introduces functionality that goes beyond these existing Microsoft network service interfaces to accommodate the development of applications for a global network environment. Net2000's ATMI interface is an X/Open and ISO standards-compliant interface that enables program-to-program communications. Built on base Net2000 services, ATMI provides a number of high-level procedural communications styles, including request/response, conversations, queues, and events. The DCE Remote Procedure Call (RPC) facility allows Net2000-based applications to interoperate with DCE-based systems. Thus developers who have learned the DCE/RPC IDL will be able to use this language within a Net2000 system. Customers who have invested in building DCE systems can use them in conjunction with their Net2000 applications. Finally, the Net2000 API Library DLL will be integrated across all NetWare clients (Windows, OS/2, Macintosh, and Unix). Users who deploy Novell's NetWare client will be able to run any Net2000-based application without having to install any other software.
As part of the initial release of Net2000, Novell will include components for accessing network services. The first to ship will be a set of OCXes (OLE Controls) that provide overall coverage for the core and extended network services described above. A later set will offer Net2000 objects compliant with the CommonObject Request Broker Architecture (CORBA) to provide similar access to Novell's smart global network for platforms other than Windows and NT. These Net2000 components allow developers to use popular high-level (4GL) tools such as Visual Basic, Delphi, PowerBuilder, and SQLWindows to build 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.