编程语言
首页 > 编程语言> > java-Jasper Reports中适合放置的位置-前端还是业务?

java-Jasper Reports中适合放置的位置-前端还是业务?

作者:互联网

我正在尝试使用Jasper Reports(v3.5.2)生成PDF / HTML报告并将其打印到Webapp浏览器.该Web应用程序已经在前端和EJB 3中使用了JSF(Woodstock)(使用JPA和Hibernate作为MySQL数据库的持久性提供程序).

我的问题是-生成基于Jasper的报告的代码应该在哪里?我对此完全感到困惑.我应该把它放在JSF前端吗?还是应该作为会话bean在业务逻辑中作为“报告”模块?

我认为这样做的正确位置是将业务层作为一个单独的模块.我将使用报表名称,输入参数映射和报表格式作为业务方法的参数来调用业务方法,并将获得生成的pdf / html作为回报,然后将其发送到浏览器.我是否在正确的轨道上?

您可以提出一种执行此操作的模式吗?

另外,由于我已经在使用JPA,所以我想使用EJBQL.

谢谢.

解决方法:

如果您打算将碧玉生成物作为耳朵的一部分进行嵌入,那么我想说它应该按照您的建议在类中进行抽象.我不确定是否会为此创建一个单独的EJB,除非您正在集群或将报告生成工作转移到另一个JVM,或者您有一些特殊的事务需求.

另一个常见的选择是拥有一个完全独立的报表服务器,您可以远程调用它,并接管与用户的交互.

标签:ejb,jasper-reports,java
来源: https://codeday.me/bug/20191107/2003338.html