Skip to Content

根据大家的反馈,openSAP决定在正常的课程中间增加额外的一部分,介绍一些其他的东西,比如马上即将release的SPS06的新特性。SAP HANA几乎每一个SP都会带来一些令人兴奋的重要特性,能够了解SPS6的特性再好不过了。不过,好吧,我也没有SPS06的系统,没有办法实际操作了。这里我就总结一下我认为比较重要的改进功能点。

开发体验

这里面最重要的一点是我们可以从HANA的lifecycle manager创建一个新的XS应用,而HANA会帮我们将一个XS应用所需要的基础工作做好。
比如我们前面学到的,创建xsapp xsaccess文件,创建项目使用的SCHEMA,创建必要的role。

115

27

此外,我们在HANA Repository里面浏览对象,如果想查看具体内容,哪怕是一个文本文件也必须要checkout才行。而SP6以后我们可以双击打开,以只读的模式查看,这是很方便的。

基于网页的IDE

116

SAP在SP6引入了两个基于网页的IDE,一个是轻量级的叫做HANA IDE lite,一个是功能完整的HANA Web-based development workbench。后者可以认为是网页版的HANA Studio。第一个lite版本适用于快速的创建,更改,测试。最里面我认为最酷的功能是开发完毕以后可以模拟在网页、android、ios上运行。而功能完整的development workbench不但可以开发还可以debug,而有一个我认为很棒的功能是有一个视图可以让我们浏览HANA产生的log和trace文件。
有了这两个基于网页的IDE,快速的修改和调试应用更加容易了。

在试用以前我看到的一个可以改进的地方是当出现了错误的时候,错误信息在右上角一闪而过,甚至在你还没看清错误内容的时候它就消失了。我想这个错误信息应该是让用户手动关闭的。

CDS – core data services

117

好吧,又一个data services,不过这跟EIM的DataServices可没什么关系,只是可以预见到未来当你想搜索一些跟EIM DS相关的内容后时,会有干扰项了。

还记得前面介绍HANA XS开发时,我们可以通过文件的方式.hdbtable来定义HANA的表。CDS是这种方式的一个升级版。软件世界就是这样,抽象,再抽象,总是有在某一种方式之上的另一种更加抽象的定义出现。CDS目前在SP6以定义语言的功能出现,也就是说帮助开发者定义底层数据之间的关系,以一种更加高级、抽象的方式。未来,它还可以是查询语言和表达式语言。等到它的功能延伸到那儿时我们在看看到底如何使用。在SP6它可以替代以前的.hdbtable。

基础表的定义是最底层的,而对于开发者来说,我们需要的是建模,根据真实业务需求建立模型。目前CDS依然是以编写文本的方式,但是未来会引入图形化方式。怎么样,似乎一下子豁然开朗了,知道它的作用了吧。

这是CDS的语法以及激活后生成的HANA表。你们感受一下。

28 36

Server Side Javascript外向连接

在SPS05里,我们看到的XSJS主要是接收请求提供数据的作用,而SPS06提供了一个新的功能可以使XSJS向外发送请求获取数据。这里举的例子是XSJS接收用户的请求用户名,然后向外发送请求到一个ERP系统,以RESTFUL的形式获得用户的详细信息,然后插入到HANA的数据库里。向外请求服务的定义也是通过文件的形式,后缀名为.xshttpdest

OData增删改操作

我们之前学到的是SPS05提供的XS直接以OData标准暴露HANA表数据的功能,但是只是提供数据。在SPS06,XS丰富了增删改的操作。本来OData标准就支持这些操作的 – 利用HTTP请求的方法POST为增,PUT为改,DELETE为删除。除此以外还有个更酷的功能,就是对这些操作的定制,举个例子,比如插入之前要验证数据正确性。SPS06可以通过编写存储过程来增强这些操作,类似传统SAP里面的customer exit。

SQLScript增强

首先增加的是一个叫做存储过程模板的东西,类似代码模板,将一些大家可能不一样的地方,如表明,定义成变量。在创建存储过程的时候可以根据定义好的模板创建。另外一个增强我觉得是很酷的,对存储过程debug的增强。还记得之前讲到SPS05调试带参数的存储过程么,我们必须要写一个wrapper,从SPS06开始不用了,因为debug支持输入参数了。除此以外,我们可以配置外部调试,用过ABAP external debug session breakpoint的对此不会陌生,就是针对某个特定的用户设定的断点,无论从什么协议调用进来,HTTP还是RFC,都会激活这个断点。这样在ABAP调用了HANA的存储过程时,就可以连调了。这对于suite on hana来说是很重要的一个功能。

版本管理和资源库

可以显示在本地编辑过的文件的历史并显示历史版本。可以显示在HANA资源库的文件历史版本但是如果不是在本地编辑的,则没办法显示具体修改内容。待开发功能。

Plan Visualizer

主流数据库都提供解释执行计划的功能,SAP HANA也有,我们可以更加清晰地观察整个HANA的执行过程,帮助我们解决性能问题。但是要强调的是这并不是SPS06引入的新功能.


118

团队开发代码冲突

对于软件开发版本管理来说很基本的一个功能。

决策表 Decision Table

这不是SPS06的新特性,是SPS05引入的,只是在本节加入了相关的讲解。它的作用是类似用配置表替代CASE WHEN或者IF ELSE。具体用法可参考
http://scn.sap.com/community/developer-center/hana/blog/2013/01/11/what-can-you-do-with-decision-tables-in-sap-hana-sp05
http://www.saphana.com/docs/DOC-3133

以上介绍的是与XS相关的SPS06新特性。除此以外,HANA其它方面在SPS06也有很多很酷的增强,比如语义分析方面,与其它数据源的整合方面。在SPS06发布以后,SCN应该会有很多相关文章。

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply