课程地址很多SAP从业者反映openSAP上的视频由于网络原因无法访问,我会继续发到我个人微信“王子熙”上面,把这些视频放上中文字幕发布,敬请期待。本文为公开课第二单元视频中文字幕,人工翻译由我自己完成。感谢您的支持。第二单元内容:解释FioriElementsArchitecture以下是视频台词的中文翻译。====欢迎来到OpenSAPFioriElements公共课程第一周的第二单元。在本单元中,我们将讨论FioriElements的架构。SAPFioriElements一般分为五个主要组件,它们共同构成了运行时看到的应用程序:(1)Floorplans;(2)OData服务;(三)备注;(4)配置;(5)自定义代码下图左边第一个图例表示Floorplan,例如AnalyticalList或ObjectPage,由FioriElements框架提供。Floorplan负责控制应用程序的显示模式和行为。第二和第三部分是OData服务和注解,需要应用开发者维护两者的结合,这样应用开发者就可以在不使用JavaScript编程的情况下确定屏幕上显示的具体内容。相反,借助OData和注解,我们提供的实际上是语义和行为的抽象,意味着应用开发者可以专注于业务功能、行为和消费方式的设计。当然,如果你想改变Floorplan的行为或者引入额外的逻辑,FioriElements的灵活性也足够FioriElements应用。提供了两种增强方式:无代码配置(no-codeconfiguration)和自定义代码扩展(customcodeextensions)。让我们深入讨论这五个组件,并从框架提供的Floorplan向我们介绍。平面图可以想象成蓝图或模板。平面图定义了许多占位符。每个占位符包含一个控件,例如过滤器、工具栏、表格控件等。Floorplan描述了此页面上用户的所有可能选项。功能和行为例如,当用户单击表格行项目时,用户可以导航到详细信息页面,或跳转到外部应用程序。这些行为的描述保存在Floorplan中。一旦FioriElements应用程序启动,框架的Floorplan处理器就会接管初始化控制。该框架结合了应用程序开发人员提供的OData和注释,将Floorplan转换为最终的SAPUI5视图Floorplans及其控件包含许多功能。这里有些例子。用户可以对控件进行个性化设置,创建不同的变体(variants),共享页面或为页面设置书签。您可以使用Excel导出和导入功能。只要后台OData服务支持,用户也可以修改或创建数据,或触发ActionsFloorplans也是响应式的,这意味着根据用户的设备或屏幕,Floorplans会显示不同的内容最后但同样重要的是,FioriElements支持SAP产品标准本机支持如果您开发的FioriElements应用程序不包含任何自定义代码,则它已经是开箱即用的企业就绪应用程序,无需额外费用。应用完之后,我们再看看需要为FioriElements应用开发提供哪些构建块。首先,每个FioriElements应用程序都需要OData。OData是一个建立在标准HTTP之上的协议,它定义了如何与后端Behavior交换数据OData包含了数据模型的元描述,定义了模型实体和属性,以及它们之间的关系。OData不仅支持描述模型标准的增删改查,还支持触发Actions和调用函数。OData本身有一个强大的功能查询语言这种语言允许客户端查询优化的读取请求,过滤和搜索数据,聚合或限制数据。OData可以告诉客户,目前支持和限制的操作都是基于标准的OData协议,SAP对其进行了扩展,引入了Draft概念,FioriElements也很好地支持Draft概念,有了Draft概念,我们可以构建更专业、更动态的应用,比如保留修改后的草图模型,以后还可以继续编辑在Draft的支持下,我们可以将编辑后的模型保持在草稿状态,保存起来供以后进一步编辑,甚至可以切换到另一个不同的设备。目前OData主要有两个版本,V2和V4。4是V2的演进版本,不仅包含了新的功能,而且是ISO认可的OASIS标准FioriElements可以充分发挥ODataV4的优势,SAP也非常注重维护的稳定性和一致性两个版本之间的Floorplan样式和布局。OData还允许应用程序开发人员注释元数据,这是一个很酷的功能。通过这种方式,应用程序开发人员可以描述框架应该如何解析和呈现数据。一些示例使用注释,我们可以指定金额字段和货币字段,这两个字段在语义上是相互从属的。例如,向显示字符串内容的字段添加额外的语义:该字段只能显示有效的电子邮件地址。有了这些注解,框架就知道如何呈现具有正确外观的字段注解,并且还可以定义行为。比如指定一个BusinessObject是否可以编辑注解,也可以给出消费提示(Consumptionhints),比如某个字段是否允许点击。您可能会问,如何创建数据OData服务和注释?首先要强调的是,FioriElements支持任何符合OData规范的后台服务,但是如果可以使用SAP后台,只需要简单的鼠标点几下就可以快速创建OData服务云应用程序编程模型(CAP)和RestfulABAPProgrammingModel(RAP)这两种编程模型都可以将CDSView自动发布为OData服务,并且都支持在CDSView定义中写入注解即使是传统的ABAP编程模型,我们仍然可以提供带有SAPGateway和注解的类(AnnotationProviderClass)开发OData服务如果注解是OData服务不可或缺的一部分,我们称之为后端驱动注解(backend-drivenannotations)。但是后端提供的注解是可选的,我们也可以使用local在注解文件中提供需要的注解,或者两者结合。在组合工作模式下,本地注解会在Term字段级别覆盖后台的注解。本地注释在应用程序项目中。创建并遵循应用自身的生命周期我们可以使用本地注解来实现后台无法提供的注解功能或者满足使用同一个OData服务实现多个应用变体的需求有时我们使用OData服务提供者注解服务不能根本不提供,此时本地注释更有效。我们已经了解到Floorplans使用元数据和注释来确定在页面上呈现哪些控件。可选配置或示例在ListReportFloorplan中,我们显示一个表控件。您可能知道,SAPUI5提供了多种类型的表控件。根据我们目前的UX设计指南,ListReportFloorplan中默认选择了ResponsiveTable,但是如果你想在ListReport中使用其他类型的UI5表格控件,你可以使用FioriTools加上配置使它易于实现FioriElements提供了很多这样的配置项。这些配置不是语义层面的,而是基于具体的应用。这就是为什么选择Table控件类型的功能不作为注解,而是通过我们提供的配置,甚至为这个配置提供了分层(Layering)设计。假设我们要将表格控件类型更改为GridTable。然而,一些用户在平板电脑和手机上访问该应用程序,而ResponsiveTable在这些移动平台上显示效果更好。好的。在这种情况下,管理员或KeyUser仍然可以通过配置将表类型恢复为ResponsiveTable。如前所述,FioriElements提供了大量的UI模式和功能,以及适用于大多数业务用例的特性(通用)当然,作为一个框架,FioriElements不可能提供所有的开箱即用的支持行为和设计的类型。在这种情况下,应用程序开发人员仍然可以编写自定义代码并将其集成到FioriElements应用程序中以删除这些自定义项。代码需要应用程序开发人员在FioriElements项目中的特殊位置编写,例如在ObjectPage中添加一个新的section,在表格中添加一个新的列,在工具栏中添加一个新的Action按钮等。通过使用SAPFioriElements提供的构建块,我们可以快速进行扩展开发,同时仍然在整个应用程序中保持一致的外观和感觉,但我们不会拥有100%的灵活性,也无法在屏幕上的任何位置添加新控件这种“限制”也保证了即使因为SAP版本升级导致屏幕布局发生变化,我们的自定义内容也能始终可用。即SAP版本升级不会影响应用中的自定义UI内容。这个原则也适用于我们写在一些Hooks上的自定义代码,比如当用户试图在像beforeSave这样的hook上保存文档时,FioriElements提供了所谓的ExtensionsAPI。这是一个方法集合,可用于编写自定义代码,例如当表格行项目被点击时,使用ExtensionsAPI获取被点击的行项目中包含的业务数据。需要注意的是,编写扩展代码也是有成本的。应用程序开发人员负责编写自定义代码,因此他们还必须确保这些代码功能的正确性和稳定性,尤其是在升级之后,并且必须确保这些自开发代码符合所有SAP产品标准。本单元的介绍即将结束。简单总结和展望下一个单元的学习目标。在本单元中,我们讨论了使用FioriElements开发企业就绪(Enterprise-Ready)程序的五个组成部分。框架提供的floorplans定义界面内容的展示和呈现2和3是OData服务和注解,由应用开发者提供,负责定义应用展示的内容和提供的业务功能4和5是可选配置和自定义开发功能,这两者都允许我们微调FioriElements应用程序(微调)并扩展本课程的下一个单元,第3单元,我们将深入讨论OData服务和注释。感谢观看本视频,下单元见====OData服务将您的FioriElements应用程序UI与后台数据源连接起来,OData服务提供商包括SAPS/4HANA、SAPBusinessWarehouse、SAPBusinessTechnologyPlatform和其他外部OData服务提供者。OData注释,用于确定Fiori元素的外观和行为。例如,控制可以单击哪些字段以及可以编辑哪些字段。同时OData注解可以提供更多的语义信息——OData元数据的语义信息,比如:哪些字段可以让用户唯一标识一个业务实体定义字段A是字段B的货币单位,几个字段要组合在一起显示一种形式在ABAP平台7.5及之后的版本中,我们可以采用CoreDataServices来实现OData服务。在SAPBTPABAP编程环境中,除了SAPFiori的ABAPProgrammingModel,我们还可以选择RestfulABAPProgrammingModel和CloudApplicationProgrammingModel进行OData服务开发。SAPFioriElements提供了基于SAP最新UX指南的默认配置项,使用SAPFioriTools可以轻松修改这些配置。SAPFioriElements应用程序自定义控件的扩展手段使用SAPFioriElementsExtensionAPI提供的自定义逻辑Jerry更多原创文章在这里:《汪子熙》:
