您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 新一代应用服务框架介绍
服务框架设计思路第五届思特奇论坛typedefint(*TFuncBusiness)(utype*inParam,utype**outParam,TErrInfo*errInfo);服务框架设计目标–uType•灵活性,–支持简单数据类型–支持复合数据类型–支持树状数据类型。•高效性–原始数据类型VS字符类型»原始数据类型无需转换,可直接在utype上运算。–位置解析VS名字解析utypeintstringutypedoublestringutypestringstringstring–自定义组件•组件vs函数–组件接口统一,可灵活互换。–基于组件实现通用模板、流程定制、开发自动化。–函数接口固定,通用性差。•自定义组件vs标准组件–自定义组件,不依赖第三方,可灵活定制,专业性强,轻量简洁。第五届思特奇论坛服务框架设计目标12服务框架编码演示3Q&A4服务框架设计思路第五届思特奇论坛iCRM系统技术架构业务功能原子服务展现层数据存储外部接口数据访问技术组件业务逻辑引擎服务生成器内存管理文件管理进程管理通讯组件协议三户客户接触产品帐务资源营销服务开通通用市场管理产品管理营销管理渠道管理客户管理客户服务帐务管理资源管理合作伙伴管理………………PROCOTL平台组件服务调用BUFFER管理…………utypeUtype序列化XML……数据路由第五届思特奇论坛函数1函数3函数4函数2函数5函数对业务逻辑封装不完整,无法作为完整的业务逻辑复用。服务程序与平台相关。服务程序嵌套调用效率低,难以复用。传统的开发模式第五届思特奇论坛业务组件2业务组件1业务组件3业务组件1业务组件m业务组件n服务程序框架,屏蔽平台相关处理,屏蔽平台差异,完全剥离业务逻辑和平台相关处理。专注业务逻辑,填空式开发业务组件完整地业务逻辑封装,提高组件复用度业务组件可本地调试,通过后部署到远程中间件平台,方便测试提高开发效率。新一代应用服务框架的开发模式第五届思特奇论坛新一代应用服务框架的技术路线演进业务组件utypeutype操作界面uType序列化uType序列化外部系统XML统一数据流Utype序列化,统一中间件buffer支持C/JAVAuType接口支持XML解析第五届思特奇论坛新一代应用服务框架的业务组件分层SERVERSERVICEBP(BusinessProcess)BC(BusinessComponent)所有业务集中在BC/BP,Server/Service不能有逻辑第五届思特奇论坛服务框架设计目标12服务框架编码演示3Q&A4服务框架设计思路第五届思特奇论坛新一代应用服务框架的编码演示BC(BusinessComponent)使用自动生成BC的命令:hostname$autoBCuser/passwd@dbbcnamesqltextin_mrowsout_mrows•BCBody•intcGetSysDate(utype*inParam,utype**outParam,TCtrlInfo*errInfo)•{•DBUG_ENTER(cGetSysDate);•uGetStr(inParam,0);UCHECKIN(-1,failureingetthe0thparameter!);•DBUG_PRINT(info,(inParam[0]=[%s],uGetStr(inParam,0)));•*outParam=uInit(0);UCHECKOUT(-2,Initpointerof[*outParam]failure!);•try{•otl_nocommit_streamsm_cGetSysDate(10,selectto_char(sysdate,:dateFormatchar[21+1])fromdual,*db);•//DBUG_PRINT(sqltext,(selectto_char(sysdate,:dateFormatchar[21+1])fromdual));•sm_cGetSysDateuGetStr(inParam,0);•......•}•catch(otl_exception&p){......}•catch(...){......}•//UCLEARERROR();•//DBUG_RETURN(0);•return0;•}•BCComments•/*•*authorliab/author*version1.0/version•*since1.00/since•*summary系统时间函数/summary•*paramindex=0name=@:dateFormattype=input•*/param•*returns-1:failureingetparameterofARRAY[cols][rows]!/returns•*•*example•*•*intret_code=0;•*•*utype*pcGetSysDate_in=NULL;•*utype*pcGetSysDate_out=NULL;•*•*pcGetSysDate_in=uInit(0);•*pcGetSysDate_out=uInit(0);•*•*uSetStr(pcGetSysDate_in,0,uGetStr(inParam,0));UCHECKIN(-1,failureingetthe0thparameter!);•*ret_code=cGetSysDate(pcGetSysDate_in,&pcGetSysDate_out,errInfo);•*uSetStr(*outParam,0,uGetStr(pcGetSysDate_out,0));•*•*uFree(pLoginFav_in);•*uFree(pLoginFav_out);•*•*if(ret_code!=0)•*{•*USETERROR(104,错误信息);•*return错误代码;•*}•*/example•*/业务组件2业务组件1业务组件3业务组件1业务组件m业务组件n第五届思特奇论坛新一代应用服务框架的编码演示BP(BusinessProcess)通过BP模板,将BC通过有机的组合,即可整合与业务有关的BP。BC2BC1BC3BC1BCBC按预定的业务规则制定BP模板,填入BC。第五届思特奇论坛新一代应用服务框架的编码演示SERVICE通过SERVICE模板,将BP/BC进行逻辑封装即可。Service生成器,自动生成Service代码Usage:autoSVC.shsvc_name•Servicebody•#includeallBCP.h•#includeallSVC.h•classTs004:publicTTUXSVC{•public:•Ts004(constchar*iSvcName):TTUXSVC(iSvcName){inParam=NULL;outParam=NULL;errInfo=NULL;}•virtualvoidrun();•};•voidTs004::run(){•//编写业务逻辑•return;•};•voids004(TPSVCINFO*transb){•Ts004pubSVC(s004);•TTUXSVC*pSVC=&pubSVC;•intobufLen=0;•char*obuf=NULL;•pSVC-init(transb);•try{•pSVC-run();pSVC-close(&obuf,&obufLen);•db-commit();•}•catch(otl_exception&p){•……•}•tpreturn(TPSUCCESS,0,obuf,obufLen,0);•}重载Tsvc_name::run()方法。直接填写BC或BP调用即可。第五届思特奇论坛新一代应用服务框架的编码演示SERVER通过Server模板,填写需要发布的Service,然后发布即可。•Serverbody•#includetuxhead.h•#includeallBCP.h•//otl_connect*db;•//otl_connect_db;•tpsvrinit(intargc,char**argv)•{•OCIEnv*envhp;//OCIenvironmenthandle•OCISvcCtx*svchp;//OCIServicecontexthandle•intretcode;//returncode•printf(RtestServertpsvrinit\n);•retcode=spublicDBLogin(NULL,NULL,RTestServer,LABELDBCHANGE);•……•db=&_db;•otl_connect::otl_initialize();//initializeOCIenvironment•db-rlogon(envhp,svchp);//attachtotheprimaryPro*C/C++connection•return0;•}•voidtpsvrdone()•{•db-logoff();•spublicDBClose(LABELDBCHANGE);•}•voids004(TPSVCINFO*transb);填写需要发布的Service。重新发布Server即可。第五届思特奇论坛服务框架设计目标2服务框架编码演示3Q&A服务框架设计思路41第五届思特奇论坛ThankYouMerciGrazieGraciasObrigadoDankeJapaneseEnglishFrenchRussianGermanItalianSpanishBrazilianPortugueseArabicTraditionalChineseSimplifiedChineseHindiTamilThaiKoreanQuestions?
本文标题:新一代应用服务框架介绍
链接地址:https://www.777doc.com/doc-1593266 .html