SAP S4CRM和C四C的技术比较
如果您对SAP S/4HANA for Customer Management(以下简称S4CRM)和SAP Cloud for Customer(以下简称C4C)不甚熟悉,那我建议您可以先浏览我之前写的这两篇微信公众号文章。
- SAP的这三款CRM解决方案,您能区分清楚么
- Hello World, S/4HANA for Customer Management 1.0
发布了这两篇文章之后,我在后台收到很多朋友的留言,询问S4CRM和C4C相比较的各种问题。因此我写了这篇文章,统一作答。
Jerry受家中长辈影响,从小就是一个三国演义迷,小学还未毕业,罗贯中的三国演义就已读过无数遍了。幼时也曾缠着长辈追问诸葛亮和周瑜谁在智力上更甚一筹,直到初中时我入坑“暗荣”发布的三国志V, 才从游戏中找到了答案。
为了写这篇文章,Jerry又一次打开了玩了无数次的三国志V。好吧,周大都督智力值只比诸葛丞相低1点,但是武力值高18点。一代儒将,文武双全,“曲有误,周郎顾”,名不虚传。
大学毕业参加工作后不久,又赶上真三国无双V的发布。
这部毁誉参半的作品在我这个三国迷看来却称得上又一款神作,虽然该作品也有很多我想吐槽的地方,比如周大都督的兵器居然和孙大圣的一样,而赤壁之战周公瑾借此在世界军事史以弱胜强的著名战例中留下浓墨重彩一笔的“火计”,居然分配给了陆逊这个小说中我非常讨厌的家伙,然后补了一个和赵云一样的技能“神速”,囧。不过瑕不掩瑜,我又是玩的不亦乐乎,以至于在很长的几年时间里,我的很多论坛账号的头像都是用的下图这种:
诸葛亮和周瑜这对人物,无论是在三国演义书中,还是在数不清的以三国为题材的电脑游戏里,各自都有大量的粉丝。如果要问谁更优秀,在Jerry看来这个问题本身就很荒谬,两人在蜀和吴担任的角色不同,这根本没有可比性。不过要问Jerry更喜欢哪一个,答案毫无疑问是诸葛丞相,毕竟作为一个土生土长的成都人,而且在武侯区又住了那么多年。
为了避免这篇文章成为三国游戏介绍杂文,让我们言归正传。
Jerry在S/4HANA for Customer Management(以下简称S4CRM)和Cloud for Customer(以下简称C4C)开发团队都工作过,这篇文章给出这两款产品一些技术层面的比较。
下图是我原创的表格。
注:表格中S4CRM指2018年2月28日发布的1.0版本。
部署方式
这一差异显而易见,本地部署和云端部署的区别导致了表格里其他比较项目的差异。
SAP标准UI开发方式
S4CRM和C4C的UI虽然看起来都是Fiori风格,但实现技术不同。
S4CRM的标准UI采用的仍然是SAP CRM WebClient UI技术,只不过SAP WebClient UI团队的开发同事们巧妙地设计了一系列CSS,并且对WebClient UI的框架做了一些调整(所谓的”Visual Harmonization”), 使得其视觉效果和体验接近于原生的Fiori应用。
如果看到一个界面风格和原生Fiori应用很类似的UI,您不能判定该UI到底是基于WebClient UI还是SAP UI5,可以打开Chrome开发者工具,倘若能找到下图红色区域所示的CRM Application Frame和带有/bc/bsp的ICF路径,则该UI是基于WebClient UI开发的。
如果在Sources标签页内能看到加载了下图所示的UI5库文件,说明该UI是基于SAP UI5开发的。
当然也可以安装我的博客Chrome Development Tool tips used in my daily work提到的UI5 Inspector:
安装之后在Chrome开发者工具会多出一个名为UI5的标签页,如果一个UI基于SAP UI5,则该标签页会显示对应信息,否则显示空白。
而C4C的标准UI则是基于SAP UI Designer和SAP UI5协作而成的。C4C标准UI也符合著名的“二八定律”,即80%的标准UI布局类似,只是呈现的业务数据有差异。例如下图红色区域我们称之为工作中心(Work Center),蓝色区域为工作中心视图(Work Center View),绿色区域称为Object Work List。
C4C里不同的应用尽管功能各异,但用户都是通过工作中心-工作中心视图-OWL这个统一的方式去访问。为了避免开发此类布局基本类似的UI模型造成的重复劳动,我们使用UI Designer,以所见即所得的方式开发UI模型。
例如Tickets这个视图里的OWL基于的UI模型名称可以通过Chrome开发者工具找到: /BYD_COD/ServiceOnDemand/AgentQueue/SEOD_Ticket_SADL_OWL
该模型在UIDesigner里打开如下图所示。我们首先从UI控件工具箱里拖拽出一个表格控件放到该模型UI区域,再指定该表格需要显示哪些列,并维护每列需要显示Ticket这个Business Object上哪些字段的内容。
在UI Designer里开发的UI模型保存之后,在ABAP后台以XML的格式存储。运行时这些UI模型的内容被读到C4C前台,通过C4C UI框架翻译成SAP UI5控件渲染给终端用户。
对于UI Designer技术上不能支持的剩下20%的需求,我们仍然会采用原生的SAP UI5开发。比如下图这种地图和C4C标准UI的集成,就是成都SAP研究院的C4C开发团队通过SAP UI5实现的。