JasperReports Integration

는 오픈 소스로 다양한 컨텐츠를 PDF, HTML, XLS, CSV 파일 등으로 출력하는 리포팅 툴이다. 전체적으로 자바로 쓰여졌으며, 다양한 어플리케이션에서 사용되어 다양한 포맷으로 컨텐츠를 생성할 수 있다. XML 포맷으로 리포트 디자인을 작성하여 컴파일 한 후 RDBMS와 JDBC를 통해 데이터를 바인딩함으로써 최종적으로 다양한 리포트을 생성할 수 있다.
JasperReports 특징을 살펴보면 다음과 같다. :
  • 다양한 Reporting Output 형태(PDF, HTML, XLS, CSV 등) 제공
  • 다양한 Data Source를 이용하여 Reporting 데이터를 구성할 수 있음
  • 다양한 레이아웃으로 Reporting이 가능하며 Chart 및 Graphical한 화면 요소 제공
  • Graphical한 Report Designer 제공(여러 종류의 유/무료 툴 사용 가능)

아래의 그림은 XML 포맷의 리포트 디자인 과정부터 최종적으로 JasperRepoting Engine으로부터 최종 결과 리포트를 생성하는 과정을 한 눈에 볼 수 있도록 표현하고 있다.


Jasper XML(jrxml) 파일을 생성하는 툴을 제공함으로써 개발자는 비즈니스 컴포넌트 개발 후 쉽게 리포팅 기능을 구현할 수 있다.
또한 이 매뉴얼에서 설명하는 JasperReports (http://jasperforge.org/sf/projects/jasperreports/) 기능은 Spring MVC와 통합된 형태로 예제가 설명되어 있다.
Anyframe Web에서 제공하는 Reporting 기능은 기본적으로 JasperReports 기능을 모두 제공하나 Spring MVC와 통합된 형태로 기능이 제공되고 있기 때문에 Spring MVC를 통해서 제공되지 않은 JasperReports 일부 기능이 있을 수 있다. 이 경우 필요하다면 Spring MVC를 확장하여 구현 가능하다.
예를 들어 보면 다음과 같은 경우들이 포함된다. :
  • Microsoft Excel 파일로 Reporting 하는 경우 - Spring MVC에서 제공하는 뷰클래스를 이용하면 Excel 파일 내에 이미지 파일이 보이지 않는다. 이는 Spring MVC에서 JasperReports와 통합하는 과정에 Excel 파일로 Output할 때 POI 라이브러리를 사용하였기 때문이다. 이를 JExcel API를 사용하는 것으로 변경하면 Excel 파일 내에 이미지 파일을 디스플레이하는 기능을 제공할 수 있다.
  • HTML 파일로 Reporting 하는 경우 - 이미지 파일을 html 내에서 디스플레이 해주기 위해서 Spring MVC에서 제공해주는 뷰 클래스를 확장하였다.

Anyframe Web를 설치하여 Reporting 기능을 이용할 경우에는 이 매뉴얼에서 가이드 하는 방법대로 사용하면 위의 기능을 추가 코딩 없이 바로 사용할 수 있다.

User's Guide

아래 내용을 보고 JasperReports를 설치한 후, 직접 JRXML 파일을 디자인하고 샘플 어플리케이션을 실행시켜보도록 하자.