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/rnext.nsf/873769A79D9C5B2285256A0800720B96/D14669BE33B75CB585256C4700659FDC?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应用,就无能为力。