Standardní synchronizace v CzechIdM – základní souhrn

Za několik málo dní nastane pro CzechIdM velká událost, kterou ještě nebudu prozrazovat. Připravujeme CzechIdM na tento krok do neznáma tak, aby jej zvládl a obstál se ctí. Velkým úkolem je i zjednodušení instalace a konfigurace. Cílem je, aby administrátor CzechIdM pouze nainstaloval, aby vše mohl nakonfigurovat v grafickém rozhraní, případně v konfiguračních souborech.

Do nedávna musel administrátor mnoho věcí programovat v Javě resp. BeanShellu, mezi které patřila i synchronizace a rekonciliace napojených systémů. Udělali jsme zásadní rozhodnutí – nyní si administrátor může synchronizaci i rekonciliaci nastavit jednoduše v admin rozhraní CzechIdM.

czechidm-synchronisation

Workflow pro každý účet

Administrátor dříve musel pro každý napojený systém naprogramovat synchronizačním workflow, které v praxi bylo pro mnohé systémy podobné. Výhodou tohoto řešení je veliká variabilita, s účtem a spárovanou identitou můžete dělat úplně cokoliv vás napadne. Jsou systémy, kde takovéto řešení je jediné možné, ale těch je velice málo.

Naopak nevýhodou synchronizačního workflow je fakt, že se pro každý synchronizovaný účet a identitu spouští workflow stále dokola, což má neblahý vliv na výkon, kdy vytváření jeho kontextu je řádově pomalejší než implementace v kódu

Implementace synchronizace

Jestliže je workflow oproti klasickému kódu o tolik pomalejší, proč nevyužít právě nativní kód pro synchronizaci? Zvlášť, když by bylo možné takto nakonfigurovat synchronizaci daleko rychleji a pohodlněji?

Proto jsme zpracovali rozsáhlou analýzu problému a ujasnili si tak, co synchronizace v rámci workflow ve většině případů dělá. Po velké diskuzi nad tímto tématem jsme se pustili do implementace.

Nyní vám můžu hrdě a s radostí oznámit, že CzechIdM nabízí standardní synchronizaci přímo v admin GUI. Pro tuto chvíli si nechám pro sebe veškeré možnosti nastevení a jak je vše realizováno. To si budete moci dočíst v některém z dalších článků.

Přínosy standardní sycnhronizace

Jeden z velkých přínosů už byl uveden již výše – nenutíme administrátora programovat, nýbrž se snažíme aby naopak CzechIdM sloužilo právě administrátorovi. Co je tedy konkrétním přínosem?

  • Rychlé a jednoduché nastavení synchronizace
  • Přehledné reportování výsledků
  • Odolnost proti chybám při synchronizaci
  • Rozsáhlé možnosti plnění atributů u identity
  • Přizpůsobivost pro velké množství scénářů synchronizace

Přehled jak vše probíhalo

Prvotní návrh, jak vše implementovat spočíval ve dvou dokumentech. V prvním byla jen představa, co by se nám líbilo. Druhý dokument pak již obsahoval konkrétní návrh, jak vše implementovat. U druhého dokumentu jsme ve více lidech trávili relativně mnoho času, ale výsledkem byl detailní soupis, podle kterého bylo možné vše okamžitě realizovat. Po této analýze nastala pro programátory oblíbená doba implementační. Souběžně s každou fází probíhala i dokumentační část a nemalá část času padla i na projektové řízení, které opět probíhalo souběžně.

Kdybych to měl shrnout, tak z celkového stráveného času nejvíce zabrala implementace – cca 50%. Vše je přehledně vidět v následující tabulce.

Implementace: 53%  (5MD GUI včetně workflow + 12MD samotná implementace v kódu)
Analýza: 16% (5MD – dokumenty s prvotním návrhem a následnou analýzou)
Testování: 15% (5MD – včetně přípravy všech testovacích dat)
Dokumentace: 6% (2MD – od dokumentace kódu až po tutorial jednoduchého nastavení)
Projektové řízení: 6% (2MD – veškeré práce spojené s řízením projektu a rozhodováním)
Ostatní: 4% (2MD – vše co se nevešlo jinam, ale přesto souvisí s úkolem)

Závěr

Na této nové funkčnosti pracovali v průběhu času všichni vývojáři v našem týmu a tímto jim děkuji za skvěle odvedenou práci. V případě jakýchkoliv připomínek či dotazů ohledně synchronizace mě kontaktujte na jan.effenberger@bcvsolutions.eu.