U8API开发手册
作者:袁昌龙 版本号:V810.0 时间:2010-02-23
版权所有:用友软件股份有限公司
1.简介
U8API是为U8客户化应用开发提供的一套标准化的U8ERP业务编程接口。是U8UAP二次开发体系的重要组成部分。它包括一整套涵盖U8ERP采购、销售、库存、制造(规划中)、财务(规划中)、基本档案(规划中)等业务模块的API接口资源。U8API的推出为U8标准产品更好的适应用户的个性化需求,更好的实现客户化交付提供了有力支持。
U8API按照U8ERP业务产品模块进行分类,并以U8主要业务实体(单据、档案、凭证)作为操作对象,提供了常用的基本操作。比如:对于库存的收发单据,提供“新增”、“审核”、“弃审”、“删除”、“装载”、“修改”六个API接口。目前,U8API提供了供应链采购、销售、库存三个产品的所有单据的增删改、审核/弃审等API接口,后续版本会逐步将制造、财务、基本档案等模块的API纳入进来。
U8API通过“U8API资源管理器”对U8范围内所有API进行集中统一分类管理,形成了一套完整的U8API资源库。U8API的使用者可以使用“U8API资源管理器”浏览、查看API及其接口定义,并可辅助进行代码生成(目前支持C#和VB语言);API的开发者可以通过此工具发布、注册API,所有业务API都必须在“U8API资源管理器”中进行注册。
U8API还提供了一套运行时调用框架——U8APIBroker。它是所有U8API的调用代理,用户要使用某个API只需调用U8APIBroker即可,无需直接访问真正的API。U8APIBroker作为一个服务代理中间件,起到了隔离API的提供者与使用者的作用,降低了耦合依赖关系。
U8API与U8EAI接口从功能上看比较相识,但它们的特性有差别。U8API采用传统的编程模型,更靠近底层,业务逻辑粒度更细,而且还需要或依赖一些特定的上下文环境,比如:login、事务等;而U8EAI接口则是完全松耦合的,采用XML和请求/响应的消息传递模式,且业务粒度比较粗放。这些特性的差别决定了它们的应用领域不同,U8API更适合于U8内部的功能扩展和客户个性化开发,而U8EAI则适合外部系统与U8之间以业务数据交换为特征的应用集成开发。
2.API应用
2.1. API总体应用过程
2.1.1 API浏览查找
在“开始”->“程序”->“用友ERP-U8”->“UAP”目录下找到“U8API资源管理器”,单击,登录,进入“U8API资源管理器”。在左侧 “U8API” 树形节点下,找到某某模块,如“库存管理”模块(可以看到下面列有很多个单据,如盘点单、采购入库单等),展开要操作的单据,分两个子节点:“事件”和“服务接口”,在“服务接口”下可以看到该单据提供的API接口,如“添加新单据”、“审核单据”等。双击这些节点出现该API的详细描述,如下图2.1所示。在节点上右键单击弹出“上下文菜单”,在“代码示例”菜单项上弹出下一级子菜单,单击它们,如单击“VB代码示例”则可以看到调用该API的VB示例代码,如下图2.2所示。直接拷贝这些代码,然后在集成开发环境(IDE)中编辑和编译这些代码,即能实现调用U8标准API。利用这些代码示例时,请按照其中每一步骤的提示说明正确操
作,如添加必要的引用、按照自动生成的代码填入正确的参数等。正确使用则可以调用成功,否则会返回详细的错误信息。
以下代码中均以VB为例, C#语言请具体查看对应的C#代码示例部分。
图2.1 接口描述
图 2.2 代码示例
2.1.2 API调用过程 ? 组件引用
针对两种语言,需要引用不同的组件。 (1)VB:
%U8SOFT%\\UFMOM\\U8APIFramework\\UFIDA.U8.U8APIFramework.
tlb、%U8SOFT%\\UFMOM\\U8APIFramework\\UFIDA.U8.MomServiceCommon. tlb、%U8SOFT%\\UFMOM\\U8APIFramework\\UFIDA.U8.U8MOMAPIFramework. tlb、
添加Microsoft XML v3.0引用 如下图2.3、2.4所示。
(2)C#:
%U8SOFT%\\Integererop\\Integererop.U8Login.dll、
%U8SOFT%\\Integererop\\Integererop.MSXML2.dll、%U8SOFT%\\UFMOM\\U8APIFramework\\UFIDA.U8.U8APIFramework.dll、%U8SOFT%\\UFMOM\\U8APIFramework\\UFIDA.U8.MomServiceCommon.dll、%U8SOFT%\\UFMOM\\U8APIFramework\\UFIDA.U8.U8MOMAPIFramework.dll 如下图2.5、2.6、2.7所示。
其中,%U8SOFT%表示U8-872的安装目录。
图2.3 添加对U8API框架类库引用(.tlb)
图2.4 添加Microsoft XML v3.0引用