玩了一年的ASP
现在头头突然要我搞lotus domino/notes。唉,没办法~~
这里有一篇关于ASP与LOTUS DOMINO/NOTES的文章,各位看看,说说看法
-------------------
(转http://go2.163.com/~notes/xuexi/ynjd0026.htm)
发信人: liuzheng.bbs@sh.netease.com (漂流瓶), 信区: Groupware
标 题: ASP和Domino的比较
发信站:
网易虚拟
社区上海站 (Fri Mar 5 11:35:49 1999)
转信站: Netease2!Netease3
Active Server Pages 和 Lotus Domino 的比较
ASP(Active Server Pages) 是基于服务器段端的编程
框架,是运行在IIS内
的一系列互相关联的脚本引擎部件,目的是动态产生Web页面——内容由嵌入在W
eb页面的脚本程序通过ASP引擎动态产生。ASP与传统的基于CGI、PERL等繁琐的方
式将动态数据技术集成WEB相比较,有了很大的提高。作为一种动态的数据引擎,
ASP在某中程度上可与Domino作些比较。要求大量的
时间和
开发资源,ASP可以创
建不同类型的应用,但是这些应用还只是最基本层次的。从根本上说,它适合用
来创建简单的、基于数据
驱动的Web页面,尤其是仅仅基于Windows NT上应用。相
对来说,Domino提供的跨平台应用开发,是基于“偶尔编程Code-by-Exception”
的方法,而
微软则采用了“处处编程Code-by-default”的方法。Domino提供了可
以结合良好适应性的编程逻辑的各种高级的应用编程构件,如子表单、表单、视
图、代理等。利用较高层的编程手段,通过简单的点击对话,Domino采用简单命
令或Notes公式就可以完成编程。更复杂的Domino应用,则可以采用脚本语言、J
ava、JavaBean或ActiveX控件。所有的编程方法,都访问到集成在Domino中功能
服务,如企业数据集成、消息传递、
安全性、工作流、
日程表、内容索引、全文
索引、目录管理等。所有这些,使得Domino的应用可以迅速地被创建和修改。开
发者可以把主要精力放在应用逻辑的处理上,而不是底层的代码编写上。
服务器脚本语言:
在IIS服务器中,ASP服务器脚本语言是最主要的基础。然而,它需要开发者
将所有的逻辑用脚本语言编写,并且只有该页面被调用时才会被激活。Domino提
供了一种适应性更强的服务器端脚本编程能力,以及代理管理技术。应用逻辑的
实现是“偶尔编程的”:可以采用对话框的界面方式来编程,也可运用Notes公式
、Java、兼容Basi
c语言的LotusScript 语言等。并且,代理不但可以在不同的页
面事件中触发,而且可以基于调度的,可以不需用户的干预而触发。
动态/个性化的页面:
通过ASP技术,可以执行基于HTML页面中的应用逻辑,提供了动态和个性化的
内容。而这些只是Domino的缺省属性:每一个
设计元素都是可编程的,用户的身
份由Domino自然维护,Domino在用户请求的同时自动产生页面。开发者不需要跟
踪用户的身份,也不需
手工编写或维护复杂的脚本程序和HTML页面来产生动态的
,个性化的内容。
数据库驱动的页面:
通过动态数据对象(ADO),ASP脚本可以在WEB页面中访问后台数据库。Dom
ino通过跨平台的LS:DO方式提供同样的方式,访问ODBC数据源。事实上,通过OL
E的方式,如果限定在Windows NT上,开发者同样可以利用ADO方式访问数据库。
除此以外,利用集成在Domino中的企业集成连接件(DECS),开发者可以不需编
程就在Domino应用中能访问到企业数据库资源。Domino可以直接访问DB2、Oracl
e、Sybase、
文本文件和文件
系统,或EDA/SQL系统。此外Domino还可以集成SAP、
e、Sybase、文本文件和文件系统,或EDA/SQL系统。此外Domino还可以集成SAP、
事务处理系统、MQseries、CICS等等。
将内容与业务逻辑相分离:
微软鼓励开发者将应用逻辑编写在客户自己制作的控件中,即将应用源码与
ASP服务器本身分开。然而,即使控件中包含了某些静态的业务逻辑,需要根据不
断变化的业务逻辑来访问和操纵这些控件的脚本,依然存在于ASP的HTML页面中。
这种基于页面的方式,使得代码的维护变得非常困难。一个布局的改变,或者一
个控制控件的逻辑改动,将要牵涉到很多的文件。改变后的页面不得不用手工方
式进行发布。(采用手工修改,或将该过的文件通过文件系统拷贝)到运行该应
用的服务器上。相比之下,Domino采用基于表单的方式,将逻辑区分于布局,而
且通过广泛使用设计
模板,真正做到使应用与设计、逻辑分离。表单用于控制布
局,在表单中,元素背后存放逻辑(字段,代理,操作),这使得在页面中的布
局与逻辑区分开来。在模板中,存放了所有的设计元素(字段,代理,操作)。
维护时,只需要对应用模板更新。通过Domino 的复制机制,能够将所做的修改自
动发布的所有相应的服务器上。所有升级工作将由系统自动地按预先安排来完成
。
开放的脚本:
ASP技术提供了内置的对VBScript 和JScript的支持。JScript是基于ECMA-2
62标准的语言:兼容JavaScript。Domino提供可扩展的、开发的脚本编程环境。
除了与BASIC兼容的LotusScript之外,可使用Java来编写服务器端程序。并且,
Domino“偶尔编程”的开发手法,提供了开发
效率,具有更广泛的适应力:除了
脚本编程之外,对于复杂逻辑的实现,Domino提供了非编程实现的办法:如高层
次的应用开发部件(如表单、视图、字段等等),对应用服务(如数据连接、报
文传递、工作流、安全性等)的简单访问方法,支持高效率的逻辑实现方法(如
点击对话框、简单命令、易学的Notes公式语言)。结合复杂脚本编程手段与能够
被多种
工具利用的、开放的对象模型,使得Domino成为既强大有开放的编程开发
环境。
独于的
浏览器:
ASP脚本中可以嵌入逻辑,以判断查询该页面的
浏览器的类型。利用这些信息
,应用程序开发者可以针对不同的浏览器提供不同版本的页面。缺省地,不需人
工干预,Domino就可以提供与浏览器独立的HTML页面。采用与ASP一样的方式,D
omino可以通过编程增强对浏览器类型的判断:通过CGI变量获取客户机类型信息
,编写应用逻辑,返回不同类型页面。
可操作性:
微软认为用ASP开发WEB应用是“可操作的”。客户化的页面、动态产生的HT
ML页面,可以用ASP技术与VBScript技术很容易地实现,远胜过传统的WEB开发工
具如C、PERL、CGI等。在这方面Domino则远远超过了ASP技术:“偶尔编程”的开
发方式、高层次的开发部件、基于表单的而不是基于页面的开发办法、可面向非
专业开发人员的应用开发,以及功能高级的编程能力,和通过用模板来管理应用
,用复制机制分发应用等等。
用Domino开发Web应用的优势
今天,微软的ASP技术,主要是被用于创建基于Web的前端连接到现有的后端
系统或数据库的应用。但开发用于处理业务流程、管理工作流或加强协同工作的
应用,还需要许多附加的系统及大量的需要编程的组件集成工作。这其中包括:
应用,还需要许多附加的系统及大量的需要编程的组件集成工作。这其中包括:
需要定义储存机制,核心基础服务需要安装与配置的、并且需要通过手工的方式
集成对象,需要创建的客户化Active Server Component 以及为上述组件的组合
编写的大量代码。为了充分发挥ASP的功能。开发人员应深入理解多种微软的产品
。
相比之下,Domino提供了一个集成的平台和一个高层的、可视化的开发环境
,使开发者可以快速而简易地创建Web应用。此外,除了服务器端编程、动态内容
生成、由数据驱动的Web页面、内容与应用逻辑的分离、高层次的应用部件和集成
的应用服务外,Domino还具有了针对ASP的众多优势。这些优势具体体现在开发诸
如前端
办公处理系统、内容管理、与企业系统如关系型数据库系统、
ERP应用与传
统系统的集成等应用上。
集成的核心服务:企业级数据存访、报文传递、目录服务、复制、安全性、内容
索引、全文检索、
日程安排等。
IIS和ASP不提供应用需要的基础服务。这些服务必须以分开的形式加以安装
及管理。开发人员只能通过手工的方式通过编程Active Server Component的方式
实现(如果有这样的Component的话)。而核心应用服务是Domino提供的内置基础
设施的一部分,服务是一致的,可以由任何类型的应用访问到:而IIS与ASP应用
中,由不同的访问模型、安全模型、复制机制、管理特性相结合才能提供与Domi
no相类似的服务功能。Domino通过点击对话、Notes的公式语言、脚本语句及Jav
a对象接口等方式提供对核心服务高层次的访问能力。Domino灵活的应用开发环境
可以充分地利用现有的基础服务功能。
安全性
Domino在应用中提供了难以匹敌的安全性特征。Domino构建了从最底层起的
安全体系,它所涵盖的范围并不是简单的文件、目录或者某些组件接口。一且某
个用户通过了服务器的授权——这种授权可以是基本的身份验证还是SSL——则D
omino就能控制其会话,保护应用元素直到字段一级。Domino共分7个层次对系统
的各个级别进行颗粒化的
权限管理。用户可以根据应用的实际情况被指定为不同
的角色,以确定哪些信息可以被访问,哪 些操作可以执行。而ASP应用的安全性
则完全依赖于几种不同的安全模式:NT、IIS和用于数据存储的后端系统。由于微
软的安全模式均围绕于所谓计算资源,对文件及目录访问可以被限制,但即没有
页面之内的权限控制又没有应用中的角色控制。ASP的后端系统,如Exchange 依
然缺乏了象Domino系统这样的安全能力,甚至在为某些协同工作的应用编写了相
应的代码后,Exchange仍然不能像Domino那样提供诸如
文档级直到字段级的存取
权限控制。
快速的应用开发
Domino高层次的编程部件、对核心服务的容易访问、“偶尔编程”的编程方
式,使开发者可以迅速完美地实现业务需求。开发者应尽量将
时间用于处理业务
问题,而不应过多地困扰于手工地去集成应用服务所需的系统架构。ASP应用是以
“处处编程”为思路而开发的,所有的应用均由一段Script开始,而且通常需要
一些定制的Active Server Component。虽然微软扩展了Design Time Controls的
用途,可以生成某些常用功能(如数据库联接件等),但是定制任何元素——包
括定制由Design Time Controls生成的代码——都需要开发者具有相当的Script
括定制由Design Time Controls生成的代码——都需要开发者具有相当的Script
经验和特定的Active Server Component的知识。相比之下, Domino则结合了几
种高层次应用的部件(如子表单,表单,视图,代理等)和灵活的应用逻辑:这些逻
辑可通过高层次的方法的,如点击对话框、简单命令等生成,也可通过简单的公
式语言定义。当这些高层应用部件和应用逻辑工具的使用受限时,Script,Java
,JavaBeans及ActiveX组件均可用以构建更加深层的应用。所有这些应用都可通
过模板进行管理,再通过复制技术加以分发。Domino的应用可以快速地构建,然
后完全可以由不用的开发人员为用户进行相应的修改并再次投入使用,而后者并
不需要具备原先开发者相同的水平。可以进一步说明的是,对于一个跨国的组织
来说,一个Domino的应用可以一次性完成开发,然后通过Domino Global Design
er工具将其
翻译成各国语言。
广泛、灵活的企业集成
Domino通过大量灵活的开发选项,提供了广泛针对企业数据的集成能力。利
用DECS,企业的数据可被无缝地做为Domino应用的一部分,同时这些数据仍保存
在其原始的存储空间中。这种深层的Domino与企业系统的集成并不需编程,而且
对于Domino的开发人员来说也是透明的。此外,针对应用的某些具体需求,开发
人员也完全有能力通过LotusScript或者Java进行编程性控制。IIS/ASP应用则需
要通过COM对象,例如ADO、COM TI,或者是定制的Active Server Components去
访问企业系统。这些对象是通过ASP引擎执行Script存访。Visval InterDev提供
了可以生成基本的、访问关系数据库的Script的Design Time Controls,而访问
其他系统则另外需定制组件并将其手工集成到应用中。
动态,层次化视图
工作流应用中的动态信息和Web站点都需要动态的、层次化的显示文档和页面
的视图。Domino的视图是通过高层次的、可视化的工具产生的,并不需要额外的
编程。一旦开发者定义了哪种文档属于该视图,Domino就会自动地为视图进行相
应的管理,如索引更新及保持对视图内容的跟踪等。如果需要的话,可在视图中
增加相应的逻辑和全文检索。而在ASP应用中,视图需通过Content Linking Obj
ect的编程,手工地维护一个
url文件才能实现,或者通过Active Server Compon
ent去查询后端系统。
定时代理
为处理没有用户触发的事件,定时代理是必须的。Domino的代理技术是非常
灵活的,既可以处理用户触发事件,也可根据预先确定的时间间隔去处理已安排
的事件。IIS/ASP由于不能提供此类机制,因而限制了他们的工作流的能力。为执
行上述的应用逻辑,微软的Web应用开发者必顺脱离IIS/ASP环境,而在Exchange
5.5的服务器上去创建和维护相应的Script。
内容结构和集成对象存储
ASP应用是基于页面的,它由大量的位于文件系统中的文件所构成。IIS没有
提供除文件系统外其他的Web应用存储机制。如果需要将用户的信息存储在数据库
中,则只能在IIS/ASP的系统环境外去生成这样的数据库,同时也必须通过Scrip
t和Active Server Components才能够去访问。Domino应用通过有结构的对象存储
管理组织其中的内容与索引属性。针对Web应用典型的非结构化的信息特点,Dom
ino的内置集成的对象存储是最优的存储与管理容器。另一方面,它还能够无缝地
集成从企业系统(如关系型数据库系统)中的数据。
设计元素的复制、存储和管理
ASP的应用是一组存储在文件系统目录中的相关文件。这些文件包含了HTML内
ASP的应用是一组存储在文件系统目录中的相关文件。这些文件包含了HTML内
容、布局、客户端的Script(如JavaScript)与服务器端Script等。根本没有真
正的办法体现所谓应用的管理。而应用在多个服务器的分发也是通过文件系统的
拷贝操作实现的,相比之下,Domino将所有的应用设计元素存储在一个单一的、
结构化的存储体中。Domino基于表单的设计方法将应用的布局与其信息的应用逻
辑分离开来,并将其存储在自定义的文档中。应用的设计则通过包括了各种设计
元素(如表单、视图,代理等)的模板进行管理。所有的应用都可通过Domino的
复制技术进行分发,而应用的更新则借助于一个定时运行的设计更新进程自动地
实现。模板为多个应用提供了独有的维护能力:一个单一的模板可同时为多个应
用提供公用设计框架,而这些应用可以是在整个公司的范围内使用的。
平台无关性
IIS只能运行于Windows NT操作系统之上。Domino以及Domino的应用可运行于
多种平台之上,从而相应使客户的业务需求、伸缩性要求不因供应商的原因而被
确定在某一个单一的平台上。Domino提供了跨平台的特性,但同时也支持及维持
与微软的相应技术,如NT、ActiveX、ODBC、MAPT、OLE Automation等的集成。