高级开发手册-分册4公共套件_第1页
高级开发手册-分册4公共套件_第2页
高级开发手册-分册4公共套件_第3页
高级开发手册-分册4公共套件_第4页
高级开发手册-分册4公共套件_第5页
免费预览已结束,剩余32页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

V2.0修订记章节修订说修订修订时审核12v1.2才SG-UAP任务调 概 任务调度管理配 集成执行组件开 概 集成执行组件运行机 组件配置操 组件部署配 本地组件部署配 编写Java执行组件实 为业务系统组件发布服 在业务系统中获取任务调度信 在业务系统中引入依赖 在Java执行组件中获取任务信 验证集成执行组 输入正确地 可能出现的错 SG-UAP即席报 概 即席报表使用(二次开发 业务系统与即席报表集成开 直接调用即席报表页 HTML页面组件集 SG-UAP任务调概任任务调F0501任务定F0502任务执行执行组件定任务定任务控任任务监任务执行引动态类型参数定任 接F0503分析统F0504系统管任务日图形统计分系统级参数配1.1-1任务调度>开发平台任务调度系统基于开发平台,为业务应用中的任务任务调度产品由三个部分组成:任务定义、任务执行和和任务分析任务:任务调度服务的运行状态,并在服务发生不可控制的异用户通过任务设计器定义任务模型最终在关系型数据库中。在任务调度服务启动时会加载任务模型,并到调度引擎中。任务的执行和逻辑系统制定的接口规范将其成OSGI服务任务模型中以配置方式定义任务逻辑的调用,任务调度引擎在触发任务后基于配置调用指定服务。任务调度管理配SG-UAPworkbench{uapproject}/taskdispatxweb/index.jsp,其集成执行组件开概任务调度组件是在Quartz基础上扩展开发的任务和任务建模工具任务Web务调度、实时任务等功能特点集成执行组件运行机业务系统自定义springBean,继承执行组件bundle中的组件接口ITaskDispatchService,并通过配置文件将该Bean发布成OSGI服务,将服务注入到组件bundle中。从而执行组件可以接受或本地任务调度引擎的触发调度。restful方式,业务系统需要引入任务调度执行组件bundle(com.sg ponent),在执行组件bundle内会自动发布两个restpostgeterviceid},{serviceid}IDponent),在调度模块bundle内会调用A中在OSGI容器过的服务,并且自动发布一个测试连接的get服务:系统客户端名称/bundle/rest1rest2ID,例如:ponents/testTaskServiceWebService方式,业务系统发布WebService服务后,任务调度基于Xfire框架根据URI例如:emote/services/ITaskDispatchWebService?wsdlJMS对象以消息形式发到中间件,业务系统根据自己配置的消息队列自行消息服组件配置操rest组件部署配rest-MANIFEST.MF-3查找bundle(com.sgcc.ua 如图-5所示。业务系统实现类参考。组件部署需要在组件定义中填写URI,如图-6所示rest组件实Class,Interfaces ponent)-所示生成Class后如图-3所示在 ponent方法中实现执组件的业务方法返回值同样为ponent,为保证RestTemplate通信正此处返回值不能为null具体实现内容由业务系统决定具体填充内容由业务统决定。参 ponent类的主要属性和描述jobjobjob为业务系统发布rest组件服1SpringIOC<bean<beanid="testTask"2、将spring容器中的Bean实例发布成OSGI服务,并注入到执行组件bundle <module:serviceid="testTaskService"vice.ITaskDispatchService"ponent"配置中id为服务ID,后面测试时使用服务ID测试,注意该ServiceIDUAP任务调度平台中唯一。beanId为配置1中的<module:serviceid="testTaskService"vice.ITaskDispatchService"ponent"本地组件部署配rest-MANIFEST.MF-3查找bundle(com.sgcc.ua 如图-5所示。业务系统实现类参考。组件部署需要在组件定义中填写URI,如图-6所示编写本地组件实Class,Interfaces ponent)-所示生成Class后如图-3所示在 ponent方法中实现执组件的业务方法返回值同样为ponent,为保证RestTemplate通信正此处返回值不能为null具体实现内容由业务系统决定具体填充内容由业务统决定。参 ponent类的主要属性和描述jobjobjob为业务系统发布本地组件服1SpringIOC<bean<beanid="testTask"2、将spring容器中的Bean实例发布成OSGI服务,并注入到执行组件bundle <module:serviceid="testTaskService"vice.ITaskDispatchService"ponent"配置中id为服务ID,后面测试时使用服务ID测试,注意该ServiceIDUAP任务调度平台中唯一。beanId为配置1中的<module:serviceid="testTaskService"vice.ITaskDispatchService"ponent"WebService组件部署配Webserviceurl?WSDL编写WebService组件实Class,Interfaces ponent)--2:生成Class后如图-3所示在 ponent方法中实现执组件的业务方法返回值同样为ponent,为保证RestTemplate通信确此处返回值不能为null具体实现内容由业务系统决定具体填充内容由业系统决定。参 ponent类的主要属性和描述jobjobjobITaskDispatchWebService接口比ITaskDispatchService多一个Test方法为业务系统发布WebService组件服务参1、在SpringIOC容器中XFireSpringServletOSGI<<module:servlet<module:servlet-name>XfireServlet</module:servlet-</module:servlet-<module:servlet->/services/*</module:servlet->2、引入3、业务Bean,将业务Bean注入到spring发布的XFire服务中<beanid=<beanid="componentServiceBean"<propertyname="hibernateDao"ref="hibernateDao"<beanid="componentService"name="componentService" <propertyname="serviceBean"<property JMS组件部署配在perties中配置(不配置默认:tcp://localhost:61616)jms点击测试组件可以登陆activeMQ中间点界面查看的测试队列并且任务调度提供该队列的,如果测试成功了说明用户配置的统的队列该例子业务系统队列是:com.bussiness.testSerivceIDURIJMSClass,Interfaces ponent)-代码继承:javax.jms.MessageListener接口实现, component=( 参 ponent类的主要属性和描述jobjobjob为业务系统发布JMS组件服<beanid="messageListener"<beanid="messageListener"class="com.TestReceiverMessageListener"><propertyname="hibernateDao"ref="hibernateDao"<bean <propertyname="connectionFactory"ref="receiverPoolConnectionFactory"/><propertyname="destination"ref="destination"<propertyname="maxConcurrentConsumers"value="10"<propertyname="idleTaskExecutionLimit"value="2"<<bean <property<propertyname="maxConnections"<property <propertyname="brokerURL"value="tcp://localhost:61616"/><<bean mand.ActiveM<constructor-argvalue="com.bussiness.test"></constructor-在业务系统中获取任务调度信在业务系统中引入依赖MANIFEST.MF1,引 .codehaus.jsckson.core.codehaus.jackson.mapperbundle在Java执行组件中获取任务信在Java执行组件 ponent方法中获取任务信息代码片段如下Stringjobname=arg0.getJobName();//获取任务名称JsonNodeStringjobname=arg0.getJobName();//获取任务名称JsonNodejnarg0.getJsonParam();//获取任务的参数数据Stringusernamejn.get("username").getTextValue();//获取任务执行组件Stringdeptjn.get("dept").getTextValue(值在Java执行组件中获取动态信在任务定义中添加动态请参考《SG-UAP_V2.0_任务调度使用手Stringjobname=arg0.getJobName();//获取任务名称JsonNodejnarg0.getJsonParam();//获取任务的参数数据StringscriptedResultarg0.getScriptedResult();/在Java执行组件的 Stringjobname=arg0.getJobName();//获取任务名称JsonNodejnarg0.getJsonParam();//获取任务的参数数据StringscriptedResultarg0.getScriptedResult();/通过来调用JAVA执行组#Configureplugins#Configureplugins 2:xmlJAVA<?xml<?xmlversion="1.0"encoding="UTF-<beansxmlns=""" hh<beanid="tb" ponent.impl.TestBean"<module:serviceid="tbService"beanId="tb"includeBundle="com.sgcc.uap.scriptengine"packageimportpackageimportpublicclassTestBeanimplements publicObjectdispatch(Objectob)throwsScriptDispatchException//TODOAuto-generatedmethodstubSystem.out.println("TestBeangetScriptInstance");returntrue;}}4:JAVA验证集成执行组服务配置完成后执行组件bundle(com.sgcc.ua 会自动发布两个Rest服务,其中一个功能为测试并检查服务ID。组件地址组成:系统客户端名称/bundle名称/过滤资源字符串/rest资源名1级/rest资源名2级/服务ID,即:- ponents/testTaskService在非IE浏览器地址栏输入地址rest地址,本案例以chrome测试端输入正确地RestJsonWebServiceWebService可能出现的错serviceId

IP Rest

pone ponenWEBbundle 结论:UAPOSGI /compone结论:UAPSG-UAP即席报概数复报图表37<即表数复报开发平台报表系统基 开发平台,为业务应用中的报表应用提供报表,报表服务器为报表引擎提供运行环境,报表引擎会利用开发平台的集成设施数据,并且可通过公式引擎进行数据运算。报表服务同时提供管webjavascript即席报表使用(二次开发请参考《SG-UAP业务系统与即席报表集成开图表38应用平台-报表管直接调用即席报表页在要展示报表的JSP或HTML界面中直接调用报表服务器提供的报表设计界面和预览界面,例如提供的报表服务的地址为(WebReport其中templateId为需要的报表模版IDtemplateIdID,urlJSPe6808d0139e69434630006"HTML页面组件集<script<script段如下(srcuapreport.js):<div<divVarVarrv=new;divIddivId;reportserverUrl1templateId为要集ID,其在报表管理模块中设置;showtruetrueshowfalsetruefalse可不填写(trueVarVarreportviewer=new2)VarVarrv=new Stringparam1key#=#param1Value###param2key#=#Param2Value,“#=#”keyvalueVarVarreportviewer=newVarVarrv=new其中showId为任意生成的展示id(例如1,2,3等任意整数;divId为展示区的divId;reportserverUrl为步骤1获取的报表服务地址;templateId为要集ID,其在报表管理模块中设置。VarVarrv=new至此,完成报表集成工作,当JSP或HTML页面时,就会把对应ID中的业务系统直接获取报表码2.0版本,支持导word,excel,rtf,pdf四种格式的文件码流。下面是代码生成方法: xportServiceexportService=newU MapparamsMap=newHashMap<String,String>();paramsMap.put("test","ss");byte[]outword=exportService.export("word", 401497a7570002",paramsMap);FileOutputStreamout=newFileOutputStream(newFile("E:\\test1.docx"));byte[]outExcel=exportService.export("excel", 401497a7570002",paramsMap);FileOutputStreamout1=newFileOutputStream(newFile("E:\\test1.xls"));bytebyte[]outpdf=exportService.export("pdf", 401497a7570002",FileOutputStreamout2=newFileOutputStream(newFile("E:\\test1.pdf"));byte[]outrtf=exportService.export("rtf", 401497a7570002",FileOutputStreamout3=newFileOutputStream(newFile("E:\\test1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论