Testování kódu je důležité, abychom ověřili kvalitu softwaru, a předešli tak chybám, které mohou nastat. Na testování existuje celá řada názorů.
Zjišťovala jsem, jaké by mělo být pokrytí různých softwarových produktů, a podle tohoto článku by mělo být cílem pokrytí testy přibližně 70-80%.
Existuje více druhů testování; v tomto článku se budeme zabývat takzvaným jednotkovým testováním, které používáme v CzechIdM. Jednotkové testy jsou takové testy, které testují pouze určitou část kódu (například metodu), nikoli funkcionalitu. Pro CzechIdM používáme k testování framework TestNG a pro analýzu pokrytí nástroj EclEmma.
Prezentační vrstva v CzechIdM
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.