Continuiamo a descrivere Lotus Notes…
Ora che abbiamo iniziato a memorizzare i dati nella tabella interna, il passo successivo è visualizzarli.
Nei database relazionali, utilizzeresti una query per filtrare e ordinare i dati; in Lotus Notes, invece, crei una vista.
Una vista è una rappresentazione tabellare di un sottoinsieme filtrato di dati dal database interno.
Oltre a definire il filtro (ad esempio, “mostra tutti i record creati con il modulo ‘Informazioni sull’auto'”), puoi specificare quali campi visualizzare nelle colonne e come ordinare e classificare i dati. Puoi anche aggiungere colonne programmate per visualizzare informazioni condizionali, totali, somme o altre manipolazioni dei dati.
Se invece hai bisogno di modificare i dati programmaticamente, Lotus Notes offre diverse opzioni.
Puoi utilizzare nativamente le @Functions (un linguaggio di macro), LotusScript che è il linguaggio nativo di Notes (simile a Visual Basic o VBA), JavaScript (in una certa misura), e Java.
Questi script possono essere incorporati direttamente nel design di moduli o viste, associati a eventi, azioni o pulsanti, oppure possono essere organizzati in agenti o librerie di script.
Una procedura scritta all’interno di Notes prende il nome di Agent : è un programma all’interno del database che può essere eseguito manualmente o automaticamente cona la sua schedulazione, mentre una libreria di script è una raccolta di funzioni e classi che possono essere condivise tra vari componenti del database, come moduli, viste e agenti.
Tutto è racchiuso in un unico file, con i dati memorizzati in tabelle locali o accessibili da un server remoto.
Lotus Notes è anche un sistema di posta elettronica.
Molti lo usano esclusivamente per la gestione delle e-mail. Tuttavia, se pensi a come funziona la posta elettronica e a come viene archiviata sul tuo computer, ti rendi conto che anche l’e-mail è essenzialmente un database. Ogni utente ha il proprio database di posta elettronica in Lotus Notes, progettato appositamente per le attività legate alle e-mail.
Il calendario e la pianificazione? Anche questi sono gestiti tramite un altro database.
Le rubriche? Anche quelle sono database.
Una volta che viene adottata una visione incentrata sui database, è facile considerare molti strumenti come semplicemente un altro tipo di database, specialmente in Lotus Notes, dove un database non contiene solo dati, ma anche elementi di design, codice di programmazione e molto altro.
Come si accede a un database di Lotus Notes?
Su una workstation locale, molti utenti utilizzano il client Notes. Questo client è un’applicazione che consente di gestire e lavorare con vari database Notes, che possono essere memorizzati sia localmente che su un server remoto.
L’interfaccia, detta “area di lavoro”, consente di gestire più database che possono interagire tra loro a livello programmatico. Questo rende semplice progettare applicazioni che integrano più flussi di lavoro.
Ad esempio, potresti creare un database per il monitoraggio delle spese che invia automaticamente le richieste di rimborso via e-mail (un altro database) al reparto risorse umane, il quale potrebbe poi collegarsi a un database di budget dipartimentale.
Inoltre, i database di Lotus Notes possono interagire con database esterni non-Notes, spesso tramite ODBC o con chiamate a Webservices (SOAP o REST ), consentendo di integrare anche altri sistemi all’interno del tuo ambiente di lavoro.
Se non desideri utilizzare il client Lotus Notes per accedere a un database, hai la possibilità di farlo tramite un browser web su un server Notes.
Un server Domino funziona anche come un server Web HTTP/HTTPS autonomo, senza necessità di software aggiuntivo.
Inoltre, Domino dispone di un proprio motore servlet Java e di un’interfaccia Java che consente di interagire con gran parte del modello a oggetti di Lotus Notes, permettendo ad esempio di scrivere pagine JSP che comunicano direttamente con i tuoi database.
Quando hai più server Notes/Domino, una funzione molto utile è la replica, integrata nel prodotto.
Grazie alla replica, puoi mantenere sincronizzate le copie dello stesso database su più server, aggiornandole automaticamente con i dati e gli elementi di design più recenti durante la giornata.
Naturalmente, Lotus Notes offre anche un robusto modello di sicurezza per limitare le modalità di accesso e manipolazione dei dati da parte degli utenti.
Ogni database Notes include una lista di controllo degli accessi (ACL), che determina quali azioni possono essere intraprese dagli utenti sui dati contenuti nel database. A livello globale, gli utenti possono avere diversi livelli di accesso come “Autore”, “Editor” e “Designer”, che stabiliscono ciò che possono modificare all’interno del database.
A un livello più specifico, gli utenti possono ricevere o meno il permesso di eseguire operazioni come l’eliminazione di documenti o la creazione di agenti. Infine, il progettista del database può anche gestire accessi a viste, moduli, sezioni di moduli e persino singoli documenti, basandosi sull’ACL.
Ci sono certamente molti altri aspetti di Lotus Notes che non ho affrontato in questa panoramica, come l’integrazione LDAP, il clustering, le xPages, Leap, NodeJs.