SAP HANA 开发模式 - 基于SAP HANA平台的多团队产品研发

“基本”开发模式

Windows:

Unix/Linux:

在基本模式下我们可以通过regi来进行激活我们的object。Regi是一个类git功能的,方便和HANA repository交互的一个命令行工具。

具体步骤如下:

  1. 创建一个HANA的user key:
    hdbuserstore SET <key> <hana server>:<port>  <UserName> <Password>
  2. 创建 xs的workspace
    regi create workspace <project folder> <key>
  3. Track xs project packages
    regi track <package>
  4. 提交
    regi commit
  5. 激活项目
    regi activate

其中第4,5步可以使用regi push一次完成。

整个步骤合起来举个例子:

hdbuserstore SET HANADEV 127.0.0.1:30015 SYSTEM manager

regi create workspace HanaDevelop HANADEV

cd HanaDevelop

regi track sap.hana.demo

regi commit

regi activate

 

“官方”开发模式

 +  + 其他插件

在老版本hana studio中是使用regi和HANA repository交互的,从rev 70以后对此进行了增强,不在使用regi了。具体信息:http://scn.sap.com/community/developer-center/hana/blog/2013/12/03/sap-hana-sps07--various-new-developer-features

所有的东西都在HANA中了,更确切的说是repository

具体步骤:

  1. 在HANA Studio中创建一个新的repository package
  2. 创建新的project
  3. 通过XS Team Provider,share新创建的项目
  4. 在project中创建新的object,commit并activate

进行到这里我们已经拥有一个不错的开发环境,但是我们如何去debug呢?别急我们需要一些特别的设置。(这是服务器端的debugger)

xsengine.ini

  • debugger – enabled:true
  • debugger – listenport:47112

到这里,大家觉得怎么样?有什么想法?这些开发模式对多团队,大规模开发能行么?和我们市面上流行的,高大上的叫法“Best Practice”好像不匹配嘛。

“多团队大规模”的开发模式

  • 用GIT来管理源码 (or P4、SVN这个无所谓哪一种)
  • 用Maven来管理project
  • 多个人在同一个HANA Instance上工作,而且还不是ABAP那种模式
  • 和持续集成系统集成起来

我们使用maven,主要就是用regi maven plugin来和HANA Repository交互。这个plugin实现regi的操作,把这些复杂命名都隐藏起来。当然也可以通过其他plugin来实现和HANA Repository的交互。

在这个开发模式下,我们最想要的就是:

  • 很多的开发人员可以在同一个HANA Instance上开发
  • 很多的测试人员多个版本可以在同一个HANA Instance进行测试

很明显,默认的开发模式不支持这样的想法。那我们如何做到这些呢?这里有个方法就是我们的最上层package变成可配置的。

例如:sap.hana.demo 变成 ${rootPackage}.hana.demo

rootPackage可以根据每个人的员工号去设置。通过maven的配置,我们很容易实现我们想要的。如果对具体做法感兴趣且听下回分解。

posted @ 2014-10-01 15:14  王洪刚  阅读(2058)  评论(1编辑  收藏  举报