Dark Mode

Preskocit na obsah

IBM Notes/Domino

Z Wikipedie, otevrene encyklopedie
(presmerovano z IBM Lotus Notes/Domino)
HCL Domino/Notes
VyvojarHCL Technologies
Prvni vydani1989
Aktualni verze14.0.0 (7. prosince 2023)
Operacni systemWindows, Linux, macOS
Typ softwaruPostovni server, Groupware
WebHCL Domino
Nektera data mohou pochazet z datove polozky.

HCL Notes (puvodne jako IBM Notes a Lotus Notes) a HCL Domino (puvodne jako IBM Domino a Lotus Domino) jsou softwarove produkty spolecnosti HCL Technologies (puvodne produkt IBM), ktery se orientuje do oblasti groupware. Spise nez vysledny produkt, by se HCL Notes a HCL Domino dal oznacit jako platforma pro vyvoj groupware aplikaci.[1]

IBM prodala v cervenci 2019 software IBM Domino a IBM Notes spolecnosti HCL Technologies.[1]

Architektura

[editovat | editovat zdroj]

HCL Notes a HCL Domino je technologie typu klient server, kde aplikace je obvykle umistena na serveru a klient komunikuje s touto aplikaci. Pristup k aplikaci je nativnim protokolem nebo internetovym protokolem. Nativni komunikacni protokol NRPC (Notes Remote Procedure Call) je pouzit pro komunikaci mezi serverem Domino a klientem Notes a vzajemne mezi Domino servery.

Serverova cast se nazyva HCL Domino a klientska cast HCL Notes.

Server HCL Domino

[editovat | editovat zdroj]

HCL Domino server je robustni aplikacni/databazovy server. Na tomto serveru jsou umisteny aplikace, jejichz sluzeb vyuzivaji uzivatele prostrednictvim HCL Notes klienta (popr. weboveho klienta). Aplikace na HCL Domino serveru jsou aktivnimi databazemi.

Prostredi HCL Domino je distribuovanym systemem, tzn. ze aplikace muze byt umistena na vice nez jednom serveru. Synchronizace mezi servery je zabezpecovana sluzbou zvanou replikace. Domino je zaroven serverem pro celou radu dalsich internetovych sluzeb, napr. POP3, IMAP, LDAP, MAPI, HTTP, NNTP a podporuje mnoho otevrenych standardu, napr. HTML/XHTML, XML, Java.

Klient HCL Notes

[editovat | editovat zdroj]

Primarni funkci klienta HCL Notes je e-mail a dalsi odvozene korporatni sluzby, jako adresar, kalendar, planovac, rezervace zdroju apod. Ovsem hlavni vyhodou HCL Notes je moznost rozsireni zakladni mnoziny databazi o dalsi aplikace.

Administrace

[editovat | editovat zdroj]

Server HCL Domino se administruje pomoci ctvrteho klienta - Administrator. Zde se daji spravovat uzivatele, skupiny, jednotlive servery, ci serverove clustery, opravovat poskozene databaze, pridavat, ci odebirat prava apod. Klient Administrator je plne graficky a zaroven obsahuje prikazovou konzoli. Komplikovanejsi sprava se provadi pomoci takzvaneho administracniho procesu, kdy se definuji kriteria, co se ma udelat a tuto definici nasledne administracni proces, ktery bezi v pravidelnych intervalech, provede.

Hlavni atributy

[editovat | editovat zdroj]

Hlavnimi atributy platformy HCL Notes a HCL Domino jsou vysoka mira zabezpeceni dat, replikace, snadna rozsiritelnost, rychly vyvoj a snadna aplikace business procesu formou workflow.

Bezpecnost

[editovat | editovat zdroj]

Bezpecnost Notes je zalozena na existenci tzv. ID souboru. V techto souborech jsou ulozeny certifikaty, digitalni podpisy, sifrovaci a desifrovaci klice a dalsi citlive informace. HCL Notes a HCL Domino pouziva RSA (Rivest-Shamir-Adleman) sifrovani verejnym klicem k zajisteni ctyr zakladnich urovni bezpecnosti: overeni totoznosti a opravneni pristupu (X.509 certifikaty), sifrovani zprav a digitalni podpisy. Kazdy uzivatel ma svuj jedinecny ID soubor. Diky tomuto ID a architekture se daji data zabezpecit na mnoha urovnich, ktere pripominaji trychtyr, ve kterem je na kazde urovni mensi sito, nez na urovni predchozi.

Urovne zabezpeceni

[editovat | editovat zdroj]
  1. Prvni uroven je samotny pristup na server. Server musi obsahovat certifikat organizace, do ktere uzivatel patri. Bez platneho certifikatu se uzivatel na server nedostane. V pripade serveru, ktery neobsahuje certifikat dane organizace konkretniho uzivatele, se da vytvorit krizovy certifikat bud pro tu danou konkretni osobu, anebo pro celou organizaci.
  2. V pripade platneho pristupu na server se uzivatel dostava do druhe urovne zabezpeceni, a to na uroven jednotlivych datovych kontejneru. I kdyz ma uzivatel platny pristup na server, nemusi mit pristup k zadnym datum, pokud neni nejakym zpusobem uveden v seznamu pristupovych prav k aplikaci (tzv. ACL - Access Control List).
  3. Pro pridelovani pristupu ma spravce aplikace moznost definovat vice urovni. Kazdemu uzivateli muze urcit, zda bude Spravce aplikace, Vyvojar, Editor, Autor bez moznosti upravy dat, Ctenar bez moznosti zapisovat, Zapisovatel bez prava cist, anebo mu uplne zakazat pristup. Zaroven muze uzce specifikovat dalsi prava, zakazovat uzivatelum mazat dokumenty, spoustet akce, vytvaret slozky apod.
  4. Dalsi uroven se tyka jednotlivych zaznamu (dokumentu). Pomoci pristupovych poli se daji nastavit editori, nebo i ctenari. Pokud ma dokument napriklad specifikovanou mnozinu uzivatelu s pravy ctenare dokumentu, tak neni videt nikym jinym, nez uzivateli z teto skupiny, tudiz ani spravcem aplikace, nebo administratorem.
  5. Predposledni uroven je zabezpeceni casti dat jednotlivych zaznamu pomoci tzv. chranenych sekci. Do sekce se umisti mnozina dat a specifikuji se prava pro pristup k temto datum.
  6. Posledni urovni je zabezpeceni citlivych dat na urovni jednotlivych datovych polozek (poli) pomoci sifrovani, nebo jednosmerneho hash hodnoty pole.

K zasifrovani dat se pouziva privatni klic, ktery se pripoji k ID uzivatele. Sifrovani muze byt nasobne, s pouzitim vice klicu. ID soubor se da kopirovat a s kazdou kopii se uzivatel dostane k beznym datum. Pokud vsak k jedne kopii pripoji privatni klic, kterym zasifruje cast dat, dostane se k temto datum pouze s pouzitim teto konkretni kopie ID souboru. Hashovani pomoci MD5 technologie slouzi zejmena k uchovavani hesel, ci jinych autentizacnich udaju.

Replikace dat je datova vymena mezi databazemi a jejich replikami (skupina databazi, ktere maji stejne identifikacni cislo databaze, tzv. ,,Replica ID"). Repliky databazi byvaji zpravidla rozmisteny na ruznych serverech. Replikace je realizovana manualnim spustenim nebo stejnojmennou automatickou ulohou serveru. Replikace je realizovana bud oboustranne, anebo jen jednostranne, a to bud metodou push, nebo metodou pull. Dale lze realizovat takzvanou vyberovou replikaci, pri ktere se replikuji pouze nektere casti databaze (vybrana data, casti designu apod.).

Informacni obsah je replikovan vzdy na zaklade pravych bezpecnostnich rysu technologie HCL Notes a HCL Domino a tedy seznamu pristupovych prav a prav ctenaru k jednotlivym datovym zaznamum - elektronickym dokumentu. I v tomto pripade se kazdy server chova stejne jako uzivatel - tedy muze pristupovat k datum pouze pokud k nim ma nastavena prava.

Cilem replikace je udrzovat obsah databazi aktualni na vsech serverech nebo u klientu (na klientskem PC je taky mozne mit repliku).

Rychly vyvoj

[editovat | editovat zdroj]

HCL Notes spadaji do oblasti RAD - Rapid Application Development (Rychly vyvoj aplikaci). Pro vyvoj databazovych aplikaci slouzi treti klient - Designer.

Zakladem HCL Notes a HCL Domino je dokumentova databaze, tedy na rozdil od relacnich databazi je zakladni datovou jednotkou databaze takzvany dokument. Dokument ma specificke vlastnosti a variabilni pocet poli. Dva dokumenty stejneho druhu mohou mit tedy ruzna pole. Dokumenty se promitaji pres formulare v pohledech. Kazdy pohled ma index a zobrazuje vyber dokumentu definovany takzvanou vyberovou (SELECT) funkci. Vyvoj je dale podporen sadou jednoduchych @funkci, moznosti skriptovani, nebo moznosti pouziti jazyka Java, a to jak ve forme vlozenych appletu, nebo ve forme vykonnych agentu.

@Funkce, neboli jednoduchy makro jazyk se deli na dve casti:

  • @Functions - slouzi k upravam textu, formatovani, konverzim, nebo vyberovym kriteriim.
  • @Commands - vykonne funkce. Slouzi k vykonavani prikazu - otevreni databaze, ulozeni dokumentu apod. Od @Functions se odlisuji prikazem @Command, kterym vzdy zacinaji, a za ktery se vkladaji parametry. Vsechny uzavrene bloky funkci se oddeluji strednikem.

Priklady @Funkci

Odstraneni prazdnych mist (whitespaces):

@Trim(" Ahoj svete! ")

Vypsani data vytvoreni dokumentu a jmena autora:

"Vytvoril " + @Name([CN]; @UserName) + " dne " + @Text(@Created)

Zapsani vyberove funkce v pohledu pro vyber vsech dokumentu:

SELECT @All

Priklady @Commands

Vytvoreni noveho dokumentu s nazvem User:

@Command([Compose]; "User")

Typicky prikaz pro akci Ulozit a Zavrit:

@Command([FileSave]);
@Command([FileCloseWindow])

Lotus Script

[editovat | editovat zdroj]

Lotus script je interpretovany skriptovaci jazyk, poprve implementovany ve verzi Lotus Notes 4.6. Byl vyvinut pro podporu vyvoje slozitejsi aplikacni logiky. V omezene mire podporuje objektove orientovane programovani. IBM Notes obsahuji sadu nativnich trid pro obsluhu objektu HCL Notes, ktere se vsak nedaji dale rozsirovat. Zapis Lotus Scriptu je podobny zapisu jazyka VBS, ze ktereho vychazi.

Priklad zapisu - vypsani nazvu databaze do stavoveho radku

Sub Initialize
Dim Sess as New NotesSession
Dim cDb as NotesDatabase

Set cDb = Sess.CurrentDatabase
MsgBox cDb.Title
End Sub

Java pro HCL Notes a HCL Domino

[editovat | editovat zdroj]

Java pro pouziti v HCL Notes a HCL Domino v zatim posledni verzi 7 je omezena na verzi 1.4.2 (pro HCL Notes a HCL Domino 6.5 Java verze 1.3.1). Stejne jako pro Lotus Script ma HCL Notes a HCL Domino sadu vlastnich trid i pro jazyk Java. Tyto tridy jsou obsazeny v baliku lotus.domino.*.

Priklad zapisu - vypsani nazvu databaze do konzole

import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Database db = agentContext.getCurrentDatabase();
System.out.println(db.getTitle());
} catch(Exception e) {
e.printStackTrace();
}
}
}

Workflow automatizuje procesy, podporuje tok dokumentu, informaci a ukolu od jednoho ucastnika ke druhemu. Vse, co se tyka schvalovani, pripominkovani, nebo postupovani je soucasti workflow. Typickou ukazkou workflow je rozdelovnik dokumentu, ktery urcuje, komu se dokument ma dostat do ruky a co s nim dotycny ma delat.

Toto vsechno HCL Notes diky sve architekture umoznuji. Dokumenty maji sva pristupova prava, ktera se meni, zavisle na definici workflow a organizacni strukture, uzivate jsou notifikovani pomoci e-mail a diky tomu mohou na dokumentu spolupracovat.

Souvisejici clanky

[editovat | editovat zdroj]

Externi odkazy

[editovat | editovat zdroj]