Novell NetWare
# Novell NetWare

In informatica NetWare è un sistema operativo di rete sviluppato da Novell, che consente la connessione in rete di computer, siano essi DOS, Windows, Unix o Mac OS.

NetWare ebbe grande successo negli anni ottanta come primo vero sistema operativo di rete compatibile con i comuni PC IBM compatibili ed MS-DOS. Il sistema necessitava di un server dedicato o semidedicato, il cui disco fisso andava formattato esclusivamente per NetWare, e aveva il suo punto di forza nel software per i client, particolarmente leggero e stabile, compatibile con diverse piattaforme.

Tra i numerosi meriti di NetWare c'è quello di aver introdotto sul mercato di larga scala i concetti di condivisione delle informazioni e di lavoro in rete, divenuti ormai comuni per tutte le aziende moderne ed anche l'aver contribuito alla diffusione di standard dei sistemi di rete che ancor oggi sopravvivono, come le schede di rete con tecnologia Ethernet.

Il sistema NetWare sopravvive in numerose aziende ancora oggi, sebbene sia stato sostituito da Open Enterprise Server (OES).

## Storia

NetWare si sviluppò partendo da un concetto molto semplice: condivisione dei file invece che dei dischi. Nel 1983, quando venne progettata la prima versione di NetWare, tutti gli altri prodotti competitori erano basati sul concetto di fornire un accesso diretto ai dischi condivisi. L'approccio alternativo di Novell venne approvato da IBM nel 1984 e ciò aiutò a promuovere il prodotto.

Con NetWare lo spazio su disco veniva condiviso in forma di volumi NetWare, paragonabili ai volumi DOS. I client con MS-DOS avrebbero eseguito uno speciale programma Terminate and Stay Resident (TSR) che permetteva loro di mappare una lettera di disco locale ad un volume NetWare. I client dovevano autenticarsi ad un server per poter avere il permesso di mappare i volumi, e l'accesso poteva essere ristretto in base al nome utente. Similarmente potevano connettersi a delle stampanti condivise sul server dedicato, e stampare come se la stampante fosse connessa localmente. NetWare conquistò una posizione dominante sul mercato nella prima metà degli anni novanta, sviluppando il suo protocollo IPX/SPX di derivazione Xerox XNS e lo standard Local Area Network (LAN).

Alla fine degli anni novanta, con il boom della connettività Internet, il protocollo TCP/IP divenne dominante anche sulle LAN. Novell aveva introdotto un limitato supporto per il TCP/IP con le versioni 3.x (circa 1992) e 4.x (circa 1995), consistente principalmente di servizi FTP, servizi di stampa LPR/LPD in stile UNIX (disponibile con NetWare 3.x), e un server web sviluppato da Novell (in NetWare 4.x). Il supporto nativo al TCP/IP per i servizi di file e stampa normalmente associati a Novell venne introdotto con NetWare 5.0 (distribuita nel 1998).

Mentre alcuni attribuiscono il ritardo di Novell nell'adozione del TCP/IP come protocollo nativo alla perdita di quote di mercato da parte di NetWare, è possibile dire che fu Novell a lasciarsi mettere fuori mercato. Durante la prima metà degli anni ottanta Microsoft introdusse un suo sistema LAN con LAN Manager, basato sul protocollo NetBEUI. I primi tentativi di lottare con NetWare non ebbero successo, ma questo cambiò con l'inclusione di un migliorato supporto di rete in Windows for Workgroups, e successivamente con il successo di Windows NT e Windows 95. NT, in particolare, offriva servizi simili a quelli offerti da NetWare, ma su un sistema che poteva essere usato come un desktop, e connesso direttamente ad altri desktop Windows dove NetBEUI era quasi universale.

### L'avanzata di NetWare

L'uso diffuso e la crescita di NetWare iniziarono nel 1985 con il lancio simultaneo di NetWare 286 2.0a e del processore Intel 80286 a 16 bit. La CPU 80286 presentava una modalità protetta a 16 bit che forniva accesso fino a 16MB di RAM, con un multitasking efficiente e affidabile. Prima dell'80286, i server con architettura IBM PC erano basati sui processori Intel 8086/8088 a 8 bit, che erano limitati a 640k di RAM ed erano sprovvisti del multitasking preemptive.

La combinazione tra caratteristiche dell'80286, limite di 16MB per la RAM e limite di 256MB per i volumi NetWare, permise per la prima volta di avere reti locali economiche basate su server. Il limite dei 16MB di RAM fu di particolare importanza, dato che rendeva disponibile abbastanza RAM per il caching dei dischi, con un conseguente miglioramento delle prestazioni. Questa divenne la chiave per le prestazioni di Novell e permise anche la costruzione di reti più grandi.

Un'altra importante differenza di NetWare 286 fu che era indipendente dall'hardware, contrariamente ai sistemi di server concorrenti della 3Com. I server NetWare potevano essere assemblati usando qualsiasi sistema con CPU 80286 o superiore, un qualsiasi hard disk MFM, RLL o SCSI e una qualsiasi scheda di rete a 8 o 16 bit.

Novell progettò anche un software client semplice e compatto che permetteva alle stazioni DOS di connettersi ad un server e accedere ai suoi dischi condivisi. Anche se i server NetWare introdussero un nuovo file system proprietario, questo appariva alle workstation come un normale volume DOS compatibile, assicurando la funzionalità di tutti i programmi DOS esistenti.

### I primi anni

NetWare si basava sul lavoro di consulenza della SuperSet Software, un gruppo fondato dagli amici Drew Major, Dale Neibauer e Kyle Powell, cui si aggiunse in seguito Mark Hurst. Questo lavoro si basava su un progetto da loro iniziato alla Brigham Young University di Provo (Utah) a partire dall'ottobre 1981.

Nel 1983 Ray Noorda ingaggiò il lavoro del team SuperSet. A questo venne originariamente assegnato di creare un sistema di condivisione dei dischi per CP/M, per aiutare a mettere in rete l'hardware CP/M che Novell vendeva all'epoca. In privato il team era convinto che CP/M fosse una piattaforma condannata e se ne uscì invece con un sistema di condivisione file di successo per gli appena nati PC IBM-compatibili. Il gruppo scrisse anche un applicativo chiamato Snipes, un gioco in modalità testo che usarono per testare la nuova rete e dimostrarne le capacità. Snipes fu la prima applicazione di rete mai scritta per un personal computer commerciale, e viene riconosciuta come uno dei precursori di molti popolari giochi multi-utente come Doom e Quake.

Questo sistema operativo di rete (NOS) venne in seguito chiamato Novell NetWare. NetWare si basava sul NetWare Core Protocol (NCP), che è un protocollo a pacchetti che consente al client di inviare richieste e ricevere risposte da un server NetWare. Inizialmente l'NCP era legato direttamente al protocollo IPX/SPX, il che significava che nativamente NetWare poteva comunicare solo usando IPX/SPX.

Il primo prodotto a portare il nome NetWare venne distribuito nel 1983. Venne chiamato Netware 68 (alias S-Net); girava sul processore Motorola 68000 e usava una topologia di rete a stella. Venne sostituito nel 1985 da NetWare 86 versione 1.5, che era scritto per l'Intel 8086. Dopo l'uscita del processore Intel 80286, nel 1986 Novell distribuì NetWare 286. La stessa cosa avvenne con l'uscita dell'Intel 80386; Novell distribuì NetWare 386 nel 1989. In seguito Novell consolidò la numerazione delle versioni di NetWare, con NetWare 286 che divenne 2.x, e NetWare 386 che divenne NetWare 3.x.

### NetWare 286 2.x

NetWare versione 2 era notoriamente difficile da configurare, dato che il sistema operativo era fornito come un insieme di moduli oggetto compilati che richiedevano di essere configurati e linkati. Ad aumentare questo inconveniente c'era il fatto che questo processo era progettato per essere eseguito usando più dischetti, il che rendeva il tutto lento e inaffidabile.

Qualsiasi cambiamento al sistema operativo richiedeva un re-linking del kernel e un riavvio del sistema, per il quale erano necessari almeno 20 cambiamenti di dischetto. NetWare veniva amministrata usando delle utilità in modalità testo come SYSCON. Il file system usato da NetWare 2 era il NetWare File System 286, o NWFS 286, che supportava volumi fino a 256 MB. NetWare 2 riconosceva solo la modalità protetta dell'80286, limitando il suo supporto della RAM a 16MB o meno. Un minimo di 2MB era richiesto per l'avvio del sistema operativo; tutta la RAM aggiuntiva era usata per FAT, DET e caching dei file. Poiché la modalità protetta a 16 bit dell'80286 venne implementata su tutti i successivi processori Intel della famiglia x86, NetWare 286 versione 2.x era in grado di girare su 80286 o su qualsiasi successivo processore compatibile.

NetWare 2 implementava già diverse caratteristiche ispirate dai sistemi mainframe e minicomputer, che non erano disponibili in altri sistemi operativi dell'epoca. Le caratteristiche di System Fault Tolerance (SFT) comprendevano la verifica standard di lettura dopo la scrittura (SFT-I) con rimappatura "al volo" dei blocchi danneggiati (all'epoca i dischi non avevano questa caratteristica codificata al loro interno) e il RAID1 software (mirroring dei dischi, SFT-II). Opzionalmente, il Transaction Tracking System (TTS) proteggeva i file dagli aggiornamenti incompleti. Per i singoli file, ciò richiedeva solo l'impostazione di un attributo del file. Le transazioni su più file e i rollback controllati erano possibili programmando le API del TTS.

NetWare 2.x supportava due modalità di operazione: dedicata e non-dedicata. In modalità dedicata, il server usava un boot loader che eseguiva i file net$os.exe del sistema operativo. Tutta la memoria veniva allocata a NetWare; sul server non girava il DOS. Nella modalità non-dedicata, sul server veniva avviato DOS 3.3 o superiore, usando un floppy disk bootabile o una partizione DOS sul disco rigido. Il DOS era limitato a 640k, dato che non era possibile usare alcun gestore di memoria. Tutta la RAM estesa veniva allocata a NetWare 2.x, e il processore ripartiva il tempo di elaborazione tra programmi DOS e NetWare. Il time slicing veniva ottenuto usando gli interrupt di tastiera. Questa caratteristica richiedeva una stretta aderenza al modello di progetto dell'IBM PC, altrimenti le prestazioni venivano influenzate negativamente. In piccole reti da 2 a 5 utenti, la modalità non-dedicata era molto popolare, anche se era più suscettibile a lockup dovuti a problemi dei programmi DOS. NetWare 3.x e le versioni successive supportarono solo la modalità dedicata.

### NetWare 3.x

A partire da NetWare 3.x, venne aggiunta la modalità protetta a 32 bit, che permetteva al sistema operativo di eliminare il limite dei 16mb di memoria di NetWare 2.x. Ciò spianò la strada al supporto di hard disk più grossi, dato che NetWare 3.x teneva in cache (copiava) per intero nella RAM la File Allocation Table (FAT) e la directory entry table (DET), ottenendo prestazioni migliorate.

NetWare versione 3 facilitò sviluppo e amministrazione grazie alla modularizzazione. Ogni funzionalità era controllata da un modulo software chiamato NetWare Loadable Module (NLM), caricato o all'avvio o quando necessario. Divenne così possibile aggiungere funzionalità come software anti-virus, software di backup, database e web server, supporto per i nomi estesi dei file (i nomi file standard erano limitati a otto caratteri più una estensione di tre lettere, come per MS-DOS) o per i file in stile Macintosh.

NetWare continuava ad essere amministrata usando utility in modalità testuale. Il file system introdotto da Netware 3.x e usato di default fino a Netware 5.x era il Netware File System 386, o NWFS 386, che estese significativamente la capacità dei volumi (1 TB, con file fino a 4 GB) e poteva gestire fino a 16 segmenti di volume che potevano estendersi su più dischi fisici. I segmenti di volume potevano essere aggiunti mentre il server era in uso e il volume montato, permettendo al server di venire espanso senza interruzioni.

Inizialmente NetWare usava i Bindery services per l'autenticazione. Si trattava di un database di sistema stand-alone, in cui tutti i dati di accesso e sicurezza degli utenti risiedevano su ogni singolo server. Quando una infrastruttura conteneva più di un server, gli utenti dovevano autenticarsi su ognuno individualmente, e ogni server doveva essere configurato con la lista di tutti gli utenti abilitati.

"NetWare Name Services" era un prodotto che permetteva di estendere i dati degli utenti su più server, e il concetto di "Dominio" usato da Windows è funzionalmente equivalente ai Bindery services di NetWare v3.x con l'aggiunta dei NetWare Name Services (ovvero un database bidimensionale, con un namespace piatto e uno schema statico).

Per un breve periodo Novell commercializzò anche una versione OEM di NetWare 3, chiamata Portable NetWare, assieme a produttori come Hewlett-Packard, DEC e Data General, che portarono il codice sorgente di NetWare per poter girare sui loro sistemi operativi Unix. Portable NetWare ebbe solo un successo marginale.

Nell'era 3.x, Novell introdusse il suo primo sistema di clustering ad alta disponibilità, chiamato NetWare SFT-III, che permetteva ad un server logico di essere "mirrorato" completamente su una macchina fisica separata. Implementato come un cluster shared-nothing, con SFT-III il sistema operativo era diviso logicamente in un I/O engine guidato da interrupt e da un nucleo di sistema guidato da eventi. Gli I/O engine serializzavano i loro interrupt (disco, rete, ecc.) in un flusso combinato di eventi che veniva dato in pasto a due copie identiche del system engine, attraverso un collegamento rapido (tipicamente 100 Mbit/s) tra i due server. A causa della sua natura non-preemptive, il nucleo del sistema operativo, spogliato dell'I/O non deterministico, si comportava deterministicamente, come una grossa macchina a stati finiti.

L'output dei due system engine veniva confrontato per assicurare il corretto funzionamento, e due copie venivano rimandate agli I/O engine. Usando l'esistente funzionalità di RAID software SFT-II presente nel kernel, i dischi potevano essere mirrorati tra le due macchine senza dover usare hardware speciale. Le due macchine potevano essere separate fino alla distanza massima permessa dal collegamento tra server. In caso di guasto a un server o ai dischi, il server sopravvissuto poteva, dopo una breve pausa, farsi carico delle sessioni client in maniera trasparente, dato che disponeva di tutte le informazioni di stato e non doveva, ad esempio, rimontare i volumi (un processo in cui NetWare era notoriamente lenta). Incidentalmente, SFT-III fu la prima versione di NetWare in grado di fare uso di hardware SMP (l'I/O engine poteva opzionalmente essere fatto girare su una CPU dedicata).

NetWare SFT-III, essendo in anticipo sui tempi per molti aspetti, fu un mezzo successo. Va inoltre notato che la moderna incarnazione del clustering di NetWare, chiamato Novell Cluster Services (introdotto con NetWare 5.0), è molto diversa da SFT-III.

NetWare 3.x era stata progettata per far girare tutte le applicazioni del server allo stesso livello di protezione della memoria, noto come "ring 0". Ciò forniva le migliori prestazioni possibili, ma sacrificava l'affidabilità. Il risultato era la possibilità di blocchi del sistema (noti come Abend, contrazione di Abnormal End, fine anomala). A partire da NetWare 5.x, i moduli software (NetWare Loadable Modules o NLM) potevano essere assegnati all'esecuzione in diversi ring (anelli) di protezione del processore, assicurando così che un errore software non bloccasse il sistema.

In confronto, ancora fino a Windows NT v4.0, molte "pratiche consigliate" comprendevano il riavvio mensile o addirittura settimanale dei server Windows per ovviare a possibili perdite di memoria.

### NetWare 4.x

La Versione 4, uscita nel 1993, introdusse i Novell Directory Services (NDS), basati sul protocollo X.500, che sostituirono i Bindery services con un servizio di directory globale, nel quale l'infrastruttura era descritta e gestita in un solo posto. In aggiunta, gli NDS fornivano uno schema estendibile, permettendo l'aggiunta di nuovi tipi di oggetti. Ciò permetteva una singola autenticazione dell'utente a NDS che governava l'accesso a qualsiasi server nella struttura ad albero della directory. Gli utenti potevano quindi accedere alle risorse di rete, indipendentemente dal server sul quale risiedevano, anche se il conteggio delle licenze utente era ancora legato ai singoli server (le grandi imprese potevano optare per un modello di licenza che essenzialmente permetteva un numero illimitato di utenti per server se consentivano a Novell di verificare il loro numero totale di utenti)

La versione 4 introdusse anche diverse caratteristiche e strumenti utili, come la compressione trasparente dei file a livello di file system e la cifratura RSA pubblica/privata.

A questo punto, comunque, gli errori strategici divennero chiari.

### Errori strategici

La strategia di Novell con NetWare 2.x e 3.x aveva avuto molto successo. Prima dell'arrivo di Windows NT 3.5, Novell deteneva il 90% del mercato dei server basati su architettura PC. L'assunzione da parte di Novell era di estendere questo dominio aggiungendo i servizi di directory NDS a NetWare 4.x. L'errore cruciale fu quello di rendere NDS un requisito e non una opzione. Se NDS fosse stato una opzione di NetWare 4, o addirittura un prodotto acquistabile separatamente, molti utenti avrebbero continuato a usare NetWare invece di passare a Windows NT. Questo era vero soprattutto per le reti più piccole, dove gli NDS, per quanto concettualmente fossero molto più progrediti rispetto ai Bindery services o ai domini di Windows, richiedevano un certo sforzo iniziale di formazione del personale IT.

Mentre il disegno di NetWare 3.x e versioni successive prevedeva una partizione DOS per poter caricare i file di sistema di NetWare, questa caratteristica divenne un vincolo, dato che i nuovi utenti preferivano l'interfaccia grafica di Windows al dover imparare i comandi DOS per costruire un server NetWare. Novell avrebbe potuto eliminare questo vincolo tecnico mantenendo il disegno di NetWare 2.x, che installava i file di sistema su una partizione NetWare e permetteva al server di avviarsi da questa, senza dover creare una partizione DOS bootabile. Novell aggiunse infine il supporto a questa modalità in una Support Pack per NetWare 6.5.

Dato che Novell usava IPX/SPX invece del TCP/IP, era mal posizionata per sfruttare i vantaggi di Internet nel 1995. La prima implementazione del TCP/IP per NetWare 3.x, non era pienamente compatibile con IPv4. Ciò fece sì che i server NetWare venissero superati, per quanto riguarda routing e accesso a Internet, dai router hardware (come quelli di Cisco) e dai server Linux per quanto riguarda le funzionalità di server web.

### NetWare 4.02, 4.1x e NetWare for Small Business: Novell inizia a recuperare

Novell distribuì NetWare 4.02 poco dopo l'uscita di NetWare 4.01, introducendo una installazione semplice degli NDS.

In seguito Novell prezzò NetWare 4.10 allo stesso prezzo di NetWare 3.12, il che significò che i clienti che resistevano agli NDS erano in grado di provarla su base "gratuita".

Nel 1996 Novell distribuì la versione 4.11, che comprendeva molti miglioramenti che rendevano il sistema operativo più facile da installare, più facile da far funzionare, più veloce e più stabile. Questa versione comprendeva anche il primo client completamente a 32 bit per le workstation basate su Microsoft Windows, il supporto per SMP e NetWare Administrator (NWADMIN o NWADMN32), uno strumento di amministrazione grafico per NetWare.

Novell confezionò NetWare 4.11 con il suo Web server, supporto per TCP/IP e il browser Netscape, in un bundle chiamato IntranetWare. Una versione pensata per reti con al massimo 25 utenti venne battezzata IntranetWare for Small Business e conteneva una versione limitata degli NDS e strumenti per un'amministrazione semplificata. IntranetWare venne abbandonata con NetWare 5.

In questo periodo Novell realizzò anche l'importanza di far leva sui suoi servizi di directory, NDS, legando ad essi anche i suoi altri prodotti. Il sistema di posta elettronica, GroupWise, venne integrato con gli NDS, e Novell distribuì molti altri prodotti "directory-enabled" come ZENworks e BorderManager.

A quel punto Novell era ancora legata a IPX/SPX dalla dipendenza dell'NCP a quel protocollo, ma Novell iniziò a riconoscere la richiesta per il TCP/IP con NetWare 4.11, aggiungendo strumenti e utilità che rendevano più semplice creare delle intranet e delle reti di collegamento a Internet. Novell allegò dei pratici strumenti, come il gateway IPX/IP, per facilitare la connessione tra workstation IPX e reti IP. Iniziò anche a integrare le tecnologie Internet e il loro supporto per mezzo di caratteristiche come un Server web nativo.

### NetWare 5.x

Con l'uscita di NetWare 5 nell'ottobre del 1998, Novell riconobbe finalmente l'importanza di Internet, passando la sua interfaccia primaria, NCP, da IPX/SPX a TCP/IP. IPX/SPX era ancora supportato, ma l'enfasi passò su TCP/IP. Novell aggiunse anche una GUI a NetWare. Altre caratteristiche nuove erano:

* Novell Storage Services (NSS), un nuovo file system per rimpiazzare il tradizionale NetWare file system - che era ancora supportato
* Macchina virtuale Java per NetWare
* Novell Distributed Print Services (NDPS) - servizi di stampa
* ConsoleOne, una nuova console grafica di amministrazione basata su Java
* Servizi di infrastruttura a chiave pubblica (PKIS) integrati nell'NDS
* Server DNS e DHCP integrati nell'NDS
* supporto per Storage Area Network (SAN)
* Novell Cluster Services (NCS) - servizi di clustering
* Una versione per 5 utenti di Oracle 8i

I Cluster Services furono un grande passo avanti rispetto a SFT-III, dato che non richiedevano hardware specializzato o una configurazione identica dei server.

NetWare 5 venne distribuita in un periodo in cui la quota di mercato di NetWare crollò precipitosamente; molte aziende e organizzazioni stavano sostituendo i loro server NetWare con server basati su Windows NT. Novell distribuì anche l'ultimo aggiornamento di NetWare 4, NetWare 4.2.

NetWare 5.1 venne distribuita nel gennaio del 2000, poco dopo il suo predecessore. Introdusse diversi strumenti utili, come ad esempio:

* IBM WebSphere Application Server
* NetWare Management Portal (in seguito ribattezzato Novell Remote Manager), un sistema di gestione del sistema operativo basato sull'accesso via web
* Server FTP, NNTP e streaming media
* NetWare Web Search Server
* Supporto a WebDAV

### NetWare 6.x

NetWare 6 venne distribuita nell'ottobre del 2001. Questa versione aveva uno schema di licenze semplificato, basato sugli utenti e non sui server. Questo riduceva i costi delle licenze e permetteva un numero illimitato di connessioni per utente.

Altri cambiamenti, nuove caratteristiche e miglioramenti comprendevano:

* un migliorato supporto per l'SMP - fino a 32 processori per server
* iFolder - un accesso indipendente dal luogo e dalla piattaforma ai file locali, tramite la sincronizzazione automatica e intelligente della directory locale di iFolder con il server iFolder
* NetStorage - accesso ai file personali attraverso un normale browser web
* iPrint - la possibilità di installare stampanti da un browser web e sottomettere lavori di stampa tramite Internet, sfruttando il protocollo standard IPP
* iManager - strumento di amministrazione via web per NetWare e altri prodotti Novell
* il web server Apache e il contenitore di servlet Tomcat
* Native File Access Protocols - supporto per i protocolli SMB, AFP e NFS, per fornire a client Windows, Macintosh e Unix/Linux un accesso ai file su un server NetWare, senza dover usare un client Novell

NetWare 6.5 venne distribuita nell'agosto del 2004. Alcune delle nuove caratteristiche di questa versione erano:

* ulteriori prodotti open-source come PHP, MySQL e OpenSSH
* un port della shell Bash e molte tradizionali utilità Unix come wget, grep, awk e sed, per fornire capacità aggiuntive di scripting
* supporto per iSCSI (sia come target che come initiator)
* Virtual Office - un portale web "chiavi in mano" per fornire agli utenti finali accesso a posta elettronica, spazio personale su disco, rubrica aziendale, etc.
* Possibilità di funzionare come Domain controller di Windows
* Password universale
* DirXML Starter Pack - sincronizzazione degli acconti utente con un altro albero di eDirectory, un dominio Windows NT o Active Directory.
* exteNd Application Server - un application server compatibile Java EE 1.3
* Supporto per profili personalizzati dei driver di stampa e auditing dell'uso delle stampanti
* Supporto di NX bit
* Supporto per memorie di massa USB
* Supporto per i volumi criptati

### Novell Open Enterprise Server

Nel 2003, Novell annunciò il successore di NetWare: Open Enterprise Server (OES). Distribuito inizialmente nel marzo del 2005, OES completava la separazione dei servizi tradizionalmente associati a NetWare (Directory Services, file-e-stampa) dalla piattaforma sottostante alla distribuzione di questi servizi. OES è essenzialmente un insieme di applicazioni (eDirectory, NetWare Core Protocol services, iPrint, ecc.) che possono girare sia su una piattaforma Linux che su una con kernel NetWare. Implementazioni in cluster di OES possono addirittura migrare i servizi da Linux a NetWare e viceversa, rendendo Novell una delle poche aziende a offrire una soluzione di clustering multi-piattaforma.

A seguito dell'acquisizione da parte di Novell di Ximian e SuSE (una distribuzione Linux tedesca), è stato diffusamente osservato che Novell potrebbe allontanarsi da NetWare e spostare la sua attenzione su Linux. Ufficialmente però, Novell nega queste ipotesi e sostiene di volersi concentrare su entrambi. In effetti, praticamente tutti i prodotti di Novell girano come minimo sia su Linux che su NetWare, e alcuni (come eDirectory, GroupWise e Identity Manager) anche su molte altre piattaforme.

Novell invitò alla controversia quando decise di porre fine allo sviluppo della piattaforma NetWare e di concentrarsi esclusivamente su SUSE Linux. Novell in seguito cedette e dichiarò che i 90 milioni di utenti NetWare sarebbero stati supportati fino al 2010. Anche così la pagina web di NetWare sul sito di Novell dimostra che Linux è il futuro. Alcuni dei più strenui sostenitori di NetWare si sono fatti carico di petizionare Novell perché mantenga lo sviluppo di NetWare. Con i profitti di Novell spinti dai prodotti "legacy" che girano su piattaforma Novell e non necessariamente su Linux, Novell ha licenziato il suo CEO e il CFO nella speranza di dare una svolta che possa meglio soddisfare i suoi investitori.

OES2 non è previsto venga distribuito fino a "metà 2007", dopo il BrainShare.

### Il declino di NetWare

Mentre NetWare è ancora usata da molte organizzazioni, specialmente in campo scolastico e governativo, non è nemmeno lontanamente popolare quanto lo fu al suo apice nei primi anni novanta. All'epoca NetWare era considerata lo standard di fatto per i servizi di file e stampa su piattaforma server compatibile con la famiglia Intel x86.

La quota di mercato di Novell iniziò a declinare con l'arrivo di Windows 95 e Windows NT 3.51, nel 1995. Prima di Windows 95, DOS e Windows 3.11 non comprendevano funzionalità di condivisione, quindi un server NetWare o altri prodotti simili erano una necessità per condividere file su una rete locale.

Mentre l'installazione di NetWare era completamente in modalità testuale a riga di comando, Windows NT poteva essere installato quasi automaticamente e in modalità grafica. Usare NetWare richiedeva un'ampia conoscenza dei comandi e dei nomi dei Netware Loadable Module (NLM), mentre Windows NT si affidava alla familiare interfaccia grafica e all'uso del mouse. Questa differenza permetteva a utenti inesperti di installare con successo un server Microsoft invece di affidarsi a un Ingegnere Certificato Novell (CNE) per l'installazione.

Un altro motivo che rende conto del passaggio da NetWare a Windows NT riguardava la questione dei servizi di directory. NetWare 3.x era progettata con un bindery service per immagazzinare i nomi utente di un singolo server. NetWare 4.x introdusse i Novell Directory Services (NDS) che sincronizzavano i nomi utente tra più server. La complessità aggiuntiva dell'NDS creò un significativo deterrente all'aggiornamento per gli utenti di NetWare 3.x con un solo server. Poiché Windows NT 3.5/4.0 non includeva alcun servizio di directory per supportare più server, sembrava più semplice passare da NetWare 3.x a Windows NT 3.51/4.0, piuttosto che a NetWare 4.x con NDS. Una directory sincronizzata multi-server per Windows venne introdotta a partire da Windows 2000 Server, con l'uscita di Active Directory. Mentre Novell sbandierava i vantaggi di NDS, gli utenti con un solo server evitarono l'aggiornamento a NetWare 4.x e passarono invece a Windows NT.

Due altre questioni tecniche causarono il declino di Novell: difficoltà di espansione e un supporto non standard a TCP/IP. NetWare permetteva 4 partizioni su un disco fisico e non forniva un metodo per estendere o gestire le partizioni. Esiste un metodo per estendere lo spazio disco utilizzabile, che è semplice ma di cui poche persone sono a conoscenza. MS-DOS e Windows supportavano fino a 4 partizioni su un disco fisico. Il software per gestire queste partizioni divenne ampiamente disponibile a un prezzo accessibile. Alla fine, diverse aziende, comprese Symantec (Norton Ghost for NetWare) e PowerQuest (ServerMagic) produssero utilità relativamente costose che permettevano di estendere le partizioni di NetWare.

Nonostante il fatto che le reti basate su Windows erano decisamente meno affidabili e più costose, Microsoft iniziò a strappare quote di mercato a NetWare in favore di NT. Microsoft, tramite le principali riviste, era più visibile ai manager delle aziende, mentre NetWare tendeva ad essere visibile solo al personale IT e sulle riviste specializzate. Novell fu anche lenta ad adattare il suo modello di prezzi, e NetWare sembrava quindi più costoso. Le aziende spesso erano più influenzate dai costi iniziali delle licenze, e non dai costi di gestione a lungo termine, e NetWare spesso non era in grado di competere da questo punto di vista.

Inoltre, Windows NT sembrava essere più scalabile. Per piccoli gruppi di lavoro, una rete poteva essere installata senza dover necessariamente usare una macchina dedicata come server, il che rendeva Windows più attraente di NetWare. Microsoft dichiarava in continuazione che un tale sistema poteva scalare senza grossi cambiamenti di sistema operativo e con poco addestramento aggiuntivo, ma in pratica la struttura a Domini di NT diventava pesante e complessa da gestire in implementazioni su vasta scala, rispetto ai Novell Directory Services (NDS). Per contrastare questo problema, Microsoft sviluppò in seguito un suo servizio di directory, chiamato Active Directory. La sua ampia applicabilità, combinata a una più bassa barriera di ingresso in termini di formazione, era qualcosa con cui NetWare faceva fatica a competere.

Vale la pena di esplorare un'altra ragione per il declino di NetWare nel corso degli anni. Anche se Microsoft indubbiamente si spese meglio nei confronti del personale non tecnico di molte organizzazioni, che in molti casi aveva potere decisionale sugli acquisti, il migliore marketing è spesso una ragione sopravvalutata per il successo di Microsoft e di Windows su NetWare. Anche se NetWare forniva un server molto valido per servizi di file e stampa, la stragrande maggioranza delle workstation a cui questi servizi venivano offerti erano dei desktop Windows. Per questo, chiunque potesse essere nella posizione migliore per fornire per primo un client adeguato, affidabile e completo per questi servizi si sarebbe trovato nel corso del tempo in una posizione di vantaggio dal lato dei server. Novell dovette sviluppare un client che doveva essere installato su ogni macchina Windows. Per far sì che questi client venissero gestiti efficacemente tramite eDirectory e NetWare, Novell doveva spendere una grande quantità di tempo e denaro per replicare, o inserire all'interno del proprio client e software, ciò che Microsoft stava già costruendo direttamente all'interno di Windows per Active Directory e cose come le Group Policy, oppure avrebbe dovuto cercare di supportare su NetWare la gestione di Windows con i protocolli di Active Directory. Quest'ultimo metodo avrebbe significato che un client separato non sarebbe stato necessario, ma siccome Active Directory era, ed è ancora, una tecnologia in larga parte proprietaria, che è stata implementata con successo solo su Windows, questa impresa starebbe stata molto impegnativa. Ciò avrebbe anche significato che Novell sarebbe stata interamente dipendente dal reverse engineering, o dall'inserimento, di qualsiasi miglioramento Microsoft potesse apportare ad Active Directory nel corso del tempo, e non avrebbe mai potuto avere una possibilità di arrivare prima sul mercato.

Come risultato, ciò che tende a verificarsi in molte organizzazioni che ancora usano Netware, eDirectory e il software Novell, è una infrastruttura ibrida, composta da server Windows e Active Directory per gestire l'infrastruttura Windows e un back end composto da NetWare ed eDirectory, sincronizzato con Active Directory tramite l'uso di strumenti del tipo di Novell Identity Manager. L'infrastruttura Windows può comprendere un'installazione di Microsoft Exchange Server e di applicazioni Windows che sono state standardizzate su Active Directory, per via del loro supporto diretto e facilmente accessibile all'interno di Windows.

In sostanza, ciò significa che il supporto e l'utilizzo di Active Directory è già in gran parte un prerequisito per la gestione dei desktop Windows di una data organizzazione, ancor prima che venga presa una decisione per l'uso di NetWare, eDirectory e del software Novell. Questo ha posto Novell e altri produttori di software in una posizione in qualche modo svantaggiosa.

## Prestazioni

NetWare dominò il panorama dei sistemi operativi di rete a partire dalla metà degli anni ottanta e fino alla fine degli anni novanta, grazie alle sue prestazioni estremamente elevate rispetto ai concorrenti. Molti dei benchmark di quel periodo dimostravano un vantaggio nelle prestazioni che andava da 5 a 10 volte rispetto ai prodotti di Microsoft, Banyan, e altri. Un benchmark che era di particolare interesse paragonava NetWare 3.x con i servizi NFS su TCP/IP (non il protocollo IPX nativo di NetWare) con un costoso server dedicato Auspex NFS e un server SCO Unix con i servizi NFS. NetWare NFS superava entrambi i sistemi NFS nativi e aveva un vantaggio di prestazioni di 2 a 1 su SCO Unix NFS installato sullo stesso tipo di hardware.

Esistevano diversi motivi per le prestazioni di NetWare.

### File service invece che disk service

Quando si ebbe lo sviluppo iniziale di NetWare, quasi tutto lo storage su LAN era basato sul modello del server di dischi. Ciò significava che se un client voleva leggere un particolare blocco di un determinato file, doveva inviare le seguenti richieste attraverso la LAN relativamente lenta:

* Leggi il primo blocco della directory
* Continua a leggere i successivi blocchi della directory finché non trovi il blocco contenente le informazioni sul file desiderato. Poteva trattarsi di molti blocchi di directory.
* Scorri i vari blocchi di file entry finché non trovi la posizione del blocco file desiderato.
* Leggi il blocco di dati desiderato.

NetWare, essendo basata su un modello file service, interagiva con il client a livello delle API per i file:

* Invia una richiesta di apertura del file (se non era già stata fatta)
* Invia una richiesta per il blocco dati desiderato di tale file

Tutto il lavoro di ricerca nella directory per capire dove i dati desiderati fossero collocati fisicamente sul disco, veniva fatto ad alta velocità, localmente, sul server. Per la metà degli anni ottanta, la gran parte dei sistemi operativi di rete era passata dal modello disk service a quello file service. Oggi il modello disk service sta facendo il suo ritorno con le Storage Area Network.

### Caching aggressivo

Fin dall'inizio, NetWare venne progettato per essere usato su server con una copiosa quantità di RAM. L'intera file allocation table (FAT) veniva caricata nella RAM quando veniva montato un volume, richiedendo quindi un quantitativo minimo di RAM, proporzionale allo spazio disponibile sui dischi (aggiungere un disco ad un server significava spesso dover aumentare anche la RAM). Contrariamente a molti altri sistemi operativi di rete concorrenti, prima di Windows NT, NetWare usava automaticamente tutta la RAM non impegnata per il caching dei file attivi, impiegando la scrittura ritardata per facilitare il riordino delle richieste al disco (elevator seeks). Uno spegnimento inaspettato poteva quindi corrompere i dati, rendendo praticamente obbligatorio l'uso di un gruppo di continuità come parte dell'installazione di un server.

Il valore di default per il dirty cache delay time era fissato a 2,2 secondi su NetWare versione 2.x. A partire da NetWare 3.x, le impostazioni del dirty disk cache delay time e del dirty directory cache delay time, controllavano la quantità di tempo per cui il server teneva nella cache i dati modificati ("dirty"), prima di salvarli (flushing) sul disco rigido. Il valore di default era di 3,3 secondi, e poteva essere abbassato fino a 0,5 (ma non portato a zero), mentre il massimo era 10 secondi. L'opzione di incrementare il ritardo della cache a 10 secondi forniva un significativo miglioramento delle prestazioni. Windows 2000 e 2003 server non permettono aggiustamenti al cache delay time. Usano invece un algoritmo che aggiusta il cache delay.

### Efficienza del NetWare Core Protocol (NCP)

Molti dei protocolli di rete in uso all'epoca in cui venne sviluppato NetWare non avevano fiducia che la rete consegnasse i messaggi. Una tipica lettura di file da parte di un client funzionava in modo simile al seguente:

* Il client invia una richiesta di lettura al server
* Il server autentica la richiesta
* Il client autentica l'autenticazione
* Il server invia i dati richiesti al client
* Il client autentica i dati
* Il server autentica l'autenticazione

Per contro, NCP era basato sull'idea che il più delle volte la rete funzionava perfettamente, quindi la risposta ad una richiesta serviva da autenticazione. Questo è un esempio di una richiesta di lettura da parte di un client in base a questo modello:

* Il client invia una richiesta di lettura al server
* Il server invia i dati richiesti al client

Tutte le richieste contenevano un numero di sequenza, così se il client non riceveva una risposta in un appropriato lasso di tempo, rispediva la richiesta con lo stesso numero di sequenza. Se il server aveva già processato la richiesta rispediva la risposta tenuta in cache, se non aveva ancora avuto tempo per processare la richiesta inviava un 'riconoscimento positivo' che significava, "Ho ricevuto la tua richiesta, ma non ho avuto tempo per occuparmene, quindi non scocciare". Il risultato di questo approccio stile 'fidati della rete' era una riduzione di 2/3 del traffico di rete e della latenza associata ad esso.

### Sistema operativo non-preemptive progettato per i servizi di rete

Uno dei dibattiti più infiammati degli anni novanta era se fosse più appropriato per i file service di rete, di essere eseguiti da uno strato software che girava in cima a un sistema operativo "general purpose", o da un sistema operativo specifico. NetWare era un sistema operativo specifico, non uno con il timesharing. Era stato scritto da zero come una piattaforma per processare i servizi client/server. Inizialmente si concentrava sui servizi per file e stampa, ma in seguito dimostrò la sua flessibilità facendo girare database, posta elettronica, servizi web e altro. Inoltre aveva prestazioni efficienti come router, supportando IPX, TCP/IP, e Appletalk, anche se non offrì mai la flessibilità di un router hardware.

Nella 4.x e nelle versioni precedenti, NetWare non supportava preemption, memoria virtuale, interfaccia utente grafica, ecc. Processi e servizi che giravano sotto il sistema operativo NetWare dovevano essere cooperativi, ovvero ci si aspettava che processassero una richiesta e restituissero il controllo al sistema operativo in tempi brevi. D'altro canto, questa fiducia nella capacità di gestirsi da sé dei processi applicativi, poteva portare una applicazione malfunzionante a bloccare il server.

In confronto, i sistemi operativi "general purpose" come Unix o Microsoft Windows, erano basati su un modello interattivo, con time-sharing, dove i programmi in competizione avrebbero consumato tutte le risorse disponibili se non fossero stati tenuti sotto controllo dal sistema operativo. Tali ambienti operavano usando preemption, virtualizzazione della memoria, ecc., generando un overhead dato che non c'erano mai abbastanza risorse per fare tutto ciò che l'applicazione desiderava. Questi sistemi migliorarono con il tempo, mentre i servizi di rete si liberavano del loro stigma di "applicazione" e si spostavano più a fondo nel kernel del sistema operativo "general purpose", ma senza mai pareggiare l'efficienza di NetWare.

Probabilmente la ragione principale del successo di Novell durante gli anni ottanta e novanta fu l'efficienza di NetWare in confronto ai sistemi operativi "general purpose". Comunque, con la crescita nella potenza dei microprocessori, l'efficienza divenne sempre meno un problema e con l'introduzione del processore Pentium, il vantaggio di prestazioni di NetWare iniziò a essere sopraffatto dalla complessità di gestire e sviluppare applicazioni per l'ambiente NetWare.

