从OData Service到SAPUI5一站式开发指南(SAP FIORI全栈开发)

前言

今年可以说是SAP FIORI达到了井喷式的发展,越来越多的人开始关注的SAP FIORI的动向,作为SAP开发的自身爱好者,前言技术的分享这,我从2013年开始涉足SAP FIORI 领域,并开发了众多的FIORI应用,今天给大家分享一下,传统的SAP FIORI开发我们通常要做哪些步骤。

后台数据库

对于传统的ECC系统, 之前做过很多都是Any DB, 其实前端(SAPUI5应用)不管如何更改,如何维护,最终的归宿都在SE11创建的数据库表中,所以我们需要对数据库表的创建和维护有一个清晰的认识,比如以下一些常用的TCODE:

*SE11 创建Domain structure Data Element Table. 
*SE16N 查看数据 
*SM30 维护表数据 
。。。。。。

等等。

OData服务

能够把SAP 数据transfer到其他应用或者系统的,我们通常会用PI 或者Gateway的方式,这两者都可以用OData的方式实现,但是应用比较多的还是OData Gateway这部分,我们所有的数据传输以及交互都是通过OData进行的。

其实OData是一个开源的数据协议, 定义了数据传输的标准和规范,比如filter, expand等等,在Gateway中都有相应的实现方式。

通常情况下,我们都会有一下几种服务:

  1. Create (创建一条记录, 对应的HTTP method 为post)
  2. Update (更新一条记录, 对应的HTTP method 为put)
  3. Read (读取一条记录, 对应的HTTP method 为get)
  4. Query (读取一组记录, 对应的HTTP method 为get)
  5. Delete (读取一组记录, 对应的HTTP method 为delete)

(注明:以上只是标准的实现方式,实际应用中会更加灵活,比如我们也可以使用post进行数据删除!)

SAP Cloud Connector

SAP Cloud Connector是SAP 推出的一个基于JVM(java虚拟机)的中间代理服务器,负责On premise系统和SAP Cloud之间建立一个连接,能够让云端的服务和on premise建立信任和连接。

SAP Cloud Connector的下载我们可以从SAP Cloud Platform 上下载到。

Destination.

SAP Cloud Platform Destination 是我们用SAP WEB IDE开发必须要了解的一个文件,实际开发过程中,无论测试和产品,访问服务的Host都是不同的,这回引起一个同源跨域的问题(CORS),所以我们通常会使用 Destination解决这个问题。 
Destination可以是连接 on premise 的connector,也可以是internet的web service 或者OData service.

SAP WEB IDE

对于SAP FIORI 全栈的学习,我们需要通过一整套的测试demo了解整个增删改查的流程,这其中包括(OData 对增删改查的实现), SAPUI5应用创建不同的页面,同时实现真实OData数据的绑定,以及添加,编辑等操作。

这里我们会使用SAP WEB IDE做相应的演示,和大家一起共同学习!

目标人群

本分享主要针对以下学员: 
1. 了解ABAP, 但是不懂FIORI前端开发的铜须; 
2. 了解SAPUI5前端,但是不了解SAP后台(OData service); 
3. 前后台都了解一些,但是不知道整体的开发和整合流程是什么。

视频分享http://edu.csdn.net/lecturer/board/6410

时间: 2024-08-30 04:40:48

从OData Service到SAPUI5一站式开发指南(SAP FIORI全栈开发)的相关文章

web全栈开发工程师的趋势、价值

随着技术的发展.用户量的增加.客户端种类变多,每一个小小的细节都需要优化和考虑.在海量的访问量面前,也许改变一个按钮的位置和颜色就能影响上千万次的用户体验.如今的互联网产品已不是以一己之力就可以完成的乐高积木了,Web开发需要以某种可控的方式来管理.于是,所有认真对待互联网产品的大公司都引入了流水线开发流程,在这条流水线上诞生了多个非常专业的职位. 1. 岗位需要"T"型人才 要求你不仅"一样精"更要在"一样精"的基础上"百样通&quo

腾讯-全栈开发-1面

腾讯-全栈开发-1面 2020/03/20 21:30-11:00 在上次后台开发一面挂了以后,今天抱着侥幸心理改了投递为Web前端开发.但结果来面的是应用开发(现在叫全栈开发).其实都无所谓了,Web前端开发和全栈开发哪个来今天都是挂. 面试开始: 面试官先跟我聊项目,我说了很多关于业务和需求方面的东西,这些他还是挺满意的. 但是聊到技术上的时候,我就可以慌张了. 确实最近没再看校车项目,里面一些实现也忘了差不多了.难点如何解决的也不记得了.所以说以后一定要养成记录和写blog的习惯,要是当初

发现自己就是个全栈开发工程师

回头看来,发现自己干过不少的事.不过目前专注于机器学习,深度学习方面,发现这才是自己的兴趣所在,如无意外,将长期专注于这方面. 机器学习,深度学习相关经历: 1 玩过基于HOG特征的行人检测,分别在JAVA,OPENCV,CUDA做个实验: 2 玩过TLD,研究过C++版本的源代码: 3 用C++实现过卷积神经网络的基础框架,含CPU版本和GPU版本(cuda实现): 4 研究过caffe卷积神经网络的源代码: 5 在coursera上过andrew ng的机器学习的课程: WEB开发经历: 1

实习模块vue+java小型全栈开发(三)

实习模块vue+java小型全栈开发(三) --dx 背景 首先,先给自己一个答案:这篇博客我定义为(三),因为之前的两个模块页面,内容都是一样的,但是被改了几次需求,就一直拖着没有上传. 今天是真正意义上的全栈开发,用的都是当前市面上的最新的框架前端是vuejs,后端springBoot全家桶,知识点很全,而我正好勉强的把前端知识赶完,然后进行的这次模块开发,并且这次模块开发给了我很大的惊喜. 全栈果然很神奇. 模块简介:点击考勤之后,调到一个页面,完成这个页面的所用功能. 完成之后的页面:我

《从芯片到云端:Python物联网全栈开发实践(刘凯著)》pdf

?? 链接: https://pan.baidu.com/s/1V--A49YSmvQ5Je6ot9d4zQ 提取码: sgeu 总体而言,在环境偏向浮躁的当下,作者这本书还是充分体现出工程师的严谨与认真,不失为一本佳作. 这本书从立意到内容在当下都不可多得.既有关物联网开发,又结合python实践.在写作意图上,作者更试图通过python一种语言贯穿物联网开发的各个环节. 内容简介 · · · · · · 物联网开发重新定义了“全栈开发”的范围.Python作为一门快速发展的语言,已经成为系统

未来物联网全栈开发 —— JavaScript OR Python?

物联网开发涉及面庞杂,开发周期长,所以我们必须寻找一种覆盖面广的编程语言和方法. JavaScript 支持 HTTP 和 JSON .支持函数式编程.可提供交互式环境等特点堪称适用于物联网全栈开发: Python 作为一种胶水语言,可在物联网及嵌入式系统中承担大量任务,并部分替代以上语言. ??物联网是新一代信息技术的重要组成部分,也是"信息化"时代的重要发展阶段,不太清楚的可以看上篇文章<IoT领域的故事.经历.技术实战>,正所谓语言无国度,无论是 Js 还是 Pyth

Python全栈开发【基础三】

Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 6 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 总结使用函数的好处: 1.减少代码重用 2.保持一致性,易维护

Python全栈开发【第一篇】:初识Python

Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与while循环练习题 基本数据类型前引 Python 的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton Python的Java实现,Jython会将Pyth

Python全栈开发

Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大,但是理解起来有些困难,因此我尽量用最简单的例子一步步的说明这个原理. 1.不带参数的装饰器 假设我定义了一个函数f,想要在不改变原来函数定义的情况下,在函数运行前打印出start,函数运行后打印出end,要实现这样一个功能该怎么实现?看下面如何用