新一代应用服务框架介绍_第1页
新一代应用服务框架介绍_第2页
新一代应用服务框架介绍_第3页
新一代应用服务框架介绍_第4页
新一代应用服务框架介绍_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

新一代应用服务框架介绍CRM-PD2李爱斌神州数码思特奇信息技术股份有限公司2008年04月07日

服务框架设计目标12服务框架编码演示3Q&A4服务框架设计思路typedefint(*TFuncBusiness)(utype*inParam,utype**outParam,TErrInfo*errInfo);服务框架设计目标uType灵活性,支持简单数据类型支持复合数据类型支持树状数据类型。高效性原始数据类型VS字符类型原始数据类型无需转换,可直接在utype上运算。位置解析VS名字解析utypeintstringutypedoublestringutypestringstringstring自定义组件组件vs函数组件接口统一,可灵活互换。基于组件实现通用模板、流程定制、开发自动化。函数接口固定,通用性差。自定义组件vs标准组件自定义组件,不依赖第三方,可灵活定制,专业性强,轻量简洁。服务框架设计目标12服务框架编码演示3Q&A4服务框架设计思路iCRM系统技术架构函数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_mrowsBCBodyintcGetSysDate(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,:dateFormat<char[21+1]>)fromdual",*db);//DBUG_PRINT("sqltext",("selectto_char(sysdate,:dateFormat<char[21+1]>)fromdual"));sm_cGetSysDate<<uGetStr(inParam,0);......}catch(otl_exception&p){......}catch(...){......}//UCLEARERROR();//DBUG_RETURN(0);return0;}BCComments/**<author>liab</author>>*<version>1.0</version>*<since>1.00</since>*<summary>系统统时间间函数数</summary>*<paramindex="0"name="<@:dateFormat>"type="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业务组件nCOPY新一一代代应应用用服服务务框框架架的的编编码码演演示示BP((BusinessProcess))通过过BP模模板板,,将将BC通通过过有有机机的的组组合合,,即即可可整整合合与与业业务务有有关关的的BP。。BC2BC1BC3BC1BCBC按预预定定的的业业务务规规则则制制定定BP模模板板,,填填入入BC。。新一一代代应应用用服服务务框框架架的的编编码码演演示示SERVICE通过过SERVICE模模板板,,将将BP/BC进进行行逻逻辑辑封封装装即即可可。。Service生生成成器器,,自自动动生生成成Service代代码码Usage:autoSVC.shsvc_nameServicebody#include<allBCP.h>#include<allSVC.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#include<tuxhead.h>#include<allBCP.h>//otl_connect*db;//otl_connect_db;tpsvrinit(intargc,char**argv){OCIEnv*envhp;//OCIenvironmenthandleOCISvcCtx*svchp;//OCIServicecontexthandleintretcode;//returncodeprintf("RtestServertpsvrinit\n");retcode=spublicDBLogin(NULL,NULL,"RTestServer",LABELDBCHANGE);……db=&_db;otl_connect::otl_initialize();//initializeOCIenvironmentdb->rlogon(envhp,svchp);//attachtotheprimaryPro*C/C++connectionreturn0;}voidtpsvrdone(){db->logoff();spublicDBClose(LABELDBCHANGE);}voids004(TPSVCINFO*transb);填写需要要发布的的Service。重新发布布Server即可。。服务框架架设计目目标2服务框架架编码演演示3Q&A服务框架架设计思思路41ThankYouMerciGrazieGraciasObrigadoDankeJapaneseEnglishFrenchRussianGermanItalianSpanishBrazilianPortugueseArabicTraditionalChineseSimplifiedChineseHindiTamilThaiKoreanQuestions?9、静夜四无邻邻,荒居旧业业贫。。1月-231月-23Friday,January6,202310、雨中黄叶叶树,灯下下白头人。。。01:09:4901:09:4901:091/6/20231:09:49AM11、以我独沈久久,愧君相见见频。。1月-2301:09:4901:09Jan-2306-Jan-2312、故人江海别别,几度隔山山川。。01:09:4901:09:4901:09Friday,January6,202313、乍见翻疑梦梦,相悲各问问年。。1月-231月-2301:09:4901:09:49January6,202314、他乡生生白发,,旧国见见青山。。。06一一月20231:09:49上午午01:09:491月-2315、比不了得就就不比,得不不到的就不要要。。。一月231:09上上午1月-2301:09January6,202316、行动出成成果,工作作出财富。。。2023/1/61:09:4901:09:4906January202317、做前前,能能够环环视四四周;;做时时,你你只能能或者者最好好沿着着以脚脚为起起点的的射线线向前前。。。1:09:49上上午1:09上上午午01:09:491月-239、没有有失败败,只只有暂暂时停停止成成功!!。1月-231月-23Friday,January6,202310、很很多多事事情情努努力力了了未未必必有有结结果果,,但但是是不不努努力力却却什什么么改改变变也也没没有有。。。。01:09:4901:09:4901:091/6/20231:09:49AM11、成功就是是日复一日日那一点点点小小努力力的积累。。。1月-2301:09:4901:09Jan-2306-Jan-2312、世间间成事事,不不求其其绝对对圆满满,留留一份份不足足,可可得无无限完完美。。。01:09:4901:09:4901:09Friday,January6,202313、不知知香积积寺,,数里里入云云峰。。。1月-231月-2301:09:4901:09:49January6,202314、意志坚坚强的人人能把世世界放在在手中像像泥块一一样任意意揉捏。。06一一月20231:09:49上午午01:09:491月-2315、楚塞三三湘接,,荆门九九派通。。。。一月231:09上午午1月-2301:09January6,202316、少年十五五二十时,,步行夺得得胡马骑。。。2023/1/61:09:5001:09:5006January202317、空山新雨后后,天气晚来来秋。。1:09:50上午1:09上上午01:09:501月-239、杨杨柳柳散散和和风风,,青青山山澹澹吾吾虑虑。。。。1月月-231月月-23Friday,January6,202310、阅读读一切切好书书如同同和过过去最最杰出出的人人谈话话。01:09:5001:09:5001:091/6/20231:09:50AM11、越是没有本本领的就越加加自命不凡。。1月-2301:09:5001:09Jan-2306-Jan-2312、越越是是无无能能的的人人,,越越喜喜欢欢挑挑剔剔别别人人的的错错儿儿。。01:09:5001:09:5001:09Friday,January6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论