欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    U8API和U8EAI整合文档.docx

    • 资源ID:818718       资源大小:74.11KB        全文页数:16页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    U8API和U8EAI整合文档.docx

    U8API与U8EAI整合袁昌龙版本号:V810.0时间:2010-08-16版权所有:用友软件股份目录1 概述32 需求方案32.1 业务需求32.2 解决方案4现状分析42.2.2总体方案43 详细设计53.1 具体方案53.2 XML数据模板5传入数据5返回数据8批量操作93.3 U8API整合9转换为U8EAI模板9实现USAPIService适配器103.4 合同管理APl114 附录和参考111概述为适应U8allinone策略,实现U8产品线的业务整合,需要向U8CRM产品提供更全面更丰富的U8接口服务。然而在目前的情况下,现有的U8EAI还不足以支持复杂的业务功能,如单据的审核或弃审,并且并非所有的单据或档案在EAl中都具有“增删改查”的功能,如销售报价单就不具有任何的导入导出功能,而CRM却需要。纵观U8的另一个有力的二次开发产品U8API和插件,从功能上和U8EAI形成一定的互补关系,即U8EAI中所缺乏的功能基本上都可在U8API中找到,但U8API却缺乏一个和U8EAI一样的易用性比较高的统一调用入口。因此,为了实现U8和CRM的全面整合,并保留已有的统一接口调用方式,完成U8API与U8EAI的具体整合工作。2需求方案满足现有U8EAI做不到的业务单据操作,如销售报价单增删改,以及业务操作,如审核、弃审,将现有U8API的功能整合进U8EAI,将两者糅合在一起,形成功能互补,为企业应用集成和二次开发提供更强大的支持。2.1 业务需求.销售订单U8EAI中销售订单仅有新增和查询的导入导出功能,新增销售订单接口需提供修改、删除、审核、弃审四个功能。接口包括:> 新增/修改> 删除> 查询> 审核/弃审版本:872、8902 .销售报价单U8EAI不具有销售报价单的任何导入导出功能。新增销售报价单需提供增加、修改、删除、查询四个功能。接口包括:> 新增/修改> 删除> 查询版本:872、8903 .合同工作台U8EAI不具有“合同工作台”的任何导入导出功能。需提供“合同工作台”的新增、修改、删除、查询四个功能。接口包括:> 新增/修改> 删除> 查询版本:872、8902.2解决方案2. 2.1现状分析第一,以上是只是CRM提出的“现时的”具体业务需求,而这仅仅是一个开端。因为,在实际的使用过程中,会随着企业业务需求的不断变更,又会需要提供新的服务接口或需要提供新的业务字段,以满足企业业务的变化。也就是说,需要提供的接口服务是动态的,而非静态的,不会一成不变。第二,需要特别指出的是,U8EAI本身所提供的业务操作是不全面的,例如,缺乏两个个非常基础和常用的业务功能一一审核和弃审,且不谈U8EAT对所有现有的单据或档案接口支持“增删改查”服务,就是对U8本身所支持的功能也是不完备的。在与第三方系统(非U8)进行整合的时候,该需求尤为突出和棘手,因为需求常常紧迫需要很快完成,但是在短时间下无法很快从零开发完成一个从未有过的业务功能,同时完成这样的功能需要经过大量严格而全面的测试,而这样的测试又不是简单的UI测试,其难度和成本可想而知,所以常常无法解决而招致放弃。第三,在较为复杂的业务需求下,第三方系统一次请求的服务并非一个单纯简单的“原子粒度”的单据或档案“增删改查”服务,它可能需要一种较为复杂的业务流程,涉及一个较大范围的事务操作,需要多种单据或档案协同完成一件事,例如U8零售和分销系统上传零售日报先后流经U8销售、库存和财务系统需要相应单据一起才能最终完成零售日报的上传。而目前U8EAI是不支持这样一种“复合粒度”的业务操作的,简而言之,U8EAI难以方便快捷的支持应用扩展。从以上三点可以看出,U8EAI本身存在如下的“缺陷”:静态、封闭、不完备、不易扩展。但是,U8EAI本身的设计理念:所有服务定义一个统一的入口,该接口如此简单却又完备,却是非常值得肯定的,无论本地还是远程调用都是一件相当容易的事情。2. 2.2总体方案U8API是U872正式推出的一套U8功能服务调用标准API,以作为U8客户化应用开发或外部系统集成的基本资源。在功能上,与U8EAI呈现交集状态,某些单据或档案并没有在U8EAI中所提供,而是纳入到标准U8API中。因此,常常出现的情况是,在U8EAI中没有提供的功能,建议客户转由使用U8API实现,客户不得不从原先熟悉的U8EAI去重写学习U8API,因而常常询问使用方法,并且耗费可观的开发时间,还得维护一套新的代码。由于U8API是从封装原生的业务组件功能而来,故而对业务组件所提供的功能“天生”就是完备的。并且,很容易添加还没有开发的业务功能(只需要注册新的业务模块,找到业务组件,指定新的API服务即可),以及对现有标准APl的自定义扩展(只需要注册自定义API服务即可,在自定义API服务中可以复合已有的标准API并指定事务类型即可)。从上可知,U8API和U8EAI具有功能互补的特性,在现实环境下,只有这两者互相弥补、共同协作,才能又快又好的实现客户不断变更的业务需求,并提高二次开发的效率。因此,为了给伙伴、客开和行开,以及各类二次开发提供强大的后台支持,特提出U8API和U8EAI整合为一体的解决方案。这也是目前为止的一个最优解决方案,短期上是为了满足CRM业务需要,长期上,是为了整个U8的二次开发体系,使之更加完善。3详细设计2.1 具体方案解决方案:采用适配器(Adapter)模式将U8API进行封装并融入到U8EAI,对外由U8EAT提供统一的服务入口。首先,按照现有EAl格式设计一个通用的APl导入XML数据模板(Template)。然后,封装U8API调用,编写一个适配器组件(AdaPterCOmPOnent),并实现如下接口:PublicFunctionTransact(ByVa)sXmlAsString,ByRefoLoginAsObject)AsVariant,其中第一个参数即是表头和表体数据,第二个参数即是登录Login对象。通过该接口,U8EAI可以在运行时调用U8API服务。2.2 XML数据模板客户通过参照XML模板,填入相应的APl参数值,即可实现通过U8EAI统一调用接口调用U8API服务。设计XML数据模板是一个关键的问题,因为需要使之“通用”,能够通过一个XML结构囊括所有APl调用以及批量调用,并且“易用”,在使用的时候能够尽可能的简单方便,不要过于复杂,能够不需客户知晓的就不让用户知晓,尽量隐藏内部技术细节,同时还要足够“灵活”,同样的数据支持多种传递方式,支持多种传入APl参数的方式,并能易于扩展数据传递方式。3. 2.1传入数据U8API调用有通用的调用步骤,传入的数据主要分为三个部分:1)API地址API地址是指API在U8API系统中的唯一标识,也叫API的URI,通过该URI在调用过程中动态查找相应的物理APL<apiurlvalue=r'U8API/PurchaseOrder/VoucherSave"/>2)环境上下文环境上下文指在调用U8API时需要初始化的调用环境,包括Login>事务、特殊的业务参数等。环境上下文被初始化后,相关的环境参数会被业务APl使用。<context><paramname=hVoucherType"value="lr,datatype=,'int"/><paramname-'bAositive"value-'true"datatype=nbool"><paramname="sBillType"value=1"'datatype="string"><paramname="sBusType"value='jS5"datatype="string"><context>3)参数赋值API参数分两种类型:BO参数和普通参数。普通参数是指一般类型的参数,包括基本类型参数(String>Integer等)、知名对象参数(Connection>DOMDocument等)。<apiParams><paramname=nVoucherState"value="2"datatype="int"/><paramname=CurDom"datatype="IXMLDOMDocument2"/><paramname=',UserMode"value="0"datatype="int">apiParams>BO参数即单据表头或表体类型的参数。对BO参数,支持两种方式传入,一种传BO对象,另一种传DoM对象。-<bo>-<headtype="bo"discription="表头只能有一行”><fieldname=',ivtid"value="8173,*/><fieldname="ufts"ValUe="6667.4946"/><fieldname="poid"value=""/><fieldname=",cbustype"ValUe="普通采舸/><fieldname="cpoid"value="0000000060"/><fieldname="dpodate"ValLle="2008-03-28TOO:00:00"/><fieldname=Idiscounttaxtype"value="0"><fieldname=',crnaketime"value="2008-03-28T15:57:39.200000000"><fieldname="cexch_name"ValUe="人民币"><fieldname="cmaker"value="demo"><head>-<bodytype="bo"discription="表体可以有多行”><fieldname="id,'value=""row="0"><fieldname="poid"value=""row="O"><fieldname="cinvcode"value="010102"row=nO"><fieldname="cinvname"value="R"row="O"><fieldname-'!quantity"value="10"row="O><fieldname=',darrivedate"value=,2008-03-28T00:00:00"row="O"><fieldname=,editprop"value="M"row="O"><fieldname="id'value=""row="l"><fieldname="poid"value=""row="l"><fieldname="cinvcode"value="010102"row="l"><fieldname-,cinvnarne"Va山e='R丝钉"ow="1m><fieldname="iquantity"value="10"row="l"><fieldname="darrivedate,'ValUe="2008-03-28ToO:00:00"row=,l"><fieldname=,editprop"value="A"row="1"><body><bo>-<bo>-<domHeadtype="dom,>-<!CDATA<s:dataXnIlXis:xsurn:schenias-niicrosoft-com:rowsec><z:xowxmlns:Z-nIRowsetScheniai

    注意事项

    本文(U8API和U8EAI整合文档.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开