虚掩的门

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  10 Posts :: 23 Stories :: 5 Comments :: 0 Trackbacks

基于 .Net SAP Portal 开发

 

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

一、几个基本术语

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

1 Portal 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 两种语言。

2 SAP Enterprise Portal

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

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

3 Portal Content

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

4 iView

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

5 Portal Component

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

6 Portal Component  VS.  iView

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

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

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

7 Portal Application

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

8 Portal Services

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

二、基于 PDK.Net Portal 架构

考察上图,我们会发现 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 运行时与基于 Java SAP 企业 Portal 之间可以通信。

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

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

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

 

三、 PDK.Net 的运行时环境

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

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

  1. Portal iView 接受请求。
  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 目前是 1.3 版,评估版有 30 天的试用期。我注册,并根据 SAP 的要求下成功。安装之后,感觉外观很丑陋。 SAP 的东西就是这样,有很好的理念和业务模型,但是技术上总是差强人意。

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

posted on 2006-09-26 17:21 Hardy虚掩的门 阅读(212) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: