BIRT和iServer,dev / qa /生产环境

时间:2012-03-05 23:21:51

标签: database database-connection birt actuate

我正在尝试设置我们的BIRT报告和他们所在的iServer,以便Data Sources连接到的数据库由环境决定。我们的设置是,目前只有一个iServer实例和许多运行tomcat webapp的环境(这可能是问题......)。

理想情况是,报告在这些地方的连接方式不同:

  1. 本地开发,它运行与iPortal / iServer通信的应用程序的本地tomcat实例。本地数据库,但应该能够轻松更改到其他数据库进行调试等。
  2. QA部署,qa数据库
  3. 生产部署,生产数据库
  4. 我已经看到了两种解决方法:

    1. First option是将Data Source绑定到某处资源中的配置文件。这里的问题是,如果你只有一个iServer,它的资源是它所在服务器的本地资源,而不是webapp所在的位置。所以,如果我理解正确,这不能提供我正在寻找的灵活性。
    2. Second option将传递所有连接信息作为报告参数,并让应用程序确定要发送的正确参数。这样,​​应用程序可以从本地配置文件中提取。这个选项可行,但我在传递连接信息/凭证时对安全性(或缺乏安全性)感到厌倦。
    3. 有没有人有更好的选择?或者让人们只运行本地iServer实例进行开发?我可以看到为每个环境运行iServer可以简化这个问题,并允许在QA环境中更新和测试发布到生产的报告,而不会中断生产,所以这可能是解决方案。

2 个答案:

答案 0 :(得分:1)

一种可能的方法是在“编辑数据源”对话框的“属性绑定”部分中有条件地设置每个连接属性,具体取决于指示要访问哪个环境的隐藏参数的值。

可以找到此方法的一个示例here

答案 1 :(得分:1)

您提到您正在寻找开发选项,包括本地iServer的可能性。我认为这将是矫枉过正的。你是Dev&在BIRT进行初步测试;您不需要iServer来运行报告。如果您需要iServer上的资源来运行&测试报告,您可以通过BIRT Pro中的Server explorer引用这些报告。一旦准备好部署,我将遵循Mark的策略,使用数据源本身的属性绑定。这与BIRT中存在的此迁移要求一样接近最佳实践。