software pro spolupráci From Wikipedia, the free encyclopedia
HCL Notes (původně jako IBM Notes a Lotus Notes) a HCL Domino (původně jako IBM Domino a Lotus Domino) jsou softwarové produkty společnosti HCL Technologies (původně produkt IBM), který se orientuje do oblasti groupware. Spíše než výsledný produkt, by se HCL Notes a HCL Domino dal označit jako platforma pro vývoj groupware aplikací.[1]
Vývojář | HCL Technologies |
---|---|
První vydání | 1989 |
Aktuální verze | 14.0.0 (7. prosince 2023) |
Operační systém | Windows, Linux, macOS |
Typ softwaru | Poštovní server, Groupware |
Web | HCL Domino |
Některá data mohou pocházet z datové položky. |
IBM prodala v červenci 2019 software IBM Domino a IBM Notes společnosti HCL Technologies.[1]
HCL Notes a HCL Domino je technologie typu klient server, kde aplikace je obvykle umístěna na serveru a klient komunikuje s touto aplikací. Přístup k aplikaci je nativním protokolem nebo internetovým protokolem. Nativní komunikační protokol NRPC (Notes Remote Procedure Call) je použit pro komunikaci mezi serverem Domino a klientem Notes a vzájemně mezi Domino servery.
Serverová část se nazývá HCL Domino a klientská část HCL Notes.
HCL Domino server je robustní aplikační/databázový server. Na tomto serveru jsou umístěny aplikace, jejichž služeb využívají uživatelé prostřednictvím HCL Notes klienta (popř. webového klienta). Aplikace na HCL Domino serveru jsou aktivními databázemi.
Prostředí HCL Domino je distribuovaným systémem, tzn. že aplikace může být umístěna na více než jednom serveru. Synchronizace mezi servery je zabezpečována službou zvanou replikace. Domino je zároveň serverem pro celou řadu dalších internetových služeb, např. POP3, IMAP, LDAP, MAPI, HTTP, NNTP a podporuje mnoho otevřených standardů, např. HTML/XHTML, XML, Java.
Primární funkcí klienta HCL Notes je e-mail a další odvozené korporátní služby, jako adresář, kalendář, plánovač, rezervace zdrojů apod. Ovšem hlavní výhodou HCL Notes je možnost rozšíření základní množiny databází o další aplikace.
Server HCL Domino se administruje pomocí čtvrtého klienta – Administrator. Zde se dají spravovat uživatelé, skupiny, jednotlivé servery, či serverové clustery, opravovat poškozené databáze, přidávat, či odebírat práva apod. Klient Administrator je plně grafický a zároveň obsahuje příkazovou konzoli. Komplikovanější správa se provádí pomocí takzvaného administračního procesu, kdy se definují kritéria, co se má udělat a tuto definici následně administrační proces, který běží v pravidelných intervalech, provede.
Hlavními atributy platformy HCL Notes a HCL Domino jsou vysoká míra zabezpečení dat, replikace, snadná rozšiřitelnost, rychlý vývoj a snadná aplikace business procesů formou workflow.
Bezpečnost Notes je založena na existenci tzv. ID souborů. V těchto souborech jsou uloženy certifikáty, digitální podpisy, šifrovací a dešifrovací klíče a další citlivé informace. HCL Notes a HCL Domino používá RSA (Rivest-Shamir-Adleman) šifrování veřejným klíčem k zajištění čtyř základních úrovní bezpečnosti: ověření totožnosti a oprávnění přístupu (X.509 certifikáty), šifrování zpráv a digitální podpisy. Každý uživatel má svůj jedinečný ID soubor. Díky tomuto ID a architektuře se dají data zabezpečit na mnoha úrovních, které připomínají trychtýř, ve kterém je na každé úrovni menší síto, než na úrovni předchozí.
K zašifrování dat se používá privátní klíč, který se připojí k ID uživatele. Šifrování může být násobné, s použitím více klíčů. ID soubor se dá kopírovat a s každou kopií se uživatel dostane k běžným datům. Pokud však k jedné kopii připojí privátní klíč, kterým zašifruje část dat, dostane se k těmto datům pouze s použitím této konkrétní kopie ID souboru. Hashování pomocí MD5 technologie slouží zejména k uchovávání hesel, či jiných autentizačních údajů.
Replikace dat je datová výměna mezi databázemi a jejich replikami (skupina databází, které mají stejné identifikační číslo databáze, tzv. „Replica ID“). Repliky databází bývají zpravidla rozmístěny na různých serverech. Replikace je realizována manuálním spuštěním nebo stejnojmennou automatickou úlohou serveru. Replikace je realizována buď oboustranně, anebo jen jednostranně, a to buď metodou push, nebo metodou pull. Dále lze realizovat takzvanou výběrovou replikaci, při které se replikují pouze některé části databáze (vybraná data, části designu apod.).
Informační obsah je replikován vždy na základě pravých bezpečnostních rysů technologie HCL Notes a HCL Domino a tedy seznamu přístupových práv a práv čtenářů k jednotlivým datovým záznamům – elektronickým dokumentů. I v tomto případě se každý server chová stejně jako uživatel – tedy může přistupovat k datům pouze pokud k nim má nastavena práva.
Cílem replikace je udržovat obsah databází aktuální na všech serverech nebo u klientů (na klientském PC je taky možné mít repliku).
HCL Notes spadají do oblasti RAD – Rapid Application Development (Rychlý vývoj aplikací). Pro vývoj databázových aplikací slouží třetí klient – Designer.
Základem HCL Notes a HCL Domino je dokumentová databáze, tedy na rozdíl od relačních databází je základní datovou jednotkou databáze takzvaný dokument. Dokument má specifické vlastnosti a variabilní počet polí. Dva dokumenty stejného druhu mohou mít tedy různá pole. Dokumenty se promítají přes formuláře v pohledech. Každý pohled má index a zobrazuje výběr dokumentů definovaný takzvanou výběrovou (SELECT) funkcí. Vývoj je dále podpořen sadou jednoduchých @funkcí, možností skriptování, nebo možností použití jazyka Java, a to jak ve formě vložených appletů, nebo ve formě výkonných agentů.
@Funkce, neboli jednoduchý makro jazyk se dělí na dvě části:
Příklady @Funkcí
Odstranění prázdných míst (whitespaces):
@Trim(" Ahoj světe! ")
Vypsání data vytvoření dokumentu a jména autora:
"Vytvořil " + @Name([CN]; @UserName) + " dne " + @Text(@Created)
Zapsání výběrové funkce v pohledu pro výběr všech dokumentů:
SELECT @All
Příklady @Commands
Vytvoření nového dokumentu s názvem User:
@Command([Compose]; "User")
Typický příkaz pro akci Uložit a Zavřít:
@Command([FileSave]); @Command([FileCloseWindow])
Lotus script je interpretovaný skriptovací jazyk, poprvé implementovaný ve verzi Lotus Notes 4.6. Byl vyvinut pro podporu vývoje složitější aplikační logiky. V omezené míře podporuje objektově orientované programování. IBM Notes obsahují sadu nativních tříd pro obsluhu objektů HCL Notes, které se však nedají dále rozšiřovat. Zápis Lotus Scriptu je podobný zápisu jazyka VBS, ze kterého vychází.
Příklad zápisu – vypsání názvu databáze do stavového řádku
Sub Initialize Dim Sess as New NotesSession Dim cDb as NotesDatabase Set cDb = Sess.CurrentDatabase MsgBox cDb.Title End Sub
Java pro použití v HCL Notes a HCL Domino v zatím poslední verzi 7 je omezena na verzi 1.4.2 (pro HCL Notes a HCL Domino 6.5 Java verze 1.3.1). Stejně jako pro Lotus Script má HCL Notes a HCL Domino sadu vlastních tříd i pro jazyk Java. Tyto třídy jsou obsaženy v balíku lotus.domino.*.
Příklad zápisu – vypsání názvu databáze 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 dokumentů, informací a úkolů od jednoho účastníka ke druhému. Vše, co se týká schvalování, připomínkování, nebo postupování je součástí workflow. Typickou ukázkou workflow je rozdělovník dokumentu, který určuje, komu se dokument má dostat do ruky a co s ním dotyčný má dělat.
Toto všechno HCL Notes díky své architektuře umožňují. Dokumenty mají svá přístupová práva, která se mění, závisle na definici workflow a organizační struktuře, uživate jsou notifikováni pomocí e-mail a díky tomu mohou na dokumentu spolupracovat.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.