谈谈企业级应用的自定义 UI 创建和集成方法一览

这篇具有很好参考价值的文章主要介绍了谈谈企业级应用的自定义 UI 创建和集成方法一览。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

笔者在掘金社区上已经发布了一些技术文章,记录了自己工作于企业级前端应用几年以来积累的一些项目经验和教训。

之前的文章关于企业级 Web 应用搜索引擎优化 Search Engine Optimization 的一些工作经验分享已经提到,所谓企业级前端应用,是指为大型企业或组织开发的前端应用,这些应用具有超过一般 2C 软件的技术复杂度,高度定制化和可扩展性,因为企业级前端应用程序,通常需要满足企业特定的业务需求和技术要求,因此除了实现业务需求之外,还必须具备强大的性能、可扩展性、安全性和可维护性。在企业级前端开发中,开发者需要面对大规模数据处理、复杂的业务逻辑、多模块协同工作等挑战。

Extensibility 是企业级 Web 应用需要满足的 Product Standard 之一。因为 2B 领域用户的复杂度远超 2C,很多时候都会出现 Web 应用的标准功能,无法满足企业客户千差万别的业务需求。此时 Web 应用需要能够给企业级用户提供自定义 UI 的灵活度,这就是 Extensibility.

本文笔者给大家分享自己在企业级软件开发领域工作十余年,积累下来的一些自定义 UI 创建功能的设计和实现思路。

本文以 SAP CRM,SAP Cloud for Customer,SAP Fiori 和 SAP 电商云 Spartacus UI 这四种 SAP 产品里用到的 UI 开发技术来举例说明,在这些 SAP 产品里,当合作伙伴完成自定义 UI 组件开发之后,如何将其配置到对应的 UI Frame 中去。

SAP CRM

当我们使用 WebClient UI 完成一个 SAP CRM UI Component 开发后,可以在开发工具里点击 Test 按钮预览其外观:

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

预览结果如下:

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

大家把上图和下图通过 SAP CRM 登录页面访问的产品明细页面进行比较,不难发现 SAP CRM UI Frame 的身影,即下图红色高亮区域,形如一个颠倒的大写字母 L.

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

SAP CRM UI Frame 里,按照实现功能的不同,又分为不同的子区域,其中业务用户几乎每天都会访问到的是工作中心(Work Centers) 和工作中心视图(Work Center Views),二者是业务用户使用 SAP 系统的入口所在。

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

下面是一些自开发的 UI Component 配置到 SAP CRM UI Frame 之后的效果图:

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

SAP Cloud for Customer

在 SAP C4C 里使用 Cloud Application Studio 和 UI Designer 以所见即所得的方式完成新的 UI 组件开发。下图是 SAP C4C Sales Order 搜索页面的实现组件,Sales Order OWL(Object Work List)的开发界面,其 ID 为 COD_SAKESORDER_OWL:

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

该 UI 组件运行时同样被嵌入到 SAP C4C UI Frame 之中,下图左边绿色区域为 SAP C4C UI Frame 的一部分,包含了工作中心和工作中心视图的入口。

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

运行时我们浏览器里打开上图 Sales 工作中心,访问 Sales Order 工作中心视图,在 Chrome 开发者工具里能够观察到该容器组件的路径:

/BYD_COD/SalesOnDemand/SalesOrder/UI/COD_SALESORDER_WCVIEW.WCVIEW.uiwocview
谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

按照该路径到 UI Designer 里查看,果然发现该工作中心视图里包含了 COD_SAKESORDER_OWL 这个 UI 组件。

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

因此,在 SAP C4C 里,要将一个组件纳入 UI Frame 的最直接办法,就是将其分配给一个工作中心视图。

除此之外,将自定义 UI 组件添加到 Embedded Component,再使用 UI 增强方式,将后者嵌入到 SAP C4C 其他标准 UI 组件里,也能达到同样的目的。

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

SAP Fiori

SAP Fiori UI 并没有采用工作中心和工作中心视图的概念,来作为用户访问 SAP UI5 应用的入口。

开发人员使用 Business Application Studio 或者 Visual Studio Code 等开发工具完成 SAP UI5 应用开发之后,需要将其配置到 Fiori Launchpad 上,最终用户才能通过点击 Tile 的方式访问到这些组件。Tile 和 SAP UI5 应用具有一一对应的关系。

以 SAP CRM Fiori 为例,点击 Launchpad 某个 Tile 比如 My Opportunities 时,SAP UI5 框架向后台 Gateway 系统发起的第一个 INTEROP 请求,就是询问该 Tile 对应的 SAP UI5 应用信息:

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

该请求的响应数据里,包含了此 SAP UI5 应用在 Gateway 系统中的存储路径,如下图所示:
谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

在 SAP S/4HANA Fiori Launchpad 里,这个请求返回的响应,包含了被点击的 Tile 对应的 SAP UI5 应用更多的明细。

比如我们点击 Service Contract Issues 这个 Tile:

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

在响应数据里,能查看该 SAP UI5 应用基于的 OData 服务名称,以及 SAP UI5 应用的 ID:F4032
谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

根据此 ID 进行查询,能得到该 SAP UI5 应用的更多技术和配置细节:

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

SAP 电商云 Spartacus UI

SAP 电商云 Spartacus UI 基于 Angular 开发,在 Angular Route 框架的基础上做了一层路由封装,该封装层即本文一直讨论的 UI Frame.

如果我们绕过该 UI Frame,直接将一个自定义的 Angular Component,通过 Angular RouterModule 将该组件纳入到 Spartacus 路由体系中去,然后通过配置好的路由路径访问该组件,结果会如何呢?

我们在 Spartacus 应用里配置一条新的路由路径:当路由路径更改为 jerry 时,会触发到 JerryComponent 的路由。

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

下图是 SAP 电商云 Spartacus UI 默认的 homepage:

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

在地址栏 URL 尾部输入 jerry,回车,会看到一个很丑陋的页面。上图 homepage 里包含的语言和国家下拉列表,购物车图标,登录用户名,SAP Logo 等元素统统消失了。

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

究其原因,是因为该 Angular 组件 JerryComponent 并没有被纳入到 SAP 电商云的 Spartacus UI Frame 中去。

Jerry 之前已经介绍过,SAP 电商云 UI 采取 CMS 驱动的方式设计,因此我们要想新建一个自定义页面,需要先在 Commerce Cloud 后台系统里创建一个 CMS Content Page,然后为该 CMS 页面创建一个对应的 Angular 组件。

我们可以在 SAP Commerce Cloud Backoffice 里,或者在 SmartEdit 里,或者通过在 HAC 里导入 Impex 的方式,创建新的 Content Page:

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

上图的 Impex 内容为,创建一个 Content Page,id 为 jerryOrderPage, 分配给页面模板 AccountPageTemplate,页面 label 为 /my-account/jerry-order. 后者会作为 Spartacus UI 路由路径使用。

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

继续为该页面创建 ContentSlot 和 JerryOrderComponent,并将后者分配给新建的 ContentSlot 去。

最后,在 Spartacus 中新建 Angular Component,并映射到上述刚刚在 SAP Commerce Cloud 后台创建的 CMS Component,即完成了自定义 UI 创建的完整步骤。

谈谈企业级应用的自定义 UI 创建和集成方法一览,SAP UI5,Angular,Fiori,ui,SAP,思爱普,Fiori,SAP UI5

这个自定义 UI 在 SAP 电商云 Spartacus UI 中显示效果如下,可以观察到期望的 UI Frame 又回来了。

总结

本文以 SAP CRM,Cloud for Customer 和 Commerce Cloud 三款企业级 Web 应用为例,详细介绍了当客户发觉这些Web 应用的标准功能无法满足自己实际业务需要时,如何能够将自己二次开发的定制 UI 集成到原先标准的 Web 应用中去。文章来源地址https://www.toymoban.com/news/detail-770006.html

到了这里,关于谈谈企业级应用的自定义 UI 创建和集成方法一览的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 企业级信息系统开发——Spring Boot加载自定义配置文件

    设置项目元数据 添加项目依赖 设置项目编码为utf8(尤其注意复选框) 在 resources 下创建 myconfig.properties 文件 在 net.shuai.boot 包里创建配置类 config.StudentConfig 点开测试类 ConfigDemo01ApplicationTests 编写测试方法,注入学生配置实体,创建 testStudentConfig() 测试方法,在里面输出学生

    2024年02月07日
    浏览(47)
  • 企业级docker应用注意事项

    现在很多企业使用容器化技术部署应用,绕不开的docker技术,在生产环境docker常用操作总结。参考:https://juejin.cn/post/7259275893796651069 在docker hub 官方 使用后面带有 DOCKER OFFICIAL IMAGE 标签的镜像,有更好的安全性保障。 默认使用 latest 标签,拉取最新镜像,镜像稳定性以及兼容

    2024年02月15日
    浏览(46)
  • Mysql 数据库开发及企业级应用

    1.1、为什么要使用数据库 ​ 程序员 Jack 还是在在校学习期间, 就听高年级的大哥忠告, “ 小伙子, 搞编程, 想要成为最牛逼的程序员, 一定要学好 C/C++语言和数据结构及算法” , Jack 谨记了这句忠告, 因为这位高年级的哥们还没毕业就已经被 BAT 公司预定, 在学校那是

    2024年02月16日
    浏览(51)
  • Kafka在企业级应用中的实践

    前面说了很多Kafka的性能优点,有些童鞋要说了,这Kafka在企业开发或者企业级应用中要怎么用呢?今天咱们就来简单探究一下。 Kafka 提供了一个可靠的消息传递机制,使得企业能够将不同组件之间的通信解耦,实现高效的异步处理。在企业级应用中,可以通过以下步骤来使

    2024年02月11日
    浏览(43)
  • 【分布式应用】ELK企业级日志分析系统

    目录 一、ELK 简介 1.1 ELK各组件介绍 ElasticSearch: Kiabana: Logstash: 1.2 可以添加的其它组件: Filebeat: 缓存/消息队列(redis、kafka、RabbitMQ等): Fluentd: 1.3 ELK、ELFK、EFLKL 二、为什么要使用 ELK 三、完整日志系统基本特征 四、ELK 的工作原理 五、ELK集群部署 实验环境: 实验步

    2024年02月14日
    浏览(44)
  • Stable Diffusion 从入门到企业级应用010

    本文是《Stable Diffusion 从入门到企业级应用实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》的第0414篇 利用Stable Diffusion ControlNet 法线贴图模型精准控制图像生成。本部分内容,位于整个Stable Diffusion生态体系的位置如下图黄色部分所示:        

    2024年02月10日
    浏览(35)
  • 分布式应用:ELK企业级日志分析系统

    目录 一、理论 1.ELK  2.ELK场景  3.完整日志系统基本特征 4.ELK 的工作原理          5.ELK集群准备 6.Elasticsearch部署(在Node1、Node2节点上操作) 7.Logstash 部署(在 Apache 节点上操作) 8.Kiabana 部署(在 Node1 节点上操作) 二、实验          1.Elasticsearch部署(在Node1、Node2节点上

    2024年02月14日
    浏览(42)
  • Java企业级开发学习笔记(4.4)Spring Boot加载自定义配置文件

    创建 Spring Boot 项目 单击【创建】按钮 在 resources 里创建 myconfig.properties 文件 设置文件编码 设置学生的四个属性值 在 cn.kox.boot 包里创建config子包,在子包里创建 StudentConfig 打开自带的测试类 ConfigDemo01ApplicationTests 注入学生配置实体,创建 testStudentConfig() 测试方法,在里面输

    2024年02月08日
    浏览(48)
  • Ant Design:企业级 UI 设计语言和 React 库 | 开源日报 No.88

    Stars: 87.9k License: MIT Ant Design 是一个企业级 UI 设计语言和 React UI 库。 为 Web 应用程序设计的企业级 UI。 提供一套高质量的开箱即用的 React 组件。 使用可预测静态类型编写 TypeScript 代码。 包含完整的设计资源和开发工具包。 支持数十种语言国际化支持 基于 CSS-in-JS 实现强大

    2024年02月04日
    浏览(46)
  • Java EE 企业级应用开发教程题库(第二版)

      Java EE这是一门偏向于实践的课,奈何考试理论居多。一学期想搞懂三个框架,嘿嘿,难哦!如果你是大一大二的同学,认认真真学习,真的有用。如果你是大三的同学,像就业并且走这个方向的同学,也认真学习。如果你大三考研的同学,自己安排时间。这里是我平时的

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包