基于.Net的SAP Portal开发

2024-03-22 15:38
文章标签 开发 net sap portal

本文主要是介绍基于.Net的SAP Portal开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于.NetSAP Portal开发

最近因为项目的需要,必须考虑intelliFlow.NetSAP的整合问题,于是抽空研究了一下,发现还真是有趣。现整理一下,聊作记忆。

一、几个基本术语

让我们先了解几个概念,在阅读和查阅任何关于SAP Portal开发的资料之前,你必须了解它们。

1Portal Development Kit for Microsoft .NET (PDK for .NET)

SAP企业Portal开发包PDK.Net允许VS.Net开发者为SAP应用构建企业Portal组件。对于那些在Microsoft.Net平台上有足够投资的企业而言,这无疑是好消息,因为你将可以采用SAP NetWeaver技术通过PDK.Net极大的保护和重用你的.Net投资。

目前,PDK.Net支持C#VB.Net两种语言。

2SAP Enterprise Portal

SAP Enterprise Portal是一种应用集成平台,它把企业的商业信息、企业应用和服务等等整合在一起,并且以独立的基于Web的用户界面的形式展示给操作者。

关于这一点,我以为与其它的Portal平台没有任何区别,比如BizTalk

3Portal Content

Portal Content是一组Portal对象的统称。这些Portal对象存储在PCD-----Portal Content Directory中,Portal管理者可以构建、定义这些对象的外观和操作,并且访问后台的SAP应用。

4iView

iViewPortal Content面对用户的逻辑再现,iView本质上是一个可视化的组件,从物理的Portal Content获取数据并且在Portal中感知和展示数据。

5Portal Component

Portal Component则是iView的支撑组件,它隐藏在iView的背后,所有展示给用户的iView外观的背后,都是经由某个对应的Portal ComponentPortal Content获取数据并且推介给iView展示。

6Portal Component  VS.  iView

Portal Component看起来与iView非常类似,但是请记住它们有很大的区别。它们之间的区别类似于“对象与对象的实例”的关系。

采用PDK.Net开发的Code Object(代码化对象)被部署在企业Portal中,并且作为Portal Component引用。

Portal Content管理者利用Portal Component构建自己的iView时,这些Portal Component被实例化。本质上,一个iView是一个Portal Component的实例。

7Portal Application

Portal Application是一组部署在同一个Portal上的逻辑上相关的Portal Component的集合。

8Portal Services

Portal Services是一组为Portal Component提供服务的Portal Middleware

二、基于PDK.NetPortal架构

考察上图,我们会发现PDK.Net主要由三部分构成:

A、     设计时环境(Portal Add-in

B、       运行时环境(Portal Runtime

C、       Java-.Net互操作框架(Interoperability Framework

(1)         设计时环境(Portal Add-in

Portal Add-in扩展了VS.Net的功能,使得.Net开发者可以构建、部署和调试Portal Component。所有的Portal Object(如iView Profile, User Context)和Portal Service(如(Systems Landscape Service, User Management Service)将通过API的方式提供给Portal Component开发者。

(2)         运行时环境(Portal Runtime

Portal Component的运行必须依赖于Portal Runtime,它以NT服务的方式托管在.Net引擎中。

(3)         Java-.Net互操作框架(Interoperability Framework

Java-.Net互操作框架使得用.Net构建的Portal运行时与基于JavaSAP企业Portal之间可以通信。

通常在两端各有一个组件:Portal端是Java Portal 组件,.Net端是Remoting组件。很奇怪,它们之间居然不是采用Soap协议,我不知道SAP的技术人员是出于何种考虑。

(4)         SAP .Net连接桥(SAP .NET Connector

通常SAP.Net Connector是一个附加工具,该工具可以使得.NetPortal Component连接到SAP的后台系统,并且完全的访问其业务对象库。

 

三、PDK.Net的运行时环境

PDK.Net的运行时环境包括.Net Portal运行时和Java-.Net互操作组件运行时

如下图所示,运行时流程如下:

  1. PortaliView接受请求。
  2. Portal 检测到这是一个.NET iView
  3. Portal分发请求给Java-.Net互操作组件,因为只有该组件才能与.Net Portal 运行时通信。
  4. Java-.Net组件传递请求给.Net Portal运行时。
  5. 如果该iView的请求需要访问SAP后端系统,那么该请求将被传递到SAP.Net连接桥。
  6. SAP.Net连接桥连接到SAP后端系统,获取或者更新数据。
  7. 结果返回到iView
  8. .Net iView必须被.Net Portal Runtime 处理和规则化(着色)后,传递给互操作组件。
  9. 处理结果通过互操作组件直接返回到Portal
  10. 结果通过J2EE Server推送给浏览器。

注意:在设计状态,其过程与此相同。  

四、其它

PDK.Net目前是2.5版,评估版有30天的试用期。我注册,并根据SAP的要求下成功。安装之后,感觉外观很丑陋。SAP的东西就是这样,有很好的理念和业务模型,但是技术上总是差强人意。

不过,我根据SAPManual尝试着做了一个Case,发现这个东西和一般的.Net Assembly没有什么区别,使用起来还是很方便的。

 




这篇关于基于.Net的SAP Portal开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/835591

相关文章

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1