高級開發(fā)手冊-分冊4公共套件_第1頁
高級開發(fā)手冊-分冊4公共套件_第2頁
高級開發(fā)手冊-分冊4公共套件_第3頁
高級開發(fā)手冊-分冊4公共套件_第4頁
高級開發(fā)手冊-分冊4公共套件_第5頁
免費預(yù)覽已結(jié)束,剩余32頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

V2.0修訂記章節(jié)修訂說修訂修訂時審核12v1.2才SG-UAP任務(wù)調(diào) 概 任務(wù)調(diào)度管理配 集成執(zhí)行組件開 概 集成執(zhí)行組件運行機(jī) 組件配置操 組件部署配 本地組件部署配 編寫Java執(zhí)行組件實 為業(yè)務(wù)系統(tǒng)組件發(fā)布服 在業(yè)務(wù)系統(tǒng)中獲取任務(wù)調(diào)度信 在業(yè)務(wù)系統(tǒng)中引入依賴 在Java執(zhí)行組件中獲取任務(wù)信 驗證集成執(zhí)行組 輸入正確地 可能出現(xiàn)的錯 SG-UAP即席報 概 即席報表使用(二次開發(fā) 業(yè)務(wù)系統(tǒng)與即席報表集成開 直接調(diào)用即席報表頁 HTML頁面組件集 SG-UAP任務(wù)調(diào)概任任務(wù)調(diào)F0501任務(wù)定F0502任務(wù)執(zhí)行執(zhí)行組件定任務(wù)定任務(wù)控任任務(wù)監(jiān)任務(wù)執(zhí)行引動態(tài)類型參數(shù)定任 接F0503分析統(tǒng)F0504系統(tǒng)管任務(wù)日圖形統(tǒng)計分系統(tǒng)級參數(shù)配1.1-1任務(wù)調(diào)度>開發(fā)平臺任務(wù)調(diào)度系統(tǒng)基于開發(fā)平臺,為業(yè)務(wù)應(yīng)用中的任務(wù)任務(wù)調(diào)度產(chǎn)品由三個部分組成:任務(wù)定義、任務(wù)執(zhí)行和和任務(wù)分析任務(wù):任務(wù)調(diào)度服務(wù)的運行狀態(tài),并在服務(wù)發(fā)生不可控制的異用戶通過任務(wù)設(shè)計器定義任務(wù)模型最終在關(guān)系型數(shù)據(jù)庫中。在任務(wù)調(diào)度服務(wù)啟動時會加載任務(wù)模型,并到調(diào)度引擎中。任務(wù)的執(zhí)行和邏輯系統(tǒng)制定的接口規(guī)范將其成OSGI服務(wù)任務(wù)模型中以配置方式定義任務(wù)邏輯的調(diào)用,任務(wù)調(diào)度引擎在觸發(fā)任務(wù)后基于配置調(diào)用指定服務(wù)。任務(wù)調(diào)度管理配SG-UAPworkbench{uapproject}/taskdispatxweb/index.jsp,其集成執(zhí)行組件開概任務(wù)調(diào)度組件是在Quartz基礎(chǔ)上擴(kuò)展開發(fā)的任務(wù)和任務(wù)建模工具任務(wù)Web務(wù)調(diào)度、實時任務(wù)等功能特點集成執(zhí)行組件運行機(jī)業(yè)務(wù)系統(tǒng)自定義springBean,繼承執(zhí)行組件bundle中的組件接口ITaskDispatchService,并通過配置文件將該Bean發(fā)布成OSGI服務(wù),將服務(wù)注入到組件bundle中。從而執(zhí)行組件可以接受或本地任務(wù)調(diào)度引擎的觸發(fā)調(diào)度。restful方式,業(yè)務(wù)系統(tǒng)需要引入任務(wù)調(diào)度執(zhí)行組件bundle(com.sg ponent),在執(zhí)行組件bundle內(nèi)會自動發(fā)布兩個restpostgeterviceid},{serviceid}IDponent),在調(diào)度模塊bundle內(nèi)會調(diào)用A中在OSGI容器過的服務(wù),并且自動發(fā)布一個測試連接的get服務(wù):系統(tǒng)客戶端名稱/bundle/rest1rest2ID,例如:ponents/testTaskServiceWebService方式,業(yè)務(wù)系統(tǒng)發(fā)布WebService服務(wù)后,任務(wù)調(diào)度基于Xfire框架根據(jù)URI例如:emote/services/ITaskDispatchWebService?wsdlJMS對象以消息形式發(fā)到中間件,業(yè)務(wù)系統(tǒng)根據(jù)自己配置的消息隊列自行消息服組件配置操rest組件部署配rest-MANIFEST.MF-3查找bundle(com.sgcc.ua 如圖-5所示。業(yè)務(wù)系統(tǒng)實現(xiàn)類參考。組件部署需要在組件定義中填寫URI,如圖-6所示rest組件實Class,Interfaces ponent)-所示生成Class后如圖-3所示在 ponent方法中實現(xiàn)執(zhí)組件的業(yè)務(wù)方法返回值同樣為ponent,為保證RestTemplate通信正此處返回值不能為null具體實現(xiàn)內(nèi)容由業(yè)務(wù)系統(tǒng)決定具體填充內(nèi)容由業(yè)務(wù)統(tǒng)決定。參 ponent類的主要屬性和描述jobjobjob為業(yè)務(wù)系統(tǒng)發(fā)布rest組件服1SpringIOC<bean<beanid="testTask"2、將spring容器中的Bean實例發(fā)布成OSGI服務(wù),并注入到執(zhí)行組件bundle <module:serviceid="testTaskService"vice.ITaskDispatchService"ponent"配置中id為服務(wù)ID,后面測試時使用服務(wù)ID測試,注意該ServiceIDUAP任務(wù)調(diào)度平臺中唯一。beanId為配置1中的<module:serviceid="testTaskService"vice.ITaskDispatchService"ponent"本地組件部署配rest-MANIFEST.MF-3查找bundle(com.sgcc.ua 如圖-5所示。業(yè)務(wù)系統(tǒng)實現(xiàn)類參考。組件部署需要在組件定義中填寫URI,如圖-6所示編寫本地組件實Class,Interfaces ponent)-所示生成Class后如圖-3所示在 ponent方法中實現(xiàn)執(zhí)組件的業(yè)務(wù)方法返回值同樣為ponent,為保證RestTemplate通信正此處返回值不能為null具體實現(xiàn)內(nèi)容由業(yè)務(wù)系統(tǒng)決定具體填充內(nèi)容由業(yè)務(wù)統(tǒng)決定。參 ponent類的主要屬性和描述jobjobjob為業(yè)務(wù)系統(tǒng)發(fā)布本地組件服1SpringIOC<bean<beanid="testTask"2、將spring容器中的Bean實例發(fā)布成OSGI服務(wù),并注入到執(zhí)行組件bundle <module:serviceid="testTaskService"vice.ITaskDispatchService"ponent"配置中id為服務(wù)ID,后面測試時使用服務(wù)ID測試,注意該ServiceIDUAP任務(wù)調(diào)度平臺中唯一。beanId為配置1中的<module:serviceid="testTaskService"vice.ITaskDispatchService"ponent"WebService組件部署配Webserviceurl?WSDL編寫WebService組件實Class,Interfaces ponent)--2:生成Class后如圖-3所示在 ponent方法中實現(xiàn)執(zhí)組件的業(yè)務(wù)方法返回值同樣為ponent,為保證RestTemplate通信確此處返回值不能為null具體實現(xiàn)內(nèi)容由業(yè)務(wù)系統(tǒng)決定具體填充內(nèi)容由業(yè)系統(tǒng)決定。參 ponent類的主要屬性和描述jobjobjobITaskDispatchWebService接口比ITaskDispatchService多一個Test方法為業(yè)務(wù)系統(tǒng)發(fā)布WebService組件服務(wù)參1、在SpringIOC容器中XFireSpringServletOSGI<<module:servlet<module:servlet-name>XfireServlet</module:servlet-</module:servlet-<module:servlet->/services/*</module:servlet->2、引入3、業(yè)務(wù)Bean,將業(yè)務(wù)Bean注入到spring發(fā)布的XFire服務(wù)中<beanid=<beanid="componentServiceBean"<propertyname="hibernateDao"ref="hibernateDao"<beanid="componentService"name="componentService" <propertyname="serviceBean"<property JMS組件部署配在perties中配置(不配置默認(rèn):tcp://localhost:61616)jms點擊測試組件可以登陸activeMQ中間點界面查看的測試隊列并且任務(wù)調(diào)度提供該隊列的,如果測試成功了說明用戶配置的統(tǒng)的隊列該例子業(yè)務(wù)系統(tǒng)隊列是:com.bussiness.testSerivceIDURIJMSClass,Interfaces ponent)-代碼繼承:javax.jms.MessageListener接口實現(xiàn), component=( 參 ponent類的主要屬性和描述jobjobjob為業(yè)務(wù)系統(tǒng)發(fā)布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-在業(yè)務(wù)系統(tǒng)中獲取任務(wù)調(diào)度信在業(yè)務(wù)系統(tǒng)中引入依賴MANIFEST.MF1,引 .codehaus.jsckson.core.codehaus.jackson.mapperbundle在Java執(zhí)行組件中獲取任務(wù)信在Java執(zhí)行組件 ponent方法中獲取任務(wù)信息代碼片段如下Stringjobname=arg0.getJobName();//獲取任務(wù)名稱JsonNodeStringjobname=arg0.getJobName();//獲取任務(wù)名稱JsonNodejnarg0.getJsonParam();//獲取任務(wù)的參數(shù)數(shù)據(jù)Stringusernamejn.get("username").getTextValue();//獲取任務(wù)執(zhí)行組件Stringdeptjn.get("dept").getTextValue(值在Java執(zhí)行組件中獲取動態(tài)信在任務(wù)定義中添加動態(tài)請參考《SG-UAP_V2.0_任務(wù)調(diào)度使用手Stringjobname=arg0.getJobName();//獲取任務(wù)名稱JsonNodejnarg0.getJsonParam();//獲取任務(wù)的參數(shù)數(shù)據(jù)StringscriptedResultarg0.getScriptedResult();/在Java執(zhí)行組件的 Stringjobname=arg0.getJobName();//獲取任務(wù)名稱JsonNodejnarg0.getJsonParam();//獲取任務(wù)的參數(shù)數(shù)據(jù)StringscriptedResultarg0.getScriptedResult();/通過來調(diào)用JAVA執(zhí)行組#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驗證集成執(zhí)行組服務(wù)配置完成后執(zhí)行組件bundle(com.sgcc.ua 會自動發(fā)布兩個Rest服務(wù),其中一個功能為測試并檢查服務(wù)ID。組件地址組成:系統(tǒng)客戶端名稱/bundle名稱/過濾資源字符串/rest資源名1級/rest資源名2級/服務(wù)ID,即:- ponents/testTaskService在非IE瀏覽器地址欄輸入地址rest地址,本案例以chrome測試端輸入正確地RestJsonWebServiceWebService可能出現(xiàn)的錯serviceId

IP Rest

pone ponenWEBbundle 結(jié)論:UAPOSGI /compone結(jié)論:UAPSG-UAP即席報概數(shù)復(fù)報圖表37<即表數(shù)復(fù)報開發(fā)平臺報表系統(tǒng)基 開發(fā)平臺,為業(yè)務(wù)應(yīng)用中的報表應(yīng)用提供報表,報表服務(wù)器為報表引擎提供運行環(huán)境,報表引擎會利用開發(fā)平臺的集成設(shè)施數(shù)據(jù),并且可通過公式引擎進(jìn)行數(shù)據(jù)運算。報表服務(wù)同時提供管webjavascript即席報表使用(二次開發(fā)請參考《SG-UAP業(yè)務(wù)系統(tǒng)與即席報表集成開圖表38應(yīng)用平臺-報表管直接調(diào)用即席報表頁在要展示報表的JSP或HTML界面中直接調(diào)用報表服務(wù)器提供的報表設(shè)計界面和預(yù)覽界面,例如提供的報表服務(wù)的地址為(WebReport其中templateId為需要的報表模版IDtemplateIdID,urlJSPe6808d0139e69434630006"HTML頁面組件集<script<script段如下(srcuapreport.js):<div<divVarVarrv=new;divIddivId;reportserverUrl1templateId為要集ID,其在報表管理模塊中設(shè)置;showtruetrueshowfalsetruefalse可不填寫(trueVarVarreportviewer=new2)VarVarrv=new Stringparam1key#=#param1Value###param2key#=#Param2Value,“#=#”keyvalueVarVarreportviewer=newVarVarrv=new其中showId為任意生成的展示id(例如1,2,3等任意整數(shù);divId為展示區(qū)的divId;reportserverUrl為步驟1獲取的報表服務(wù)地址;templateId為要集ID,其在報表管理模塊中設(shè)置。VarVarrv=new至此,完成報表集成工作,當(dāng)JSP或HTML頁面時,就會把對應(yīng)ID中的業(yè)務(wù)系統(tǒng)直接獲取報表碼2.0版本,支持導(dǎo)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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論