2011-11-18 12 views
10

szukam zgłaszającemu silniku Java, że:Alternatywy dla JasperReports i BIRT

  • nie zmusza do korzystania projektanta definiować szablony raportów (a tym samym umożliwia generowanie raportów za pomocą interfejsu API),
  • nie jest ani JasperReports BIRT,
  • jest open source,
  • jest wolny (jak w obu wolności i darmowe piwo),
  • jest przyzwoity w swojej opinii.

To trudne pytanie, wiem. Nie mogłem znaleźć nic satysfakcjonującego w Google ani tutaj w Stack Overflow, ale wciąż mam nadzieję, że ktoś może poznać gdzieś ukryty skarb.

+1

Jaki jest Twój ostateczny cel? JR nie wymaga używania projektanta; Jakie są twoje inne obiekcje? Czy byłbyś szczęśliwszy po prostu używając iText? –

+0

Dlaczego stosowanie JR lub Birt nie ma zastosowania w twoim przypadku? Wciąż nie ma zbyt wielu bibliotek raportowania dla Javy. – Mechkov

+0

Jasper nie zmusza Cię do używania swojego projektanta, możesz sam utworzyć jrxml, który definiuje raport. Ja także zmagam się z tym, dlaczego/jak tworzysz układ raportu za pośrednictwem interfejsu API, chyba że sam tworzysz mniej lub bardziej "projektanta". Czy możesz trochę wyjaśnić, jaki jest twój cel rozwoju? –

Odpowiedz

9

Istnieje niewiele narzędzi do raportowania korporacyjnego o otwartym kodzie źródłowym (narzędzia do raportowania w duchu raportów kryształowych). Dwa największe to BIRT i JasperReport. JFreeReport (wydaje się być martwy) i DataVision (bez doświadczenia) to jedyne dwa "inne" produkty open-source, które nawet się zbliżają.

Przeważająca część produktów z raportowaniem koncentruje się wokół generowania wykresów lub generowania dokumentów. Choć może się wydawać, że to jest "raportowanie", niektóre działania nie uwzględniają zakresu generowanych dokumentów (tylko LaTEX lub podobne).

Część problemu polega na tym, że rodzaj produktu, który rozważasz, zawsze zawiera narzędzie do tworzenia raportów metodą "przeciągnij i upuść", ponieważ tego typu raporty przekształciły się w własne dzięki emulacji edytora tekstu za pomocą szablonów. To prowadzi do twojego innego wymogu, programowego interfejsu API.

W końcu twój interfejs API wygeneruje szablon raportu, który następnie zostanie przekazany do silnika, który połączy raport z jego danymi, sformatuje go, a następnie wyświetli. W związku z tym narzędzie takie jak JasperReports (gdzie szablon jrxml jest stosunkowo dobrze zdefiniowany) nie brzmi zbyt źle; ponieważ, możesz po prostu użyć Javy do zbudowania drzewa DOM (który jest szablonem raportu), a następnie przekazać to do silnika (być może najpierw będziesz musiał serializować go do XML, ale może być gorzej).

Tyle tylko, że rezygnujesz z JasperReports (i innej największej platformy raportowania, BIRT) z nieznanych powodów. Chociaż mogą istnieć doskonałe powody, aby nie używać niektórych dostępnych produktów (nie mogę samemu używać JaserReport ze względu na doskonałe powody), jeśli zbyt wiele produktów zostanie uznanych za bezużyteczne, zabraknie opłacalnych dozwolonych produktów.

Jedynym wstrzymaniem jest DataVision i generuje LaTeX lub Docbook. Większość "standardowych" spodziewanych formatów można uzyskać za pomocą łańcucha tworzenia Docbook, ale znacznie komplikuje to proces renderowania raportu, a będziesz musiał dobrze zrozumieć styl Xbooków Docbook, aby uzyskać jakikolwiek przyzwoity styl (typowy wymóg "piękna" dla wielu raportów korporacyjnych).

Powodzenia, i mam nadzieję, że ta informacja przynosi pewne korzyści.

+1

Bardzo dziękuję za odpowiedź. Będę trzymać się JasperReports, nie jest to dokładnie to, czego szukałem, ale jest to bardzo dobry silnik. –