南車電機ESB項目開發(fā)規(guī)范_第1頁
南車電機ESB項目開發(fā)規(guī)范_第2頁
南車電機ESB項目開發(fā)規(guī)范_第3頁
南車電機ESB項目開發(fā)規(guī)范_第4頁
南車電機ESB項目開發(fā)規(guī)范_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

南車電機ESB建設項目開發(fā)規(guī)范南車株洲電機信息技術部 第17頁共20頁南車電機ESB建設項目開發(fā)規(guī)范

文檔信息文檔版本號起草人陳波起草日期20150410審核人審核日期批準人批準日期預期接收人甲方:乙方:監(jiān)理方:修訂記錄版本日期作者說明1.020150410陳波

目錄TOC\o"1-1"\h\z\t"標題2,2,標題3,3"1 前言 81.1背景 81.2目的 81.3范圍 81.4定義 81.5參考資料 81.6文檔約定 82 系統(tǒng)概述 92.1 技術總體架構 93 功能性需求 103.1 功能概述 103.2 邏輯架構 113.3 數(shù)據(jù)存儲方式 113.3.1 數(shù)據(jù)高速緩存 123.3.2 DataPower緩存 123.3.3 數(shù)據(jù)緩存 123.3.4 持久化數(shù)據(jù)存儲區(qū) 123.4 渠道發(fā)布 123.5 數(shù)據(jù)校驗 123.6 數(shù)據(jù)轉換 133.7 錯誤代碼轉換 133.8 通道資源 133.9 報文解析器 133.10 系統(tǒng)日志打印 173.11 交易流程 173.11.1 事務控制 173.11.2 并發(fā)執(zhí)行 173.11.3 異常處理 173.11.4 公共流程 183.12 技術構件 193.12.1 基本構件 193.12.2 數(shù)據(jù)處理 203.12.3 通訊處理構件 243.12.4 文件處理構件 253.12.5 安全處理構件 293.12.6 數(shù)據(jù)庫構件 303.12.7 數(shù)據(jù)緩存構件(需要與緩存平臺廠商及普元確定方案) 473.12.8 任務管理構件(需要整合業(yè)務需要進一步確定方案) 493.12.9 業(yè)務交易構件 543.13 單元測試 543.14 運行管理 553.15 版本發(fā)布 553.16 交易平臺新增及優(yōu)化范圍 553.16.1 渠道服務 553.16.2 交易流程 553.16.3 技術構件 553.16.4 通道資源 573.16.5 報文解析器 583.17 ESBIDE優(yōu)化 583.17.1 業(yè)務字典 583.17.2 數(shù)據(jù)模型導入 583.17.3 報文導入 593.17.4 增量版本發(fā)布 604 非功能性需求 604.1 交易平臺 604.1.1 測試需求 604.1.2 性能需求 614.1.3 安全性需求 614.1.4 擴展性需求 615 運行環(huán)境 625.1 設備 625.2 支持軟件 62PAGE1前言背景南車株洲電機接口整合在基于PrimetonESB平臺的基礎上進行開發(fā),整合南車電機多個外圍系統(tǒng)和核心系統(tǒng)。為了便于在后期的開發(fā)及維護,必須制定一整套符合框架的的開發(fā)規(guī)范。文檔目的本文試圖提供一套開發(fā)高效可靠ESB程序的標準、約定和指導。它們以安全可靠的軟件工程原則為基礎,使代碼易于理解、維護和增強。通過遵循和改進這些程序設計標準,使各項目產生的代碼有更好的一致性,并提高軟件開發(fā)團隊的生產效率。本規(guī)范適用于采用J2EE規(guī)范的項目,所有項目中的命名、渠道、渠道服務、交易服務、通道、通道服務、業(yè)務字典、數(shù)據(jù)模型及Java代碼(含JAVABEAN,開發(fā)工具生成的代碼框架等)均應遵守這個規(guī)范。同時,也可作為其它項目的參考。要求項目都要遵循,并作為項目評審與驗收依據(jù)。規(guī)范原則:遵循業(yè)界標準可讀性強,意義清楚整潔嚴謹、風格統(tǒng)一文檔預期讀者本文檔的預期讀者包括ESB建設項目開發(fā)組全體成員:技術管理人員、系統(tǒng)設計人員、系統(tǒng)開發(fā)人員、系統(tǒng)測試人員、系統(tǒng)維護人員、推廣培訓人員及其他相關人員。文檔適用范圍本文檔適用于所有與南車電機ESB建設項目的相關的開發(fā)ESB開發(fā)詳解ESB開發(fā)工具調整PrimetonESB設置作者:設置為開發(fā)人員姓名部門:南車電機信息技術管理部默認Module名稱:設置為com.南車電機Java代碼樣式新建南車電機(南車電機信息技術部)代碼樣式??瞻仔?N):第一個聲明前面(F):設為1。其余默認。新行:在空的枚舉聲明中(E)不選中。其余默認。自動換行:最大行寬設為200。其余默認。Java代碼開發(fā)過程中使用Ctrl+Shift+F進行代碼格式化。服務定制包(平臺組建立)創(chuàng)建原則按業(yè)務域劃分,如:任務管理器(公共、任務、業(yè)務域)命名原則com.南車電機+系統(tǒng)域名稱,使用有意義的英文單詞,全部使用小寫字母,如:com.csr.motor.pdm命名規(guī)則通訊協(xié)議(大寫)+工程名稱,全部使用大寫字母,字符長度不能超過20個字符,如:HTTP_pdm。渠道創(chuàng)建HTTP(JSON)渠道HTTP(JSON)渠道參數(shù)使用下面表格的認定的值。屬性值說明編號HTTP_pdm名稱HTTP服務主機名localhost端口號10000上下文pdm協(xié)議類型HTTP最小實例數(shù)10用于指定對象池的最小實例數(shù)。最大實例數(shù)1000用于指定對象池的最大實例數(shù)。實例遞增數(shù)1有新請求且對象池沒有空閑實例時,每次創(chuàng)建多少新的空閑實例。實例空閑時間60用于指定實例的空閑時間,單位秒。

當空閑的實例數(shù)超過最小實例數(shù)時,超出的實例在屬性指定的時間后被回收。處理器獲取超時時間5用于指定獲取渠道處理器的超時時間,單位秒。備注:WebService(SOAP)渠道WebService(SOAP)渠道參數(shù)使用下面表格的認定的值。屬性值說明編號WEBSERVICE_pdm名稱WebService服務主機名localhost端口號10001上下文pdm協(xié)議類型HTTP最小實例數(shù)10用于指定對象池的最小實例數(shù)。最大實例數(shù)1000用于指定對象池的最大實例數(shù)。實例遞增數(shù)1有新請求且對象池沒有空閑實例時,每次創(chuàng)建多少新的空閑實例。實例空閑時間60用于指定實例的空閑時間,單位秒。

當空閑的實例數(shù)超過最小實例數(shù)時,超出的實例在屬性指定的時間后被回收。處理器獲取超時時間5用于指定獲取渠道處理器的超時時間,單位秒。備注:數(shù)據(jù)轉換必須在架構設計目錄下的java文件夾下創(chuàng)建擴展實現(xiàn)類所屬包必須為com.csr.motor.architecture.transport.dataexchange擴展實現(xiàn)類必須以DataExchange結束。其他請詳見JAVA開發(fā)規(guī)范擴展實現(xiàn)必須在架構設計目錄下的java文件夾下創(chuàng)建。擴展實現(xiàn)類所屬包必須為com.csr.motor.architecture.transport。擴展實現(xiàn)類必須以Transport結束。其他請詳見JAVA開發(fā)規(guī)范攔截器開發(fā)主機服務攔截器必須在架構設計目錄下的java文件夾下創(chuàng)建攔截器包:com.csr.motor.architecture.handler.transport.+渠道名稱(以小寫字母開頭,其他單詞首字母大寫,其他為小寫字母),如:com.csr.motor.architecture.handler.transport.httpReceive攔截器類名必須以Receive結束。Send攔截器類名必須以Send結束。Request攔截器類名必須以Request結束。注冊攔截器類名必須以Launch結束。其他請詳見JAVA開發(fā)規(guī)范通道命名規(guī)則OA+“_”+目標主機簡稱,全部使用大寫字母,字符長度不能超過20個字符,如:OA_ESBESB通道ESB通道除紅色字體參數(shù)外的參數(shù)使用下面表格的認定的值。屬性值說明編號OA_ESB名稱ESB通道請求URLhttp://待定最小線程數(shù)500用于指定對象池的最小實例數(shù)。最大線程數(shù)500用于指定線程池的最大線程數(shù)。存活時間60用于指定實例的空閑時間,單位秒。

當空閑的實例數(shù)超過最小實例數(shù)時,超出的實例在屬性指定的時間后被回收。隊列大小100當線程池最小線程數(shù)被全部用完后,新的處理請求會被丟入隊列,當隊列滿時,會創(chuàng)建新的線程處理請求,但不會超過最大線程數(shù)。當隊列已滿并且也達到了最大線程數(shù)后,會調用拒絕策略拒絕新的處理請求。最小實例數(shù)500用于指定對象池的最小實例數(shù)。最大實例數(shù)500用于指定對象池的最大實例數(shù)。實例遞增數(shù)1當對象池中沒有空閑實例的時候,每次創(chuàng)建多少新的空閑實例。實例空閑時間60用于指定實例的空閑時間,單位秒。

當有大于最小實例數(shù)的實例存在時,該屬性生效。訪問器獲取超時5用于指定獲取通道訪問器的超時時間,單位秒。備注:MQ通道MQ通道除紅色字體參數(shù)外的參數(shù)使用下面表格的認定的值。屬性值說明編號OA_MQ名稱MQ通道IP地址待定MQ接收隊列名待定最小線程數(shù)500用于指定對象池的最小實例數(shù)。最大線程數(shù)500用于指定線程池的最大線程數(shù)。存活時間60用于指定實例的空閑時間,單位秒。

當空閑的實例數(shù)超過最小實例數(shù)時,超出的實例在屬性指定的時間后被回收。隊列大小100當線程池最小線程數(shù)被全部用完后,新的處理請求會被丟入隊列,當隊列滿時,會創(chuàng)建新的線程處理請求,但不會超過最大線程數(shù)。當隊列已滿并且也達到了最大線程數(shù)后,會調用拒絕策略拒絕新的處理請求。最小實例數(shù)500用于指定對象池的最小實例數(shù)。最大實例數(shù)500用于指定對象池的最大實例數(shù)。實例遞增數(shù)1當對象池中沒有空閑實例的時候,每次創(chuàng)建多少新的空閑實例。實例空閑時間60用于指定實例的空閑時間,單位秒。

當有大于最小實例數(shù)的實例存在時,該屬性生效。訪問器獲取超時5用于指定獲取通道訪問器的超時時間,單位秒。備注:數(shù)據(jù)轉換必須在架構設計目錄下的java文件夾下創(chuàng)建擴展實現(xiàn)類所屬包必須為com.csr.motor.architecture.endpoint.dataexchange擴展實現(xiàn)類必須以DataExchange結束。其他請詳見JAVA開發(fā)規(guī)范擴展實現(xiàn)必須在架構設計目錄下的java文件夾下創(chuàng)建。擴展實現(xiàn)類所屬包必須為com.csr.motor.architecture.endpoint.handler。擴展實現(xiàn)類必須以Handler結束。其他請詳見JAVA開發(fā)規(guī)范攔截器開發(fā)主機服務攔截器必須在架構設計目錄下的java文件夾下創(chuàng)建攔截器包:com.csr.motor.architecture.handler.endpoint.+通道名稱(以小寫字母開頭,其他單詞首字母大寫,其他為小寫字母),如:com.csr.motor.architecture.handler.endpoint.httpReceive攔截器類名必須以Receive結束。Send攔截器類名必須以Send結束。Request攔截器類名必須以Request結束。注冊攔截器類名必須以Launch結束。其他請詳見JAVA開發(fā)規(guī)范業(yè)務建模數(shù)據(jù)類型命名規(guī)則數(shù)據(jù)類型:使用有意義的英文單詞簡寫,英語單詞首字母使用大寫,其他使用小寫字母,字符長度不能超過20個字符。如:PdmString數(shù)據(jù)類型包:自定義數(shù)據(jù)類型必須創(chuàng)建在包com.csr.motor.datatype下。實現(xiàn)規(guī)范第一步:擴展com.primeton.ESB.api.data.AbstractDatatype類,在com.csr.motor.datatype包下增加以DataTypeDefinition為參數(shù)的構造函數(shù),實現(xiàn)doInFormat,doInParse和getJavaType方法。第二步:修改數(shù)據(jù)類型配置文件。完成自定義數(shù)據(jù)類型定義后,將數(shù)據(jù)類型定義添加到業(yè)務建模->數(shù)據(jù)類型->data-type.xml文件中,在XML標簽<configuration></configuration>中增加如下內容:<data-typename="長整形"id="long_type"impl-class="com.csr.motor.impl.data.type.CustDataType"

xsd-type="long">

<description>長整型,基于java.lang.Long</description>

</data-type>其中name,id,impl-class和xsd-type為必填項,其含義分別如下:屬性名稱屬性描述name數(shù)據(jù)類型的名稱id數(shù)據(jù)類型的標識impl-class數(shù)據(jù)類型的實現(xiàn)類xsd-type本數(shù)據(jù)類型映射的xsd類型數(shù)據(jù)字典命名規(guī)則數(shù)據(jù)字典分類目錄:設定為工程名稱。數(shù)據(jù)字典名稱:META_DICT元數(shù)據(jù):D_+使用有意義的英文單詞簡寫,名字必須以一個小寫字母開頭,后面的單詞用大寫字母開頭,字符長度不能超過20個字符,如:D_custName數(shù)據(jù)字典通過ESB向導創(chuàng)建數(shù)據(jù)字典。數(shù)據(jù)字典元素維護通過數(shù)據(jù)字典的配置功能進行配置維護。導入元數(shù)據(jù)信息,導入的表格舉例如下:類別字典編號字典名稱字典描述校驗規(guī)則范圍KEYVALUECSRsex性別性別validType:'length[6,6]'M男F女數(shù)據(jù)模型命名規(guī)則數(shù)據(jù)集合名稱:按業(yè)務域對進行分類,業(yè)務域名稱全部使用大寫,如:PUB、CSR等數(shù)據(jù)模型名稱:使用有意義的英文單詞全拼或簡寫,英文單詞首字母使用大寫字母,其他使用小寫字母,字符長度不能超過20個字符,如:CustInfo數(shù)據(jù)模型通過ESB向導創(chuàng)建數(shù)據(jù)模型集通過ESB的可視化操作界面進行數(shù)據(jù)模型維護工作。通過表格方式進行數(shù)據(jù)模型導入。表格模板如下:中文名英文名唯一索引非唯一索引描述字段序號數(shù)據(jù)字典編號字段英文名字段中文名字段類型長度主鍵否空值驗證備注報文定義命名規(guī)則渠道報文:報文類型簡稱(J/X)+Req/Res(請求/響應)+交易碼,字符長度不能超過20個字符,如:HCustSrvOnLineRdu通道報文:目標系統(tǒng)簡稱(大寫字母開頭)+Req/Res(請求/響應)+目標主機交易碼,字符長度不能超過20個字符,如:CoreReqCstSrvRdu報文分類目錄渠道報文分類目錄:報文類型簡稱(J/X)+_+業(yè)務域,全部使用大寫字母,字符長度不能超過20個字符,如:J_CSR,X_CSR通道報文分類目錄:目標主機簡稱+目標系統(tǒng)的簡稱,如:與核心對接=ESB_CORE報文配置通過ESB向導創(chuàng)建報文信息通過ESB報文編輯界面進行報文定義及維護通過表格導入的方式創(chuàng)建報文,導入的表格模板如下:所屬分類交易碼交易名稱描述英文名稱報文Key中文名稱是否必輸備注輸入數(shù)據(jù)字典名稱報文節(jié)點名稱卡號N數(shù)據(jù)模型名稱(START)報文節(jié)點名稱起始日期Y數(shù)據(jù)字典名稱報文節(jié)點名稱結束日期Y數(shù)據(jù)模型名稱(END)報文節(jié)點名稱交易金額N輸出數(shù)據(jù)字典報文節(jié)點名稱卡號N數(shù)據(jù)模型名稱(START)報文節(jié)點名稱起始日期Y數(shù)據(jù)字典名稱報文節(jié)點名稱結束日期Y數(shù)據(jù)模型名稱(END)報文節(jié)點名稱交易金額N服務定制主機服務命名規(guī)范主機服務分類目錄:目標主機簡稱+“_”+目標系統(tǒng)簡稱,全部使用大寫字母,字符長度不能超過20個字符,如:ESB_CORE。主機服務名稱:目標系統(tǒng)簡稱+_+主機交易碼,目標系統(tǒng)使用有意義的英文單詞全拼或簡寫,英文單詞首字母使用大寫字母,其

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論