zoukankan      html  css  js  c++  java
  • J2EE应用如何和DOMINO集成

    J2EE应用如何和DOMINO集成
    DOMINO, 应用
    1. Domino和Notes概述  Lotus Notes于1989年首次上市,由于其允许小组成员轻松分发最新信息并分享观点,从而为有效的团队协作提供了一种全新方式。1995年,当Lotus涉足互联网时,Web应用功能被添加进来,服务器也从Notes改名为Domino。从那时起,Notes这一品牌便专用于桌面客户机。Domino编程模式多年来也一直不断地改进,Formula language是第一种编程语言。在 6 版本中,又有一些新特性和性能增强补充了这个语言。
      Domino 6 提供邮件、书签、个人地址簿、讨论、小组工作室、Lotus SmartSuite库、Microsoft Office库、文档库、资源预留、预订和扩展邮件等功能。在安全性方面,支持PKCS#11智能卡标准、单点登录和x.509证书。在编程语言上,提供公式、LotusScript、Java、JavaScript等一系列接口。在平台方面,支持Windows、AIX、Solaris、Linux、HP-UX、AS/400、S/390等平台。在标准协议方面,支持HTTP、POP3、IMAP4、SMTP、LDAP v3等一系列规范。与此同时,还提供有新的增强功能,使工作人员能够更好地利用现有资源,用户也可从生产效率方面获得益处。
      目前的Domino 已经全面支持J2EE 结构,可集成J2EE 环境。提供JDBC Connector,允许J2EE 服务器使用JDBC 连接;提供Domino JSP Custom Tags,使构建操纵Domino 的页面变得更加容易。
      通过DOMINO 本身提供的接口
      方案一、通过Lotus Notes JDBC Driver;
      方案二、通过Lotus Connector classes;
      方案三、通过DIIOP(CORBA);
      方案四、通过Lotus XML Toolkit(DXL);
      方案五、通过Custom Tag Converion kit (DCT);
      方案六、通过LotusScript Extensions toolkit(LSX);
      方案七、通过Web Service;
      通过其他集成技术:
      方案八、通过Web页面集成技术;
      方案九、通过现成的Portlets;
      1.1. 通过Lotus Notes JDBC Driver
      LDDJ(Lotus Domino Driver for Java,也称为Lotus Notes JDBC Driver)是Type 2类型的JDBC Driver,它使得开发人员可以通过Java程序像访问关系数据库一样访问Domino/Notes数据库。LDDJ是Type 2的JDBC驱动,因此,本地需要Notes应用支持,在Lotus DominoR5和R6版本只能运行在Windows平台。
      JDBC方法是使用标准 Java 数据库技术 Domino 提供 JDBC 驱动程序并且它的行为可以看起来和标准关系数据库一样。但是,尽管某些 SQL 扩展允许访问其有层次结构的数据,但这种方法限制了使用 Domino 所能提供的好处。
      你可以去LOTUS的官方网站下载DOMINO的JDBC驱动:
      http://www.lotus.com/products/rn ... 659FDC?OpenDocument
      1.2. 通过Lotus Connector classes
      Lotus Connector Classes提供了一些Java Classes来访问Domino/Notes数据,可以在Java程序中导入Lotus Connector Classes类:lotus.lcjava.*。
      1.3. 通过DIIOP(CORBA)技术
      Lotus Domino Toolkit for Java/CORBA提供三个JAR,即dco.jar、NCSO.jar和Notes.jar,提供丰富的API保证可以方便地存取Domino数据库的内容,并对数据元素具有一定的处理能力。这个工具包命名为Toolkit for Java/CORBA,是因为在处理本地Notes数据库和远程数据库时所使用的技术有所不同。
      访问本地的Domino/Notes应用(Portal服务器和Domino/Notes在同一机器上),Java程序通过Domino APIs (在Notes.jar中)调用Domino,实际上是访问了Domino后端用C++实现的代码。Java使用JNI来访问dll中的Domino类。
      如果在不同的机器上,可以通过Domino CORBA/IIOP APIs (在NCSO.jar中)来调用。不再需要安装Notes客户端或者Domino。 需要目标Domino服务器启动HTTP和DIIOP服务。Domino使用CORBA技术来实现java程序对远程对象的访问。
      Domino Connection Object(dco.jar)封装了许多与Domino连接的对象,利于外部调用。
      BEA提供基于DIIOP的 WORKSHOP CONTROL。可在WebLogic中轻松实现与DOMINO的集成
      另外,在Weblogic Portal8.1上还可以通过email control来访问domino Server上的邮件
      1.4. 通过Lotus XML Toolkit(DXL)
      Domino/Notes提供了Lotus XML Toolkit,来以XML的方式存取Domino数据,包括文档、RTF域和一些设计元素。Lotus XML Toolkit提供了Java 的API。
      1.5. 通过Custom Tag Converion kit (DCT)
      Domino R6提供了一套自有的JSP标记,开发人员可以使用这些标记来开发JSP页面,灵活定义Notes数据的显示格式,进行数据访问、输入和过程控制。相应地,DCT可以将Notes数据库中已有的视图和表单,转换成用JSP文件。转换后效果将模拟在Notes客户端中视图和表单的显示格式。 这个工具只支持Windows平台,需要Domno R6支持。 目前DCT仍属于IBM Alpha项目,尚未正式发布。
      1.6. 通过LotusScript Extensions toolkit(LSX)
      LSX是在Lotus C++ API基础上开发出来的,用来扩展LotusScript的功能:
      1、使得Notes应用可以和Lotus家族其他产品,例如Lotus 1-2-3,进行交互
      2、使Notes应用可以与其他已有应用系统进行交互
      3、使Notes应用可以和操作系统进行某些交互
      LSX被编译成为动态链接库(在非windows平台上为其他类型的共享程序库),LotusScript可以在Notes中调用。
      1.7. 通过Web Service技术
      Domino6提供了Web服务封装功能,用LotusScript与Java技术为Lotus应用程序提供了Web服务接口。可以构建使用Web服务来访问Lotus Domino的Portlet。
      详细可参考developerworks上的文章:Develop portlets that use Web services to obtain data from remote systems
      1.8. 通过Web页面集成技术
      当Domino应用本身就是基于Web方式的应用时,把要集成的WEB页面的一部分或全部包装成一个Portlet,该Portlet通过HTTP方式与Domino OA系统相连,获取相关内容后传输给前端的浏览器。用户在Portlet上的操作,和直接在Domino OA系统上做操作是一样的效果。
      这种方法有以下好处:
      实现比较简单,可以充分利用已有的用户界面,大大提高开发的效率。
      不会给Domino OA系统增加新的负载。
      1.9. 通过现成的Portlets集成Domino应用
      可以通过Compoze公司(现在已经被BEA收购)提供的现成的Portlets集成Domino应用,这些Portlets可以集成Domino基本服务,包括收发邮件,日历,待办事宜,联系人,用户只需在第一次使用Portlets输入在Domino上的用户名和密码,以后只需登录portal就可以访问集成的Domino的这些服务,实现一次登陆的体验。
      这种方式的集成最大的特点是简单,不需要写任何的代码,只需要直接进行安装连接配置就可以完成Portal应用与Domino Notes之间的集成。缺点是只能集成收发邮件,日历,待办事宜,联系人四个功能,如果要集成自己开发的DOMINO应用,就无能为力。
  • 相关阅读:
    npm查找全局安装包命令
    sublime3添加对react代码检查
    Android开发——搭建最新版本的Android开发环境
    git无法定位程序输入点libiconv
    Java学习----finally块
    Java学习----有风险的代码(异常)
    Java学习----集合函数
    Java学习----Math函数
    Java学习----日期函数
    Java学习----字符串函数
  • 原文地址:https://www.cnblogs.com/hannover/p/2088586.html
Copyright © 2011-2022 走看看