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