Tento článek pojednává o tom, jakým stylem je řešena prezentační vrstva v CzechIdM.
Prezentační vrstva CzechIdM je založena na technologiích JavaServer Faces (JSF), Facelets a RichFaces. JavaServer Faces je framework, který usnadňuje vývoj uživatelských rozhraní JavaServer aplikací, dále používáme technologii Facelets, což zjednodušuje a zpřehledňuje samotný vývoj prezentační vrstvy. Podpora Ajaxu je zajištěna použitím knihoven projektu RichFaces. Z tohoto frameworku používáme taktéž některé komponenty. K modelování procesů používáme jBPM workflow, které jsou spouštěny po každém kliknutí na odkaz, tlačítko formuláře atd.
Organizační struktura a CzechIdM
Představme si situaci, kdy je firma organizačně členěna do více oddělení. Jednotlivá oddělení (podorganizace) spravují pověření administrátoři. Tyto situace se dají v Identity Manageru CzechIdM snadno využít ke správě uživatelů i delegaci přístupů ve spravovaných systémech. Uživatele je možné řadit do podorganizací. Správu zvolených organizací je pak možné přidělit jakýmkoliv uživatelům. V následujícím postupu si ukážeme jak vytvořit organizaci v CzechIdM.
Pravidla při vytváření hesel v CzechIdM
Politika hesel definuje pravidla, kterým musí vyhovovat každé nově nastavené heslo v systému. Identity Management CzechIdM obsahuje mnoho pravidel, pomocí nichž můžeme docílit nastavení požadované politiky.
Hibernate: cizí klíče bez cizích klíčů
Při implementaci našeho Identity Manageru CzechIdM jsme narazili na zajímavý problém týkající se technologie Hibernate a struktury tabulek v databázi. Potřebovali jsme zajistit funkcionalitu, kterou běžně poskytují v databázi cizí klíče. Jenže právě cizí klíče jsme použít nemohli. V tomto článku se na náš problém podíváme a vysvětlíme si, jak se nám ho podařilo vyřešit s použitím některých pokročilejších Hibernate anotací.
Implementace DTO v CzechIdM
V tomto příspěvku se budeme zabývat návrhem některých datových struktur, kterými implementujeme DTO v našem Identity Manageru CzechIdM. Nebudeme se příliš věnovat samotnému kódu, raději se podíváme na problém s větším odstupem. Ukážeme si, jak jsme v našem případě navrhli jednoduchou hierarchii tříd, která nám umožní spravovat i velmi komplikovaná data. Vše si budeme na závěr ilustrovat na naší třídě UserView, která poskytuje informace o jedné konkrétní identitě v našem CzechIdM.
Identity konektor pro Alfresco – SOAP nebo RESTful?
V tomto příspěvku si ukážeme, jakým způsobem lze připojit systém Alfresco k našemu Identity Manageru CzechIdM. Dopředu prozradím, že si k tomuto účelu navrhneme a naimplementujeme speciální Identity connector. Nebudeme si zde podrobně rozebírat implementaci konetoru jako například v případě Universal SSH konektoru, ale podíváme se na tento problém z poněkud jiného pohledu. Ukážeme si, jak postupujeme při zákazníkově požadavku na připojení nějakého nového systému k CzechIdM a jak jsme postupovali v tomto případě.
Časovače, Java a CzechIdM – 1. část
Toto je první část příspěvku zaměřeného na časovače a časové služby v programovacím jazyce Java. V dnešním příspěvku si na úvod uvedeme dva příklady, kde najdou časovače své uplatnění. První je spíše obecného charakteru, druhý je již specifický a popisuje použití časovačů v našem systému CzechIdM. Poté si ukážeme, jak časovat úlohy v Java SE a Java EE 5 a 6 s použitím EJB kontejneru.
Příští příspěvek bude zaměřen více specificky, a to na jBPM časovače a na projekt Quartz. Zároveň si jednotlivé možnosti shrneme a porovnáme. Nezbývá než začít.
Identity Manager – Jak připojit systém Vema
U zákazníka v ČR jsme připojovali náš Identity Manager CzechIdM na personalistiku od brněnské firmy Vema. Aplikace Vema je využívána pro evidenci zaměstnanců, a proto představuje primární zdroj informací o uživatelích. CzechIdM má na starosti správu uživatelských účtů postupně ve všech systémech organizace zákazníka. V tomto příspěvku tedy popíši, jak jsme řešili napojení CzechIdM na systém Vema.
JAXB – ještě bližší propojení Javy a XML
Java i XML jsou technologie, které se často používají pro komunikaci mezi aplikacemi na různých operačních systémech. Proto je v Javě řada možností, jak s XML daty pracovat, např. SAX, DOM atd.. Jednou z dalších technologií provazující Javu s XML je i JAXB (Java Architecture for XML Binding), jejíž použití si ukážeme na praktických příkladech. JAXB nabízí metody pro konverzi XML dat na Java objekty a naopak, a umožňuje zápis a čtení XML z mnoha různých zdrojů, například ze souboru, streamu, nebo z URL. V tomto článku si na několika příkladech ukážeme, jak se s JAXB pracuje.
Vývoj identity konektoru pro systém CzechIdM
Poslední dobou se moje pracovní povinnosti týkaly hlavně vývoje identity konektorů pro náš systém CzechIdM. Proto jsem se rozhodl, že napíši příspěvek, kde se pokusím letmo popsat problematiku Identity Managementu, Identity Connector Framework a vývoj konektorů v něm. Tento příspěvek zároveň volně navazuje na příspěvek mého kolegy Zdeňka Burdy o systému CzechIdM.