首页 > SAP > HANA > SMP3.0学习笔记之二 第一个SMP Application
2019
08-27

SMP3.0学习笔记之二 第一个SMP Application

SMP3.0中的Application,一方面需要连接后端系统,例如SAP
Netweaver Gateway,另一方面需要定义外部应用访问该Application的认证方式。

设想有一个旅游代理公司,它需要开发一个移动应用,让其客户通过该移动应用在任何时候、任何地点方便的预定机票。SMP就提供了这样的能力,使得移动终端能够方便、高效、安全的访问SAP
Netweaver Gateway暴露出来的OData REST
Webservice。在移动终端通过SMP访问后端的数据时,它还需要能够对用户进行鉴权,SMP就提供了诸如MAF(Mobile
Application Framework)的组件,能够使开发人员快速的把登录鉴权功能集成到移动应用中去。

为了实现这样的功能,第一步我需要在SMP中创建一个Application,用以访问后端Netweaver
Gateway的业务数据,同时定义其认证策略。

在SMP管理界面中,点击”New”可以发起创建一个新的Application:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124554-37.jpg" alt="SMP3.0学习笔记之二第一个SMPApplication” />

如下图所示,我们需要填写Application需要的信息:
ID: com.sap.flight
Name: SFlight OData SDK sample application
Vendor: SAP
Type: Native
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124554-99.jpg" alt="SMP3.0学习笔记之二第一个SMPApplication” />

点击Save后的信息如下图所示:
其中,
endpoint: <img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124554-32.jpg" alt="SMP3.0学习笔记之二第一个SMPApplication” />

之后需要定义一个新的Aughentication Profile,如下图所示,Provider我们选择:HTTP/HTTPS
Authentication。

新的Profile的URL与上面的endpoint相同,也是
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124554-48.jpg" alt="SMP3.0学习笔记之二第一个SMPApplication” />

这样就新创建了一个Application,在Application列表中可以看得到该Applicaiton。可以选中该Application,然后通过ping进行测试,看是否能够ping通:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124554-55.jpg" alt="SMP3.0学习笔记之二第一个SMPApplication” />

一切顺利的话,该Application就配置完成里了,可以为上层Mobile
Application提供服务了。由于通过SMP暴露给上层Mobile
Application的也是OData服务,所以没有Mobile
Application之前可以通过Google的Postman进行测试。

测试的第一步就是需要连接到该Application提供的服务,我们使用HTTP的POST方法进行注册,获取一个AppID:
如下图所示,URL是如下(192.168.174.129是SMP的IP地址):
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124554-28.jpg" alt="SMP3.0学习笔记之二第一个SMPApplication” />

需要注意的是需要在header中指定content-type:application/xml。点击send后就会得到201
created的返回,在返回的结果中,我们会拿到一个ApplicationConnectionID,在后续就使用该APPCID来对SMP暴露的OData服务进行操作。

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124555-85.jpg" alt="SMP3.0学习笔记之二第一个SMPApplication” />

一旦创建成功连接,在SMP管理界面中的Registrations列表中就会看到一个新建的连接。再次使用Postman对该连接进行操作。Operation
type选择GET,在Header中填写用户名和口令以及X-SMP-APPCID,我们就可以得到如下的返回结果,显示该服务中的能够使用的数据集:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124555-75.jpg" alt="SMP3.0学习笔记之二第一个SMPApplication” />

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124555-45.jpg" alt="SMP3.0学习笔记之二第一个SMPApplication” />

一切顺利,我们新建了一个SMP的Application代理了后端的业务数据,并且定义了鉴权方式。下面我们使用SMP
Native SDK来访问这些数据。

最后编辑:
作者:yangsen
有需要可在文章留言或者邮件yan252@163.com给我。

留下一个回复

你的email不会被公开。

seventeen − six =