答案:玩了一年的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、兼容Basic语言的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应用的安全性
则完全依赖于几种不同的安全模
上一个:灌第二篇:将ASP生成的内容写入响应流中最有效的方法是什么?(转)
下一个:一种比使用include adovbs.inc更好的方法,请看(Using METADATA to Import DLL Constants )