Net2000 Will Provide Integrated Interface to Network Services
Articles and Tips: article
01 Nov 1995
Novell recently announced Net2000, an initiative to establish an open set of APIs allowing for tight integration of network applications and distributed services. Key advantages of Net2000 include comprehensive network service interfaces, integration with leading development tools, tight integration with the desktop, and cross-platform support. Net2000 APIs will expose Novell's network services to developers in three ways. First, Net2000 APIs will expose all NetWare Services through a procedural API library usable in most 3GL tools. Second, Net2000 APIs will be mapped under select existing desktop interfaces. Third, the APIs will be mapped under ATMI - an X/Open and ISO standards-compliant interface. Novell will hold a Net2000 development partner conference this winter to provide ISVs with specific information about the Net2000 APIs. The Net2000 Interface will be available as a pre-release software developer's kit in late spring 1996. Development partners already writing NDS-aware applications using Novell's NetWare 4.1 SDK are immediately eligible for inclusion in the forthcoming Net2000 program.
As part of its Smart Global Networking strategy, Novell recently announced an initiative to establish an open set of application programming interfaces (APIs) that will allow software developers to easily incorporate NetWare networking services into distributed applications. This initiative, code-named Net2000, will result in applications that leverage Novell's strategy for enabling a smart global network.
"To achieve our vision of a single global network, the barriers to application development must be greatly reduced. The network infrastructure must become invisible to the software developer," said Sheldon Laube, chief technology officer for Novell, Inc. "We are committed to providing developers with interfaces, tools and services that will transparently distribute application components throughout the network. Net2000 is the first step toward this vision."
As shown in Figure 1, Net2000 offers a comprehensive API upon which developers can build network solutions.
Figure 1: Universal access products provide access to the global network, while Net2000 provides a comprehensive programming interface. while Net2000 provides a comprehensive programming interface." width=410
Novell Distributed Network API Components
The Novell Net2000 initiative benefits both developers and end users. With Net2000, developers can easily build all types of client and server applications using a universal set of APIs to tightly integrate network applications with distributed services across multiple platforms. The APIs also extend access to NetWare services to heterogeneous environments, enabling network administrators to have a single global view of their network and services, including third-party solutions.
Network users will also benefit from the initiative, gaining access to network and enterprise services through applications regardless of resource location or underlying network infrastructure. The initiative will effectively lower development barriers to building and implementing true distributed network applications.
To provide software developers with easy application access to network services, Net2000 will provide:
Comprehensive and Integrated Network ServiceInterfaces: Net2000 APIs will offer a rich set of network service interfaces to build truly distributed applications. These service interfaces will expose the core NetWare services of directory (NetWare Directory Services), security, administration and management, messaging, licensing, object transaction, application management, communications and backup and storage as well as advanced new services such as Novell'sAdvanced File System (NAFS), Novell's Distributed Print Services (NDPS), NetWare database services, NetWare host connectivity services and NetWare remote access services. Applications written to existing NetWare APIs will continue to be supported as Novell delivers the new APIs.
Integration with Leading Development Tools: Net2000 will be completely accessible through to a broad range of industry-leading development tools. Because of the open nature of the interfaces, Net2000 will provide support for all popular 3GL tools, including Visual C++, Borland C++, and Watcom C++, as well as 4GL tools such as Visual Basic, Delphi, PowerBuilder, and SQLWindows. In addition, because of the high-level nature of Net2000 components, even power users of application suites will be able to use integrated scripting languages to access network services.
Multiple Programming Models and InterfacesSupport: Net2000 APIs support a variety of programming models including both object- and procedural-based methodologies. Novell will provide developers with Net2000 C APIs, as well as Net2000 objects. For example, Net2000 interfaces will be available through a set of Novell-developed OLE/COM objects for Windows-based clients. On other platforms, Novell will deliver objects through existing interfaces such as CORBA.
Tight Integration with the Desktop: Net2000 will be delivered to users through Novell's NetWare client software. For example, future versions of the NetWare Client for Windows 95 and Windows NT will include the Net2000 interfaces, enabling all applications and application services running on computers equipped with a Novell client to access NetWare services seamlessly. Thus, Novell's NetWare Client will be tightly integrated with the desktop itself and will provide native support for OLE/COM, Win32, and other desktop paradigms on OS/2 and Macintosh. The tight integration with desktop standards will reduce local resource requirements.
Heterogeneous Platform Support: Net2000 is specifically designed to support a consistent set of interfaces across heterogeneous client platforms including Windows 3.1, Windows 95, Windows NT, OS/2, Macintosh, HP-UX and SCO-Unix. Server platform support will include NetWare, UnixWare, HP-UX, SCO-Unix, and Windows NT Server.
Consistent and Efficient Programming: Net2000 interfaces are designed for consistency and ease-of-use, allowing developers to master a single set of APIs for access to multiple network services across various platforms.
Flexible and Extensible Architecture: The Net2000 initiative goes beyond Microsoft's "WOSA" concept by allowing multiple service providers for networks as opposed to just desktops. These service providers will define and publish value to the network through a consistent interface architecture underneath Net2000.
Transport Independence: Net2000 interfaces are inherently transport independent and will support many network protocols including TCP/IP, SPX/IPX and ATM.
Net2000 Technical Overview
Net2000 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, as shown in Figure 2.
Figure 2: The interface and the implementation are the key aspects of Net2000.
Net2000 implementation is comprised of the Net2000 Service Abstraction and the Net2000 Service Provider Multiplexer. The Net2000 Service Abstraction is the part of Net2000 that runs on NetWare. It serves two purposes:
It integrates several distributed services into a simple view and then makes that view accessible through integrated APIs and components.
It allows third-party implementations of services to work underneath Net2000 interfaces.
Net2000 APIs provide procedural interfaces for 3GL developers to use to write network applications in C and C++ languages. Net2000 Components allow developers to use popular high-level tools such as Visual Basic, Delphi, PowerBuilder, and SQLWindows to build solutions.
Net2000 Service Abstraction
The Net2000 Service Abstraction provides managed and integrated access to key NetWare services such as NetWare Directory Service (NDS), NetWare Advanced File System(NAFS), NetWare Distributed Print Service (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.
Since the integration of these services is done on the server rather than on each client, the architecture is capable of delivering exceptional performance. Through this cross-service integration, the Service Abstraction simplifies the methods to register and resolve a service, establish the necessary security authentication and access controls, communication links, configuration, and management functions.
Currently Net2000 has defined naming, security, management, communications, storage, and backup and recovery services as core interfaces. Additionally, Net2000 supports extended services such as messaging, transactions, and a new set of browser services.
Naming. Naming combined with communications 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. The Net2000 naming service includes functions to register a service in the directory by name for advertisement on the network and provides opaque address management.
In most cases an application will never need to see, manipulate or handle network addresses because of the tight integration between the name service and the communication service. But Net2000 does include functions that resolve a name into its transport components such as address and protocol sequence, and the output of the name resolution can be used by other Net2000 communication functions to build a connection with any network entity. Additionally, robust browsing and query functions are supported by the Net2000 naming service.
Communications. The Net2000 communications abstraction includes support for transport independent connectivity. This isolates applications from all transport dependencies and allows multiple transports to be used simultaneously, even by the same application. The Net2000 communications abstraction will initially support IPX, IP, SPX, and TCP as protocol modules.
Additions to the communication abstraction will support groupware and enterprise requirements for messaging, multicast, bulk data transfer and others. Existing applications written to existing lower-level communications interfaces will remain compatible with Net2000 applications and can be migrated overtime to leverage the transport independence of Net2000.
Security. The Net2000 security abstraction allows users to control how information is accessed and disseminated. The Net2000 security abstraction provides authentication and verification capabilities along with encryption routines for data privacy. This extends Novell's cur rent authentication offering to include peer-to-peer capabilities that are required for distributed applications.
Because of the integration between the security abstraction and the communication abstraction, applications will no longer need to obtain security tokens and exchange them over a communications channel at the application level. Net2000 itself can exchange the necessary authentication security tokens automatically when remote communication is requested. For applications that do need to pass the security tokens directly, Net2000 will surface an authentication interface.
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 remote administration of statistical and configuration information.
In addition, the Net2000 management abstraction includes a policy manager that allows the administrator or user to specify a set of rules that are used to sort or filter available choices. Additions to the management abstraction will include software licensing, distribution and auditing. The Net2000 management abstraction also allows management agents to access and manipulate the management information they store.
These agents can monitor conditions by setting thresholds and defining alarms. 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 from the start.
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 Service (NDS) and the NetWare Advanced File System.
Backup and Recovery. As networks become more pervasive, backup and recovery services must evolve to support more than just files. They must provide recovery support for all network information including licensing policies, management and configuration information, user information, security policies and other pertinent information. The Net2000 Backup and Recovery abstraction allows developers to store and recover information about all network resources, applications, services, and the information they generate.
Leveraging the advanced messaging services provided by Novell 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, conferencing and others. Because messaging provides an intelligent way applications can reliably communicate and share information, these functions will enhance how applications and services can become distributed.
For example, a database application may wish to use the messaging interfaces in Net2000 to reliably distribute updates across the network, across remote links and through gateways and to mobile sites. Additionally, through the Net2000 interfaces, advanced functions can be supported such as scheduling the time when updates should be sent, intelligent rules to route updates to alternate locations based on content or other conditions, and automatic alerts via E-mail, pager, fax, etc.
As more and more applications become distributed in nature, the guarantee of integrity between distributed application components will require robust transaction services to provide the necessary assurances. Security and transaction abstractions will enable applications to build reliable data and object requests across a distributed network. If transactions requests cannot complete successfully, the ability to roll back the original transaction, preserve the integrity of the data and of fer robust after-the-fact accounting will greatly enhance distributed applications.
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 (health care, accounting, etc.). Transactions are more than just business events, they have become a design philosophy that guarantee the robustness of distributed applications.
Net2000 Service Abstraction exposes network service interfaces conforming to industry standard OMG CORBA Interface Definition Language (IDL). This permits Net2000 to sur face the network through both object and procedural programming models.
Net2000 Service Provider Multiplexer
Through the Service Provider Multiplexer (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 above. It also allows for flexibility and growth based on changing technology and business requirements.
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, etc. The SPM will enable Novell and third parties to add value to the Net2000 infrastructure transparently through the consistent abstractions described above. Compatibility between different service providers will thus be maintained through the common abstraction interfaces of Net2000. Through this approach, Novell will ensure that the market-leading functionality of NetWare Services will be exposed through a truly open architecture.
Net2000 APIs are the next-generation programming interfaces to NetWare Services, built on the integrated Service Abstraction described above. They will expose Novell's rich network services to developers in three ways. First and foremost, Net2000 APIs will expose all NetWare Services through a procedural API library usable in most 3GL tools.
Second, Net2000 APIs will be mapped under select existing desktop interfaces (such as WinSock and MAPI). Third, Net2000 APIs will be mapped under ATMI - an X/Open and ISO standards-compliant interface.
Net2000 API Library
The Net2000 API Library exposes APIs callable from 3GL languages such as C and C++.
The library will include integrated API sets covering naming, security, management, communications, storage, backup and recovery services, messaging, transactions and browser services. The Net2000 API Library DLL will be integrated with all NetWare clients for all popular desktop and server platforms, so that end users who deploy Novell's NetWare client will be able to run any Net2000-based application without the need to install any other software.
Microsoft has established several de facto standard APIs for its Windows platforms (NT, Win95, Win3.1), such as Win32 and MAPI. While Net2000 will fully support MAPI, it is important to stress that Net2000 is much broader and deeper than existing Microsoft network service interfaces. Net2000 introduces functionality that goes well beyond the capabilities of Microsoft's desktop-centric service APIs.
As one example, consider Microsoft's recently-announced Open Directory Services Interface (ODSI), part of Microsoft's WOSA architecture. Novell believes that the ODSI architecture will not accommodate development of applications for a global network environment. The concept of ODSI is essentially to map a set of OLE components on top of an API that is multiplexed from the desktop to potentially several directory services. This is not adequate for several reasons.
First, it is much more efficient for the network, rather than millions of desktops, to multiplex between different directories and to of fer synchronization and gateway functions between directories. If millions of desktops do this instead of the network, administration and management will quickly become astonishingly complex.
Second, ODSI is not integrated with other core network services such as security, management, storage, transactions and communications. Net2000 defines a naming API that is seamlessly integrated with these additional core services.
Third, ODSI is completely dependent on Win32 and OLE/COM, making it completely unusable on platforms that run NetWare network services, UNIX-based application services and on Macintosh and OS/2 desktops.
Fourth, Novell believes that Microsoft is several years away from shipping a robust directory service, and Novell has little confidence that Microsoft can complete coding and resolve the problems in ODSI until then.
For these reasons, and the fact that Novell's robust, scalable directory service and API is used by 15 million users and 20,000 developers already, Novell has no plans to support ODSI. Through Net2000 and accompanying NDS gateways & application server management tools, Novell will provide a more intelligent, efficient, scalable and manageable solution to the challenge of integrating multiple directories, including the directory within NT as it emerges.
Net2000's ATMI interface is an X/Open and ISO standards- compliant interface that enables advanced, procedural, program- to-program communications. Built on base Net2000 services such as directory, transport, and security, ATMI provides a number of high-level procedural communications styles, including request/response, conversations, queues, and events. Each of these incorporates location transparency, automatic data conversion, built- in security and transaction semantics. ATMI is intended for developers who wish to program at a higher level than the base service level.
As part of the initial release of Net2000, Novell will include a set of easy-to-use, high level components for accessing network services. These components will perform two kinds of functions. A first set of general components will provide overall coverage for naming, security, management, communications, storage, backup and recovery services, messaging, transactions and browser services.
This first set of components will be used primarily to register, locate, view, manage and store information and services. A second set of components will provide more specific, simplified access to specific types of network resources, such as users, printers, servers, application services or distributed objects -essentially one high-level component for each standard schema within the NetWare Directory. This second set of components will be used primarily to interact with specific named objects, such as instructing a printer to reset itself.
The first components to ship as part of Net2000 will be a set of OCXes (OLE Controls) that will provide the functions described above. When these OCAS ship, they will be fully compatible with all popular high-level tools, including Delphi, Visual Basic and PowerBuilder and can also be used in next-generation desktop application programs with advanced scripting facilities.
Within high-performance tools like Borland's Delphi, there will most often be no need to drop below these easy-to-use OCXes to build high-performance applications and application services that leverage the network.
On platforms other than Windows and NT, Net2000 objects compliant with the Common Object Request Broker Architecture will provide similar access to Novell's smart global network. The CORBA standard is gaining strength in many large enterprises as a way to locate and use distributed services. Novell's continued participation in the Object Management Groups standards process is helping simplify the delivery of Net2000 services to CORBA environments.
Novell also expects to make Net2000 components available as OpenDoc parts, as this powerful component model emerges into the marketplace.
Between the Net2000 interface in clients and its implementation in the network, Net2000's DCE-RPC facility allows Net2000-based applications to inter-operate with DCE-based systems. This Net2000 component helps fulfill the value proposition of universal interoperability, by embracing applications built in the DCE environment and by fostering interoperability between DCE and Net2000 applications.
The use of DCE-RPC with Net2000 provides the following benefits:
Application programmers who have learned the DCE/RPC Interface Definition Language (IDL) will be able to use this language within a Net2000 system.
Net2000 systems will be able to interoperate with DCE-based systems by either being the source of a DCE/RPC, or by being the destination of one. This will allow customers who have invested in building DCE systems to use them in conjunction with their Net2000 applications.
Net2000's DCE support includes the provision of the following:
An IDL compiler that takes as input a DCE IDL specification and produces stubs and skeletons that work in a Net2000 environment. This allows applications an alternate language for expressing the contract between clients and servers for request/response interactions.
A gateway that provides interoperability between DCE and Net2000 systems. This gateway accepts RPC requests from DCE systems and routes them to Net2000 servers. Likewise, it may convert and for ward RPC requests within a Net2000 domain to a DCE domain.
Net2000 Developer Support Program
Novell's Net2000 initiative represents a turning point for the company, reinforcing its commitment to development partners. To support the initiative, Novell is expanding its existing directory services ISV program to strengthen development partner relationships.
The NetWare Directory Assistance program, designed to further Novell's industry-standard NDS, will become the basis for the company's upcoming Net2000 developer assistance program incorporating both developer and marketing support. In addition, Net2000 ISV partnership efforts will integrate with Novell's DeveloperNet programs, affording ISVs a new level of support from the industry's network leader.
Novell will hold a Net2000 development partner conference this winter to provide ISVs with specific information about the Net2000 APIs. Throughout the spring, Novell's DeveloperNet program will include more in-depth technical briefings for early adopters. The Net2000 Interface will be available as a pre-release software developer's kit in late spring 1996, with the final SDK planned for late 1996, as shown in Figure 3.
Figure 3: SDK plans for Net2000.
The 22,000 development partners already writing NDS-aware applications using Novell's NetWare 4.1 SDK are immediately eligible for inclusion in the forthcoming Net2000 program. The applications they develop today will be fully supported using the new APIs. Developers interested in additional information about the Net2000 APIs should call Novell at 1-800-REDWORD.
Net2000 provides a single, extensible and integrated interface to smart network services. These easy-to-use network interfaces are being built on the kind of sophisticated integration technology required to present a simple homogeneous view of the complex heterogeneous network. In this sense, Net2000 is a first for the computing world and a necessary step towards the goal of a single global network.
Software developers creating personal productivity, group productivity, line-of-business and Internet applications can all benefit from Net2000 interfaces.
Allow users to seamlessly access workgroup, enterprise, inter-enterprise and Internet services through applications regardless of location and the underlying networking infrastructure.
Provide system administrators a global view of all applications written to Net2000 in a heterogeneous network. Net2000 will allow a single-point of administration as well as a consistent view of management, communications and security.
Leverage one set of interfaces for all networking services on all major platforms, allowing programmers to quickly easily build new distributed solutions.
Lower the barrier to building globally distributed applications, allowing developers to focus on resolving the business problems at hand. Preserve IT investments by working with a number of service providers and client/server architectures. Applications using Net2000 will continue to work as computing environments and information resources change.
Provide strong security services that allow businesses to control how and when information is accessed and disseminated.
Support the global network as it emerges. As Novell NetWare networks are connected to each other and to the Internet, a Net2000 application written for use within a workgroup can continue to be used even if that workgroup spans the globe.
Provide a massive new opportunity for creative developers and aggressive software vendors. Novell's 50 million NetWare users comprise an immediate market for newnetwork-based products and services. Net2000 will enable software vendors of all sizes to market to a single global network of unprecedented size.
Net2000 thus represents a new commitment to developers. Novell will work with developers in a partnership to bring the benefits of Net2000 to users in the form of innovative and powerful network solutions that tap the potential of networking.
* 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.