【问题标题】:BIRT and iServer, dev/qa/production environmentsBIRT 和 iServer,开发/质量保证/生产环境
【发布时间】:2012-03-05 23:21:51
【问题描述】:

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

基本上理想的情况是报告在这些地方以不同的方式连接:

  1. 本地开发,它正在运行与 iPortal/iServer 对话的应用程序的本地 tomcat 实例。本地数据库,但应该能够轻松更改为其他数据库进行调试等。
  2. QA 部署、QA 数据库
  3. 生产部署,生产数据库

我已经看到了两种解决方法:

  1. First option 是将Data Source 绑定到某处资源中的配置文件。这里的问题是,如果你只有一个 iServer,它的资源是它所在服务器的本地资源,而不是 webapp 所在的地方。因此,如果我理解正确,这并不能提供我正在寻找的灵活性。
  2. Second option 是将所有连接信息作为报告参数传入,并让应用程序确定要发送的正确参数。这样应用程序可以从本地配置文件中提取。此选项可行,但我对传递连接信息/凭据的安全性(或缺乏安全性)感到厌烦。

有人有更好的选择吗?还是让人们只运行本地 iServer 实例进行开发?我可以看到为每个环境运行 iServer 可能会简化此问题,并允许发布到生产的报告在 QA 环境中更新和测试,而不会中断生产,所以也许这就是解决方案。

【问题讨论】:

    标签: database database-connection birt actuate


    【解决方案1】:

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

    这种方法的一个例子可以在here找到。

    【讨论】:

    • 谢谢,我忘记了那个选项。我不认为这是我会使用的,但它是一个很好的选择。我想我最终可能会将Connection Profile Store URL 作为报告参数作为连接配置文件的路径传递。这是必需的,因为每个环境中的路径都不同。只要设置了Connection Profile Name,它就可以工作。
    • 我尝试了类似的方法,但由于尚未定义连接环境,我现在很难让级联参数工作......
    【解决方案2】:

    您提到您正在寻找开发选项,包括本地 iServer 的可能性。我认为这将是矫枉过正。你在 BIRT 中进行开发和初始测试吗?您不需要 iServer 来运行报告。如果您需要 iServer 上的资源来运行和测试报告,您可以通过 BIRT Pro 中的服务器资源管理器引用这些资源。一旦你准备好部署,我会按照上面 Mark 的策略在数据源本身上使用属性绑定。这与 BIRT 中存在的迁移要求的最佳实践一样接近。

    【讨论】:

    • 这几乎就是我们得出的结论。我们还没有完全实现任何东西,但是当我们这样做时,我会尝试描述我们的完整解决方案,以防人们好奇。
    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多