`
blueoxygen
  • 浏览: 1195917 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

SAP公开课笔记:基于HANA的软件开发 - 第一周总结

    博客分类:
  • HANA
阅读更多

这是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,免去了应用服务器物理一层。

12

对于基于HANA的应用主要分两种:Native与非Native。那么Native应用就是利用之前提到的XS引擎开发的,直接运行于HANA平台之上的应用。非Native当然就是那些把HANA当做数据库,利用JDBC ODBC等连接到HANA来,运行于应用服务器上的应用,比如SAP Business Suite on HANA。

21

33

41

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资源库和导航。

13

其中项目并没有什么特别的,只要用过ECLIPSE做开发的人一定对它不陌生。要强调的是这里看到的所有的对象都是保存于本地的对象。而导航视图与以前HANA studio里传统视图是一样的,能够看到数据库catelog下各个schema的底表,能看到package下的内容,和role 用户。
HANA资源库看到的是保存于HANA平台上的对象,也是就是在服务器端的。这里面就有一个问题,对于开发来讲,最普遍的版本管理在哪里?HANA资源库就是一个版本管理工具,所以当我们创建一个HANA开发项目并且要与HANA资源库同步时,要选择HANA资源库也就是要连接的HANA系统以及要保存对象的HANA PACKAGE。

22

34

为了实现版本管理,有一个比较有意思的地方是,我们需要安装HANA CLIENT。HANA CLIENT作为连接HANA的驱动被我们所熟知,可是岂不知安装它时也带了一个regi的程序,帮助HANA STUDIO和HANA资源库之间进行版本管理的工作。所以,安装HANA CLIENT是一个开发前提。

42

51

通过开发资源库标签页,我们可以checkout一整个project,复制到本地,在项目视图里继续工作。当然,讲了这么多,都是跟版本管理相关的,项目该有的checkin checkout,在HANA应用开发里也不例外。

6

第三、四单元 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的文件里面就有配置项了,比如访问认证方法,下面的练习我们会看到。

111

我们首先在项目下新建这两个文件,其中.xsaccess的内容为:

{

“exposed”: true,

“authentication”:[{ "method": "LogonTicket" },{ "method": "Basic" }]

}

熟悉SAP系统的人一定对这些认证方法很熟悉,但是目前HANA XS只支持以上两种加上Form,但是其它的认证方法正在陆增加,比如SAML Kerbros。

接下来就是真正起作用的文件了,XS服务器端javascript文件。
121

文件的内容为:

$.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

131

检验我们最后的成果的时候到了。打开浏览器,访问HANA的IP加上端口号8000,嗯,默认的页面还是很漂亮的。

14

我们在后面以项目名称作为后缀,再加上刚开开发的文件名即retrieveData.xsjs,简陋的结果便显示出来了。

15

2
1
分享到:
评论
4 楼 blueoxygen 2014-05-14  
purehunter 写道
html5足以开发复杂应用了 看来hana真的是趋势啊 环境如果可以在本机模拟就好了

purehunter 写道
html5足以开发复杂应用了 看来hana真的是趋势啊 环境如果可以在本机模拟就好了



AWS很便宜的
3 楼 blueoxygen 2014-05-14  
skyning 写道
我看到native hana application是不用abap的,用server-side java script什么的。
那我请教一下,这是不是意味着以后系统是朝着没有abap,瘦applicatin server发展啊?


SAP在ABAP上那么多年的积累很难用服务器端JS替代。SAP新的应用也是要分场景,如果特别适合用UI5+XSE做的,那就会直接开发native app,但是重量级的应用还是要跑在ABAP平台上。据我所知,SAP也没有放弃ABAP的想法,或者任何移植现有应用到纯HANA应用的大规模项目,只是针对HANA平台优化,比如suite on HANA
2 楼 skyning 2014-04-20  
我看到native hana application是不用abap的,用server-side java script什么的。
那我请教一下,这是不是意味着以后系统是朝着没有abap,瘦applicatin server发展啊?
1 楼 purehunter 2013-11-30  
html5足以开发复杂应用了 看来hana真的是趋势啊 环境如果可以在本机模拟就好了

相关推荐

    ERP软件:SAP二次开发-ABAP编程基础+ERP软件:SAP二次开发-SAP Fiori开发

    ERP软件:SAP二次开发_SAP HANA集成开发.docx ERP软件:SAP二次开发_SAPWebDynpro开发.docx ERP软件:SAP二次开发_SAP二次开发中的数据管理.docx ERP软件:SAP二次开发_SAP二次开发最佳实践与案例分析.docx ERP软件...

    SAP-HANA-Administration-with-SAP-HANA-Cockpit-en

    SAP HANA Cockpit是一款基于Web的管理工具,用于对SAP HANA系统进行管理和监控,以及日常维护。这款工具为SAP HANA数据库(资源)的管理和监控提供了工具,并通过SAP HANA数据库探索器提供了开发功能。你可以管理...

    SAP S4 HANA On-Premise和S4 HANA Cloud

    S/4HANA On-Premise版本是一个基于SAP HANA内存数据库的ERP业务套件,允许企业在私有云或公有云上部署,提供全面的功能和高度的定制性。这种部署方式适合大型企业,它们通常有复杂的业务流程和较高的定制需求,同时...

    SAP HANA HA360 - SAP HANA - Hands-on Lab(Col99).pdf

    - **多层架构**:SAP HANA采用的多层架构,包括应用程序服务器层、计算层和持久存储层。 #### 2. 高可用性配置 - **系统复制**:了解如何通过系统复制实现节点之间的数据同步,确保高可用性。 - **热备份节点**:...

    SAP-HANA-STUDIO-2.3.37

    SAP HANA Studio是SAP公司为开发和管理基于SAP HANA数据库的应用程序而设计的一款集成开发环境(IDE)。这个“SAP-HANA-STUDIO-2.3.37”压缩包文件包含了该版本的SAP HANA Studio安装程序,用于在用户的计算机上部署...

    SAP HANA-STUDIO 安装包

    5. **安装组件**:SAP HANA Studio包含多个组件,如开发工具、模型工具、数据库连接器等。安装过程中,根据你的需求选择要安装的组件。 6. **连接HANA实例**:安装完成后,需要配置连接到你的SAP HANA数据库实例。...

    华为SAP HANA一体机技术白皮书(单机方案).pdf

    1. SAP HANA 概述:SAP HANA是一种高性能内存数据库,能够实时处理大量数据,具有高性能、实时分析和数据处理能力。 2. SAP HANA 架构:SAP HANA架构主要包括SAP HANA Database和SAP HANA 应用两部分。SAP HANA ...

    SAP APO PPDS WITH S4 HANA 01-02.pdf

    这是一本介绍SAP PPDS组件功能的文档,主要介绍S4 HANA或SCM中关于高级计划管理的相关功能

    SAP-HANA-Administration-Guide

    《SAP HANA 管理指南》是针对SAP HANA平台的详细操作手册,旨在帮助管理员有效地管理和维护SAP HANA数据库系统。本文档适用于SAP HANA Platform 2.0 SPS 04版本,由SAP SE或其关联公司在2019年10月31日发布,所有...

    HANA-Studio-SP111-64bit

    1. **SAP HANA**:SAP HANA(High-Performance Analytic Appliance)是一款基于列存储的内存数据库系统,它将数据存储、处理和分析功能集中在内存中,从而提供极高的数据处理速度。 2. **HANA Studio**:作为SAP ...

    sap-hana-jdbc-2.4.59.jar

    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 client 2.0-2.7.21-windows-x64)

    SAP HANA ODBC DRIVER(HANA客户端2.0-2.7.21-windows-x64)是一款专为Windows 64位操作系统设计的数据库连接驱动程序,它允许应用程序通过Open Database Connectivity (ODBC)标准与SAP HANA数据库进行通信。...

    SAP HANA 平台软件开发实战教程

    主要内容包括:SAPHANA的各个特性;SAPHANAStudio;属性视图;分析视图;图形化计算视图;用SQLScript创建计算视图;SAPHANA系统的授权机制;SAPHANA的层级;如何将SAPHANA数据模型部署到3个不同的工具中;如何使用...

    SAP S4HANA 销售中的业务流程.pdf

    根据给定文件的信息,我们可以提炼出关于"SAP S/4HANA 销售中的业务流程"的相关知识点。以下是对这份文档的关键内容进行的详细解读: ### SAP S/4HANA 销售中的业务流程 #### 教程概述 - **教程版本**:12 - **...

    SAP HANA HA100 - SAP HANA Introduction(Col99).pdf

    SAP HANA HA100 - SAP HANA Introduction(Col99).pdf

    SAP-HANA-Modeling-Guide-en

    SAP_HANA_Modeling_Guide_en

    ha200-sap-hana-administration-amp-operations-sap-hana-participant-handbook

    Thishandbookisintendedtocomplementtheinstructor-ledpresentationofthis course,andserveasasourceofreference. Itisnotsuitableforself-study

    SAP HANA STUDIO X64 Version: 2.3.37

    SAP HANA Studio是一款专为SAP HANA数据库设计的集成开发环境(IDE),它提供了全方位的工具和服务,便于开发者、管理员以及数据分析师对HANA系统进行管理和开发。这款工具在X64平台上运行,其Version 2.3.37确保了...

    SAP HANA HA300 - SAP HANA Implementation and Modelling(Col99).pdf

    SAP HANA HA300 - SAP HANA Implementation and Modelling(Col99).pdf

    SAP HANA操作手册

    总结而言,这份SAP HANA操作手册详细介绍了联想为SAP HANA平台版提供的硬件支持和软件解决方案,强调了高性能硬件配置对于保证SAP HANA数据库性能的重要性,以及在实际操作中需要注意的兼容性和性能评估问题。

Global site tag (gtag.js) - Google Analytics