在Microsoft Office Access与OLE服务器或ActiveX控件通讯时出现问题
1)检查 "DCOM 服务器进程启动器"是否已经启动如果没有,启动它
启动后过一会再重新打开Access,看看是否OK了
2)如果还是出现问题,
检查 "COM+ System Application"是否已经启动如果没有,启动它
启动后过一会再重新打开Access,看看是否OK了
3)如果还是出现问题,
检查 "Remote Procedure Call (RPC)"是否已经启动如果没有,启动它
如果中了某些病毒,RPC服务会出现启动错误会导致很多服务起不来
4)如果还是问题依旧
启动"MS Software Shadow Copy Provider"服务
ActiveX 是一个开放的集成平台,为开发人员、 用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法。 使用 ActiveX, 可轻松方便的在 Web页中插入 多媒体效果、 交互式对象、以及复杂程序,创建用户体验相当的高质量多媒体 CD-ROM 。
总共可分为以下几种:
ActiveX 控件
以前称为 OLE 控件或 OCX 控件的 ActiveX 控件的组件 (或多个对象),以便您可以重复使用可以插入到网页或其他程序打包在其他人编写的功能。例如对于所包含的 Internet Explorer ActiveX 控件,可以增强您的 Web 页使用复杂的格式设置功能和动画。
通过 Java 程序和 $ Netscape 插件的 ActiveX 控件的一个主要优点是 ActiveX 控件也可以在中包括的所有 Microsoft 编程和数据库语言的许多编程语言编写的程序中使用。
ActiveX 文档
当您浏览与一个 ActiveX 意识 Web 浏览器这样的 Internet Explorer 时 ActiveX 文档将使您能够打开具有其自己的工具栏和菜单可用的程序。这意味着您可以通过使用一个支持 ActiveX 的 Web 浏览器打开如 Excel 或 Word 文件的非 HTML 文件。
ActiveX 脚本
ActiveX 脚本支持包括 Microsoft Visual Basic 脚本和 JavaScript 的最受欢迎脚本的语言。ActiveX 脚本可用于集成多个 ActiveX 控件或从 Web 浏览器或服务器,扩展其功能的 Java 程序的行为。 希望对你有所帮助
动态网页的一般特点简要归纳如下:
(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;
(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
(4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求
什么是静态网页?静态网页有哪些特点?
在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的。
也就是以htm、html、shtml、xml等为后后缀的。在HTML格式的网页上,也可以出现各种动态的效果,如GIF格式的动画、FLASH、滚动字母等,这些“动态效果”只是视觉上的,与下面将要介绍的动态网页是不同的概念。
我们将静态网页的特点简要归纳如下:
(1)静态网页每个网页都有一个固定的URL,且网页URL以htm、html、shtml等常见形式为后缀,而不含有“?”;
(2)网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;
(3)静态网页的内容相对稳定,因此容易被搜索引擎检索;
(4)静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;
(5)静态网页的交互性交叉,在功能方面有较大的限制
提起动态主页的制作,就不能不说到ASP动态网页技术。细心的读者会发现很多网站的文件是以asp结尾,那么这个ASP到底是什么,它与HTML有什么关系,又是如何工作的呢?不妨一起来看一看。
一、细说ASP
ASP 是Active Server Pages的简称,是微软开发的服务器端脚本环境,它内含于IIS或PWS中,提供一个用于服务器端脚本执行的环境,以此来实现动态交互的目的,这也是许多动态网页技术的共同特征。本章内容均围绕 IIS来进行讲解,PWS的内容与此大致相同。
ASP的兴起似乎是“一夜之间”,到底它有什么“魔力“呢?
1无须编译或链接即可执行,可集成于HTML代码中,有了它,可省去许多繁琐重复的劳动。
2与浏览器无关:用户端只要使用可执行HTML代码的任何浏览器(例如IE、Netscape等),即可浏览由ASP所设计的主页内容。所有代码都是在服务器端执行,只要写好代码,工作服务器就能搞定一切。
3 可通过ActiveX Server Components(ActiveX服务器组件)来扩充功能,而 ActiveX Server Component可使用Visual Basic、Java、Visual C++、COBOL等语言来实现,有了它就可随意扩展功能。更令人兴奋的是,现在网上有很多第三方组件可以随意下载,想要什么尽可去Search、去Download,然后放在你的ASP代码中调用就OK啦。
4ASP与任何ActiveX Scripting语言兼容。除了可使用VBScript或JavaScript语言来设计之外,还可通过Plug-in的方式,使用由第三方提供的例如REXX、Perl、Tcl等脚本语言,学过动态主页制作的人都知道它们的重要性。
5ASP源程序代码不会在浏览过程中被下载到用户的浏览器中,也就是说它对你的代码进行了保密。太棒了,花了九牛二虎之力做好的东东可不能让别人轻轻点一下鼠标就拿走了。
ASP作为一种动态网页制作技术易学易用,很是让人心动。接下来我们就来看看ASP是如何工作的,一般来说,ASP文件由3个部分组成:
1普通的HTML文本(也就是基本网页的内容)。
2客户端的脚本代码(<script>与</script>之间的程序代码)。
3服务端执行的程序代码(<%……%>之间的程序代码)。
我们先来看一个简单的例子:
helloasp
<% @language=VBScript%>
<html>
<head>
<title>每天不同时刻的问候语</title>
</head>
<body>
<%
dim says
if hour(now)<12 then
says="早上好!"
else
if hour(now)<18 then
says="下午好!"
else
says="晚上好!"
end if
end if
%>
<h1><% =says %></h1><body>
</html>
结果怎么样呢?如果浏览者是早晨10点打开这个网页,将会看见“早上好!”的问侯语(图1),如果是下午14点进入,页面中则会出现“下午好!”。上面 <%……%>之间的程序由服务器来执行,而我们常用的脚本则是由客户端来执行。这个简单的例子包含了ASP的典型结构,并且强调了ASP的服务端执行,对于我们初学ASP有一定的参考意义。
ASP动态网页与普通的静态网页在显示上有很大不同,它整个的运行过程可分成以下几步:
第1步:用户在浏览器的网址栏中输入asp文件名称,并回车触发这个ASP的请求。
第2步:浏览器将这个Active Server Pages的请求发送给IIS。
第3步:IIS接收这个请求并根据其asp的后缀,意识到这是个ASP请求。
第4步:IIS从硬盘或内存中接收正确的ASP文件。
第5步:IIS将这个文件发送到一个叫ASPdll的特定文件中。
第6步:ASP文件将会从头至尾被执行,并根据命令要求生成相应的静态页面,生成HTML主页。
第7步:HTML主页将被送回浏览器。
第8步:HTML主页将会被用户浏览器解释执行并显示在用户浏览器上。
为了清晰地说明问题,以上步骤已经进行了很大简化。事实上,一个ASP并不一定每次都会重新编译解释,如果第二次接受以前的请求,而该请求没有任何变化,ASP会从数据缓存中提取出以前的结果,而不是再次运行ASP程序,这样可以大大提高运算速度。
对于服务器来说,ASP与HTML有着本质的区别,HTML是不经任何处理就被送回给浏览器,而ASP的每一条命令都首先被用来生成HTML文件,这也正是ASP允许生成动态内容的原因之一,也是动态网页复杂之所在。
另一方面,对于浏览器来说,ASP和HTML几乎没有区别,仅仅是后缀为asp和htm(或html)的不同,当客户端提出ASP请求后,浏览器接受的其实是HTML格式的文件。通过以上一个简单的ASP例子,有两点必须记住:有些代码是在服务器端执行,有些是在客户端浏览器端执行,而在浏览器端看到的是经过服务器解释之后输出的代码。
二、ASP的基本语法
VBScript是ASP的缺省语言,当然也可在 ASP网页中使用其它脚本语言,如JavaScript、Perl等。这里所有的ASP都使用VBScript,我们将要介绍的也主要是VBScript 的语法知识。相信通过前些期JavaScipt专题的学习,你一定对VBScript驾轻就熟了,其实VBScript跟JavaScript很类似,它是从Visual Basic中简化出来的版本,作为一种解释语言,也非常容易学习和使用。
1将VBScript的脚本集成到ASP中
方法主要有3种:最简单且最常用的方法是使用两个特殊字符“<%”和“%>”,只要在使用的VBScipt脚本语句前后加上它们即可,例如:<% Responsewrite"VBScipt脚本" %>。
第二种方法是在特定的主页中指定主要的脚本语言,要将这种语言名称直接放在ASP程序的第一行,例如:
<% @language=VBScript %>
<html>
<body>
</body></html>
第三种是方法是利用微软的HTML<Script>拓展对象,这样就可以在一个单独的主页中混合使用多种Script脚本。例如下面的例子:
<% @language="VBScript" %>
<html>
<head><title>ASP Script示例</title></head>
<body>
<script language="JScript" RUNAT="server">
function sayhello()
{
responsewrite(“混合使用多种script脚本”)
}</script>
<% for I=1 to 10
sayhello()
next
%>
</body>
</html>
需要注意的是,使用<script>包含的脚本会立即执行,无论它放在ASP的任何位置。此外,上面提到的第二和第三种方法,可以在ASP中灵活使用其他的脚本语言,而不只是局限于VBScript。
ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络(现在的网络主要包括Windows和Mac)中任意运行的程序。这个组件就是ActiveX近控件。ActiveX是Microsoft为抗衡Sun Microsystems的JAVA技术而提出的,此控件的功能和JAVA applet功能类似。
如果您使用的是Windows操作系统,您或许会注意到一些以OCX结尾的文件。OCX代表“对象链接与嵌入控件”(OLE),这个技术是 Microsoft提出的程序技术,用于处理桌面文件的混合使用。现在COM的概念已经取代OLE的一部分,Microsoft也使用ActiveX控件代表组件对象。
组件的一大优点就是可以被大多数应用程序再使用(这些应用程序称为组件容器)。一个COM组件(ActiveX控件)可由不同语言的开发工具开发,包括C++和Visual Basic或PowerBuilder,甚至一些技术性语言如VBScript。
目前,ActiveX控件在Windows 95/NT和Macintosh中运行,Microsoft还准备支持UNIX的ActiveX控件。
ActiveX组件包括如下几类:
1自动化服务器:可以由其他应用程序编程驱动的组件。自动化服务器至少包括一
个,也许是多个供其他应用程序生成和连接的基于IDispatch的接口。自动化服务器
可以含有也可以没有用户界面(UI),这取决于服务器的特性和功能。
2自动化控制器:那些使用和操纵自动化服务器的应用程序。
3控件:ActiveX控件等价于以前的OLE控件或OCX。一个典型的控件包括设计时和运
行时的用户界面,唯一的IDispatch接口定义控件的方法和属性,唯一的
IConnectionPoint接口用于控件可引发的事件。
4文档:ActiveX文档,即以前所说的DocObect,表示一种不仅仅是简单控件或自动
化服务器的对象。ActiveX文档在结构上是对OLE链接和模型的扩展,并对其所在的
容器具有更多控制权。一个最显著的变化是菜单的显示方式。一个典型的OLE文档的
菜单会与容器菜单合并成一个新的集合,而ActiveX文档将替换整个菜单系统,只表
现出文档的特性而不是文档与容器共同的特性。
5容器:ActiveX容器是一个可以作为自动化服务器、控件和文档宿主的应用程序1 Flash Player ActiveX Control 60470
与FLASH 60配套的浏览器端动画播放插件
downloadpchomenet/development/activex/551html
2 ACE Mega Codec Pack Professional 603
目前互联网上最齐全的多媒体文件播放插件CoDecS、ActiveXFilterS和其他应用程序(基于
wwwonlinedownnet/soft/11915htm
3 Anti ActiveX-3721 百度搜霸 CNNIC 免疫器 151
AntiactiveX-3721 百度搜霸 CNNIC 免疫器
downloadpchomenet/system/treak/17251html
4 ActiveBar V20 SP3 汉化版
ActiveBar 是一款设计用户界面必不可少的 ActiveX 控件
wwwskycncom/soft/8387html
5 SpywareBlaster 351
主要用来屏蔽国外的色情站点和黑客站点的弹出式ActiveX
downloadpchomenet/internet/safe/17262html
6 EasyByte Cryptocx 617
一个加密ActiveX control,超过3MB的文件在一秒内即可加密完成
downloadpchomenet/development/activex/9013html
7 ActiveX Control Pad 10
让你轻松在网页中加入ActiveX控制项,是一种网页编辑工具,有了它你就可以建立一般HTM
wwwonlinedownnet/soft/3770htm
8 ActiveSkin 43
一个Visual Basic ActiveX组件
downloadpchomenet/development/activex/8859html
9 PowerTCP Emulation Tool 183
一个用于 Internet 应用程序设计的 ActiveX 控件组。
downloadpchomenet/development/activex/764html
10 Anti ActiveX nags 151 Build 0925
经常上网的朋友在浏览网页时,是否经常会碰到各类要求您认证的对话框(如“3721网络实
wwwonlinedownnet/soft/28775htm
11 AVCapture 音/视频捕捉 112
基于DirectShow技术开发的音视频讯号捕捉ActiveX控件
downloadpchomenet/development/activex/14398html
12 Authorware Web Player ActiveX Control 5,2,0,61
浏览器插件
downloadpchomenet/development/activex/553html
13 aPaper 动态桌面 21
aPaper是个独特的软件,可以让你将建立在Flash动画、Javaapplets、ActiveX对象和HTML
wwwonlinedownnet/soft/33540htm
14 ActiveX Control Pad 10
把ActiveX控件和脚本加入到你的HTML页面中
downloadpchomenet/development/activex/664html
15 常见Active X插件屏蔽器 040113
PChome特别放松的常见ActiveX插件的屏蔽解决方法例如3721,网易等
downloadpchomenet/internet/safe/16222html
16 Basic Constituents for VB V10
一个 VB 控件组。其中包含了 25 个厂商制定的 ActiveX 控件
downloadpchomenet/development/vb/7072html
17 ShuX ActiveX Control 中文版 1006
功能强大的界面增强控件
downloadpchomenet/development/activex/12796html
18 反间谍专家 21
提供系统免疫,确保系统不受恶意网站、间谍软件、有害ActiveX的侵扰
downloadpchomenet/internet/safe/19313html
19 圆盘仪表控件 V31
圆盘仪表控件 是一套基于 ActiveX 技术,面向仿真、工控、科学、仪表
downloadpchomenet/development/components/876html
20 Atguard 131
不仅可以实现广告过滤,还可以过滤JavaScript,ActiveX,Cookie
downloadpchomenet/internet/ispeed/2590html
21 ShuX XPMenu ActiveX Control 中文版 103
能使您快速设计出Office XP风格的菜单
downloadpchomenet/development/activex/13369html
22 teeChart Pro for Delphi 5 V50
teeChart Pro 是生成图表的 ActiveX 控件。
downloadpchomenet/development/delphi/845html
23 NCTAudioConvert 21617 Build 20030411
一个转换声音文件格式的 ActiveX 控件
downloadpchomenet/development/activex/10105html
24 ImpulseStudio 302
功能多多的 Visual Basic ActiveX 控件包
downloadpchomenet/development/activex/11328html
25 ActiveX Manager 14
无需知道REGSVR32,用该软件你就可以轻松管理机器中装的ActiveX插件
downloadpchomenet/development/activex/6751html
26 NCTWavRecord 1427
由 NCT Company 制作的,声音录制和回放的 ActiveX 控件
downloadpchomenet/development/activex/10103html
27 NotTroubleMe 别烦我 英文版 12 build 0114
GreenBrowser外部工具,可以禁止弹出关于ActiveX认证的对话框
downloadpchomenet/internet/browser/plugin/16176html
28 ActiveX Manager 14 汉化版
ActiveXManager是一个管理ActiveX控件的简易程序。它可以注册及反注册ocx、dll控件,
wwwonlinedownnet/soft/30727htm
29 PrintCell电子表格打印预览控件 V42
PrintCell电子表格是一款ActiveX组件,解决软件开发中
wwwskycncom/soft/13533html
30 别烦我 V12 Build 0114
"别烦我" 可以禁止弹出某些关于ActiveX认证的对
wwwskycncom/soft/454html
31 Cell 组件 V334
CELL 组件是在中文环境下开发的图表处理 ActiveX 组件
downloadpchomenet/development/components/878html
32 PC-Cillin 扫描引擎for Win9x/Me V6150
PC-Cillin 2000 扫描引擎,可检测并删除恶性 Java 与 ActiveX 。同时也增加了压缩
download21cncom/listphpid=5186
33 CDWriterXP 16
以ActiveX控制整个烧录机制,稳定地烧录
downloadpchomenet/utility/cdr/9915html
34 SpywareBlaster 351
SpywareBlaster是一个放间谍工具的软件,它可以关闭流行的间谍软件的ActiveX控件,从
wwwonlinedownnet/soft/11918htm
35 ActiveThreed Plus 3033
是一个 ActiveX 控件组
downloadpchomenet/development/activex/7421html
36 ShuX XPMenu ActiveX Control V101 中文版
ShuX XPMenu 是一个全新的增强型介面控件,它能使您快
wwwskycncom/soft/9434html
37 ActiveXperts Network Monitor 60
ActiveXpertsNetworkMonitorb是一个使用方便功能强大的局域网、广域网服务器和网络设
wwwonlinedownnet/soft/21365htm
38 zhwxGUI ActiveX Controls 10
Ani动画控件 & Splitbar,etc
downloadpchomenet/development/activex/8857html
39 Active Backup Expert Pro 192
保存多份备份文件,制作自解压缩文件,支持ActiveX
downloadpchomenet/system/backup/3155html
40 字幕滚动控件 V10
字幕滚动控件是一标准ActiveX控件。在Win98、Win2000、
wwwskycncom/soft/14537html
参考资料:
使用 ActiveX 控件,可以很快地在网址、台式应用程序、以及开发工具中加入特殊的功能例如动画什么的 还有保密功能就是银行帐号下的密码通常要装这个才能输入
ActiveX
一、ActiveX的由来
ActiveX最初只不过是一个商标名称而已,它所涵盖的技术并不是各自孤立的,其中多数都与Internet和Web有一定的关联。更重要的是,ActiveX的整体技术是由Microsoft的 COM(Component Object Model,组件对象模型)构筑的。但不要误认为ActiveX是定义了所有包含基于COM的技术。COM与Microsoft Office和Windows以及Microsoft现在所做的一切都有关联,但显然这些产品并不是ActiveX家族中的成员。
ActiveX是从Microsoft的复合文档技术——OLE成长起来的。OLE最初发布的版本,只是瞄准复合文档,但在后续版本OLE2中,导入了COM。COM是应OLE设计者的需求而诞生的。其基本的出发点是想让某个软件通过一个通用的机构为另一个软件提供服务。因而,COM 的第一个使用者是OLE2。实际上,COM与复合文档间,没有多大关系。后来,COM就作为与复合文档完全无关的技术,开始被广泛使用。这样一来,Microsoft就开始"染指"通用平台技术。但COM不是产品,它需要一个商标名称。不巧,市场专家们选用了"OLE"作为商标名称。于是,使用COM的技术都开始贴上了OLE的标签。当然,这些技术中的绝大部分与复合文档没有关系。Microsoft要想向人们解释:"OLE不单单是指复合文档!",这要花费相当的精力和时间。
于是,在1996年春,Microsoft改变了主意,选择了ActiveX作为新商标名。ActiveX是指宽松定义的、基于COM的技术集合,而OLE仍然仅指复合文档。当然,最重要的核心还是 COM。
让对象模型完全独立于编程语言,这是一个非常新奇的思想。从C++和Java的对象上 ,我们就能有所了解。但所谓COM对象究竟是什么为了便于理解,可以把COM看作是某种( 软件)打包技术,即把它看作是使软件的不同部分,按照一定的面向对象的形式,组合成可以交互的过程和一组支持库。COM对象可以用C++、Java和VB等任意一种语言编写,并可以 DLL或作为不同过程工作的执行文件的形式来实现。使用COM对象的客户端,无需关心对象是用什么语言写的,也无需关心它是以DLL、还是以另外的过程来执行的。从客户端来看 ,无任何区别。
这样一个通用的处理技巧非常有用。例如,由用户协调运行的两个应用,可以将它们的共同作业部分,作为COM对象间的交互来实现(当然,现在的OLE复合文档也能做到)。为在浏览器中执行而从Web服务器下载的代码,浏览器可把它看作是COM对象。即是说,COM技术也是一种打包可下载代码的标准方法(ActiveX控件执行这种功能)。
甚至连应用与本机OS进行交互的方法,也可以用COM来指定(Windows和Windows NT用的新API,多数是作为COM对象来定义的)。COM虽然起源于复合文档,但却可有效地适用于许多软件问题。
二、ActiveX王国
Active平台是Microsoft的世界观。其基本思想是:使用ActiveX控件,来构筑包括从与用户交互和适应COM的事务处理监视器到Web服务器、全部实现自动化的机构。Active 平台包括两大部分:Active Server和Active Client。
Active Server实际上是中间层。使用组件或Active服务器页面,来提供用于业务逻辑和主要应用处理的场所。ActiveServer的技术,其核心是NT Server、Microsoft事务处理服务器、数据管理服务、目录服务、Web服务以及网络服务。
事务处理服务器是把线程产生和数据库多重化等传统的TP监控功能与Microsoft的基于组件的编程模型结合起来。数据管理服务等Active平台的其他组件是用OLE DB和ODBC ,访问DB2、Oracle、SQL Server等的数据源。目录服务是在DCOM(Distributed COM,分布式COM)的周围,提供目录服务层,这样使远程对象在网络上能相互搜索。Web服务以Inter net信息服务器为中心进行构筑,它为服务器上的Web应用开发,提供脚本生成(Scripting )机构。网络服务以DCOM为中心进行构筑,通过以同步MS-RPC为中介的网络,使之能够连接控件。
Active Client是一种交叉平台。Microsoft的技术纵然是独家所有,但也希望将这种技术向多个OS开放。具体实施计划是使用脚本引擎(Scripting Engine)。这种脚本引擎是由标准的HTML和带有Microsoft特色的Java虚拟机(JVM)、Microsoft的VBScript与JSc ript所构成的。Active Client组装进了Microsoft的IE 30和40,通过ActiveX,可以变成用户的C/S应用的一部分。
从清一色采用Windows的企业用户来看,Active平台可以提供坚固的、具有可缩放性的服务器应用开发平台。ActiveServer在TP监视器这类高端产品的场合,也利用常见的一些工具和技术。因此,小型工作组和Intranet应用不会超越Active Server的能力。Acti ve平台的目标机虽是异种机环境,但由于过分依赖IE,所以不能驱动客户端。尽管在一些非Windows平台上也推出了Explorer,但最好的支持、最新版本的Explorer还是在Window s上。
三、ActiveX的进展
1向分布计算扩充
COM的最初版本假定COM对象及其客户端是在同一个机器上运行(可以在同一个进程内 ,也可以在不同的进程内),DCOM是ActiveX家族中的重要成员。后来,它在Windows 95中也能使用。DCOM对于客户端制作COM对象、进行交互的方法没有做任何改变。
客户端使用完全相同的代码,可以访问本地以及远程对象。但许多场合下,客户想使用少数的DCOM附件。DCOM备有分布式安全保密机制,提供认证和数据加密。在1998年要发布的Windows NT 50中,要将Kerberos等安全保密协议,追加到DCOM中。DCOM已能够利用域名服务等简洁的目录服务,以用于搜寻在其他机器上的COM对象。NT 50要追加对Acti ve Directory的支持。Active Directory是基于域名服务和轻型目录访问协议的。
DCOM的劲敌,此前一直是OMG(Object Management Group)的CORBA(Common Object R equest Broker Architecture)。它被组装进了Iona的Orbix和Visigenic的VisiBroker等产品中。不久前,另一种支持分散对象的技术——Java的远程方法调用出台了。无论是C ORBA,还是DCOM,都能在多种语言写的对象间进行通信。而RMI却不同,它只限于在由Java 实现的对象间进行通信。显然,这是个制约。但RMI使用起来非常简单。另外,RMI的开发者可以用Java来设计协议规范。因此,在语言的功能上,可以做得浑然一体。
若写一个只处理两三个客户端的DCOM服务器,还是比较简单的。但是,要构筑一个高效处理几百、几千个客户端的DCOM服务器,则相当之难。
为了便于编写可缩放的DCOM服务器,Microsoft发布了事务处理服务器(MTS)。MTS在支持事务处理的同时,也提供自动生成线索和智能对象的重复使用等服务。MTS使可缩放服务器的制作变得相当简单。即使是无需事务处理的应用,使用MTS也有好处。实际上,M icrosoft鼓励人们用VB来写MTS应用。这与开发业务服务器的传统手法不同,所有的MTS应用,都是作为一个以上的COM对象来编写,且必须以DLL来实现。一般情况下,客户端看不到 MTS。客户端只管一如既往地制作、使用COM对象即可。
2组件的标准化
基于组件的应用开发,其方法和组装电子装置一样,可以用已制作好的组件部件来构筑应用。桌面用的、基于COM的组件叫做ActiveX控件。所谓ActiveX控件不过是遵从一定的标准、与客户端交互的COM对象而已。
例如,ActiveX控件必须通过Automation (即使用dispinterfaces)来公开方法。用这个被标准化的交互功能,可以在多个不同的上下文中,使用同一个控件。在这个标准接口的"幕后",ActiveX控件几乎是什么都能执行。现在,许多软件公司都能提供实现各种功能的控件。
ActiveX控件是作为DDL编写的,为此,必须装载到某个容器中。ActiveX控件的原型容器是VB,除此之外,还有多种容器可供选择。目前,一个非常重要的控件容器是Microsoft 的Web浏览器
现在所谓ActiveX控件的那些内容,是实现许多方法所必须的。已经把它们从机器的本地硬盘移到了VB等容器中。几百KB和几MB的控件,似乎没有什么大区别。但要将控件装载到Web浏览器时,很可能要通过速度很慢的电话线。现在,控件的大小已经是非常关键的问题。一旦要执行超过了某个限度以上的控件,就会延长下载时间。因此,Microsoft规定 :在ActiveX控件中,只能执行绝对必要的功能。
Apple和IBM推行的OpenDoc,曾是ActiveX控件的主要竞争对手。现在OpenDoc的赞助企业,已正式宣告中止资助。大部分与Microsoft对抗的企业,转而支持JavaBeans(基于J ava的组件结构)。ActiveX控件,基本上都是和Windows捆绑在一起、以二进制机器代码发放的,而JavaBeans却不同,它在哪儿都能执行。这当然是有代价的。显而易见,只要不牺牲可移植性,就不可能完全、彻底地利用本地环境。要编写从公共Internet上能下载的组件时,应优先选择JavaBeans。
桌面组件市场在持续、急速增长。其中绝大部分是以ActiveX控件构筑的(目前Java Beans仍然是少数)。但服务器组件的标准化要落后一些。在桌面上,Web浏览器、VB以及 PowerBuilder这些编程环境,作为容器是强有力的。但服务器容器又该当如何呢作为服务器上的组件容器,事务处理服务器是一个较好的选择。
Microsoft的竞争对手,千方百计要阻止MTS和NT称霸市场。他们正在快马加鞭地制订服务器上的组件标准,其中最有前途的是Enterprise JavaBeans。它是JavaBeans的扩充 ,并定义了事务处理服务器接口。Enterprise JavaBeans的支持者们,希望独立软件厂商不是将服务器组件作为COM组件来编写,而是要作为Beans来编写。
四、ActiveX的构筑工具
随着ActiveX控件的推广,ActiveX控件的开发工具逐日增加。由于ActiveX不依赖于语言,所以传统的开发工具基本上都能构筑、配备ActiveX控件。最常用的有Delphi、Po werBuilder以及Visual Basic、Visual C++、Visual J++等。
1 基本概况
用3GL开发ActiveX控件的方法有:①MFC (Microsoft Foundation Class,Microsoft 基础类),②ATL(ActiveX Template Library,ActiveX模板库),③BaseCtrl Framework等。MFC最经典,采用MFC,可以使开发者不去关心接口,而是集中精力关注对象的动作。缺点是控件的规模较大且执行时DLL必须与容器同时存在。ATL可利用模板生成代码。就是说 ,库和DLL无需与控件一起推出。在ATL中,需要从作为模板存在的几个基本类派生类。AT L也有缺点,即接口的处理较难,应用中必要的接口,必须分别制作。另外,ATL不支持类向导(Class Wizard)。遗憾的是,没有使对象描述语言(Object Description Language)和接口定义语言文件、与用户代码自动同步的向导。BaseCtrl是个简便型库。与ATL非常相似,但无模板。实际上,由于BaseCtrl过于简便,Microsoft并不支持它。在BaseCtrl中,带有几个万能控件(Skeleton Control)。BaseCtrl提供容易理解的ActiveX开发模型,但与 ATL相比并不简单,且灵活性也不及ATL。目前看来,对于ActiveX控件开发者来说,BaseCt rl是个"苦涩"的选择。
2 开发工具
可制作ActiveX控件的、最初的工具是Microsoft的Visual C++。它可为ActiveX开发者提供最多的控件。Visual J++也可以制作ActiveX控件。
Borland推出的两个工具(JBuilder和IntraBuilder)也非常令人瞩目。但是,用Borl and的工具能制作ActiveX组件的,只有Delphi 30和C++ Builder。Borland把Delphi的A ctiveX开发功能,叫作Active Inside。它是将任意的Delphi Window做成ActiveX的形式。Active Inside备有配备在Web上的新控件。Delphi可以将控件链接到COM和DCOM。
PowerBuilder 50是改造成能用于ActiveX开发的、客户机/服务器开发工具。Powe rBuilder可以将Data Window(PowerBuilder应用开发的核心部分)作为ActiveX控件来配备。以使现在的PowerBuilder开发者,能使用PowerScript编程语言等某些熟悉的功能。
具有制作ActivX控件最好工具的,当属Microsoft。例如,若用Visual Basic 50,开发者就可使用可视化编程环境和本机的Visual Basic for Application语言,来开发控件。
五、ActiveX
的未来的确,Windows和Windows NT的世界,是ActiveX技术的最佳环境。但无论Micr osoft如何卖力推进它的OS,也不能使所有的企业都变成清一色的Windows。因此,Micros oft要设法使COM、DCOM以及ActiveX家族的一部分,也能在其他OS上使用。现在,在Macin tosh中,已经支持ActiveX,其中也包含对ActiveX控件的支持。Software AG正在把这些技术移植到多个Unix和IBM的OS/390上。DEC和HP也打算将这些技术在自己的系统上使用,他们也是用移植Microsoft代码的办法来实现的。
COM已成为Windows 95和Windows NT环境下基础软件的重要部分,但它的未来还有许多不确定的因素。例如,Microsoft是否能将COM作为多平台技术,让其继续存在发展下去 为了使NT服务器能适合已有的企业,就必须要使DCOM等分布式服务也能在非Microsoft平台上应用。要解决这些问题, 需花费相当长的一段时间。另外, 基于CORBA的产品和Jav a的RMI,已成功地运行在多OS环境下。多平台DCOM出台得越晚,CORBA和RMI就领先越多。
ActiveX控件和JavaBeans的竞争前景如何无论使软件运行在Web浏览器上也好,还是在另外的地方运行也好,总之,组件式软件(ComponentWare)将是下一个软件开发的热点。目前,ActiveX控件虽然暂居领先,但由于OpenDoc的自生自灭,与Microsoft竞争的企业会结为一体与之抗衡。用户决不希望看到"一统天下",仅就这点而言,JavaBeans也会在这一市场竞争中抢占一席之地。
ASP就是动态服务器,ASP的特点与功能
从软件的技术层面看,ASP有如下的特点:
1 无需编译 ASP脚本集成于HTML当中,容易生成,无需编译或链接即可直接解释执行。
2 易于生成 使用常规文本编辑器(如WINDOWS下的记事本),即可进行asp页面的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的Visual InterDev。
3 独立于浏览器 用户端只要使用可解释常规HTML码的浏览器, 即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察asp 主页,在浏览器端见不到正确的页面内容。
4 面向对象 在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制 ActiveX Server Component(ActiveX服务器组件)来扩充功能。
5 与任何ActiveX scripting 语言兼容 除了可使用VBScript 和JScript语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其它scripting 语言。
6 源程序码不会外漏 ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人**。
从应用的层面看,ASP有如下的功能:
1 处理由浏览器传送到站点服务器的表单输入。
2 访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。
3 读写站点服务器的文件,实现访客计数器、座右铭等功能。
4 提供广告轮播器、取得浏览器信息、URL表管理等内置功能。
5 由cookies读写用户端的硬盘文件,以记录用户的数据。
6 可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。
7 使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。
8 扩充功能的能力强,可通过使用Visual Basic、Java、Visual C ++ 等多种程序语言制作ActiveX Server Component以满足自己的特殊需要。
ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件。由于ActiveX控件与开发平台无关,因此,在一种编程语言上开发的ActiveX控件可以无须任何修改,即可在另一种编程语言中使用,其效果如同使用Windows通用控件一样。
因为ActiveX控件的可重用性,加上Internet的普及,ActiveX控件得到了极大的发展,目前,从Internet上可以得到相当多的ActiveX控件,而且品种繁多,所完成的任务几乎无所不包。
0条评论