1_6150778_QlikView集成方案简介
- 格式:pdf
- 大小:474.36 KB
- 文档页数:16
QlikView集成方案简介科加诺, 戴训琛QlikView集成方案介绍¾QlikOCX符合Microsoft对象链接和嵌入标准的OCX控件,在系统中安装并注册后,可在VB、C++软件开发程序中嵌入该控件,使用控件的相关属性和方法操作QlikView生成的.qvw文件在程序窗口中展现;或开发ASP,编写页面代码,在网页浏览器中展现.qvw文件。
¾QliX (Plug-in)使用QlikTech开发的QVP协议(qvp.dll),以模拟HTTP的链接方式(qvp://ip:port/filename)连接远程QlikView Server服务器,在服务器端加载指定的.qvw文件,并将结果反馈给提出请求的客户端。
客户端接收数据后由QliX插件(ActiveX)控制.qvw文件中单个对象(List、Table、Chart等)的调用,在页面中组织各对象的排列位置并展现。
¾AjaxZFC提供一个建立在AJAX架构上的基于对象的客户端环境。
无需在客户端安装任何程序或插件,同时还提供了在非IE环境和非Windows客户端浏览器中使用QlikView的可能。
在页面中编写代码加载avq.htc脚本文件,使用脚本文件中定义的方法和属性调用.qvw文件中的单个对象,并组织对象的排列位置并展现。
方案优缺点¾QlikOCX-方案优点9可同时提供C/S、B/S模式的集成;9QVW文件可从远程共享目录或远程QlikView Server服务器(QVP)访问加载。
-方案缺点8从远程共享目录加载QVW文件时,需读取文件加载至本地内存中运行,对网络带宽、客户端计算机性能要求较高;8客户端需下载QlikOCX安装包,并在客户端计算机以管理员身份执行安装;8QVW文件整体加载,无法实现对象级操控;8无法使用QlikView工具栏。
方案优缺点(续)¾QliX (Plug-in)-方案优点9可同时提供C/S、B/S模式的集成;9QVW文件解析、加载在服务器端执行,对客户端计算机无高性能要求;9可实现QVW文件中的对象级操控;9基础页面代码可由QlikView生成;-方案缺点8客户端需下载Plug-in插件安装;方案优缺点(续)¾AjaxZFC-方案优点9客户端零部署,无需下载、安装任何程序和插件;9可实现QVW文件中的对象级操控;9Ajax架构固有的异步更新能力,无需浏览器页面刷新;9跨平台应用,支持Linux、MacOS。
-方案缺点8页面异步更新时的页面动态构建和数据加载工作影响展现性能;8部分对象的展现与功能受限制,如:无钻取挖掘、无右键快捷菜单、工具栏支持、以及Bookmark应用。
客户端性能一览Low LowAJAX Zero Footprint (ZFC)-QlikX (Plug-in Objects)ActiveX for IE(Plug-in)High High-Installed EXE clients(QVE, QVP, QVA)Demands on client environment and install bandwidthLayout fidelity and functionality Clients for building web applications with QlikView data and logic* Requires web page design Clients for publishingQlikView documents代码示例QlikOCX示例¾C/S模式(VB)QlikOCX ControlQlikOCX示例¾C/S模式(VB)-代码•设定文档属性•打开文档•关闭文档•清除已选择的查询条件•……QlikOCX示例¾B/S模式相对于C/S模式开发而言较为简单,只需在页面代码的<body>……</body>标签内添加一段用来插入系统模块的<object ……></object>标记,示例代码:<body><object classid="CLSID:C966E50C-534E-44d2-84EE-52AA5C501F84"visible="true" width="100%" height="100%"><param name="DocName" value=“file path" /><param name="USERNAME" value="" /><param name="PASSWORD" value="" /></object></body><object ……>中的红色字体表示系统模块的属性设置;<param……>中表示向系统模块传递的参数,name是参数名称,value是参数值。
QliX示例¾C/S模式QlikView Object(使用QliX调用)示例代码:QliX示例¾B/S模式QliX示例¾B/S模式在页面代码中首先导入一个QlikView Plug-in对象,设定对象ID以及属性<object id="QVPID1" height="1" width="1"classid="CLSID:74DC8438-E36A-40a0-B750-4E2257FA2E41" xmlns=""><PARAM NAME="SRC" VALUE="qvp://localhost/SecurityDemo.qvw"><PARAM NAME="AutoScan" VALUE="-1"></object>Plug-in对象指定需加载的QVW文件,之后由QliX实现QV文件中各对象的独立操控<object id="CH10" height="266.88" width="374.08"classid="CLSID:54D93DE9-7DA5-4477-A3DA-869ADB41CBBB" xmlns=""><PARAM NAME="ObjectID" VALUE="CH10"><PARAM NAME="QvPluginID" VALUE="QVPID1"></object><object id="CH05" height="290.88" width="384.96"classid="CLSID:54D93DE9-7DA5-4477-A3DA-869ADB41CBBB" xmlns=""><PARAM NAME="ObjectID" VALUE="CH05"><PARAM NAME="QvPluginID" VALUE="QVPID1"></object>AjaxZFC示例¾自动生成页面代码步骤:Tools => Objects Client Page Generator…9自动生成Plug-in(QliX)页面9自动生成Java Objects Client页面9自动生成AjaxZFC页面AjaxZFC示例¾AjaxZFC页面浏览AjaxZFC示例¾代码示例在页面代码中首先导入一个AVQ对象,设定对象ID以及属性<span id="avq" AvqScriptPath="/QvAJAXZfc/htc/"AvqRemote="/QvAJAXZfc/QvsViewClient.asp"onAvqMessage="alert(window.event.avqMessage)" AvqView="consulting"AvqAutoview="" onAvqUpdateComplete="SetNewSheet();" xmlns=""> </span>声明AVQ指定需加载的QVW文件,之后由AVQ脚本对象实现QV文件中各对象的独立操控<div avq="label:.TX02"style="left:0pt;top:0pt;width:300.72pt; height:277.72pt;z-index:0;" class="TextObject TX02 Frame" id="TextObjectTX02"> <div avq="label:.BU16"style="left:38.16pt;top:124.56pt;width:113.28pt;height:18.28pt;z-index:0;" class="Button BU16 Frame" id="ButtonBU16"><button style="width:98%; height:98%;background-color:#18510b;color:#ffffff;"avq="action:.BU16"xmlns=""><span avq="text:.BU16"class="BU16text"></span></button></div>。