




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、新CRM技術(shù)筆記1. 部署新系統(tǒng)1.1. 準備Ø 源代碼貴州版本:33/svn/products/openboss/newcrm_gzØ 拷貝.classpath、.project兩個文件至工程根目錄;Ø 創(chuàng)建目錄htmlWEB-INFlib;將newcrm_gzlib下各個子目錄中的jar拷貝至htmlWEB-INFlib;Ø 把defaults.xml拷貝至config/system/service/defaults.xml;Ø TNS準備#貴州CRM測試庫 base/base#123GZCRM225_TEST=
2、(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 25)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = gzcrm) ) )1.2. 導(dǎo)入EclipseØ importØ 選擇exitsing projects into workspaceØ 選中工程右鍵進入config build pathØ libraries中檢查jre設(shè)置是否正確,建議這里設(shè)置為1.6或1.6以上Ø java compiler
3、中Compiler compliance level設(shè)置為1.61.3. 編譯Ø project->build project或者cleanØ 編譯之后工程存在error,不要緊,只要不是致命的導(dǎo)致整個工程未全編的error可忽略1.4. 設(shè)置tomcat設(shè)置Ø window->preferences->tomcat選擇version6.xØ window->preferences->tomcat->JVM Settings,jre選擇1.6Ø 設(shè)置啟動內(nèi)存:-Xms256m -Xmx512m -Xss16M
4、 -XX:MaxPermSize=512mØ tomcat下面外鏈工程:參考server.xml修改tomcatconf下的server.xml<Context path="/newcrm" docBase="D:/Program Files/workspace/ainbs2/html"指向你的源代碼下的HTML1.5. 啟動驗證地址:http:/localhost:8080/newcrm登錄用戶名/密碼:9996026/password11.6. 參考提示信息管理、申告單類型配置、用戶備注變更、密碼重置、擔保信息變更、預(yù)占號碼釋放2.
5、常用表2.1. 操作員select t.*,t.rowid from sec.sec_operator t where operator_id in (9996026,85300159,95550702,95550001,95550700,95550000,95550004);非超級管理員查詢select t.*,t.rowid from sec.sec_operator t where password = '7c6a180b36896a0a8c02787eeafb0e4c' and (is_admin is null or is_admin != 'Y');
6、2.2. 用戶號碼表select t.*,t.rowid from so1.ins_user_853 t where STATE = 1 and bill_id in ('#39;,'#39;,'#39;,'#39;);其中so1表示一個分中心,853代表地市,地市位于so1分中心下。2.3. 分中心配置分中心即把數(shù)據(jù)庫按中心來劃分,來減輕需要頻繁訪問數(shù)據(jù)庫的壓力(如營業(yè)庫、帳管庫)。select t.*,t.rowid from base.bs_district t
7、 where t.district_type_id = 2 t.district_id >= 930 and t.district_id <= 936;select t.*,t.rowid from base.bs_district t where t.region_id = 931;該配置將地市和分中心映射起來。2.4. 分表配置select t.*,t.rowid from base.cfg_table_split t;select t.*,t.rowid from base.cfg_table_split_mapping t;首頁的客戶信息TAB是通過數(shù)據(jù)庫配置而來,使用了動
8、態(tài)表單技術(shù)。2.5. 首頁客戶信息配置select t.*,t.rowid from base.of_cust_info_item t where item_label in ('證件號碼','受理號碼');JSP是:custInfoForSubscriberView.jsp2.6. 菜單配置方法select t.*,t.rowid from sec.sec_function t where name like '%集團日常%'select t.*,t.rowid from sec.sec_role_grant t where 1=1 and t
9、.ent_id = 80000662 and t.role_id = 99999;2.7. 枚舉、數(shù)據(jù)字典、靜態(tài)數(shù)據(jù)base.bs_static_data一般在SET中配置,JSP頁面中不用特別配置,如:2.8. 國際化SELECT t.* FROM base.bs_i18n_resource t; 2.9. 表與序列關(guān)系表 SELECT t.* FROM base.cfg_id_generator t;2.10. ftp配置 SELECT t.* FROM base.bs_ftp; SELECT t.* FROM base.bs_ftp_path t; 3. 代碼跟蹤新系統(tǒng)的菜單一般是以JS
10、P作為入口,而老系統(tǒng)則使用Action的showMain方法作為入口。3.1. 代碼結(jié)構(gòu)和配置src,config,lib,htmldefaults.xml:配置數(shù)據(jù)源、分中心,密碼既支持密文也支持明文。加密工具:perties:較少涉及,SecImpl(secframe框架,加載新系統(tǒng)等)和XGImpl(加載新系統(tǒng)緩存等)perties:如果不掉后臺OBD時該配置不起效果,若需要調(diào)用老系統(tǒng)OBD,則需要配置該文件。新系統(tǒng)采用MVC結(jié)構(gòu):Web:Action(如action處在目錄結(jié)構(gòu)下:com.asiainfo.cr
11、m.channle.apply)Service:(可以是jsp或者web層和service交互,service也可調(diào)用service,service控制事務(wù),service采用工廠模式創(chuàng)建,不能直接創(chuàng)建)Dao:Bo:Bean和Engine,Engine封裝query、insert、update等,bean對應(yīng)實體。Ivalues:(放置接口,不在層次中)一般訪問順序:Jsp>action>service>dao>bean注意,Js盡量從jsp中抽離出來,這樣可只加載一次。3.2. 快速跟蹤地址:http:/localhost:8080/gz/crm/support/p
12、arty/CmSupportTypeList.jsp?funcId=30011013&verifyType=&psptReadSerialId=&psptVerifySerialId=定位菜單:搜索菜單(需要超級管理員權(quán)限),查詢菜單表后臺查詢語句執(zhí)行時,需要加schema用戶名。日志:perties,配置log4j.rootLogger=debug,console,否則控制臺無法打印。例子:申告單類型配置,CmSupportTypeList.jsp頁面的table中jsp直接和service交互,如:<ai:table setname=&quo
13、t;com.asiainfo.crm.support.party.web.SETCmSupportType" tableid="tblList" tablemodel="com.ai.appframe2.web.datamodel.MethodModelForService"implservice_name="erfaces.ICmSupportTypeSV" implservice_querymethod此處和js的doQuery方法的參數(shù)
14、要一致。="query(String appealType,String appealName,String processType,String appealPriority, int $STARTROWINDEX,int $ENDROWINDEX)" implservice_countmethod="count(String appealType,String appealName,String processType,String appealPriority)" initial="false" editable="f
15、alse" needrefresh="true" multiselect="true" ondbclick="doView" pagesize="20" width="100%" height="300" ondblink="" onresize="true"> <ai:col fieldname="APPEAL_TYPE" visible="true" title=&quo
16、t;申告單類型" width="8%"></ai:col> <ai:col fieldname="APPEAL_NAME" visible="true" title="申告單類型名稱" width="10%"></ai:col> . <ai:col fieldname="EXPIRE_REMIND_INFO" visible="true" title="超時提醒" width=&
17、quot;12%"></ai:col> <ai:col fieldname="REMARK" visible="true" title="備注" width="16%"></ai:col> </ai:table> /查詢 function doQuery() var qryRowSet = getRowSet(); var condi = "" condi += "&appealType="+qryRow
18、Set.getValue("APPEAL_TYPE"); condi += "&appealName="+qryRowSet.getValue("APPEAL_NAME"); condi += "&processType="+qryRowSet.getValue("PROCESS_TYPE"); condi += "&appealPriority="+qryRowSet.getValue("APPEAL_PRIORITY"); ge
19、tTable().refresh(condi); 新CRM使用多個數(shù)據(jù)源,如資源庫使用的數(shù)據(jù)源是res,營業(yè)庫使用的是socenter,公共庫使用的數(shù)據(jù)源是base。調(diào)用數(shù)據(jù)源時會根據(jù)dao的包名設(shè)置其對應(yīng)的數(shù)據(jù)源(原理就是動態(tài)代理),這個關(guān)系配置是在defaults.xml的<mapping>元素下定義。Dao的三種實現(xiàn)方式:1. BO*Engine(使用ConfigTools工具生成,建議使用)2. 使用DataStore(無事務(wù)控制)Conn = ServiceManager.getSession().getConnection();DataStore dataStore =
20、 ServiceManager.getDataStore();3. 使用jdbcNotice:盡量少用ServiceManager.getSession().getNewConnection(),因為這樣獲取的鏈接不受事務(wù)控制,如果使用了必須手動關(guān)閉鏈接。 訪問Action時,如果對分中心有要求,需要加上:“&CenterType=RegionId&CenterValue=”+regionId4. 進程進程分為TF進程和TASK進程。Jh_web項目/com/asiainfo/crm/jh/exe/taskTASK為調(diào)度任務(wù)進程,非實時;TF為實時進程(比如后臺導(dǎo)入)Selec
21、t t.*,t.rowid from base.cfg_task t;5. 開發(fā)規(guī)范參考:基礎(chǔ)類-9-貴州新crm技術(shù)開發(fā)規(guī)范.doc5.1. 目錄結(jié)構(gòu)html、src、lib、config。1) SRCcommon:基礎(chǔ)文件,如日志、公共的web方法、公共的靜態(tài)數(shù)據(jù)類channel:未使用,已單獨部署形成一個產(chǎn)品線so:營業(yè)模塊,如:營業(yè)受理、業(yè)務(wù)訂購、業(yè)務(wù)變更ams:賬務(wù)管理res:資源管理,如:號碼管理、號卡管理、終端管理market:未使用,如:集團客戶管理,營銷活動管理inter:接口模塊,CRM對外提供的接口,如:電子渠道、網(wǎng)廳、短廳crm,包括:賬務(wù)接口子模塊、開通接口子模塊、C
22、BOSS接口子模塊cust:客戶管理模塊sec:已將權(quán)限獨立打包成secframe.jar,該模塊不會使用report:報表product:產(chǎn)品管理,已打包成pce.jar使用memcache配置緩存,該模塊不會使用具體模塊劃分:bo:存放數(shù)據(jù)庫操作的Engine和Bean。dao:數(shù)據(jù)訪問層ivalues:(接口定義)表信息描述類service:服務(wù)層valuebean:(自定義javabean)web:存放Action類目錄名字包含example、test的類生產(chǎn)上不會被編譯發(fā)布,例如test/*/*.*、*/test/*.* 、example/*/*.* 接口開發(fā)需要提供給第三方的類,需
23、要放在third目錄下,否則不會發(fā)布給第三方系統(tǒng)調(diào)用,例如Remote服務(wù)提供給外圍系統(tǒng)的POJO依賴類:comasiainfocrmsecexeremotethirdOpInfoBean.java2) HTMLbce:存放bce頁面,后臺已打包成bce.jarjsv2:appframe使用的JS、HTM文件secframe:權(quán)限頁面,后臺已打包成secframe.jarwebframe:負責登錄框架以及主頁上部、左側(cè)、底部的展示,后臺打成oneframe.jar注:SVN不允許開發(fā)人員修改webapp、jsv2、bce等公共模塊,若需修改時需申請權(quán)限。3) ConfigConfig目錄中存放
24、系統(tǒng)配置文件及針對數(shù)據(jù)庫表操作的配置文件,針對數(shù)據(jù)庫表操作的配置文件由Appframe配置工具ConfigTools自動生成,包括bo文件(數(shù)據(jù)操作引擎資源文件)、set文件(DBGRID、DBFORM使用資源文件)、ds文件(下拉框資源文件)。remote/perties:對外圍提供的接口的配置socket/perties:對外圍提供的Socket接口system/cache/cache.xml:緩存配置system/service/defaults.xml:配置數(shù)據(jù)源、分中心基礎(chǔ)數(shù)據(jù)庫,營業(yè)數(shù)據(jù)庫, 如:貴州5個地市1個數(shù)據(jù)庫,4個地市一個數(shù)據(jù)庫sy
25、stem/service/omframe-service.xml:配置服務(wù)具體的實現(xiàn)類,如果公共組件的實現(xiàn),提供可自定義業(yè)務(wù)編程的入口task/perties:配置后臺進程TaskFrameWork,如TF重啟事件等perties:產(chǎn)品數(shù)據(jù)配置如開戶用全球通、全球通58、全球通120等產(chǎn)品的產(chǎn)品數(shù)據(jù)量很大,單純數(shù)據(jù)查詢或者緩存到本地的內(nèi)存消耗大,新系統(tǒng)統(tǒng)一放到memcached中,開發(fā)時設(shè)置is_use_db=true(不用緩存),利于開發(fā)時定位問題。4) LIBappframe:crm系統(tǒng)的組件服務(wù)等,提供基礎(chǔ)開發(fā)包,如:表格、樹、數(shù)據(jù)庫事務(wù)控制、獲
26、取服務(wù)(EJB,本地)、提供監(jiān)控運行狀態(tài)、排查問題時查看調(diào)用哪些服務(wù)、服務(wù)運行狀態(tài)時間等。bce.jar:業(yè)務(wù)配置工具comframe30.jar:流程調(diào)度Easymem.jar:memcached相關(guān)omframe.jar:訂單框架oneframe.jar:pce.jar/pce-ext.jar:產(chǎn)品管理,提供接口給其他受理模塊調(diào)用。至于采取mem方式還是讀數(shù)據(jù)庫方式,就由Mperties控制secframe.jar:權(quán)限注:一般沒有權(quán)限提交lib下的Jar包。5.2. 分層開發(fā)規(guī)范Jsp>Action>Svr>DaoJsp>Svr>Da
27、oJsp>Svr>Svr>Dao禁止未經(jīng)過Svr直接訪問Dao(無事務(wù)控制或者取不到數(shù)據(jù)源),事務(wù)位于Svr層。獲取業(yè)務(wù)服務(wù)對象可以采用getService和getCrossCenterService兩種方式:普通服務(wù)對象獲取采用getService方法,對于涉及到跨中心數(shù)據(jù)操作訪問的服務(wù)對象獲取,必須使用平臺提供的getCrossCenterService方法,示例如下:ICommonSV commonSV = (ICommonSV)ServiceFactory.getService(ICommonSV.class);commonSV.saveOrdSoLogDataInf
28、o();比如:so1只能寫so1的數(shù)據(jù),so2只能寫so2的數(shù)據(jù)。但是有個公共中心,可寫so1和so2,可通過getcrosscenterservice獲得。getCrossCenterService方法在服務(wù)內(nèi)部禁止使用,必須在接口、web段或進程主程序中調(diào)用,使用方式如下: boolean flag = CrossCenterStoreHelper.isSameCenter(); /判斷是否同一個中心 if(flag)getService(); 5.3. 與其他層的交互規(guī)則 ACTION 層:1、不能調(diào)用DAO類,只能調(diào)用本package下的sv類2、禁止連接數(shù)據(jù)庫做任何操作3、禁止調(diào)用B
29、O類set、get、transfer外方法5.4. 業(yè)務(wù)模塊間調(diào)用原則上2個目錄的sv不能互相調(diào)用,假設(shè)res要提供接口給so調(diào)用,需要在res的teaminvoke目錄的out.service去定義接口做實現(xiàn)。然后so在teaminvoke里的in.service中引起來,in中引用的接口要確保是其他out中的接口。接口命名是務(wù)必按照規(guī)范命名,否則serviceFactory無法獲取到服務(wù)。所有的服務(wù)接口類必須拋出java.rmi.RemoteException異常。5.5. 其他注意事項業(yè)務(wù)邏輯層開發(fā)時,所有的服務(wù)接口類必須拋出java.rmi.RemoteException,因為在發(fā)布后
30、,sv會發(fā)布成EJB服務(wù),根據(jù)EJB規(guī)范要求,必須拋出RemoteException異常。import java.rmi.RemoteException;public interface IUserInfoFSV public IInsProdValue getInsProdByBillId(String BillId) throws Exception, RemoteException;需要注意的是,采用獲取數(shù)據(jù)庫連接方式,數(shù)據(jù)存取層在通過平臺提供的方法獲取到數(shù)據(jù)庫連接后,禁止對數(shù)據(jù)庫進行Commit和Rollback操作,另外,對于數(shù)據(jù)庫連接及通過數(shù)據(jù)庫連接創(chuàng)建的PreparedState
31、ment和ResultSet,必須在使用完畢后進行關(guān)閉,關(guān)閉在finally進行,按照ResultSet、Statement、Connection次序進行關(guān)閉,關(guān)閉時,需要進行對象是否為空以及是否已關(guān)閉的判斷,對象不為空且未關(guān)閉的情況下才可執(zhí)行。5.6. Sequence在base.cfg_id_generator中配置步長,如果在cfg_id_generator中配置了歷史表(HIS_TABLE_NAME),在修改當前表的時候會自動將數(shù)據(jù)同步到歷史表中去。配置的目的是放置ID浪費和沖突。5.7. 命名規(guī)范l Dao接口類名:*.erfaces.I*DAO實現(xiàn)類名:*.dao.i
32、mpl.*DAOImpl l Service接口類名:*.erfaces.I*SV,實現(xiàn)類名:*.service.impl.*SVImpl*的內(nèi)容必須對應(yīng)一致!l Action命名:*.*Action繼承:BaseAction方法聲明必須滿足格式(返回void,2個固定參數(shù),拋出異常,methodname任意):public void downLoadImsiFile(HttpServletRequest request,HttpServletResponse response) throws Exception;調(diào)用:一般是在jsp頁面上調(diào)用js方法PostAction
33、(url,xml)url字符串格式:context/business/Action全限定名?action=action_method如果對分中心有要求,還要加上"&CenterType=RegionId&CenterValue=“+regionId Xml: 由頁面標簽的js API生成,用于提供aitable,aiform的數(shù)據(jù)至Action。5.8. 工廠模式DAO與Service都是通過下面的API獲取實例:IDoneCodeSV doneCodeSV = (IDoneCodeSV) ServiceFactory.getService(IDoneCodeSV.c
34、lass); 5.9. 設(shè)置分中心在發(fā)送請求時設(shè)置中心 在調(diào)用PostInfo(url),aitable.refresh(cond)方法時,在url,cond上添加請求參數(shù)"&CenterType=RegionId&CenterValue=" + getRegionId();2. 在service層手動設(shè)置中心 CenterFactory.setCenterInfoByTypeAndValue(CenterConst.REGION_ID, "852");CenterFactory.setCenterInfoByTypeAndValue(C
35、enterConst.BILL_ID, "quot;);CenterFactory.setCenterInfoByTypeAndValue(CenterConst.ACC_ID, "accout id");CenterFactory.setCenterInfoByTypeAndValue(CenterConst.USER_ID, "user id");這種方法有個前提,必須在Action層調(diào)用以下方法來獲取service的代理對象: com.ai.appframe2.service.ServiceFactory.getC
36、rossCenterService(Class)5.10. 進程開發(fā)進程的實現(xiàn)類必須實現(xiàn)接口erfaces.Itask進程的配置表: SELECT t.* FROM base.cfg_task t ;5.11. 權(quán)限管理在權(quán)限管理模塊中,權(quán)限控制的主要有三個對象:菜單、實體、行為。而開發(fā)人員只需要關(guān)注菜單和實體就可以了。 1. 菜單配置表 SELECT t.* FROM sec.sec_function t; 2. 實體配置表 SELECT t.* FROM sec.sec_entity t; 在頁面添加權(quán)限
37、控制: <%String addBtn=String.valueOf(SecframeClient.checkEntityPermission(opId, ResConst.PHONEGROUP_IMSI_ADD_ENTITY, 2, true);%> 5.12. 國際化國際化配置表 :SELECT t.* FROM base.bs_i18n_resource t; 國際化調(diào)用方式 :頁面標簽的方式: <i18n:message>Js方式: crm_i18n_msg("SOC2001541")Java方式: CrmLocaleFactory.getR
38、esource("RSS0008053")mon.util.ExceptionUtil.throwBusinessException(String key, Object params)5.13. 開發(fā)流程需求接收:SCCB新CRM項目使用的是SVN版本控制,共有3個代碼分支: 開發(fā)分支: 33/svn/products/openboss/newcrm_gz RM分支: 33/svn/products/ob20_rm/openboss/newcrm_gz Release分支: 33/svn/
39、products/release/openboss/release_gz/開發(fā)分支提供給開發(fā)人員代碼共享、協(xié)同合作的環(huán)境,RM分支主要用于聯(lián)調(diào)環(huán)境的發(fā)布。 每月上線前12個禮拜會對開發(fā)分支和RM分支封碼,在此期間提交代碼需要發(fā)送申請郵件。在封碼的時候,會把RM分支的代碼全量更新到release分支,release分支主要用于發(fā)布UAT環(huán)境和生產(chǎn)環(huán)境。 5.14. 其他1. BCE(Business Creation Environment) 配置業(yè)務(wù)操作對應(yīng)的前臺展示、數(shù)據(jù)提交、數(shù)據(jù)解析、后臺處理等等。優(yōu)勢在于通過配置及模板生成頁面,減少編碼量,適合處理流程化,提供完整的業(yè)務(wù)視圖,方便業(yè)務(wù)的理
40、解和問題排查 2. BP提供文件批處理能力,最大支持單個文件10W記錄。 3. OmFrame 訂單管理框架,實現(xiàn)營業(yè)受理的產(chǎn)品訂購、產(chǎn)品退訂、產(chǎn)品變更等核心功能的產(chǎn)品化開發(fā) 還有comframe,exeframe等的框架,這些資源都可以在svn找到: 33/svn/doc/產(chǎn)品庫/新CRM項目/貴州新CRM項目/09.培訓(xùn)文檔 6. 單表代碼生成數(shù)據(jù)源選擇貴州party。7. 開發(fā)代碼常見問題7.1. 慎用ServiceManager.getSession().getNewConnection()舉例: AutoRollAccountTask.java原因:這種方
41、法只有在后臺需要另外起事務(wù)的時候才會使用,在APP層不要使用getNewConnection(),否則可能引起內(nèi)存泄漏,AppFrame不會接管這個連接,從而也不會自動關(guān)閉連接,需要在業(yè)務(wù)代碼中手工進行關(guān)閉。參考:Mybase新CRM業(yè)務(wù)資料代碼常見問題和示例AppFrame的getNewConnection()注意事項以及Oracle綁定變量的章節(jié)。7.2. 慎用BO*Engine.getBeansFromSql舉例:QReceivableDetailDAOImpl.java、CmSupportTypeEngine.java com.ai.appframe2.bo.DataStoreImpl
42、.retrieveByResultLevel(Connection aConn, String strSql, Map aParameterList, int resultLevel),發(fā)現(xiàn)DataStoreImpl里的stmt沒有在finally中關(guān)閉,因此需要用BO*Engine.getBeans來替代。 public static BOCmSupportTypeBean getBeansFromSql(String sql,Map parameter) throws ExceptionConnection conn = null;ResultSet resultset = null;tr
43、y conn = ServiceManager.getSession().getConnection();resultset =ServiceManager.getDataStore().retrieve(conn,sql,parameter);return (BOCmSupportTypeBean)ServiceManager.getDataStore().crateDtaContainerFromResultSet(BOCmSupportTypeBean.class,BOCmSupportTypeBean.getObjectTypeStatic(),resultset,null,true)
44、;catch(Exception e)throw e;finallyif(resultset!=null)resultset.close();if (conn != null)conn.close();7.3. 查看SQL執(zhí)行計劃一般使用綁定變量提高SQL執(zhí)行效率。Oracle語句解析時分軟解析和硬解析。7.4. 頁面的靜態(tài)引用和動態(tài)引用l 動態(tài)引用<jsp:include page=”included.jsp” flush=”true”/>會檢查所包含頁面的變化,可以帶參數(shù),適合用于包含動態(tài)頁面。l 靜態(tài)引用<%include file=”included.jsp”%>
45、;不會檢查所包含頁面的變化,適合用于包含靜態(tài)頁面。8. BCE視頻筆記參考:基礎(chǔ)類-8-BCE培訓(xùn)教材.pptx8.1. BCE 模型介紹Business Creation EnvironmentBCE:把功能點、業(yè)務(wù)、規(guī)則通過配置方式進行拼裝。BCE就前后臺串聯(lián)起來。業(yè)務(wù)系統(tǒng)的傳統(tǒng)開發(fā)與維護方式:老版本:如所有的業(yè)務(wù)辦理前都校驗用戶是性別從而提示對應(yīng)信息。業(yè)務(wù)變更、新開機等,老系統(tǒng)有些有公共查詢頭的可配置,沒有公共查詢頭的就需要硬編碼。新版本:若使用BCE,只要做一個規(guī)則,將規(guī)則配置到所有業(yè)務(wù)受理的功能上。頁面展示、業(yè)務(wù)規(guī)則、業(yè)務(wù)流程、數(shù)據(jù)保存、業(yè)務(wù)試圖。BCE:構(gòu)建業(yè)務(wù)組件(前臺頁面、后臺
46、流程、規(guī)則),將業(yè)務(wù)組件組裝成功能點。通過配置把不同的頁面拼湊起來,并且應(yīng)用不同的業(yè)務(wù)規(guī)則和業(yè)務(wù)流程,就組裝為一個功能點。頁面可以是一個頁面,可應(yīng)用到不同的功能點,規(guī)則也類似的。首先要實現(xiàn)原子業(yè)務(wù),比如:過戶、業(yè)務(wù)變更,代辦人信息等頁面可以公共,規(guī)則如檢查停開機狀態(tài)。BCE服務(wù)模板:組裝頁面、流程、業(yè)務(wù)規(guī)則,多個菜單可對應(yīng)到同一個模板。比如開戶,手機用戶開戶,固話客戶都走開戶,大致流程一樣,就可以把開戶做成一個模板,如果有細微差別,可通過特殊參數(shù)配置,如果寬帶開戶、手機開戶區(qū)別很大的話,就不適合。不同的功能點(不同的菜單)可以對應(yīng)同一個模板。頁面流程:把頁面竄起來形成流程規(guī)則框架:數(shù)據(jù):展現(xiàn)數(shù)
47、據(jù)、搜集數(shù)據(jù)業(yè)務(wù)過程:數(shù)據(jù)搜集后的后臺流程單點功能:增刪改查,單獨的一個功能,不需要多個頁面串聯(lián),就可使用該功能)版本控制:未使用入口:菜單、動態(tài)表單 模塊,頁面流程,規(guī)則框架,數(shù)據(jù),業(yè)務(wù)過程,單點功能,版本控制 入口:菜單,動態(tài)查詢 -> 頁面流程:頁面組,單個頁面 -> 規(guī)則事件:規(guī)則校驗,事件動作 -> 數(shù)據(jù)提交:數(shù)據(jù)或數(shù)據(jù)集 -> 數(shù)據(jù)解析:將前臺提交的數(shù)據(jù)轉(zhuǎn)換為后臺處理的對象 -> 后臺處理:業(yè)務(wù)過程,服務(wù)8.2. BCE處理流程業(yè)務(wù)規(guī)則校驗:初始化、事件觸發(fā)、提交校驗。轉(zhuǎn)變?yōu)橛唵未髮ο蠛缶妥吆笈_的處理流程。8.3. 核心模型實體模型描述 功能點BCE的
48、核心,配置業(yè)務(wù)操作對應(yīng)的前臺展示、數(shù)據(jù)提交、數(shù)據(jù)解析、后臺處理等一系列相關(guān)內(nèi)容 頁面流程 頁面框架 配置功能點前臺展示的一系列頁面及其組織方式、數(shù)據(jù)的提前、觸發(fā)的規(guī)則集等。一個頁面流程可被多個功能點公用。 頁面 規(guī)則框架 規(guī)則 具體的js及java規(guī)則所在的文件,方法,參數(shù)列表 規(guī)則集 定義一組規(guī)則的集合,以關(guān)聯(lián)到具體業(yè)務(wù) 規(guī)則集包含的規(guī)則 配置規(guī)則在某個規(guī)則集中的觸發(fā)方式,校驗類型(警告、拒絕),參數(shù),執(zhí)行順序等 數(shù)據(jù)集 配置提交時使用哪個方法獲取當前頁面的哪個數(shù)據(jù)集 單點功能 單點功能配置 配置要保存的數(shù)據(jù)集ID;訂單實例分別所在的數(shù)據(jù)源,BO;后續(xù)處理的流程或服務(wù) 字段映射 配置報文中的
49、字段與訂單實例的映射關(guān)系 自動頁面 配置DBGrid,DBForm,Tab頁,按鈕等的具體信息 功能點對應(yīng)到BCE_FRAMESELECT t.* FROM base.bce_frame t where bce_frame_id=50102;作用:把前臺頁面、操作、數(shù)據(jù)解析類、后臺處理流程配置起來拼裝到功能點。business_id:功能操作param_data:由于多個菜單可以對應(yīng)到同一個business_id,比如:普通用戶的用戶變更、固話用戶的用戶變更都對應(yīng)同一個business_id,但如果流程不一樣可通過param_data找到不同的處理流程。如Param_data:PROD_SPE
50、C_ID=271000000001即普通用戶的規(guī)格,也可定義其他參數(shù)標記。PAGE_FRAME_ID是頁面流程,標識某個業(yè)務(wù)包含哪些頁面。DATA_PARSER:將前臺提交的數(shù)據(jù)統(tǒng)一轉(zhuǎn)成后臺流程可處理的訂單大對象。DEAL_SERVICE:處理類,基本上不會有太大改變,一般很少用到。WORKFLOW_CODE:定義流程模板,即用什么流程模板處理業(yè)務(wù),有專門的流程模板工具(AppframeStudio)來拼裝流程。PRINT_TEMPLATE_ID:免責單打印模板IS_SAVE_ORDER_INFO:是否保存訂單明細,即前臺搜集信息是否保存到表里,如上線初期可打開來查找問題。頁面流程定義sele
51、ct * from base.bce_page_frame where page_frame_id=50080;FRAME_TYPE:表明式頁面還是平鋪式頁面。頁面流程關(guān)聯(lián)的子頁面select * from base.bce_page_frame_page where page_frame_id = 50080;頁面定義select * from base.bce_page;PAGE_RULESET_ID掛規(guī)則集IS_GET_PAGE_DATA標識是否需要取數(shù)據(jù),對應(yīng)數(shù)據(jù)集模塊規(guī)則集Select * from base.bce_ruleset;規(guī)則集可包含很多規(guī)則,一個頁面至多可掛一個規(guī)則集。
52、Java規(guī)則集:select * from base.bce_frame_java_ruleset_rel where bce_frame_id=10102 and state=1;規(guī)則集還可以針對整個bce_frame/功能點定義,上表也有個RULESET_ID。規(guī)則Select * from base.bce_ruleset_rule;規(guī)則集和規(guī)則定義之間的關(guān)聯(lián)關(guān)系,RULE_TRIGGER_TYPE觸發(fā)類型分為:1、2、3(初始化、事件觸發(fā)、提交校驗)。OBJ_NAME規(guī)則定義Select * from base.bce_rule;規(guī)則:JS規(guī)則、JAVA規(guī)則。RULE_TYPE標識規(guī)則類型。開始>初始化>業(yè)務(wù)規(guī)則(JS、JAVA規(guī)則),事件(業(yè)務(wù)操作、業(yè)務(wù)規(guī)則觸發(fā))基本上應(yīng)用JS規(guī)則。后臺提交時(JS、java規(guī)則),先定義規(guī)則,然后將多個規(guī)則定義到規(guī)則集中。數(shù)據(jù)集:配置提交時使用哪個方法獲取當前頁面的哪個數(shù)據(jù)集,配置哪些頁面需要搜集數(shù)據(jù)配置功能點(B
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地區(qū)經(jīng)濟發(fā)展規(guī)劃
- 電動汽車充電樁結(jié)構(gòu)
- 產(chǎn)品發(fā)布市場調(diào)研報告
- 民宿可行性報告
- 新能源汽車配送合作協(xié)議
- 技術(shù)交流平臺活躍度統(tǒng)計表
- 2025年度北京市房地產(chǎn)權(quán)證寄存與保管服務(wù)合同
- 新能源行業(yè)儲能技術(shù)與應(yīng)用推廣方案
- 生物質(zhì)顆粒燃料 河北
- 機械行業(yè)智能制造標準化與規(guī)范化方案
- 青島版科學(xué)(2017)六三制六年級下冊1-5《觸覺》課件
- 建筑用砂標準及特點-課件
- 部編版六年級語文下冊《語文園地三》優(yōu)秀課件
- 四年級數(shù)學(xué)思維訓(xùn)練社團活動(素質(zhì)拓展)電子教案
- 蒙古族文化課件
- 瀘州老窖股權(quán)激勵方案案例分析
- 火電廠廠用電系統(tǒng)與廠用電接線運行特點分析
- 部編版小學(xué)語文三年級(下冊)學(xué)期課程綱要
- _重大事故后果分析(精)
- 水泥攪拌樁施工監(jiān)理質(zhì)量控制要點
- 初級診斷師培訓(xùn)課程QC基礎(chǔ)知識
評論
0/150
提交評論