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

作者:穿行印象

http://blog.sina.com.cn/s/blog_7a9486880101q63g.html


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:

 
 

    如下图所示,我们需要填写Application需要的信息:
ID: com.sap.flight
Name: SFlight OData SDK sample application
Vendor: SAP
Type: Native


点击Save后的信息如下图所示:
其中,
endpoint: http://sapes1.sapdevcenter.com:8080/sap/opu/odata/IWFND/RMTSAMPLEFLIGHT


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

    新的Profile的URL与上面的endpoint相同,也是
http://sapes1.sapdevcenter.com:8080/sap/opu/odata/IWFND/RMTSAMPLEFLIGHT


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


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

    测试的第一步就是需要连接到该Application提供的服务,我们使用HTTP的POST方法进行注册,获取一个AppID:
如下图所示,URL是如下(192.168.174.129是SMP的IP地址):
http://192.168.174.129:8080/odata/applications/latest/com.sap.flight/Connections

operation type: post

Body的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<entry
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<category term="applications.Connection"
scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
<content type="application/xml">
<m:properties></m:properties>
</content>
</entry>



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



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




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


深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值