SAP 前端技术的演化史简介
Jerry之前曾经写过一篇微信公众号文章,题目叫<<SAP UI和Salesforce UI开发漫谈>>
关注我的公号“汪子熙”后,在历史菜单“前端开发相关”里即可找到这篇文章:
该文章简单回顾了SAP UI技术的发展历史,然后提了下Salesforce的Apex和Lighting Component等技术和框架。
目录
SAP UI
SAP GUI + Dynpro
Web Dynpro
BSP/CRM WebClient UI
SAP UI5/Fiori
UI5 in SAP Cloud for Customer
Hybris Enterprise Commerce Platform
Salesforce UI
Apex
Lightning Experience
Aura Framework
Lightning Component Framework
Visualforce
我也画了张简单的图:
R1和针对于大型机的R2对我们来说实在太古老了,对我们来说,只能通过SAPGUI里的复古主题,即Classical Theme来体验一下这些老古董的外观风采。
到了1992年出现了类似JSP技术的BSP(business server page),能够借助在服务器端执行的ABAP语言实现动态网页效果。
在运行时,每个BSP页面会自动生成一个临时的ABAP类,执行这些BSP页面上嵌入的ABAP代码,执行的结果再渲染成原生的HTML代码。
值得一提的是,BSP技术兼容普通的HTML/JavaScript应用,换句话说,几乎所有能运行在除Netweaver以为的web服务器上的基于HTML/JavaScript的web应用,也能以BSP为载体,运行在Netweaver上。因此,即使是如今SAP的旗舰级产品S/4HANA里的很多Fiori UI应用,也是以BSP应用为载体存储在Netweaver上的。
比如S/4HANA物料主数据管理的Fiori应用,其名称在Chrome开发者工具里能看到:
这个BSP应用在Netweaver上能找到:
诞生于1992年的BSP技术到了今天还在服役,这本身就是一个奇迹了。当然它本身由于历史原因也有一些局限:
- 开发效率不够高,没有类似后来UI5里控件库的概念,导致开发人员需要重复造很多轮子。SAP后来自己也发布了一些BSP Extension,类似JSP里的tag,以此来弥补开发效率的缺陷。
另外BSP的开发工具在SAPGUI里只有事务码SE80,这个工具在做HTML和JavaScript开发时显得不够友好。因此后期SAP Fiori开发也采取了在本地现代IDE比如Eclipse里做开发,完毕后再上传到Netweaver自动生成BSP的方式。
- 没有MVC的概念,在大型企业级应用开发中显得力不从心。
正是由于暴露了这两个缺陷,促成了WebUI和Webdynpro的问世。对这两种前端技术的详细介绍,请参考Jerry之前提到的微信文章:SAP UI和Salesforce UI开发漫谈,这里不再重复,只是聊聊一些该文章中没有提过的内容。
ABAP Webdynpro的亮点就是能够以所见即所得的方式进行UI界面开发,缺点是不再支持类似BSP那样兼容传统的HTML/JavaScript,因此无法实现某些对界面复杂度和交互性要求较高的需求。
而WebUI在继承了BSP所有优点的同时,在BSP基础上提供了对MVC的封装,使得开发效率大大提高,同时开发出来的Web应用结构清晰,不再会出现一个视图页面几千行代码的情况。
下图是一个典型的WebUI模型,MVC三层在workbench里有清晰的界定。
WebUI和ABAP Webdynpro至今仍广泛应用于SAP产品中。在S/4HANA的CRM模块里,WebUI继续扮演着非常重要的角色,详情请阅读我下面这篇文章:Hello World, S/4HANA for Customer Management 1.0
而Webdynpro,是SAP SRM UI开发的主流技术。
搜索公网上所有使用了SAP BSP技术的网站:
https://www.google.com/search?q=inurl:/sap/bc/bsp/&gws_rd=ssl
使用了Webdynpro的:
随着时间的推移,用户对移动设备上访问网页的体验要求越来越高,因此有了SAP从业者现在很熟悉的前端技术:SAP UI5。
关于UI5最新的技术发展方向,请关注我的公众号“汪子熙”,阅读我写的这篇文章:
Fiori Fundamentals和SAP UI5 Web Components
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关文章
- 【华为云技术分享】云小课 | SAP扩容实战
- 【华为云技术分享】云小课 | SAP HANA高可用之实战演练
- 关于将本地 SAP UI5 应用配置到本地 Fiori Launchpad 的技术实现深入讲解试读版
- 授人以渔 - 如何自行查询任意 SAP UI5 控件属性的文档和技术实现细节试读版
- SAP UI 搜索分页技术
- 什么是 SAP ABAP FDA - Fast Data Access 技术?
- SAP ABAP Development Tool 如何设置黑色主题
- SAP CRM Enterprise Search 培训材料
- 一个 SAP 开发工程师十余年的技术写作之路回顾
- SAP 电商云 Spartacus UI 如何在应用程序里捕捉到成功下单的事件
- 安装 SAP Spartacus 3.0 并使用B2B功能
- SAP Spartacus All Units页面里的按钮style和对应的scss实现
- 关于 SAP Enterprise Portal 的前后端技术栈
- 不懂技术有机会进 SAP 吗?
- SAP Cloud for Customer 技术概述
- 如何下载SAP Cloud for Customer UI技术模型的XML源代码到本地
- SAP CRM点了附件的超链接后报错的处理方式
- SAP成都研究院2018年总共87篇技术文章合集
- SAP S/4HANA CDS View的访问控制实现:DCL介绍
- 自开发Web应用和SAP Customer Data Cloud Identity服务的集成
- SAP 业务技术平台(BTP) 上的 Business Rules Service 使用介绍
- 在SAP分析云里利用词云技术显示大段文本里的关键词
- SAP Fiori 应用 Adapt UI 动态显示或者隐藏的技术设计细节解析
- SAP CDS view生成的OData服务对CRUD(增删改查)的支持
- SAP 前端技术的演化史简介
- 【华为云技术分享】云小课 | SAP容灾一点通
- 【华为云技术分享】云小课 | SAP S/4HANA高可用之实战演练