今天我们不说技术也不说设计,我们闲聊一下SAP B1,其实对于我这样一个门外汉来说,B1我是完全不懂的,但最近由于工作上的需要,也出于自己的一些兴趣,硬着头皮看了一些有关的B1的文档,总结出以下几点:
B1 SDK
B1的随行安装包中提供有能够进行二次开发的SDK工具包,提供的API主要分布在两个Namespace,分别为SAPbouiCOM和SAPbobsCOM,它们提供的功能分别是:
- SAPbouiCOM用来操作B1 Client UI,也就是我们平常所说的UI API,通过该命名空间下的API接口能够做什么呢?
- 粗略看来,在该命名空间下提供了丰富的interop接口,日常工作状态下,人类用鼠标可以操作的,似乎在该命名空间下都有相应的接口,比如打开一个PO,删除一行line,修改某个Comments等
- 此外除了可以操纵B1 Client以外,在该命名空间下,还内建了一些B1标准UI Controls,它们可以用来创建与B1 Client风格一致的UI界面
- 那么SAPbobsCOM,也即DI API,它又是用来干什么的呢?
- 我们知道任何UI的操作,最终是去操作data,无论是direct还是rpc,DI API封装了能够支撑B1 Client运行的所有业务逻辑,实际上,我们通过UI API去操作B1 Client,在其背后便是UI API去调用DI API来执行。
- 这便给了我们足够的能力,通过DI API来构建不同的服务或应用程序,比如在B1安装包中所附带的B1 Integration Framework,它对于B1的支持便是利用DI API来实现。
演示
下面通过一个简单的例子,来加深大家对于B1 SDK的理解。它使用了UI API来创建与B1 Client风格一致的用户界面,如果想自由定制,可以阅读我的另一篇文章(B1i Daily Issue Resolver它通过DI API创建了一个与B1 Client有相似功能的登陆界面),似乎如果你有足够的耐心,你能够通过DI API构建另一个B1