čtvrtek 26. února 2015

JasperReports a plugin ElasticJasperServer


V práci jsem seznamoval s produkty Jasper Reports od společnosti Jaspersoft, která je vlastněná společností TIBCO Software.  Hlavním důvodem je generování reportů např. v PDF získaných z ElasticSearch nebo Zabbix.

Nejprve jsem instaloval JasperReports Server, což je Java aplikace běžící pod Apache Tomcat. Defaultní instalace využívá databázi PostgreSQL, ale můj požadavek byl JR Server provozovat s MySQL. Volil jsem tedy instalaci WAR využívající js-install script. Stáhnul jsem si tedy jasperreports-server-cp-5.6.1-bin.zip. Volil jsem starší verzi, protože mým cílem bylo zprovoznit rozšíření od Wedjja - https://github.com/WedjaaOpen. Které umožňuje JR Serveru komunikovat a dotazovat se pomoci JSON ElasticSearch. Aktualní verze ElasticJasperServer nepodporuje poslední verzi JR Serveru 6.x. Projekt je velmi dobře dokumentován, proto instalace JR Serveru i pluginu ElasticJasperServer není nikterak složitá.

Pro vytvoření samotných reportů se používá aplikace JasperReports Studio, která je postavena na základech vývojového prostředí Eclipse. JR Studio a JR Server spolu komunikují a vytvořené reporty je možno snadno publikovat na serveru, kde se patřičný report nechá vykonávat pravidelně a může zasílat výsledné reporty emailem nebo je uploadovat na FTP server.

JR Studio se též neobejde bez pluginu do ElasticSearch. Je třeba doinstalovat ElasticJasper. Podrobný popis jak na to je pěkně popsán na blogu Wedjja.

Samotná tvorba reportů JRXML není úplně jednoduchou disciplínou, ale výsledky mohou být velmi zajímavé.

JasperReports je v Java světě zjevně hodně znám. Čistě náhodou jsem si všiml, že účetnictví FlexiBee používá pro tisk právě JasperReports Library.

Žádné komentáře: