基于.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

相关文章

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁