Terminiamo la nostra descrizione di Lotus Notes…
Sfortunatamente, Lotus Notes è una tecnologia che di solito deve essere vista per essere compresa.
Per aiutarti a immaginare cosa può effettivamente fare Notes in senso pratico, ecco alcuni esempi di tipiche applicazioni Notes:
• e-mail (ovviamente)
• forum di discussione
• archivi di documenti
• sistemi di approvazione delle spese
• sistemi di richiesta/workflow basati sul web
Utilizzando le capacità di Notes per interagire con altri sistemi di database e altre tecnologie Web, è possibile utilizzarlo anche come portale di informazioni basato su client o Web che collega insieme diverse origini dati.
Lotus Notes può essere un repository di dati autonomo, un front-end per numerosi altri repository di dati o molte altre cose intermedie.
Com’è fatto un database di Notes
Un database di Lotus Notes ha generalmente un’estensione di file “.nsf”. All’interno di quel file possono essere presenti dati, elementi di progettazione e codice di programmazione. Ogni file di database ha anche la propria sicurezza sotto forma di un elenco di controllo di accesso (ACL). Visivamente, puoi immaginare un file di database di Notes come questo:

Elementi di un Database
Dati
All’interno di un database Lotus Notes, i dati sono conservati come un insieme di record, ognuno dei quali è definito come un Documento. Un Documento contiene uno o più campi, che possono assumere vari formati. I tipi di dati principali includono testo, numeri e date, ma è anche possibile archiviare elementi come RTF formattato e file allegati all’interno di un campo. Inoltre, un database Notes ha la capacità di accedere ai dati provenienti da altri database, siano essi database Notes o qualsiasi tipo di database che possa essere raggiunto tramite ODBC o API. Questo consente a Lotus Notes di fungere da interfaccia per altri set di dati, inclusi database relazionali.
Progettazione
I dati di progettazione sono accessibili attraverso diversi elementi di design memorizzati nel database. A livello fondamentale, si utilizzano i moduli per accedere, modificare e creare record/documenti, mentre le visualizzazioni servono a ordinare e classificare i set di dati in forma tabellare. Esistono anche elementi come Navigatori e Contorni, che consentono di creare interfacce visive con altri elementi di design e facilitano la navigazione nel database. Quasi tutti gli elementi di design di un database possono essere visualizzati utilizzando un client Notes o un browser web.
Il server Notes/Domino è in grado di tradurre questi elementi e presentarli come pagine web, rendendo relativamente semplice la trasformazione di un database Notes in un sito web. Inoltre, un designer può arricchire l’aspetto del database con miglioramenti specifici per il web, come CSS .
Codice
Per consentire la manipolazione programmatica dei dati, un progettista può integrare vari tipi di codice all’interno di un database Notes. Il sistema supporta nativamente un linguaggio Formula (macro), LotusScript (simile a Visual Basic), Java e JavaScript.
Questo codice può essere incorporato direttamente in elementi di design come Moduli e Viste, oppure può essere organizzato in moduli chiamati Agenti.
Il codice può non solo manipolare i dati all’interno del database, ma anche interagire con l’utente, il sistema operativo e persino con dati e processi esterni. Ad esempio, attraverso LotusScript è possibile accedere a funzioni DLL, oggetti COM e oggetti OLE.
Con Java, si dispone di un ampio set di strumenti per lavorare con socket, thread e componenti GUI. Lotus Notes offre anche un livello API accessibile tramite librerie C e C++.
Sicurezza
Attorno a tutti questi elementi del database, Lotus Notes fornisce un robusto sistema di sicurezza noto come Access Control List (ACL). Questo permette ai progettisti o agli amministratori di database di definire esattamente cosa possono fare i diversi utenti all’interno del database. A livello globale, gli utenti possono avere tipi di accesso come “Autore”, “Editor” e “Designer”, che stabiliscono le loro capacità di modifica all’interno del database. A un livello più specifico, gli utenti possono ricevere o meno il permesso di eseguire operazioni quali l’eliminazione di documenti o la creazione di agenti. Infine, a un livello molto dettagliato, il progettista del database ha la possibilità di concedere o negare l’accesso a viste, moduli, sezioni di moduli e persino a singoli documenti, in base all’ACL.
I pacchetti software
L’ambiente Notes è diviso principalmente nei seguenti pacchetti software:
Domino: Il sistema server per la gestione di database di note e interazione con applicazioni che operano su di esse. Fornisce un sistema di autenticazione, permessi, replica dei database e sincronizzazione tra repliche. In aggiunta alla gestione delle applicazioni collegate tramite il client Notes, sono presenti dei servizi in grado di fornire delle versioni web di alcuni tipi di applicazione, senza bisogno di creazione di codice aggiuntivo da parte degli sviluppatori, rendendo il client non sempre necessario.
Notes: La controparte client di Domino. Fornisce un’interfaccia verso tutte le applicazioni della piattaforma, ed integra tutte le funzionalità aggiuntive e prodotti della famiglia Domino.
Designer: Software che permette di creare le applicazioni per il sistema e programmare tutte le entità che agiscono su un database Notes.
Administrator: client di amministrazione e configurazione remota dei server