版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄上海大眾JAVA軟件平臺項目1總體設計文檔1REQUIREMENTSDEFINITIONDOCUMENT1BezeichnungdesSoftwares:Nr:21引言71.1目的71.2范圍71.3閱讀對象72開發(fā)規(guī)范73平臺總體設計73.1運行環(huán)境83.2組件依賴83.3設計規(guī)范124平臺邏輯視圖124.1平臺技術架構134.2平臺關系圖154.3開發(fā)工具特性說明164.4核心框架特性說明184.5安裝包特性說明194.6應用框架特性說明205平臺部署視圖215.1平臺結構215.1.1平臺安裝目錄的結構225.1.2平臺J2EEServer225.1.3¥^EAR(WAR)225.1.4平臺開發(fā)工具結構235.2平臺項目結構245.2.1開發(fā)環(huán)境項目邏輯結構245.2.2開發(fā)環(huán)境項目物理結構255.2.3業(yè)務構件部署包格式結構256平臺進程視圖267平臺基礎環(huán)境277.1平臺資源庫277.2平臺集成編譯287.2.1平臺編譯設計297.2.2UTP測試設計.327.2.3平臺質量跟蹤設計338平臺安裝升級348.1平臺發(fā)布介質348.2平臺安裝348.3平臺升級359平臺關鍵技術369.1模板和向導369.2構件管理399.3數(shù)據(jù)建模399.4月艮務開發(fā)409.5基礎構件庫419.6緩存機制4210平臺數(shù)據(jù)結構4410.1平臺引擎表結構4410.2應用框架表結構4411非功能性設計4511.1日志4511.1.1系統(tǒng)日志4511.1.2引擎日志4711.1.3操作日志4811.2異常4911.3國際化4911.3.1頁面國際化4911.3.2異常國際化4911.4性能5011.4./平臺緩存.5011.4.2多線程.5011.5安全505.1接入通道安全5111.5.2業(yè)務安全51".5.3管理安全5212附錄521引言1.1目的上海大眾Java軟件平臺(以下簡稱“平臺”)基于上海大眾汽車多年以來在信息化方面的積累和沉淀,其建設的主要目標是通過統(tǒng)一平臺規(guī)范開發(fā)商軟件建設的流程和思路,以支撐上海大眾汽車信息化的可持續(xù)發(fā)展。1-2范圍本文檔為平臺的總體設計。主要描述平臺的技術架構,子系統(tǒng)劃分以及子系統(tǒng)的物理組成和依賴關系以及平臺本身的安裝部署過程和相關模型。1-3閱讀對象本文的主要讀者是:>平臺各子系統(tǒng)的設計人員了解系統(tǒng)的組成與數(shù)據(jù)結構,通訊方式>開發(fā)人員了解平臺的基本原理,內部、外部接口,開發(fā)模式與開發(fā)環(huán)境>測試人員了解平臺產(chǎn)品的主要結構和對外接口2開發(fā)規(guī)范總體設計遵循上海大眾軟件開發(fā)規(guī)范。3平臺總體設計3.1運行環(huán)境>開發(fā)環(huán)境支持操作系統(tǒng):Windows?>SUNJDK1.6.0_24,IBMJDK應用服務器:Tomcat6.0.44,WebSphereLibertyProfileServer8.5.5數(shù)據(jù)庫:Oraclellg瀏覽器:IE8>運行環(huán)境支持操作系統(tǒng):Windowsserver2008,Linux,SUNJDK1.6.0_24,IBMJDK應用服務器:Tomcat6.0.44,WebSphere8.5數(shù)據(jù)庫:Oraclellg瀏覽器:IE8編號環(huán)境組合(操作系統(tǒng)+應用服務器+數(shù)據(jù)庫+瀏覽器)1.Windows?+Tomcat6+Oracle1lg+IE82Windows?+WebSphereLibertyProfileServer3Windowssenzer2008+Tbmcat6+Oracle1lg+IE84.Linux+Websphere8.5+Oracle1lg+IE83.2組件依賴平臺對于第三方組件的依賴,需遵循以下原則>必須具有合法的License;>必須使用成熟的商業(yè)或開源產(chǎn)品;>平臺中使用的第三方組件必須統(tǒng)一管理,不得與其他組件沖突>第三方組件的維護由項目組專人進行管理本次平臺建設共引入普元以下組件>開發(fā)工具組件項目名稱項目描述com.primeton.ptp.studio,compatible,debug,ui開發(fā)工具兼容組件com.primeton.ptp.studio,compatible,navigatorcom.primeton.ptp.studio,compatible,runtimecom.primeton.ptp.studio,compatible,sdk.ui項目名稱項目描述com.primeton.ptp.studio,core,kernel開發(fā)工具核心組件com.primeton.ptp.studio,core,librarycom.primeton.ptp.studio,core,runtimecom.primeton.ptp.studio,core.sdk.uicom.primeton.ptp.studio,core,swtcom.primeton.ptp.studio,core,uicom.primeton.ptp.studio,core.ui.selectcom.primeton.ptp.studio,database,core開發(fā)工具數(shù)據(jù)庫組件com.primeton.ptp.studio,database,librarycom.primeton.ptp.studio,database,uicom.primeton.ptp.studio,framework,codegen開發(fā)工具基礎框架com.primeton.ptp.studio,framework,debug,corecom.primeton.ptp.studio,framework,debug,uicom.primeton.ptp.studio,framework,emf.corecom.primeton.ptp.studio,framework,formeditor,corecom.primeton.ptp.studio,framework,formeditor,uicom.primeton.ptp.studio,framework,gef.uicom.primeton.ptp.studio,framework,navigatorcom.primeton.ptp.studio,framework,refactoring,corecom.primeton.ptp.studio,framework,refactoring,uicom.primeton.ptp.studio,framework,server,commoncom.primeton.ptp.studio,framework,server,corecom.primeton.ptp.studio,framework,server,uicom.primeton.ptp.studio,framework,teamcom.primeton.ptp.studio,framework,template,corecom.primeton.ptp.studio,framework,template,uicom.primeton.ptp.studio,framework,velocity,uicom.primeton.ptp.studio,framework,wizard,corecom.primeton.ptp.studio,framework,wizard,export,corecom.primeton.ptp.studio,framework,wizard,export,uicom.primeton.ptp.studio,framework,wizard,uicom.primeton.ptp.studio,framework,workbenchcom.primeton.ptp.studio,framework,workbench,deploycom.primeton.ptp.studio,framework,workbench,wizardcom.primeton.ptp.studio,framework,xmlcom.primeton.ptp.studio,server,tomcat開發(fā)工具應用服務器組件com.primeton.ptp.studio,team,subversion開發(fā)工具團隊開發(fā)組件com.primeton.ptp.studio,updatesite開發(fā)工具更新組件com.primeton.ptp.studio,wsdl.core開發(fā)工具WSDL組件com.primeton.ptp.studio,wsdl.uicom.primeton.ptp.studio,xsd.core開發(fā)工具XSD組件com.primeton.ptp.studio,xsd.ui項目名稱項目描述com.svw.jump.cf.studio,assembly,core開發(fā)工具核心裝配組件com.svw.jump.cf.studio,assembly,uicom.svw.jump.cf.studio,ear.core開發(fā)工具導出EAR組件com.svw.jump.cf.studio,ear.uicom.svw.jump.cf.studio,entity,core開發(fā)工具實體組件com.svw.jump.cf.studio,entity,uicom.svw.jump.cf.studio,gef.debugpage.ui開發(fā)工具圖形化編輯器基礎組件com.svw.jump.cf.studio,gef.ui.configcom.svw.jump.cf.studio,jsp.core開發(fā)工具JSP組件com.svw.jump.cf.studio,jsp.wizard,corecom.svw.jump.cf.studio,jsp.wizard,uicom.svw.jump.cf.studio,license開發(fā)工具1icense組件com.svw.jump.cf.studio,log.ui開發(fā)工具日志組件com.svw.jump.cf.studio,platform開發(fā)工具基礎資源組件com.svw.jump.cf.studio,server,library開發(fā)工具依賴平臺引擎類庫com.svw.jump.cf.studio,spring,core開發(fā)工具spring組件com.svw.jump.cf.studio,spring,uicom.svw.jump.cf.studio,sql.core開發(fā)工具SQL組件com.svw.jump.cf.studio,sql.uicom.svw.jump.cf.studio,sysdesign.core開發(fā)工具構建包設計組件com.svw.jump.cf.studio,sysdesign.uicom.svw.jump.cf.studio,ui.extcom.svw.jump.cf.studio,updatesite開發(fā)工具更新組件com.svw.jump.cf.studio,workbench,config開發(fā)工具工作空冋組件com.svw.jump.cf.studio,workbench,helpcom.svw.jump.cf.studio,workbench,wizard,config>核心框架項目名稱項目描述com.svw.jump,access,authorization引擎接入組件com.svw.jump.cf.access,clientcom.svw.jump.cf.access,ejbcom.svw.jump.cf.access,mon,asyn引擎公共組件mon,mon,mon,mon,mon,mon,mon,mon,management項目名稱項目描述mon,mon,mon,mon,mons,mons,mons,mons,mons,mons,mons,mons,mons,mons,mons,mons,mon引擎DAS組件moncom.primeton.ptp.das.entitycom.primeton.ptp.das.sqlcom.svw.jump.cf.data,sdo引擎數(shù)據(jù)組件com.svw.jump.cf.data,vmode1com.svw.jump.cf.data,xpathcom.svw.jump.cf.data,datacontextcom.primeton.ptp.data,commoncom.primeton.ptp.data,sdocom.primeton.ptp.data,serializecom.primeton.ptp.data,xpathcom.primeton.ptp.data,xsdcom.svw.jump.cf.runtime,core引擎運行期核心組件com.svw.jump.cf.runtime,metadatacom.svw.jump.cf.runtime,resourcecom.primeton.ptp.runtime,corecom.svw.jump.cf.spring,impl引擎SPRING實現(xiàn)組件com.primeton.ptp.springcom.primeton.ptp.spring4dascom.svw.jump.cf.system,resource引擎系統(tǒng)資源com.primeton.ptp.datacontext引擎數(shù)據(jù)上下文組件com.primeton.ptp.datacontext.asyncom.primeton.ptp.datacontext.muo項目名稱項目描述com.primeton.ptp.deploy,core引擎部署服務com.primeton.ptp.jdbc.connection引擎JDBC組件com.primeton.ptp.jdbc.datasourcecom.primeton.ptp.jdbc.transactioncom.primeton.ptp.17e引擎組件com.primeton.ptp.statisticcom.primeton.ptp.wsclientcom.primeton.ptp.wsclient.saaj>安裝包組件項目名稱項目描述com.svw.jump.cf.install安裝包com.svw.jump.cf.install,templatecom.primeton.ptp.install,controllercom.primeton.ptp.install,extcom.primeton.ptp.install,iocom.primeton.ptp.install,jeecom.primeton.ptp.install,template>基礎構件庫項目名稱項目描述com.svw.jump基礎構件庫>Nui組件項目名稱項目描述ponents,nuinui組件ponents,nui.dailybuiIponents,ponents,ponents,ponents,nui.demo,ponents,nui.demo,java3.3設計規(guī)范需遵循上海大眾軟件項目建設設計規(guī)范。4平臺邏輯視圖4.1平臺技術架構平臺建設的目標是提供以構件化的方式進行應用系統(tǒng)的建設,其特點包括以下兩點:>構件包是系統(tǒng)的基本組成單元,一個應用系統(tǒng)將由多組構件包構成>構件包內部按邏輯功能分為表現(xiàn)層、控制層、服務層、數(shù)據(jù)層和接口層■表現(xiàn)層:當前邏輯層用于定義JSP、JS以及相關前端資源■控制層:■服務層:■數(shù)據(jù)層:■接口層:當前邏輯層用于定義外部服務接口構件包■加灌劇I妲既;外部厥務當前邏輯層用于定義SpringController當前邏輯層用于定于SpringService當前邏輯層用于定義SDO文件以及相關類其中客戶端請求流轉的流程圖如下具體流轉的描述信息如下:>客戶端向服務器發(fā)送請求,被SpringMVC前端DispatcherServlet捕獲;>DispatcherServlet對客戶端請求URL進行解析,得到請求資源標識URI;>根據(jù)該URI,調用HandlerMapping獲得該Handler配置的所有相關對象(包括Handler對象以及Handler對象對應的攔截器),最好以HandlerExecutionChain對象方式返回;>DispatcherServlet根據(jù)獲得的Handler,選擇一個合適的HandlerAdaptero(附注:如果成功獲得HandlerAdapter后,此時將開始執(zhí)行攔截器的preHandler(...)方法)>提取Request中的模型數(shù)據(jù),填充Handler入?yún)?,開始執(zhí)行Handler(Controller).,在填充Handler的入?yún)⑦^程中,根據(jù)你的配置,Spring將幫你做一些額外的工作:■HttpMessageConveter:將請求消息(如Json、xml等數(shù)據(jù))轉換成一個對象,將對象轉換為指定的響應信息?!鰯?shù)據(jù)轉換:對請求消息進行數(shù)據(jù)轉換。如String轉換成Integer.Double等?!鰯?shù)據(jù)根式化:對請求消息進行數(shù)據(jù)格式化。如將字符串轉換成格式化數(shù)字或格式化日期等?!鰯?shù)據(jù)驗證:驗證數(shù)據(jù)的有效性(長度、格式等),驗證結果存儲到BindingResult或Error中。>Handler執(zhí)行完成后,向DispatcherServlet返回一個ModelAndView對象。>根據(jù)返回的ModelAndView,選擇一個適合的ViewResolver(必須是已經(jīng)注冊到Spring容器中的ViewResolver)返回給DispatcherServlet。>ViewResolver結合Model和View,來渲染視圖。>將渲染結果返回給客戶端。同時,平臺將釆用下列技術規(guī)范,主要內容均應以下列規(guī)范為準,不應使用高于或低于下列版本的功能或接口:>JDKJDK4>TomcatTomcat6.0.44>EclipseEclipse4.2.2>SpringSpring3.1.1http://spring.io>ExtJSExtJS4.0.7>NUINUI3.2.0普元提供其他技術規(guī)范版本以平臺建設項目組共同商定為準。4.2平臺關系圖系統(tǒng)之間的關系主要從系統(tǒng)之間的依賴和系統(tǒng)之間的通信機制兩個方面進行描述,具體到本次平臺建設,內容如下:>系統(tǒng)和系統(tǒng)之間的依賴:/開發(fā)工具需要依賴平臺核心框架/應用框架/平臺應用需要依賴平臺核心框架>系統(tǒng)之間的通信機制/客戶端請求通過HTTP+JSON/HTTP+XML完成/平臺應用與外部服務通過WebService(SOAP協(xié)議)通信/平臺與平臺之間的通信(緩存同步)通過JDKRMI進行通信4.3開發(fā)工具特性說明開發(fā)工具主要的功能特性如下圖:圖例說明圖例1圖例說明表示需要新開發(fā)的功能部分功能重用普元產(chǎn)品功能沿用普元產(chǎn)品已有功能根據(jù)以上功能特性,拆分成如下項目特性名稱1項目名稱1項目說明JSP創(chuàng)建向導com.primeton.eos.studio.jsp.uiJSP創(chuàng)建向導com.primeton.eos.studio,jsp.coreJSP生成模型導出Earcom.primeton.eos.studio,ear.ui導出EAR向導com.primeton.eos.studio,ear.core導出EAR模型單表維護生成向導com.primeton.eos.studio,springbean,ui單表維護生成向導com.primeton.eos.studio,springbean,core單表維護代碼生成模型controller管理com.primeton.eos.studio,controller.uicontrollei'管理向導com.primeton.eos.studio,controller,corecontroller管理模型服務開發(fā)com.primeton.eos.studio,service,uiwebservice客戶端代碼生成向導項目管理com.primeton.eos.studio,project,ui項目創(chuàng)建向導com.primeton.eos.studio,project,core項目模型數(shù)據(jù)模型管理com.primeton.eos.studio,datamodel.ui數(shù)據(jù)模型管理向導com.primeton.eos.studio,datamodel.core數(shù)據(jù)模型管理模型數(shù)據(jù)源管理com.primeton.eos.studio,db.core數(shù)據(jù)源管理模型com.primeton.eos.studio,db.ui數(shù)據(jù)源管理向導其他com.primeton.eos.studio,other,ui“其他”虛節(jié)點com.primeton.eos.studio,other,core“其他”虛節(jié)點模型調試運行com.primeton.eos.studio,debug.1ibertyLibertyProfi1eServer調試運行平臺資源com.primeton.eos.studio,platform平臺安裝資源以及相關腳本代碼檢査com.primeton.eos.studio,codecheck,findbugsfindbugs插件com.primeton.eos.studio,codecheck,checkstylecheckstyle插件com.primeton.eos.studio,codchint.extext代碼提示插件com.primeton.eos.studio,codehint,spketspket代碼提示插件各個項目之間的依賴關系如下:ject.ulject.corecom.svwjump.studio.db.uicom.svw.jump.studio.db.corecom.svwjump.studlo.platformcom.svw.jump.studio.codehint.spketcom.svw.Jump.studlo.codehinLext4.4核心框架特性說明核心框架的主要功能特性如下圖圖例說明圖例說明圖例圖例1圖例說明普元巳有產(chǎn)品或者大眾已有產(chǎn)品新功能開發(fā)在普元己有產(chǎn)品上進行修改或完善使用Spring已有特性根據(jù)以上功能特性,共拆分以下項目特性名稱|項目名稱|項目說明ExtJScom.svw.jump.cf.server,webui.ext基礎構件NUIcom.svw.jump.cf.server,webui.nui基礎構件基礎構件com.svw.jump.cf.server,components,foundation基礎構件客戶端接入com.svw.jump.cf.server,request,parambindJson多參數(shù)綁定平臺安全驗證com.svw.jump.cf.server,security,validation平臺安全驗證各個項目之間的依賴關系如下com.svw.jump,server,webui.extcom.svw.jump,server,webui.nuicom.svw.jump,server,security,validation1com.svvr.jump,server,components,foundationcom.svw.jump,server,request,parambind4.5安裝包特性說明安裝包主要功能特性如下圖圖例說明圖例|圖例說明JDK運行環(huán)境在普元已有產(chǎn)品基礎上進行修改在普元已有產(chǎn)品上進行修改或完善安裝包項目拆分如卜?特性名稱項目名稱項目說明安裝器com.svw.jump,setup,platfrom安裝腳本和相關資源由于安裝包項目依賴關系如下com.svw.jump,setup,platfrotn4.6應用框架特性說明應用框架的主要功能模塊如下應用框架項目拆分如下特性名稱項目名稱項目說明登錄管理com.svw.jump,webapp.login登錄管理組織機構管理com.svw.jump,組織機構管理用戶管理com.svw.jump,webapp.users用戶管理角色管理com.svw.jump,webapp.role角色管理授權管理com.svw.jump,webapp.auth授權管理com.svw.jump,webapp.base權限接口功能菜單管理com.svw.jump,webapp.menu功能菜單管理業(yè)務字典管理com.svw.jump,webapp.diet業(yè)務字典管理參數(shù)配置管理com.svw.jump,webapp.arguments參數(shù)配置管理業(yè)務日志管理com.svw.jump,webapp.log業(yè)務日志管理服務管理com.svw.jump,webapp.ws服務管理應用框架項目之間依賴關系如下:5平臺部署視圖系統(tǒng)部署視圖,主要描寫平臺相關的物理格式,分為幾個部分分別介紹,首先是平臺在單機的部署形式,包括開發(fā)工具、數(shù)據(jù)庫、安裝目錄、開發(fā)平臺核心框架,以及EAR(WAR)的格式;其次介紹了平臺在集群環(huán)境下的部署;最后定義了業(yè)務構件包的物理格式,以及在開發(fā)工具中的物理目錄。5.1平臺結構根據(jù)系統(tǒng)關系圖的描述,平臺運行過程中涉及到開發(fā)工具,J2EE容器以及遠程數(shù)據(jù)庫,其具體物理部署形式的詳細描述如下:5.1.1平臺安裝目錄的結構平臺安裝目錄的結構如下圖所示(【】中的內容為目錄說明):平臺安裝目錄|—apache-tomcat-6.0.41(平臺自帶Tomcat)||—webappsII_{projectName)[:^w「’“.「!*![伸資源】I—apps_config【T《、E;LiWi丨展】II_{projectName}【應用名稱】II___COnfig[IprojectName}h'JIJ/L1.115k】I|_domain【{projectName}應用菓樣配芮|j錄】II__work_temp[|projectNameI]臨時U衆(zhòng)】I—ico(臺圖標l-l-A]|_ide【開發(fā)■具目錄】II—eclipse[fr戰(zhàn)礎EclipseII.;]II__dropinsII__Jump_x.x.x[平臺開發(fā)UH|_tools【平臺用到的工具門錄.例feiam]I—uninstall[Tf?卸我:!「】I—perties[3z"h文”】I—JumpStudio.exe【I,、"發(fā)i丨盤"exe]I—platform_install.log[臺玄%】I—readme.txt【、l:、介紹】I—startServer.cmd【T?、EE1務屮曲】|—startServer.sh【1十啟動服務sh]1_stopServer.cmd【:%臺關閉服務cmd】|—stopServer.sh(t?':關閉服務sh】5.1.2平臺J2EEServer平臺默認自帶Tomcat,支持WebsphereLibertyProfileSever和Websphere0安裝過程J2EESERVER選擇完成以后,平臺會自動將平臺相關產(chǎn)物部署到指定的J2EESERVERTo5.1.3平臺EAR(WAR)除了上述內容之外,平臺還會自動在J2EESERVER±安裝默認應用,其中應用主要結構如下圖所示:APPEAR用戶應用頁面基礎JSP.JS.圖片以及CSS等資源ExtJS/NUI類庫用戶應用配置)(_________平臺配置應用系統(tǒng)源程序平臺核心框架用戶應用依賴第三方類摩平臺引用第二方類犀5.1.4平臺開發(fā)工具結構平臺開發(fā)工具依賴于平臺核心框架,所有平臺核心框架都會包含在開發(fā)工具的一個plugin:com.svw.jump.cf.server中。平臺開發(fā)工具Eclipse4.2.2平臺開發(fā)工具所有插件平臺開發(fā)工具所有必選第三方插件平臺開發(fā)工具所有可選第三方插件國際化資源5.2平臺項目結構平臺項目結構主體從項目邏輯結構、項目物理結構以及業(yè)務構件部署包三個方面闡述。其中,具體的細節(jié)的描述如下。5.2.1開發(fā)環(huán)境項目邏輯結構開發(fā)環(huán)境中項目的邏輯結構如下圖所示(其中(]中內容為目錄說明)項冃樹|_項目AI|_構件包A.0II|_展現(xiàn)【JSP、JS以及相關頁而文件】|||__控制[SpringController/l義Bean】III__服務[SpringService義Bean】II|_數(shù)據(jù)【SDO文件以及相關類定義】II|_接口【外部接II眼務定義】II|_配置(spring.昌】II|_其他【構件包屮所占的Java類文件】II_web[項日web目錄】I|_系統(tǒng)配置(項H級配崖文件吳】I|_構件包A.1I|_構件包A.2Il_構件包A.nII—Java庫|_項目B|_項目C|_項目D..|項目N5.2.2開發(fā)環(huán)境項目物理結構開發(fā)環(huán)境中項目的物理結構如下(其中【】中內容為目錄說明)項目根目錄|__ponents.AI|_bin【m邛m門及相關iWTL】II—COm【當詢構件包編譯classI』剝此處com僅為示例】I|_META-INF[I|_webcontent[niu構件包貞而資源文件】II—.jump【構件包說明文件,包含構件包名稱,平臺版本以及是否自動部署屬愕]II—src('"前構件包源碼目錄.包含Java文件以及相關配置文件】||_com【當前構件包Java源碼目錄,此處com僅為示例】I|_META-INF[⑶邛如)...||_webcontent['価構件包頁血資泡::文件】I|_.jump[*ji'甬.T?臺版木以及是否寫巽"汗】|_ponents.B..L……|_ponents.N|」ump?web【項11邏輯M.Lwcb”對應IL妃':!】匸參f【項目邏輯節(jié)點“系統(tǒng)配置”對應目錄結構】|__.classpath【慎11.classpathZ件】|_.jump[卩】I__.library【*IE川的ecd類序】|.project['1前項目.project項目】5.2.3業(yè)務構件部署包格式結構業(yè)務構件部署包的后綴名為:ecd(平臺ComponentDeploy)o業(yè)務構件部署包的格式結構如下圖:業(yè)務構件部署包根目錄|__ponents.a.jar[、ERfi”屮凹拘"乃打刑…".,:發(fā)環(huán)境項目物理結構屮構件包bin目錄下內容】I__ponents.b.jarI—ponents.n.jar|「jump?web【構件包所屬項邏緝節(jié)點“web”卜內容,導出ecd過程如果沒有選擇此「I錄?則導出最終產(chǎn)物屮,不存在此目錄】6平臺進程視圖平臺進程視圖主要描述開發(fā)工具和平臺應用之間,平臺應用和平臺應用之間以及客戶端和平臺應用之間的關系。>開發(fā)工具和平臺server之間:開發(fā)工具通過JMX將資源部署到平臺應用之上,代碼調試通過RMI完成。>平臺Server和平臺Server之間:平臺應用和平臺應用之間的通信通過RMI完成。>客戶端和平臺應用之間:客戶端請求通過HTTP和平臺應用之間進行通信。開發(fā)工具資源部署/RMIServer3平臺應用客廣端請求(1E)客戶端清求(IE)便攜電肪便攜電腦7平臺基礎環(huán)境7.1平臺資源庫平臺的資源庫分為代碼庫和文檔庫,其中代碼庫的目錄結構如下平臺文檔庫結構如下圖SVNroot/庫名IPTP[基礎技術平臺]I__develop(開發(fā)目錄]I—build〔編譯目錄]I__src[源碼目錄]I___install[安裝包目錄]I__server[核心框架目錄]I__studio[開發(fā)工具目錄]I—test[測試日錄]|_workdir[臨時工作目錄]JUMP[Java軟件平臺]I_develop(開發(fā)目錄]I—build〔編譯目錄]I__src[源碼目錄]I___install[安裝包目錄]I__server[核心框架目錄]I__studio[開發(fā)工具目錄]I—test[測試日錄]|_workdir[臨時工作目錄]I_WEBAPP[應用框架目錄]|WEBUI[>型界面目錄]7.2平臺集成編譯通過集成Jenkins>Maven、普元UTP、Mantis以及普元軟件質量分析系統(tǒng)為整個編譯過程、平臺測試以及軟件質量的跟蹤統(tǒng)計提供強有力的支撐和保證。編譯過程涉及到的應用和服務器,具體示意圖如下執(zhí)行偏諸算本7.2.1平臺編譯設計平臺編譯即平臺從平臺庫獲取代碼、從組件庫(Nexus)下載依賴類庫以及執(zhí)行平臺編譯腳本,最后打出安裝包并且上傳至FTP服務器的過程,具體示例圖如下。U弟焼WWE(NAS)WSA(sn*ON)--_?書2Aew^gs.dld具體步驟說明>Jenkins根據(jù)任務執(zhí)行策略觸發(fā)平臺編譯打包任務;>從平臺代碼庫(SVN)獲取平臺相關代碼;>從組件庫(Nexus)獲取平臺編譯過程中依賴的類庫;>執(zhí)行編譯打包任務;>執(zhí)行編譯過程發(fā)生編譯異常,則郵件通知項目組相關人員(郵件內容包含具體的編譯異常信息),并且終止整個編譯過程;>執(zhí)行編譯打包腳本成功,將最終產(chǎn)物上傳至FTP服務器,郵件通知項目組相關人員(郵件內容包含具體產(chǎn)物的列表和產(chǎn)物所在FTP服務的具體目錄路徑)。7.2.2單元測試設計單元測試統(tǒng)一?即由Jenkins在平臺編譯的過程中,執(zhí)行maven生命周期test來完成,具體示例圖如下:單元測試設計單元測試步驟說明:>Jenkins根據(jù)任務執(zhí)行策略觸發(fā)平臺單元測試任務;>從代碼庫(SVN)上獲取平臺代碼;>執(zhí)行平臺代碼編譯腳本>編譯過程中如果出現(xiàn)錯誤,郵件通知項目組成員,并旦結束當前任務;>從Maven倉庫獲取平臺依賴類庫;>執(zhí)行單元測試用例;>輸出單元測試報告;>結束單元測試任務。UTP測試設計use女鑿攸7.2.3UTP測試設計Jenkins執(zhí)行平臺編譯打包以后,觸發(fā)統(tǒng)一測試平臺執(zhí)行平臺(UTP)測試用例,具體示例圖如下:執(zhí)行測試用例步驟說明:>Jenkins完成平臺編譯打包以后,觸發(fā)UTP測試用例>UTP從Jenkins指定的目錄獲取編譯最終產(chǎn)物測試環(huán)境單元測試報吿肇姿did岑XW錄平臺質SI跟蹤設HV.城峪討義旺絞催emaft5>ffafr>UTP在指定的服務器安裝相關測試環(huán)境,主要是應用服務器(Tomcat/LibertyProfileSever/Websphere)>UTP將Jenkins最終編譯產(chǎn)物部署到已安裝好的測試環(huán)境中>UTP部署平臺測試用例到已安裝好的測試環(huán)境中>UTP執(zhí)行平臺測試用例>UTP輸出平臺測試用例執(zhí)行結果>完成整個測試過程7.2.4平臺質量跟蹤設計平臺質量的跟蹤和統(tǒng)計,即通過普元軟件質量統(tǒng)計系統(tǒng)對整個平臺建設過程中代碼行、缺陷數(shù)以及相關質量指標的跟蹤和設置,最終輸出平臺軟件質量報告的過程。具體內容如下圖所示:(NASJ.茅=sces-塀憾S&S諸平臺質量跟蹤設計步驟說明>根據(jù)統(tǒng)計信息設置從平臺代碼庫獲取相應模塊的代碼;>根據(jù)統(tǒng)計信息設置從缺陷管理系統(tǒng)Mantis獲取平臺相應的缺陷;>根據(jù)統(tǒng)計信息設置的指標以及其他相關信息生成質量報告。8平臺安裝升級8.1平臺發(fā)布介質平臺發(fā)布介質如下|序列號|介質名稱1開發(fā)工具/安裝包2平臺核心框架war包3最佳實踐war包4數(shù)據(jù)初始化腳本5應用框架源碼6升級服務應用8.2平臺安裝平臺安裝步驟具體如下圖所示8.3平臺升級平臺升級包括開發(fā)工具升級、核心框架升級以及應用框架升級(應用框架源碼對外開發(fā))。整個平臺的升級基于Eclipse插件升級體系完成,具體示意圖如下:上海大眾網(wǎng)絡環(huán)境?平臺升級服務器-開發(fā)工具平臺升級平臺升級平臺升級開發(fā)工具開發(fā)工具開發(fā)工具注:平臺升級過程中將忽略開發(fā)商對平臺本身開發(fā)工具、基礎構件或者應用框架的修改痕跡。升級過程中如果需要將修改痕跡和新版本的平臺合并,需要進行手工merge9平臺關鍵技術平臺整個建設的過程中將涉及模板和向導、構件管理、數(shù)據(jù)建模、服務開發(fā)、基礎構件庫、客戶端接入、運行環(huán)境、緩存機制、攔截器機制、命名SQL、參數(shù)配置和使用業(yè)務字典等關鍵技術。這些技術將貫穿整個平臺建設的生命周期,其具體的使用以及設計細節(jié)描述如下:9.1模板和向導實際項目開發(fā)過程中,經(jīng)常會有些基本功能模塊或單元是可以被抽取出來進行重復利用的。這種場景下,如果開發(fā)工具本身能基于某些特定的業(yè)務或者技術規(guī)則,通過模板和向導一鍵生成相關單元或者模塊的代碼,對加速項目的開發(fā)過程來說,無疑將具有重大的意義。本次平臺建設,綜合業(yè)務和技術等各方面的規(guī)則和需求,將提供從模板和向導層面,基于數(shù)據(jù)模型,一鍵生成SpringController層和SpringSevice層的相關代碼功能,示例如下:(圖1:選擇數(shù)據(jù)實體)(圖2:設置査詢條件以及排序字段)(圖3:生成后端代碼,包括SpringController和SpringService)(圖4:設置Controller命名空間)注:向導模板是可擴展的,能夠將項目中可以重復利用的功能模塊的開發(fā)過程配置.成向導,一方面提高了現(xiàn)有項目的開發(fā)效率,另一方面,也可以利用該向導在其它的項目中快速開發(fā)出類似的功能模塊,增強了團隊開發(fā)知識的積累9.2構件管理應用系統(tǒng)建設的過程中,通常需要根據(jù)業(yè)務和技術將應用劃分為多個功能模塊,每個模塊完成一組相對完整的業(yè)務或者技術功能。在構件化編程模型中,每個功能模塊可以劃分為一個構件包。與傳統(tǒng)資源展示方式不同的是,構件化資源管理的展示方式也是模塊化、構件化的,在Eclipse的資源管理器上,資源是模塊化分開的,每個模塊包含完整的各層次資源,可做到應用功能真正的物理模塊化(構件包的邏輯結構和物理結構,詳見5.2平臺項目結構)。在構件化資源管理中,可以完成創(chuàng)建項目、創(chuàng)建構件包、配置構件包的數(shù)據(jù)源、配置構件包的日志、開發(fā)國際化資源文件等操作9.3數(shù)據(jù)建模在業(yè)務系統(tǒng)開發(fā)中,與數(shù)據(jù)開發(fā)有關的是兩個方面:關系數(shù)據(jù)模型設計和實體域模型設計。開發(fā)工具需要實現(xiàn)關系數(shù)據(jù)模型和實體域模型間的映射,并且這種映射是單向的,即關系數(shù)據(jù)模型到平臺中實體模型的映射,不支持平臺實體模型到關系型數(shù)據(jù)庫的映射。如下圖所示:Java軟件平臺提供SDO-R映射(從SDO到關系的映射)。SDO是服務數(shù)據(jù)對象(ServiceDataObject)的簡稱,它是一個關于實體模型的接曰規(guī)范。在對實體進行操作時,用戶不需要關心數(shù)據(jù)庫表結構,而是使用開發(fā)工具提供的接口來實現(xiàn)對數(shù)據(jù)庫的訪問;這樣改變了通過運行SQL語句進行數(shù)據(jù)庫查詢和更新的做法,從而屏蔽技術細節(jié),并提供更好的跨數(shù)據(jù)庫的移植性。如下圖所示,開發(fā)工具應當為數(shù)據(jù)建模提供統(tǒng)一的、可視化的設計工具,設計數(shù)據(jù)模型以及數(shù)據(jù)模型之間的關系。査:/::休命牝5QIttW(VORMAPPINGsoo??a換定義羅示快板AflffiSOOJavaJS數(shù)據(jù)建模是開發(fā)工具向導的基礎,開發(fā)工具根據(jù)數(shù)據(jù)模型生成增刪改查的SpringBean代碼。9.4服務開發(fā)服務開發(fā)包括兩個方面的內容,即服務端代碼的開發(fā)和客戶端代碼的開發(fā),本次平臺建設將從向導層面支撐以上兩個方面的內容。服務端開發(fā):平臺應用框架將提供服務注冊的能力支撐服務端代碼的開發(fā),即將某個具體的java類發(fā)布成Webservice只需要將這個類的路徑以及相關信息配置到平臺應用框架中即可完成服務的開發(fā)。同時平臺開發(fā)工具支持根據(jù)WSDL生成服務端代碼TJJ59七5<5”.15iipuiieiii^.uuncine■€?>WSDelegateManagerServiceService.wsdlI?復制Ctrl+CI-3曜夏削王:曲黃口姓粘貼Ctrl+VD袒服務X*Delete田ponents.coframe.auth.graph查找引用關奈ffierceffiponents.coframe.auth.ldap田ponents.coframe.auth.loginffiponents.coframe.auth.menu.c生成Axis2服務端代碼田ponents.coframe.auth.party.c生成CXFB5務端代碼田ponents.coframe.auth.party.g灶下蒲除Ctrl+Alt+Shift+向下(圖2:根據(jù)指定WSDL生成服務端代碼)?脳臺數(shù)據(jù)定義mm???_??g一一兵嘗M我-云客戶端開發(fā):平臺開發(fā)工具從向導層面支根據(jù)指定WSDL生成客戶端代碼(提供生成代碼的框架選擇,包括Axis2和CXF)OB5uuui1i.cvi1ipwiiciuvii<3iiic-鶴
>WSDelegateManagerServiceService.wsdl2復制重制全名Ctrl+C西類型r>袒銭口類型區(qū)祜貼Ctrl+Vt>畫服務XDelete?ponents.coframe.auth.graph查找引用關系由erceffiponents.coframe.auth.ldapffiponents.coframe.auth.login田ponents.coframe.auth.menu.c生成Axis2客戶端代碼由ponents.coframe.auth.party.c生成CXF客戶郵碼田ponents.coframe.auth.party.grtn____x£一
亠一亠W.MJ:下文鋸Ctrl+Alt+Shift+向下(圖1:根據(jù)WSDL生成客戶端代碼)9.5基礎構件庫基礎構件庫是為了支撐快速開發(fā)、部署應用系統(tǒng)而提供的,具有高度復用能力的一組預制構件的集合。利用構件庫中的構件可以快速搭建應用系統(tǒng),提高軟件可復用度和開發(fā)效率;同時通過對構件的管理可以建立一套針對構件的生產(chǎn)、改進、管理、沉淀和發(fā)展的完整軟件管理機制,使得企業(yè)在組織級的軟件知識沉淀可以通過構件庫的形式得以實現(xiàn)和發(fā)展。本次平臺建設將提供的基礎構件如下:>SD。操作構件>數(shù)據(jù)庫訪問構件>數(shù)據(jù)庫分頁構件>本地文件操作構件>文件上傳下載構件>日期處理構件>字符處理構件>加密/解密構件>郵件處理構件>參數(shù)操作構件>國際化構件>日志處理構件>異常處理構件>緩存服務構件>服務構件>業(yè)務字典構件基礎構件作為平臺發(fā)布一個非常重要的組成部分,除了以上描述的特點和優(yōu)勢以外,本次平臺建設,平臺本身還將為其提供基于Eclipse插件升級體系的版本管理服務。9.6緩存機制緩存(Cache)作為原始數(shù)據(jù)的集合,用于提高平臺存儲或者計算的性能。本次平臺建設緩存機制引入普元緩存實現(xiàn),該緩存具體特性的細節(jié)描述如下:>緩存加載。緩存的加載有兩種方式,一種是通過基礎構件,以編程的方式將需要緩存的數(shù)據(jù)進行緩存;另一種是通過實現(xiàn)緩存接口,以聲明的形式將該實現(xiàn)配置到平臺當中,平臺啟動的過程中,自動調用該實現(xiàn)將相關數(shù)據(jù)進行緩存。>緩存通知。集群場景下,為保證整個環(huán)境緩存數(shù)據(jù)的一致性和有效性,集群節(jié)點緩存數(shù)據(jù)的同步通過MBean的方式進行統(tǒng)一的通知。>緩存通信機制。集群場景下,緩存節(jié)點通過JMX協(xié)議實現(xiàn)各個集群節(jié)點之間MBean的通知和同步。>心跳檢測。集群場景下,主節(jié)點會維護一個守護線程,對集群環(huán)境下的各個節(jié)點的心跳進行檢測,以保證緩存通知的有效性。注:以下是緩存基礎構件的API以及緩存實現(xiàn)接口方法功能描述getAHKeys(StringcacheName)查詢cache中所有的key的集合getAHValues(StringcacheName)査詢cache中所有的value的集合getValue(StringcacheName,Objectkey)從緩存中取值invalidCache(StringcacheName)使某一個緩存失效方法功能描述invalidOneKey(StringcacheName,Objectkey)使某一個緩存中的某一個key失效putValue(StringcacheName,Objectkey,Objectvalue)向緩存中存數(shù)據(jù)(緩存服務基礎構件API)publicinterfaceICacheLoader<K,V>(/***預加載,Cache初始數(shù)據(jù)*<p>*在Cache的實現(xiàn)中,會自動調用此方法,返回的數(shù)據(jù)會預先放到Cache中。如果不想預加載,可以不實現(xiàn)此方法,也就是實現(xiàn)了懶加載方式。**@returnCache初始數(shù)據(jù)*/publicMap<K,V>preLoad();/***從數(shù)據(jù)來源中取得key對應的值**@paramkey鍵*@return值*/publicVget(Objectkey);/***設定數(shù)據(jù)來源的值**@paramkey鍵*@paramvalue值*/publicvoidput(Kkey,Vvalue);/***刪除數(shù)據(jù)來源中的值**@paramkey鍵*@return刪除后的值publicVremove(Objectkey);)(緩存加載接口)10平臺數(shù)據(jù)結構平臺數(shù)據(jù)結構物理模型如下:J平臺數(shù)據(jù)結構.pdm10.1平臺引擎表結構名稱描述TS_JUMP_DICT_ENTRY業(yè)務字典項表TSJUMP_D1CT_TYPE業(yè)務字典類型表TS_JUMP_PARAMENTER參數(shù)配置表TSJUMP_QRTZ_BLOB_TRIGGERSBLOB觸發(fā)器表TS_JUMP_QRTZ_CALENDARS日歷表TS_JUMP_QRTZ_CRON_TRIGGERS復雜觸發(fā)器表:復雜觸發(fā)器詳細信息TS_JUMP_QRTZ_FIRED_TRIGGERS錯失觸發(fā)的觸發(fā)器表TSJUMP_QRTZ_JOB_DETAILS定時任務表:定時任務洋細信息TSJUMP_QRTZ_JOB_LISTENERS定時任務監(jiān)聽器表:定時任務監(jiān)聽器類名信息TS_JUMP_QRTZ_LOCKSquartz鎖表TSJUMP_QRTZ_PAUSED_TRIGGER_GR暫停觸發(fā)器組表TS_JUMP_QRTZ_SCHEDULER_STATE調度器狀態(tài)表TS_JUMP_QRTZ_SIMPLE_TRIGGERS簡單觸發(fā)器表:簡單觸發(fā)器詳細信息TS_JUMP_QRTZ_TRIGGER丄ISTENERS觸發(fā)器監(jiān)聽器表TS_JUMP_QRTZ_TRIGGERS觸發(fā)器表TSJUMP_UNIQUE_TABLE唯一序列號表10.2應用框架表結構名稱描述TS_WEBAPP_APP_MENU菜單資源表TS_WEBAPP_CAP_ROLE角色表TS_WEBAPP_ORG_EMPLOYEE員工表TS_WEBAPP_ORG_EMPORG員工機構表TS_WEBAPP_ORG_EMPPOSITION員工崗位表TS_WEBAPP_ORG_ORGANIZATION組織機構表TS_WEBAPP_ORG_POSITION機構崗位表TS_WEBAPP_PARTYAUTH參與者授權表TS_WEBAPP_RESAUTH授權資源表TS_WEBAPP_USER應用框架用戶表名稱描述TS_WEBAPP_LOG應用框架業(yè)務日志表TS_WEBAPP_WS應用框架服務表11非功能性設計平臺非功能性設計共將從日志、異常、國際化、性能和安全等五個方面進行闡述,具體描述細節(jié)如下。11.1日志平臺日志為平臺運行期間提供軌跡、異常以及錯誤提供信息記錄的服務,平臺日志分為系統(tǒng)日志、引擎日志以及操作日志。1LL1系統(tǒng)日志系統(tǒng)日志從以下幾個方面為平臺運行提供服務,具體細節(jié)描述如下:>記錄時機:控制層(C)執(zhí)行、服務層(B)執(zhí)行、接口(S)執(zhí)行、Web服務(W)調用、定時任務(D)執(zhí)行、JSP(J)執(zhí)行、SQL(Q)執(zhí)行(超過時限者記錄)、運算邏輯(X)執(zhí)行(超過時限者記錄);>記錄行為:開始(Begin)、結束(End)、異常(Exception)、運行(Run);>配置文件:應用配置目錄/log4j-sys.xml;>日志文件:應用工作目錄/logs/app-sys.log;>記錄格式:有固定格式[記錄時間][請求編號][C|B|S|W|D|J|Q|X(類型)][Begin|End|Exception|Run][全名][執(zhí)行時長][父全名][IP地址][登錄用戶ID][登錄用戶名][當前內存總量][當前空閑內存量][自定義信息]。記錄格式的具體說明>[記錄時間]是代表日志記錄時間,格式:yyyy-MM-ddHH:mm:ss.SSS。>[請求編號]為每次請求的唯一編號。>[C|B|S|D|J|Q|X]是各個層次的編號(類型簡稱),分別說明如下:/[C]:控制層請求;/[B]:服務層請求;/[S]:接口層請求;/[W]:WebService調用;/[D]:定時任務請求;/[J]:JSP請求;/[Q]:SQL請求;/[X]:運算邏輯。>[Begin/End/Exception/Run]是記錄行為。/Begin:程序入口,方法開始;/End:程序出口,方法結束;/Exception:程序中斷,拋出異常;/Run:程序運行,時間較長時使用。>[全名]是請求的全名稱。/[C/B/S]:當前線程的運行時上下文堆棧的棧頂元素的全名;/[D]:定時任務名稱;/[J]:JSP文件名;/[Q]:SQL語句;/[X]:調用運算邏輯類名+方法名。>[執(zhí)行時長]是請求的執(zhí)行時長。/[C/B/S]:目前為空;/[D]:定時任務執(zhí)行時長;/[J]:目前為空;/[Q]:SQL執(zhí)行時長;/[X]:運算邏輯執(zhí)行時長。>[父全名]是請求的父全名稱。/[C/B/S]:當前線程的運行時上下文堆棧的棧頂?shù)那耙粋€元素的全名;/[D]:當前線程的運行時上下文堆棧的棧頂元素的全名,由于定時任務肯定是異步執(zhí)行,所以此項意義不大;/[J]:當前線程的運行時上下文堆棧的棧頂元素的全名;/[Q]:當前線程的運行時上下文堆棧的棧頂元素的全名;/[X]:當前線程的運行時上下文堆棧的棧頂元素的全名。>[IP地址]是當前用戶的客戶端IP地址。>[登錄用戶ID]是當前用戶IDo>[登錄用戶名]是當前用戶名稱。>[當前內存總量]以KByte為單位的數(shù)字。>[當前空閑內存量]以KByte為單位的數(shù)字。>[自定義信息]用戶信息。11.1.2引擎日志引擎日志從以下幾個方面為平臺運行提供服務,具體細節(jié)描述如下:>記錄時機:主要是控制層和服務層執(zhí)行軌跡日志,以及DAS的Sql執(zhí)行、文件的上傳、引擎handler的執(zhí)行、服務的執(zhí)行、定時任務的執(zhí)行情況;>配
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省醫(yī)學科學院·四川省人民醫(yī)院2026年度專職科研人員、工程師及實驗技術員招聘參考題庫附答案
- 來廣營社區(qū)衛(wèi)生服務中心招聘參考題庫附答案
- 福建省寧德市屏南縣公安局招聘警務輔助人員9人備考題庫附答案
- 雅安市公安局監(jiān)察留置看護人員招聘 90人參考題庫附答案
- 2026廣東廣州大學招聘事業(yè)編制管理和教輔人員11人(第一次)考試備考題庫附答案
- 2026湖北省定向西南政法大學選調生招錄備考題庫附答案
- 2026浙江金華市武義縣應急管理局招聘2人備考題庫附答案
- 招商銀行長沙分行2026屆暑期實習生招聘筆試歷年典型考題及考點剖析附帶答案詳解
- 2026年浙商銀行長沙分行秋季校園招聘筆試歷年典型考題及考點剖析附帶答案詳解
- 2025瑞安市人力資源和社會保障局招聘社銀合作臨時人員1人筆試歷年典型考題及考點剖析附帶答案詳解
- 物理試卷-云南師大附中2026屆高三1月高考適應性月考卷(六)
- 教育培訓加盟合同協(xié)議
- 影視立項轉讓合同范本
- DZ∕T 0399-2022 礦山資源儲量管理規(guī)范(正式版)
- 麻風病防治知識課件整理
- 消防工程監(jiān)理實施細則
- 安全安全應急救援預案(溝槽開挖)
- 權利的游戲雙語劇本-第Ⅰ季
- 衛(wèi)生部《臭氧消毒技術規(guī)范》
- 早期復極綜合征的再認識
- 山西某2×150MW循環(huán)流化床空冷機組施工組織設計方案
評論
0/150
提交評論