概述
在基于SAP HANA的应用开发的过程中,都会利用到SAP HANA的package,在其中进行模型视图和XS的应用开发。在开发项目中,因为某些业务或功能上的需要,会将这些对象存放在不同的package中,这些对象位置独立,但却相互之间有很紧密的联系。在实际投产过程中,开发出的所有package都需要从开发环境迁移到生产环境。笔者之前的博客,曾经介绍的模型视图的导入导出方式可以解决不同数据库环境下的模型视图的迁移,但对于SAP HANA的原生应用开发迁移却没有解决方案。
SAP HANA中引入了Delivery Unit的概念,用以实现多个package在不同数据库下的迁移问题。一个Delivery Unit可以看作是若干个package的集合,可以将多个package以类似打包的方式组成一个Delivery Unit, 这样就可以实现多个package统一管理的效果。
下面主要介绍一下如何在SAP HANA中创建Delivery Unit,并且如何进行Delivery Unit的迁移。
访问方式
SAP HANA针对Delivery Unit提供了统一的管理平台HANA Application Lifecycle Managment,这个平台可以通过两种方式访问。需要访问的用户应该具有sap.hana.xs.lm.roles::Administrator 的权限。下面介绍两种访问的方式:
1. 可以在HANA Studio中进行访问。该方式类似于访问LifeCycle Management的方式:右键Instance,选择其中的Transport Management进行访问。
2. 通过URL访问,地址为:http://<host_address>:80<instance_number>/sap/hana/xs/lm/index.html.
平台涵盖功能
所图所示就是HANA Application Lifecycle Managment的主界面,里面提供了针对于Delivery Unit的各项功能,如delivery unit的导入导出,查看所有package,查看与创建Delivery Unit等。
如果HANA Application Lifecycle Management是第一次被使用,会提示需要创建一个Vendor ID,这个也是继续使用该平台的条件之一。如果想使用新的vendorID,选择ADMINISTRATION下的change vendor。
创建DU
对于SAP HANA SP07的版本,在SAP HANA 安装完成之后,系统会默认创建了若干delivery unit。在PRODUCTS->Delivery Units目录下可以看到目前系统中存在DU,并且可以进行增加、删除、修改DU的操作。
创建DU的过程也非常简单。
1. 给出DU的命名、版本号、描述等基本信息。
2. 分配所需的packages给DU。
导出DU
保存之后可以看到该DU已经存在于DU列表中,并且可以看到哪些packages已经分配给该DU,此时可以将该DU通过Export Delivery Unit File导出,导出的文件为tgz格式。
导入DU
通过Export Delivery Unit File导入,导入之后该DU包括的所有package内容都会在系统中创建。
Studio管理
另外在SAP HANA Studio中也提供了Delivery Unit的相关管理功能。
1. 切换视角至Modeler可以看到Delivery Units的选项。
2. 如图展示的是Delivery Units的主界面,创建DU的方式也十分简便,通过上面的Create按钮创建DU,下面的Add按钮给DU分配相应的packages。
3. DU的导入导出和Modeler的导入导出类似,从SAP HANA Content的Delivery Unit入口进入,即可进行导入导出。