这是open.sap.com的免费课程,一共需要6周的时间,每周会有几个单元的讲解伴随练习题。对于想了解HANA的同学来说很有帮助。
第一单元 基于HANA的应用简介
主要是基于HANA开发的一些基本概念。关于HANA本身的特点,我就不赘述了。那么至于基于HANA的开发,不是简单的写SQLScript和存储过程,那样的话依然是把HANA当做一个数据库来使用。而SAP现在强调的是HANA是一个平台。而使HANA可以称为平台的重要里程碑是SPS5,它使得HANA内置了应用引擎XS extended application services。这使得我们可以在其上利用javascript和HTML5直接开发应用,而因为HANA XS这个轻量级应用层,前端直接连接HANA,免去了应用服务器物理一层。
对于基于HANA的应用主要分两种:Native与非Native。那么Native应用就是利用之前提到的XS引擎开发的,直接运行于HANA平台之上的应用。非Native当然就是那些把HANA当做数据库,利用JDBC ODBC等连接到HANA来,运行于应用服务器上的应用,比如SAP Business Suite on HANA。
Thomas强调,Native应用不仅仅可以构建简单的web应用,还能够开发出极其复杂的应用。关于这点,是我本人的疑问,看看随着课程的深入是否可以解答。因为我们都知道C++ JAVA的出现,其实是为了应对越来越复杂的软件应用开发,而非效率,从效率的角度说,当然是C更高,如果要抬杠的话,汇编语言。但是他们的可读性,可编程性,复杂度,可维护性都很差。那么从这个角度来说,直接基于XS编写应用,而将逻辑推入HANA,很难想象的可以开发出来企业级复杂应用。从我个人的角度来说,Suite on HANA这种非native应用反而更成熟。当然,据我所知,SAP已经推向市场的Sales Operation&Planning基本可以归类为这种native application,但是具体这个产品有多复杂,就不得而知了。
第二单元 开发工具
基于HANA的应用开发工具是基于ECLIPSE的,即HANA Studio。在老的版本的HANA Studio里只具备HANA的管理和建模视图,而最新版的已经有了HANA开发视图。如我前面的一篇BLOG所介绍,SAP正在将ECLIPSE作为开发工具的战略方向,越来越多的开发工作都可以在基于ECLIPSE这个世界级的开源IDE平台上来进行。
在HANA开发视图里有三个主要标签页,分别是项目、HANA资源库和导航。
其中项目并没有什么特别的,只要用过ECLIPSE做开发的人一定对它不陌生。要强调的是这里看到的所有的对象都是保存于本地的对象。而导航视图与以前HANA studio里传统视图是一样的,能够看到数据库catelog下各个schema的底表,能看到package下的内容,和role 用户。
HANA资源库看到的是保存于HANA平台上的对象,也是就是在服务器端的。这里面就有一个问题,对于开发来讲,最普遍的版本管理在哪里?HANA资源库就是一个版本管理工具,所以当我们创建一个HANA开发项目并且要与HANA资源库同步时,要选择HANA资源库也就是要连接的HANA系统以及要保存对象的HANA PACKAGE。
为了实现版本管理,有一个比较有意思的地方是,我们需要安装HANA CLIENT。HANA CLIENT作为连接HANA的驱动被我们所熟知,可是岂不知安装它时也带了一个regi的程序,帮助HANA STUDIO和HANA资源库之间进行版本管理的工作。所以,安装HANA CLIENT是一个开发前提。
通过开发资源库标签页,我们可以checkout一整个project,复制到本地,在项目视图里继续工作。当然,讲了这么多,都是跟版本管理相关的,项目该有的checkin checkout,在HANA应用开发里也不例外。
第三、四单元 HANA开发工具准备
这里基本没什么内容。大家只要知道去scn.sap.com的developer center下,找到HANA类别访问,里面有为开发者准备的试用版HANA studio HANA Client就行了。
其中对HANA Cloud One的介绍比较有意思。这里能让你实实在在的感觉到云计算的好处。http://scn.sap.com/docs/DOC-31722 访问这个链接,大家可以选择托管HANA环境的云服务商,其中重点讲解和推荐了亚马逊,因为它足够灵活,可以按小时付费,而每小时的价格还不足1美金(50美分起),这对于没有环境又想学习HANA的开发人员来说实在是个好事情。记得当年我刚学SAP时就是付费试用一些别人管理的服务器(其实他们这么做是违法的,那些服务器都是盗版 :P),如果当年有这样的服务,该有多好!
第五单元 体验XS应用
这一单元主要是让大家体验一个基于JAVA的XS应用开发,有一个感性的认识。前面的单元对这部分内容已经有所介绍:
创建一个项目=》贡献跟一个项目,也就是与某个HANA资源库同步=》选择HANA系统和保存项目的包
那么对于一个XS项目来说有两个十分重要的文件,一个是.xsapp一个是.xsaccess,都是只有后缀的文件。.xsapp是一个空文件,它的作用主要是告诉应用服务器当前应用是一个xs应用。.xsaccess的文件里面就有配置项了,比如访问认证方法,下面的练习我们会看到。
我们首先在项目下新建这两个文件,其中.xsaccess的内容为:
{
“exposed”: true,
“authentication”:[{ "method": "LogonTicket" },{ "method": "Basic" }]
}
熟悉SAP系统的人一定对这些认证方法很熟悉,但是目前HANA XS只支持以上两种加上Form,但是其它的认证方法正在陆增加,比如SAML Kerbros。
接下来就是真正起作用的文件了,XS服务器端javascript文件。
文件的内容为:
$.response.contentType = “text/html”;
var output = “Hello XS project <br/>”;
var conn = $.db.getConnection();
var pstmt = conn.prepareStatement( “select * from DUMMY” );
var rs = pstmt.executeQuery();
if(!rs.next()){
$.response.setBody( “Filed to retrieve data” );
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
}
else{
output = output + “This is the response from my SQL: ”
+ rs.getString(1);
}
rs.close();
pstmt.close();
conn.close();
$.response.setBody(output);
基本对于程序员来说,理解这段代码就是piece of case。只是我发现我在徒手敲这段代码时,当我输入rs加上一个点,我本满心期待着熟悉的方法提示框,结果是没有…output倒是出来了。可能是某些库没有在本地,所以本地编辑器没法提示。希望在后面的课程里能看到相关的内容,否则客户端编写服务器端程序而不具备语法提示,这用不用eclipse都没什么区别了。
之后我们将整个项目commit active
检验我们最后的成果的时候到了。打开浏览器,访问HANA的IP加上端口号8000,嗯,默认的页面还是很漂亮的。
我们在后面以项目名称作为后缀,再加上刚开开发的文件名即retrieveData.xsjs,简陋的结果便显示出来了。
相关推荐
ERP软件:SAP二次开发_SAP HANA集成开发.docx ERP软件:SAP二次开发_SAPWebDynpro开发.docx ERP软件:SAP二次开发_SAP二次开发中的数据管理.docx ERP软件:SAP二次开发_SAP二次开发最佳实践与案例分析.docx ERP软件...
SAP HANA Cockpit是一款基于Web的管理工具,用于对SAP HANA系统进行管理和监控,以及日常维护。这款工具为SAP HANA数据库(资源)的管理和监控提供了工具,并通过SAP HANA数据库探索器提供了开发功能。你可以管理...
S/4HANA On-Premise版本是一个基于SAP HANA内存数据库的ERP业务套件,允许企业在私有云或公有云上部署,提供全面的功能和高度的定制性。这种部署方式适合大型企业,它们通常有复杂的业务流程和较高的定制需求,同时...
- **多层架构**:SAP HANA采用的多层架构,包括应用程序服务器层、计算层和持久存储层。 #### 2. 高可用性配置 - **系统复制**:了解如何通过系统复制实现节点之间的数据同步,确保高可用性。 - **热备份节点**:...
5. **安装组件**:SAP HANA Studio包含多个组件,如开发工具、模型工具、数据库连接器等。安装过程中,根据你的需求选择要安装的组件。 6. **连接HANA实例**:安装完成后,需要配置连接到你的SAP HANA数据库实例。...
SAP HANA Studio是SAP公司为开发和管理基于SAP HANA数据库的应用程序而设计的一款集成开发环境(IDE)。这个“SAP-HANA-STUDIO-2.3.37”压缩包文件包含了该版本的SAP HANA Studio安装程序,用于在用户的计算机上部署...
这是一本介绍SAP PPDS组件功能的文档,主要介绍S4 HANA或SCM中关于高级计划管理的相关功能
1. SAP HANA 概述:SAP HANA是一种高性能内存数据库,能够实时处理大量数据,具有高性能、实时分析和数据处理能力。 2. SAP HANA 架构:SAP HANA架构主要包括SAP HANA Database和SAP HANA 应用两部分。SAP HANA ...
《SAP HANA 管理指南》是针对SAP HANA平台的详细操作手册,旨在帮助管理员有效地管理和维护SAP HANA数据库系统。本文档适用于SAP HANA Platform 2.0 SPS 04版本,由SAP SE或其关联公司在2019年10月31日发布,所有...
1. **SAP HANA**:SAP HANA(High-Performance Analytic Appliance)是一款基于列存储的内存数据库系统,它将数据存储、处理和分析功能集中在内存中,从而提供极高的数据处理速度。 2. **HANA Studio**:作为SAP ...
String url = "jdbc:sap://your-hana-server:30015/?databaseName=YOURDB"; String user = "your-username"; String password = "your-password"; try { Class.forName("com.sap.db.jdbc.Driver"); ...
SAP HANA ODBC DRIVER(HANA客户端2.0-2.7.21-windows-x64)是一款专为Windows 64位操作系统设计的数据库连接驱动程序,它允许应用程序通过Open Database Connectivity (ODBC)标准与SAP HANA数据库进行通信。...
主要内容包括:SAPHANA的各个特性;SAPHANAStudio;属性视图;分析视图;图形化计算视图;用SQLScript创建计算视图;SAPHANA系统的授权机制;SAPHANA的层级;如何将SAPHANA数据模型部署到3个不同的工具中;如何使用...
根据给定文件的信息,我们可以提炼出关于"SAP S/4HANA 销售中的业务流程"的相关知识点。以下是对这份文档的关键内容进行的详细解读: ### SAP S/4HANA 销售中的业务流程 #### 教程概述 - **教程版本**:12 - **...
SAP HANA HA100 - SAP HANA Introduction(Col99).pdf
SAP_HANA_Modeling_Guide_en
Thishandbookisintendedtocomplementtheinstructor-ledpresentationofthis course,andserveasasourceofreference. Itisnotsuitableforself-study
SAP HANA Studio是一款专为SAP HANA数据库设计的集成开发环境(IDE),它提供了全方位的工具和服务,便于开发者、管理员以及数据分析师对HANA系统进行管理和开发。这款工具在X64平台上运行,其Version 2.3.37确保了...
SAP HANA HA300 - SAP HANA Implementation and Modelling(Col99).pdf
SAP HANA 是一种基于内存的关系数据库管理系统,它可以提供高性能、实时数据处理和分析的能力。因此,升级到 HANA 数据库可以提高系统性能、降低成本和提高业务灵活性。 SAP HANA 升级自开发程序修改的方法 在升级...