“基本”开发模式

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的配置,我们很容易实现我们想要的。如果对具体做法感兴趣且听下回分解。

SAP HANA 开发模式 - 基于SAP HANA平台的多团队产品研发的更多相关文章

  1. “多团队大规模”开发模式 - 基于SAP HANA平台的多团队产品研发

    应用SAP HANA “官方”开发模式的伙伴们在转到“多团队大规模”开发模式时会遇到各式各样的心理不适应的状况,各种纠结.比如GIT Repository和HANA Repository冲突什么的. ...

  2. SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发

    大家都知道SAP HANA项目打包成Delivery Unit(缩写为DU).依照"官方"的开发模式,特别是整个团队仅仅使用一个HANA Instance进行项目开发,因为HANA ...

  3. 基于SAP HANA平台的多团队产品研发

    工欲善其事必先利其器.要提高多团队的开发效率,而且还是在SAP HANA平台上,建议大家还是本着“慢就是快”的原则,不要急功近利,在没有准备好团队开发的架构时就匆忙开始功能的开发.匆忙功能开发就算了, ...

  4. 认识Web前端、Web后端、桌面app和移动app新开发模式 - 基于Node.js环境和VS Code工具

    认识Web.桌面和移动app新开发模式 - 基于Node.js环境和VS Code工具 一.开发环境的搭建(基于win10) 1.安装node.js和npm 到node.js官网下载安装包(包含npm ...

  5. AMDP + XSLX Workbench 报表开发模式

    本文介绍了我和同事通过使用AMDP + XSLX Workbench缩短报表开发周期.分离数据查询处理逻辑和前端展示工作的经验.欢迎讨论. 前言 最近接到了一套人力资源报表的开发需求,需要以EXCEL ...

  6. AMDP + XLSX Workbench 报表开发模式

    本文介绍了我和同事通过使用AMDP + XLSX Workbench缩短报表开发周期.分离数据查询处理逻辑和前端展示工作的经验.欢迎讨论. 前言 最近接到了一套人力资源报表的开发需求,需要以EXCEL ...

  7. IPD体系向敏捷开发模式转型实施成功的四个关键因素

    文/杨学明  集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...

  8. 测试计划驱动开发模式 TPDD:一种比 TDD 更友好的开发模式

    相信大部分开发团队都在使用TDD,并且还有很多开发团队都 对外声明 在使用 TDD 开发模式. 之所以说是“对外声明”,是因为很多开发团队虽然号称使用的是 TDD 开发模式,实际开发过程中却无法满足 ...

  9. 【HANA系列】对话SAP全球CEO孟鼎铭:未来最大的发展机遇属于中国中小企业

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]对话SAP全球CEO孟鼎铭:未来 ...

随机推荐

  1. android studio中文乱码各种情况的解决办法

    情况一:编辑器内的中文注释乱码. 解决办法:在界面的右下角找到 UTF-8 ,单击之,在弹出的列表中选中GBK 在弹出框内选中Reload 总结:导致这样的原因是你这个.java文件本身是GBK编码的 ...

  2. nodebb中文社区

    V2MM —— 自由职业者社区 https://v2mm.tech/ 萌梦社区 https://qtdream.com/ React Native 中文社区 http://bbs.reactnativ ...

  3. ThoughtWorks、Teambition、Trello、Slack、DevCloud 主流敏捷软件开发工具平台比较

    在大公司做了6年程序员,2年项目经理的小王,正在创业公司迎来他焦虑的而立之年. 但是对于3个月前加入创业公司的决定,他现在有些烦躁和怀疑人生.在他过往的经验看来,公司新接的小项目,在过去的大公司里1个 ...

  4. Struts2——(8)struts2中文件的上传

    通过2种方式模拟单个文件上传,效果如下所示 开发步骤如下: 1.新建一个web工程,导入struts2上传文件所需jar,如下图 目录结构              2.新建Action  第一种方式 ...

  5. Java--分布式系统高并发解决方案

    对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研 ...

  6. python reversed

    reversed()函数是返回序列seq的反向访问的迭代子.参数可以是列表,元组,字符串,不改变原对象. 例题: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事 ...

  7. Qt 的几个核心机制总结之 布局(QWidget可以设置setSizePolicy,而QSizePolicy有Fixed,minimum,maximum,preferred,expanding,ignore等7个属性,还可以横竖分开)

    1.Qt布局的作用 Qt的布局是通过布局管理器来实现的,布局管理器负责在父类窗口部件区域构建子窗口部件,使得放置在窗体中的每个窗口部件都有一个适合的大小和位置,并且能够随着应用程序本身的变化而变化从而 ...

  8. 【原】对MYSQL下视图的一些总结

    注:本文使用mysql5.5版本为例.   做过数据库开发的同学,对视图(VIEW)应该不会陌生.   我接触视图最多的应用场景有两个: 1)出于权限问题,为了限制访问者看到过多的表字段(或内容),就 ...

  9. 3 Task中的一些枚举 创建时候的、continue时候的

    创建时常用的枚举: None.PreferFairness.LongRunning.AttacthedToParent.DenyChildAttach.HideScheduler AttacthedT ...

  10. Theano 编程核心

    1. 求偏导.更新以及模型的训练 以 LogisticRegression 为例: 求损失函数关于参数的偏导: import theano.tensor as T g_W = T.gradient(c ...