Invia.cz
Last minute
Tunisko
Dovolená v Chorvatsku
Pojeďte do Egypta
Bulharsko
Vydělávejte peníze s INVIA.CZ
IBM Lotus Notes/Domino je softwarový produkt společnosti IBM, který se orientuje do oblasti groupware. Marketingová barva, neboli takzvaný brand, je žlutá. Spíše než výsledný produkt, by se IBM Lotus Notes/Domino dal označit jako platforma pro vývoj groupware aplikací.
Obsah |
IBM Lotus Notes/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á IBM Lotus Domino a klientská část IBM Lotus Notes.
IBM Lotus 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 IBM Lotus Notes klienta (popř. internetového klienta). Aplikace na IBM Lotus Domino serveru jsou aktivními databázemi. Prostředí IBM Lotus 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 IBM Lotus Notes je e-mail a další odvozené korporátní služby, jako adresář, kalendář, plánovač, rezervace zdrojů apod. Ovšem hlavní výhodou IBM Lotus Notes je možnost rozšíření základní množiny databází o další aplikace.
Server IBM Lotus Domino se administruje pomocí čtvrtého klienta - Lotus 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 Lotus 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 IBM Lotus Notes/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 Lotus 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. IBM Lotus Notes/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 servrech. Replikace je realizována manuálním spuštěním nebo stejnojmennou automatickou úlohou serveru. Replikace je realizována buď oboustraně, anebo jen jednostraně, 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 IBM Lotus Notes/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).
Lotus Notes spadají do oblasti RAD - Rapid Application Development (Rychlý vývoj aplikací). Pro vývoj databázových aplikací slouží třetí klient - Lotus Designer.
Základem IBM Lotus Notes/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í. Lotus Notes obsahují sadu nativních tříd pro obsluhu objektů Lotus 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 IBM Lotus Notes/Domino v zatím poslední verzi 7 je omezena na verzi 1.4.2 (pro IBM Lotus Notes/Domino 6.5 Java verze 1.3.1). Stejně jako pro Lotus Script má IBM Lotus Notes/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 Lotus 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 můžou na dokumentu spolupracovat.
… Pokračování (historie, budoucnost) …