SAP HANA 开发模式 - 基于SAP HANA平台的多团队产品研发
“基本”开发模式
Windows:
Unix/Linux:
在基本模式下我们可以通过regi来进行激活我们的object。Regi是一个类git功能的,方便和HANA repository交互的一个命令行工具。
具体步骤如下:
- 创建一个HANA的user key:
hdbuserstore SET <key> <hana server>:<port> <UserName> <Password> - 创建 xs的workspace
regi create workspace <project folder> <key> - Track xs project packages
regi track <package> - 提交
regi commit - 激活项目
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
具体步骤:
- 在HANA Studio中创建一个新的repository package
- 创建新的project
- 通过XS Team Provider,share新创建的项目
- 在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平台的多团队产品研发的更多相关文章
- “多团队大规模”开发模式 - 基于SAP HANA平台的多团队产品研发
应用SAP HANA “官方”开发模式的伙伴们在转到“多团队大规模”开发模式时会遇到各式各样的心理不适应的状况,各种纠结.比如GIT Repository和HANA Repository冲突什么的. ...
- SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发
大家都知道SAP HANA项目打包成Delivery Unit(缩写为DU).依照"官方"的开发模式,特别是整个团队仅仅使用一个HANA Instance进行项目开发,因为HANA ...
- 基于SAP HANA平台的多团队产品研发
工欲善其事必先利其器.要提高多团队的开发效率,而且还是在SAP HANA平台上,建议大家还是本着“慢就是快”的原则,不要急功近利,在没有准备好团队开发的架构时就匆忙开始功能的开发.匆忙功能开发就算了, ...
- 认识Web前端、Web后端、桌面app和移动app新开发模式 - 基于Node.js环境和VS Code工具
认识Web.桌面和移动app新开发模式 - 基于Node.js环境和VS Code工具 一.开发环境的搭建(基于win10) 1.安装node.js和npm 到node.js官网下载安装包(包含npm ...
- AMDP + XSLX Workbench 报表开发模式
本文介绍了我和同事通过使用AMDP + XSLX Workbench缩短报表开发周期.分离数据查询处理逻辑和前端展示工作的经验.欢迎讨论. 前言 最近接到了一套人力资源报表的开发需求,需要以EXCEL ...
- AMDP + XLSX Workbench 报表开发模式
本文介绍了我和同事通过使用AMDP + XLSX Workbench缩短报表开发周期.分离数据查询处理逻辑和前端展示工作的经验.欢迎讨论. 前言 最近接到了一套人力资源报表的开发需求,需要以EXCEL ...
- IPD体系向敏捷开发模式转型实施成功的四个关键因素
文/杨学明 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...
- 测试计划驱动开发模式 TPDD:一种比 TDD 更友好的开发模式
相信大部分开发团队都在使用TDD,并且还有很多开发团队都 对外声明 在使用 TDD 开发模式. 之所以说是“对外声明”,是因为很多开发团队虽然号称使用的是 TDD 开发模式,实际开发过程中却无法满足 ...
- 【HANA系列】对话SAP全球CEO孟鼎铭:未来最大的发展机遇属于中国中小企业
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]对话SAP全球CEO孟鼎铭:未来 ...
随机推荐
- android studio中文乱码各种情况的解决办法
情况一:编辑器内的中文注释乱码. 解决办法:在界面的右下角找到 UTF-8 ,单击之,在弹出的列表中选中GBK 在弹出框内选中Reload 总结:导致这样的原因是你这个.java文件本身是GBK编码的 ...
- nodebb中文社区
V2MM —— 自由职业者社区 https://v2mm.tech/ 萌梦社区 https://qtdream.com/ React Native 中文社区 http://bbs.reactnativ ...
- ThoughtWorks、Teambition、Trello、Slack、DevCloud 主流敏捷软件开发工具平台比较
在大公司做了6年程序员,2年项目经理的小王,正在创业公司迎来他焦虑的而立之年. 但是对于3个月前加入创业公司的决定,他现在有些烦躁和怀疑人生.在他过往的经验看来,公司新接的小项目,在过去的大公司里1个 ...
- Struts2——(8)struts2中文件的上传
通过2种方式模拟单个文件上传,效果如下所示 开发步骤如下: 1.新建一个web工程,导入struts2上传文件所需jar,如下图 目录结构 2.新建Action 第一种方式 ...
- Java--分布式系统高并发解决方案
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研 ...
- python reversed
reversed()函数是返回序列seq的反向访问的迭代子.参数可以是列表,元组,字符串,不改变原对象. 例题: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事 ...
- Qt 的几个核心机制总结之 布局(QWidget可以设置setSizePolicy,而QSizePolicy有Fixed,minimum,maximum,preferred,expanding,ignore等7个属性,还可以横竖分开)
1.Qt布局的作用 Qt的布局是通过布局管理器来实现的,布局管理器负责在父类窗口部件区域构建子窗口部件,使得放置在窗体中的每个窗口部件都有一个适合的大小和位置,并且能够随着应用程序本身的变化而变化从而 ...
- 【原】对MYSQL下视图的一些总结
注:本文使用mysql5.5版本为例. 做过数据库开发的同学,对视图(VIEW)应该不会陌生. 我接触视图最多的应用场景有两个: 1)出于权限问题,为了限制访问者看到过多的表字段(或内容),就 ...
- 3 Task中的一些枚举 创建时候的、continue时候的
创建时常用的枚举: None.PreferFairness.LongRunning.AttacthedToParent.DenyChildAttach.HideScheduler AttacthedT ...
- Theano 编程核心
1. 求偏导.更新以及模型的训练 以 LogisticRegression 为例: 求损失函数关于参数的偏导: import theano.tensor as T g_W = T.gradient(c ...