分享

技术文章-实战:在AquaLogic Data Service Platform中配置Ex...

 jianjun0921 2007-08-24

  AquaLogic Data Service Platform(即以前的BEA liquid Data for Weblogic)中可以方便的访问多种不同的数据源,为多种异构的数据源提供统一视图,可以经过Data Service控件的封闭后给Portal,Integration,JPF等程序提供良好的数据层服务。

  这些异构数据源包括:各种JDBC可以访问的数据库,Web Services,很多不同类型的文件,包括XML文件,CSV文件,还有普通java类提供的函数功能。

  现在在DSP中加载Excel支持包,可以直接访问Excel文件,将Excel文件中的数据以XmlObject的形式读出,供J2EE应用程序访问。

  下面一步步来讲解在DSP中配置Excel作为数据源的过程

基本原理

  在DSP中访问Excel是利用Weblogic Server提供的jcom功能来访问Excel文件的,其基本原理如下:

  在上面的示图中,我们看到,java应用程序是通过JCOM组件来访问Windows操作系统中的Com服务器,再由Com服务器作为桥梁来存取磁盘中的Excel文件。

  基于由上原理,在使用Excel作为数据源时有几点限制:

  • 安装DSP的Weblogic Server必须安装在windows操作系统上。
  • Excel文件必须存在本机中,即不能远程访问。
安装软件

  下载与安装Bea Weblogic Platform 8.1.5,AcquaLogic Data Service Platform 2.0.1,然后利用配置向导建立支持DSP的域。

建立Data Service

  在workshop中建立Data Service的步骤如下:

1.新建DSP应用程序

2.加入相关支持库:

  安装DSP后在<beahome>\weblogic81\samples\LiquidData\EvalGuide\ excel\lib文件夹中,有两个jar包,excel.jar和exceljf_xbean.jar。需要将这两个包导入应用程序的库中。

3.导入Java Functions

  在DSP工程下新建functions文件夹,导入文件:

<beahome>\weblogic81\samples\LiquidData\EvalGuide\excel_jcom.java.

*注:新建functions文件夹的目的是因为excel_jcom.java中使用package functions;

 

4.编译整个项目

  编译整个项目的目的是将excel_jcom.java生成class文件。

5.导入元数据

  在functions文件夹上点键,选“import Source MetaData …”

  数据源类型选择:Java Function

下一步:

输入类名:

在选Java文件中,下一步,选中Java Functions:“getExcel”,加入到选中Functions列表中。

下一步

完成

数据源已经建好。

6.测试

打开测试视图

 

  输入两个参数,就getExcel的两个参数,第一个参数是文件名,第二个参数是sheet名,

  输入:x1: c:\BEA\weblogic81\samples\liquiddata\EvalGuide\excel\test.xls

x2:Customers (要区分大小)

执行测试,

测试成功。

7.编译发布数据源

  然后编译整个应用程序,发布Data Service

  发布成功可以在ldconsole里查看:

在BMP中测试Data Service

  Data Service发布后,就可以在其它java程序中直接使用了。其步骤如下:

4.1添加DataService控件

4.2 创建方法

4.3 控件生成

Data Service控件生成后就可以类似使用其它控件一样方便的使用了。

4.4 使用BMP测试

BMP流程如下:

部署应用程序,开始测试:

返回XML为:

<exc:excel xmlns:exc="http://www./excel">
<cells>
<cell cellID="AAAA:0001">Customer ID</cell>
<cell cellID="AAAB:0001">Customer name</cell>
<cell cellID="AAAC:0001">City</cell>
<cell cellID="AAAD:0001">Sales People ID</cell>
<cell cellID="AAAA:0002">2001.0</cell>
<cell cellID="AAAB:0002">Hoffman</cell>
<cell cellID="AAAC:0002">London</cell>
<cell cellID="AAAD:0002">1001.0</cell>
<cell cellID="AAAA:0003">2002.0</cell>
<cell cellID="AAAB:0003">Alex</cell>
<cell cellID="AAAC:0003">Rome</cell>
<cell cellID="AAAD:0003">1003.0</cell>
<cell cellID="AAAA:0004">2003.0</cell>
<cell cellID="AAAB:0004">Liu</cell>
<cell cellID="AAAC:0004">San Jose</cell>
<cell cellID="AAAD:0004">1002.0</cell>
<cell cellID="AAAA:0005">2004.0</cell>
<cell cellID="AAAB:0005">Grass</cell>
<cell cellID="AAAC:0005">Berlin</cell>
<cell cellID="AAAD:0005">1002.0</cell>
<cell cellID="AAAA:0006">2006.0</cell>
<cell cellID="AAAB:0006">Clements</cell>
<cell cellID="AAAC:0006">London</cell>
<cell cellID="AAAD:0006">1001.0</cell>
<cell cellID="AAAA:0007">2008.0</cell>
<cell cellID="AAAB:0007">Cisneros</cell>
<cell cellID="AAAC:0007">San Jose</cell>
<cell cellID="AAAD:0007">1007.0</cell>
<cell cellID="AAAA:0008">2007.0</cell>
<cell cellID="AAAB:0008">Pereira</cell>
<cell cellID="AAAC:0008">Rome</cell>
<cell cellID="AAAD:0008">1004.0</cell>
<cell cellID="AAAA:0009">14031.0</cell>
<cell cellID="AAAB:0009"/>
<cell cellID="AAAC:0009"/>
<cell cellID="AAAD:0009"/>
<cell cellID="AAAA:0010"/>
<cell cellID="AAAB:0010"/>
<cell cellID="AAAC:0010"/>
<cell cellID="AAAD:0010"/>
<cell cellID="AAAA:0011">Amount of customer</cell>
<cell cellID="AAAB:0011"/>
<cell cellID="AAAC:0011">7.0</cell>
<cell cellID="AAAD:0011"/>
<cell cellID="AAAA:0012">Minimum of rating</cell>
<cell cellID="AAAB:0012"/>
<cell cellID="AAAC:0012">1001.0</cell>
<cell cellID="AAAD:0012"/>
<cell cellID="AAAA:0013">Maximum of rating</cell>
<cell cellID="AAAB:0013"/>
<cell cellID="AAAC:0013">1007.0</cell>
<cell cellID="AAAD:0013"/>
<cell cellID="AAAA:0014">Average of rating</cell>
<cell cellID="AAAB:0014"/>
<cell cellID="AAAC:0014">1002.8571428571429</cell>
<cell cellID="AAAD:0014"/>
<cell cellID="AAAA:0015"/>
<cell cellID="AAAB:0015"/>
<cell cellID="AAAC:0015"/>
<cell cellID="AAAD:0015"/>
</cells>
<row rowID="0001" rowNumber="1">
<col columnID="AAAA" columnName="A">Customer ID</col>
<col columnID="AAAB" columnName="B">Customer name</col>
<col columnID="AAAC" columnName="C">City</col>
<col columnID="AAAD" columnName="D">Sales People ID</col>
</row>
<row rowID="0002" rowNumber="2">
<col columnID="AAAA" columnName="A">2001.0</col>
<col columnID="AAAB" columnName="B">Hoffman</col>
<col columnID="AAAC" columnName="C">London</col>
<col columnID="AAAD" columnName="D">1001.0</col>
</row>
<row rowID="0003" rowNumber="3">
<col columnID="AAAA" columnName="A">2002.0</col>
<col columnID="AAAB" columnName="B">Alex</col>
<col columnID="AAAC" columnName="C">Rome</col>
<col columnID="AAAD" columnName="D">1003.0</col>
</row>
<row rowID="0004" rowNumber="4">
<col columnID="AAAA" columnName="A">2003.0</col>
<col columnID="AAAB" columnName="B">Liu</col>
<col columnID="AAAC" columnName="C">San Jose</col>
<col columnID="AAAD" columnName="D">1002.0</col>
</row>
<row rowID="0005" rowNumber="5">
<col columnID="AAAA" columnName="A">2004.0</col>
<col columnID="AAAB" columnName="B">Grass</col>
<col columnID="AAAC" columnName="C">Berlin</col>
<col columnID="AAAD" columnName="D">1002.0</col>
</row>
<row rowID="0006" rowNumber="6">
<col columnID="AAAA" columnName="A">2006.0</col>
<col columnID="AAAB" columnName="B">Clements</col>
<col columnID="AAAC" columnName="C">London</col>
<col columnID="AAAD" columnName="D">1001.0</col>
</row>
<row rowID="0007" rowNumber="7">
<col columnID="AAAA" columnName="A">2008.0</col>
<col columnID="AAAB" columnName="B">Cisneros</col>
<col columnID="AAAC" columnName="C">San Jose</col>
<col columnID="AAAD" columnName="D">1007.0</col>
</row>
<row rowID="0008" rowNumber="8">
<col columnID="AAAA" columnName="A">2007.0</col>
<col columnID="AAAB" columnName="B">Pereira</col>
<col columnID="AAAC" columnName="C">Rome</col>
<col columnID="AAAD" columnName="D">1004.0</col>
</row>
<row rowID="0009" rowNumber="9">
<col columnID="AAAA" columnName="A">14031.0</col>
<col columnID="AAAB" columnName="B"/>
<col columnID="AAAC" columnName="C"/>
<col columnID="AAAD" columnName="D"/>
</row>
<row rowID="0010" rowNumber="10">
<col columnID="AAAA" columnName="A"/>
<col columnID="AAAB" columnName="B"/>
<col columnID="AAAC" columnName="C"/>
<col columnID="AAAD" columnName="D"/>
</row>
<row rowID="0011" rowNumber="11">
<col columnID="AAAA" columnName="A">Amount of customer</col>
<col columnID="AAAB" columnName="B"/>
<col columnID="AAAC" columnName="C">7.0</col>
<col columnID="AAAD" columnName="D"/>
</row>
<row rowID="0012" rowNumber="12">
<col columnID="AAAA" columnName="A">Minimum of rating</col>
<col columnID="AAAB" columnName="B"/>
<col columnID="AAAC" columnName="C">1001.0</col>
<col columnID="AAAD" columnName="D"/>
</row>
<row rowID="0013" rowNumber="13">
<col columnID="AAAA" columnName="A">Maximum of rating</col>
<col columnID="AAAB" columnName="B"/>
<col columnID="AAAC" columnName="C">1007.0</col>
<col columnID="AAAD" columnName="D"/>
</row>
<row rowID="0014" rowNumber="14">
<col columnID="AAAA" columnName="A">Average of rating</col>
<col columnID="AAAB" columnName="B"/>
<col columnID="AAAC" columnName="C">1002.8571428571429</col>
<col columnID="AAAD" columnName="D"/>
</row>
<row rowID="0015" rowNumber="15">
<col columnID="AAAA" columnName="A"/>
<col columnID="AAAB" columnName="B"/>
<col columnID="AAAC" columnName="C"/>
<col columnID="AAAD" columnName="D"/>
</row>
</exc:excel>
原文出处

“AquaLogic Data Services Platform Tutorial: Part II”,

http://edocs.

http://dev./codelibrary/code/liquiddata_Excel.jsp

 作者简介

dev2dev ID: nizhigang,BEA系统中国有限公司技术顾问,多年J2EE构架设计与开发经验,专注于企业信息系统建设、分布式计算、网络、数据集成等领域。

可以通过nizhigang2000@gmail.com与他联系。

dot

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多