集成,不要迁移。本文将向您展示集成 IBM Lotus Domino 和 Microsoft Windows SharePoint Services 是件多么轻松的事情。还介绍了使用标准 HTTP 请求或 XML 来访问 SharePoint 安装中的 Lotus Domino 数据。
多年来,Microsoft 一直在关注 IBM Lotus Domino 产品线。不久以前,Microsoft Exchange Server 打算取代 Lotus Domino 在企业前景中的地位。虽然并没有实现预期目标,但 Microsoft 继续以备受推崇的 Lotus Domino 平台为竞争目标。Microsoft Windows SharePoint Services 是最新的 Microsoft 协作产品;它可以独立使用或与众多其他 Microsoft 产品相结合来构建应用程序,尝试提供与 Lotus Domino 相似的功能。
SharePoint 参与竞争后,很多客户错误地认为他们必须在 SharePoint 或 Lotus Domino 中作出选择;但是,这两个平台可以和平共存,协同工作。您可以方便地利用二者的强大功能。本文研究了将基于 Domino 的数据和应用程序集成到 SharePoint 环境中的各种方法。文章以 SharePoint 平台的简单介绍作为开始。
本文使用了以下工具:
Microsoft SharePoint 仅仅是众多 Microsoft 产品中的其中之一,是作为 Lotus Domino 的替代产品问世的。但是,若要复制 Lotus Domino 的众多功能,还需要 Microsoft Exchange、Microsoft Visual Studio .NET 以及其他产品,仅凭 SharePoint 并不够。实际上,SharePoint 是一种门户服务器,将不同资源放在单个 Web 界面中。这些资源可以是 Web 站点、后端数据、文件系统资源(如文档)等等。现在存在两种风格的 SharePoint 产品:
这两个版本的 SharePoint 都使用 Microsoft SQL Server 作为后端数据存储。SharePoint 的具体细节不在本文所讨论的范围之内。我们着重讨论将基于 Domino 的数据和应用程序集成到 SharePoint 安装中的方法。
最近,我们收到一位客户打来的电话,他提出了有关将现有 Domino 数据迁移到新的 SharePoint 安装中的想法。由于这位客户有着大型的 Domino 安装,因此这种提议存在问题。我们提出了问题,然后为他说明了在新的 SharePoint 安装中使用当前基于 Domino 的应用程序的各种方法。
集成是当今企业环境中的实际问题,当前的企业环境有着多应用平台的特点,因此 Lotus Domino 和 SharePoint 可以轻松协作是毋庸置疑的。集成平台的方法众多;下面的列表给出了一个概况:
SharePoint 环境的一个要素就是 Web Part,它是将不同资源集合到一个界面中的工具。在深入研究 Lotus Domino 和 SharePoint 的集成之前,集中了解一下 Web Part 的基本概念将受益匪浅。
Web Part 是用于控制一个 Web 页面的某些部分的软件组件。它们提供了在 SharePoint 内部包含资源的方法。此类资源的范围从简单的 Web 页面一直到调用 Web 服务并显示结果。
从编程角度看,Web Part 是基于 .NET Framework 和 Microsoft ASP.NET 的。Web Part 本质上是 ASP.NET 服务器控件。可以创建新的 Web Part 作为 ASP.NET 定制控件。但是,它们与标准 ASP.NET 控件之间存在一个关键区别,即:标准 ASP.NET 控件是在设计时添加到 Web 表单页的,而 Web Part 是由用户在运行时添加到 Web Part Pages 的 Web Part Zones 的。
SharePoint Web 界面可以划分为区(zone)或页(page)。在下一部分中将介绍使用 Web Part 将资源放置在这些区域中。SharePoint 产品和技术依靠 Web Part 来提供可配置、可扩展的用户界面。本文将使用标准的、开箱即用的 Web Part。
在深入研究如何在 SharePoint 中使用 Domino 资源的例子之前,先来快速浏览一下本文所附的示例 Domino 应用程序。图 1 展示了包含公司信息的 Domino 数据库的默认视图。示例应用程序包含一个带有公司名称、联系人姓名和电子邮件地址字段的表单。此外,它还包含了一个视图,用来显示按公司名称列出的数据。
图 2 展示了数据库中的一个文档。
从本文的 下载部分 可以下载示例数据库以供使用。
要将基于 Domino 的应用程序集成到 SharePoint 环境中,最简单的方法就是通过标准的 Web 或 HTTP 调用。使用 SharePoint Page Viewer Web Part 可以很轻松地实现上述集成。
可以使用 Page Viewer Web Part 在 Web Part Page 上显示 Web 页面、文件或文件夹。使用超级链接、文件路径或文件夹名称来链接内容。当然,需要有一个 SharePoint 站点来连接 Lotus Domino。图 3 展示了在 SharePoint 测试环境中所选择的 Create Page 选项。
从列表(位于模板列表的底部,图中未显示)中选择 Web Part Page 模板。该模板允许您将 Web Part Page 的布局组织成区,并在这些区中安置一个或多个 Web Part。在本文中,我们将在单个区中链接 Domino 资源。
使用模板创建新的 Web Part Page,如图 4 所示。
Web Part 的关键特性之一就是拖放式特征。可以选择一个 Web Part,将其拖至页面上的目标区域或目标区,然后放到该位置上。将 Web Part 放置在预期的区之后,即可对它进行配置。
如前所述,我们将使用 Page Viewer Web Part 通过 HTTP 请求来访问 Lotus Domino。单击 Next 链接来访问 Page Viewer Web Part 选项,如图 5 所示。
将 Page Viewer Web Part 拖放到预期的位置。图 6 所示将其放置在页面的较低位置上。
若要访问 Page Viewer Web Part 的属性,单击 open the tool pane 链接。图 7 显示了结果。
为了在 Page Viewer Web Part 中使用基于 Domino 的应用程序,选择 Web Page 作为要显示项的类型(Folder 和 File 是另外两个选项),然后在 Link 字段输入正确的 URL。工具窗格中的 Appearance、Layout 以及 Advanced 部分使您可以进一步对资源外观进行控制。
单击 OK 保存更改。图 8 显示了在页面内包含示例 Domino 应用程序的结果 —— 页面的其他区域(顶部横幅和左侧栏)是不可见的,因为它们是空的。现在完成了仅带有一些鼠标单击事件的 Lotus Domino/SharePoint 集成。
视图内容的显示是不受限制的。可以使用任何 Domino URL 来访问基于 Domino 的数据。图 9 展示了在 SharePoint 页面的标题栏中使用 Domino 图像资源的例子(使用了来自 developerWorks 站点的 IBM 徽标)。通过标准的 ?OpenImageResource URL 命令来访问图像资源,为使用本地 Domino 服务器的示例数据库使用以下语法:
http://localhost/SharePointTest.nsf/ibm-logo.gif?OpenImageResource.
除了通过 URL 来引用图像之外,还可以使用 SharePoint Image Web Part,它允许您通过 URL 来引用图像并设置图像属性,如垂直和水平对齐、背景颜色等。使用 Domino URL 命令的要点在于可通过 Web 地址进行访问的任何资源都能够用在 SharePoint 安装中。
也可以通过 URL 与 Lotus Domino 进行交互,使用 Domino 代理来显示数据。这种方法使您能够利用 Domino 编程环境在展示之前按需处理数据。清单 1 中简单的 LotusScript 代理显示了来自示例应用程序的特定视图中各文档的公司名称。
Sub InitializeDim s As New NotesSessionDim db As NotesDatabaseDim vw As NotesViewDim doc As NotesDocumentSet db = s.CurrentDatabaseIf Not (db Is Nothing) Then Set vw = db.GetView("Companies") Set doc = vw.GetFirstDocument() While Not (doc Is Nothing) Print doc.CompanyName(0) Print "<br>" Set doc = vw.GetNextDocument(doc) WendEnd If Delete doc Delete vw Delete db Delete sEnd Sub |
该脚本访问数据库的 Companies 视图,并使用 Print 语句来显示视图中各文档 CompanyName 字段的内容。使用带有 HTTP 请求的 Lotus Domino 可以扩展为使用两个平台的 XML 功能。
XML 是 Lotus Domino 的一部分,就像它也是 .NET Framework 的一部分一样。二者都包括解析器和广泛的 XML 支持,简化了平台之间的数据交换。要访问来自 Lotus Domino 的 XML,最容易的方法之一是利用 Lotus Domino 在视图中的固有支持,使用 ?ReadViewEntries URL 命令。清单 2 展示了为示例数据库的 Companies 视图生成的 XML。
<?xml version="1.0" encoding="UTF-8" ?> <viewentries toplevelentries="2"> <viewentry position="1" unid="62AB3655123C7D6E85257228001484AF" noteid="8F6" siblings="2"> <entrydata columnnumber="0" name="CompanyName"> <text>Baseline, Inc.</text> </entrydata> <entrydata columnnumber="1" name="CompanyContact"> <text>Tony Patton</text> </entrydata> <entrydata columnnumber="2" name="CompanyEmail"> <text>aspatton@bellsouth.net</text> </entrydata> </viewentry> <viewentry position="2" unid="90B3859793C60C2385257228001479BF" noteid="8FA" siblings="2"> <entrydata columnnumber="0" name="CompanyName"> <text>ACME Products</text> </entrydata> <entrydata columnnumber="1" name="CompanyContact"> <text>Joe Smith</text> </entrydata> <entrydata columnnumber="2" name="CompanyEmail"> <text>jsmith@acme.com</text> </entrydata> </viewentry> </viewentries> |
您可将 SharePoint 页面中的 XML 与 XML Web Part 相集成。可以选择 XML Web Part 并将其拖放到页面的所需位置上。图 10 展示了添加 XML Web Part 并单击 open the tool pane 链接对 XML 进行配置之后的 SharePoint 页面。
图 10 显示了用于 XML 的选项。单击 XML Editor 允许直接键入要显示的 XML;而且可以使用 XSL Editor 来输入将应用于 XML 的任何可扩展样式表语言(Extensible Stylesheet Language,XSL)。另外,可以相应字段中输入 XML 和/或 XSL 的路径。为了进行演示,将清单中 2 的 XML 连同 XSL 直接输入到 SharePoint 中。
单击 XSL Editor 按钮并输入清单 3 中的 XSL 来格式化由 Domino 生成的 XML(用于示例数据库视图的)。该 XSL 在 HTML 表中显示视图内容,其中第一列是公司名称,第二列是电子邮件地址。
<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"> <html><body> <h2>Companies</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Company</th> <th>Email</th> </tr> <xsl:for-each select="viewentries/viewentry"> <tr> <td><xsl:value-of select="entrydata [@columnnumber=1]/text"/></td> <td><xsl:value-of select="entrydata [@columnnumber=2]/text"/></td> </tr> </xsl:for-each> </table></body> </html></xsl:template></xsl:stylesheet> |
图 11 展示了位于页面靠上部分的 XML Web Part 中所显示的数据。
除了由 Lotus Domino 生成标准的 XML 之外,还可以使用 Domino 代理生成 XML。使用与清单 1 相同的代码,代理可以生成 XML 格式的视图内容。还可以使用 Microsoft Visual Studio .NET 开发环境来开发自己的 Web Part。
尽管 XML 和 Lotus Domino 可以解决大部分问题,但在某些情况下,可能需要开发自己的 ASP.NET 页面来展示 Domino 数据。利用 Web 服务调用、COM、ODBC 或本地数据提供程序(例如 Propulsion N2N Lotus Notes/Domino data driver for .NET),这些页面可以访问 Lotus Domino。这种方法使您可以使用完整的 ASP.NET 功能以及 Lotus Domino 后端来构建应用程序。关于 COM 的使用,有一点要注意:SharePoint 以及一些 Lotus Domino 实例必须安装在同一台机器上。
开发您自己的 Web Part 时,除了要熟悉 SharePoint 环境之外,还需要具备 .NET Framework 和 ASP.NET 方面的知识。Web Part 是标准的 ASP.NET 定制控件。Microsoft 提供了模板,帮助您开始进行定制开发。下载 Microsoft 站点提供的模板安装包,您将看到需要安装 C# 或 VB.NET 示例(或安装两者)的提示。图 12 展示了安装后 Visual Studio .NET 中可以使用的 Web Part Library 项目选项。
创建定制 Web Part 的具体细节不在本文所讨论的范围之内。隐藏在 Web Part 背后的代码可以使用所有 .NET 功能,因此可以使用任何必要的方法(ADO.NET、Web 服务等)与 Lotus Domino 进行交互。
对开放标准(例如 Web 服务和 XML)的有力支持使得集成不同产品(如 Microsoft SharePoint 和 IBM Lotus Domino)变得轻而易举。SharePoint 平台通过一个 Web 界面来交付各种资源。可以方便地使用标准的或定制的 SharePoint Web Part 以及其他途径来包含基于 Domino 的应用程序和数据。利用已有的 Domino 应用程序,使之与 SharePoint 环境在同一家企业中和平共存。
描述 | 名字 | 大小 | 下载方法 |
---|---|---|---|
示例数据库 | SharepointTest.nsf | 448 KB | HTTP |
关于下载方法的信息 |
Tony Patton 是居住在美国肯塔基州路易斯维尔的一名顾问。他的工作涉及多种技术,包括 Lotus Notes/Domino、Java 技术和 Microsoft .NET。他写了两本关于 Lotus Notes/Domino 开发的书:Practical LotusScript 和 Domino Development with Java,他还负责撰写 CNet.com 关于 .NET 和 Web 开发 技术的每周专栏。您可以通过 aspatton@bellsouth.net 联系 Tony。 |
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |