第1章 版本选择

如果业务系统也是JAVA WEB应用,即可与报表系统进行嵌入式深度集成。嵌入式深度集成这种场景,请选择我们提供的专业集成版本。 该版本中没有登录限制,没有组织、角色、用户、权限管理,可方便进行集成。

第2章 集成步骤

2.1 确保业务系统可运行

首先要确保需要集成的系统独立可以运行,已有功能全部可以正常使用。便于判断集成是否成功。

2.2 报表资源文件合并

在专业集成版本目录下的应用根目录Report,有下图中所列出的类似文件夹,如图所示:
1

2.2.1 将所有的资源复制到要集成的工程的WebRoot(WebContent)目录下

这里“WebRoot(WebContent)”目录即是指工程的根目录。
拷贝过程中,同名资源文件需合并,同名jar包可以直接覆盖 通常可能需要合并的资源文件有:Web.xml文件、log4j.xml 请将报表web.xml内容合并,web.xml中具体说明请参见附录一
如果业务系统同时使用了log4j组件作为日志记录,请将log4j.xml进行合并,具体说明请参见附录二

2.1.2 jar包冲突问题

jar包位于\WEB-INF\lib目录下。 当出现业务系统与报表系统同时使用了某个第三方jar包时,如果版本号不一致,即可能造成jar包冲突,导致某些功能不可用。
需要将冲突的jar包删除,删除原则为请保留较高版本的jar包,如遇到特殊情况可与我们联系。

2.1.3 测试集成版本

测试前请参考部署文档,将环境按部署文档说明进行部署测试。
需同时测试原有系统功能和报表功能是否同时可用。

附录一:报表的Web.xml文件中配置说明

1.报表配置文件根路径
该部分配置可以更改报表配置文件所在路径(即conf/unieap/report下的配置)。
系统中没有对配置路径有特殊要求的,可以忽略该部分配置。如果需要指定报表配置路径,可以将以下内容包含到 web.xml 文件中,并修改 param-value 的值,同时移动 conf/unieap/report下的内容至指定的位置。如果已经存在该部分内容,则保留原内容不需拷贝。
路径参数值以 / 结尾,当以 / 起始时表示为绝对路径,否则为相对路径。

<context-param>
    <param-name>report.configroot</param-name>
    <param-value>WEB-INF/conf/unieap/report/</param-value>
</context-param>

<context-param>
    <param-name>report.customconfigroot</param-name>
    <param-value>WEB-INF/conf/unieap/report/ext/</param-value>
</context-param>
  1. Listener配置
    <listener>
    <listener-class>com.neusoft.report.server.view.CleanSessionListener</listener-class>
    </listener>
    <listener>
    <listener-class>com.neusoft.report.server.view.ThreadObjectRequestListener</listener-class>
    </listener>
    <listener>
    <listener-class>com.neusoft.report.server.view.CacheCleanServletContextListener</listener-class>
    </listener>
    
  2. filter配置 该部分配置涉及安全过滤拦截,请将该filter加到系统前边。

    <filter>
         <filter-name>setUidFilter</filter-name>
         <filter-class>com.neusoft.report.sample.SetUidFilter</filter-class>
     </filter> 
     <filter>
         <filter-name>InjectionFilter</filter-name>
         <filter-class>com.neusoft.report.server.util.fw.ReportFWFilter</filter-class>
         <init-param>
             <param-name>crossDomainRefer</param-name>
             <param-value>true</param-value>
         </init-param>
         <init-param>
             <param-name>mobileAllowRefer</param-name>
             <param-value>true</param-value>
         </init-param>
         <init-param>
             <param-name>licenseNoticeRefer</param-name>
             <param-value>true</param-value>
         </init-param>
     </filter>       
    
    <filter-mapping>
         <filter-name>InjectionFilter</filter-name>
         <url-pattern>*.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
         <filter-name>InjectionFilter</filter-name>
         <url-pattern>*.jsp</url-pattern>
     </filter-mapping>
     <filter-mapping>
         <filter-name>setUidFilter</filter-name>
         <url-pattern>*.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
         <filter-name>setUidFilter</filter-name>
         <url-pattern>*.jsp</url-pattern>
     </filter-mapping>
    
  3. servlet配置
 <servlet>
    <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/conf/unieap/report/report-struts-config.xml</param-value>
        </init-param>
        <load-on-startup>10</load-on-startup>
    </servlet>

    <servlet>
        <servlet-name>mobile-heartbeat</servlet-name>
        <servlet-class>com.neusoft.unieap.report.platform.mobile.MobileHeartBeat</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>mobile-res</servlet-name>
        <servlet-class>com.neusoft.unieap.report.platform.mobile.MobileResManager</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>mobile-report</servlet-name>
        <servlet-class>com.neusoft.report.server.mobile.MobileReport</servlet-class>
    </servlet>


    <!-- Standard Action Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>mobile-heartbeat</servlet-name>
        <url-pattern>/service/resourcemanage/heartBeatRequest</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>mobile-res</servlet-name>
        <url-pattern>/service/resourcemanage/getMobileResData</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>mobile-report</servlet-name>
        <url-pattern>/service/resourcemanage/mobilereport</url-pattern>
    </servlet-mapping>
  1. Web Service调用 旧版的CS设计器使用了Web Services框架,如果系统还需要使用CS设计器进行连接,则在web.xml中增加如下内容:
    <servlet>
    <servlet-name>AxisServlet</servlet-name>
      <display-name>Apache-Axis Servlet</display-name>
      <servlet-class>
          org.apache.axis.transport.http.AxisServlet
      </servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
    </servlet-mapping>
    
  2. 调度模块调用 将下面部分内容增加到应用系统的web.xml文件中。

    <servlet>
      <servlet-name>schedualerServlet</servlet-name>
      <servlet-class>com.neusoft.saca.dataviz.scheduler.servlet.SchedualerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>schedualerServlet</servlet-name>
      <url-pattern>/schedualerServlet</url-pattern>
    </servlet-mapping>
    
    <servlet>
      <servlet-name>configSchedularDR</servlet-name>
      <servlet-class>com.neusoft.saca.dataviz.scheduler.server.ConfigSchedular</servlet-class>
      <init-param>
          <param-name>config-file</param-name>
          <param-value>/WEB-INF/conf/unieap/newscheduler/dataviz-schedular.properties</param-value>
      </init-param>
      <init-param>
          <param-name>filesystem-class</param-name>
          <param-value>com.neusoft.saca.dataviz.base.filestore.impl.EAPFileImpl</param-value>
      </init-param>
      <init-param>
          <param-name>shutdown-on-unload</param-name>
          <param-value>true</param-value>
      </init-param>
      <init-param>
          <param-name>start-schedular-on-load</param-name>
          <param-value>true</param-value>
      </init-param>
      <load-on-startup>20</load-on-startup>
    </servlet> 
    <servlet-mapping>
      <servlet-name>configSchedularDR</servlet-name>
      <url-pattern>/configSchedularDR</url-pattern>
    </servlet-mapping>
    
    <servlet>
      <servlet-name>schedular-exchange-dr</servlet-name>
      <servlet-class>com.neusoft.saca.dataviz.scheduler.server.CommandProxy</servlet-class>
      <init-param>
          <param-name>commands</param-name>
          <param-value>/WEB-INF/conf/unieap/newscheduler/schedularCommand.properties</param-value>
      </init-param>
    </servlet>
    <servlet-mapping>
      <servlet-name>schedular-exchange-dr</servlet-name>
      <url-pattern>/schedular-exchange-dr</url-pattern>
    </servlet-mapping>
    

    附录二:报表日志记录

    如果原系统也使用Log4j组件,请把log4j.xml文件中下面片断加入到应用系统log4j.xml文件中。
    //报表组件日志输出源配置

    <appender name="report"
      class="com.neusoft.unieap.service.log.RollingFileAppender">
      <param name="File" value="…/report.log" />
      <param name="Append" value="false" />
      <param name="MaxBackupIndex" value="10"/>
      <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern"
              value="%d >> %5p >> %t >> [UniEAP_Report] >> %l >> %m%n" />
      </layout>    
    </appender>
    //报表组件日志输出级别配置
    <logger name="UniEAP_Report">
    <level value="info" />        
    <appender-ref ref="report" />
    </logger>
    <logger name="UniEAP_DataSet">
    <level value="info" />        
    <appender-ref ref="report" />
    </logger>
    

    【说明】level:指定日志信息的重要性。常用的分为 DEBUG , INFO ,WARN ,ERROR四种,其中按优先级来说DEBUG < INFO < WARN < ERROR。如果设置级别为INFO,则优先级大于等于INFO级别(如:INFO、WARN、ERROR)的日志信息将可以被输出,小于该级别的如:DEBUG将不会被输出appender-ref ref:就是指定日志信息输出目的地,比如(打印到控制台,输出到文件等)。同一条日志信息可以配置多个输出目的地。
    其中可以通过修改下面的配置,来改变报表日志文件输出路径。

      <param name="ConversionPattern"
          value="%d >> %5p >> %t >> [UniEAP_Report] >> %l >> %m%n" />
    

    </layout>
    </appender> 上表中中"…/report.log"为输出路径控制部分,配置时请写成绝对路径。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""