Programming 版 (精华区)
发信人: lofe ()感激生活(), 信区: Programming
标 题: ActiveX为Internet及Intranet开发有新的新内容和新应
发信站: 哈工大紫丁香 (Sun Sep 3 08:10:06 2000), 转信
Microsoft ActiveX为Internet及Intranet开发有效的新内容和新应用
一、什么是ActiveX
过去几年里Internet得到了迅速发展,越来越多的人用全球信息网(WWW)进行文件检索;与
此同时,强有力的PC和服务器已经越来越便宜,推动着个人和商业生产力的革新。微软的
ActiveX把WWW和PC的优点结合在一起以使交互的分布式应用程序和更加丰富的用户间通
讯成为可能。
ActiveX是一个开放的集成平台,给开发者、端点用户和Web厂商提供了最快最容易的手段
来创建振奋人心的Internet和Intranet新应用程序及内容。
1.结合了最佳的PC和Web
ActiveX包括了现有的桌面技术以及基于Web的新技术如Java,用户可以获得PC和Web的最
佳特性。这种技术结合可以获得如下一些特定优点:
丰富的交互内容和应用程序:ActiveX综合运用计算机的所有力量来提供Web站点和应用程
序。考虑到工具、语言和支持的组件的范围,Web厂商可以区别内容,提供一个独一无二的
、值得怀念的、必将吸引和留住用户的经历。
到达(reach):ActiveX得到了Internet Explorer和Netscape Navigator的支持。
今天的绝大多数用户有观看和使用ActiveX内容的能力(在他们的台式机上)。用户可以在
不同的操作系统上运行ActiveX应用程序。端点用户、开发者和Web经营者可以从几个制
造商中选择硬件体系结构来运行ActiveX应用程序。
高质量工具和使能(enabling)技术:ActiveX给开发者、端点用户和Web管理者提供了对现
有的可应用到Internet/Intranet上的技术和应用程序以及象Java一样的新技术的广泛选
择。开发者可以从大量的工具和语言中选择进行Internet/Intranet应用程序的开发。
基于标准的兼容性:ActiveX与现有的软件、硬件和人力资源等投资相兼容。
2.Internet/Intranet应用程序的开放平台
ActiveX由客户机一方的平台、服务器一方的平台、开发工具、著作工具以及网络技术组
成。ActiveX将给用户、Web管理者和开发者提供一个Internet上的革新应用程序的丰富
平台,同时保护他们在应用程序、工具、知识和程序代码等方面的投资。
客户机上的ActiveX:客户机上的ActiveX是允许应用程序和内容在端点用户的系统上运行
和观看的客户机一方的平台。应用程序和内容要么呈现在客户机系统自身上,要么自动地
从服务器上加载并在客户机上观看或运行。客户机上的ActiveX的组成有:(1) Microsoft
Internet Explorer,它可以运行用Java、Visual C/C++或其它语言编写的Java小应用程
序和ActiveX控制;(2)运行用Visual Basic Script或JavaScript写的底稿的底稿引擎
(scripting engine);(3)集成在Internet Explorer中的ActiveX控制,可用来观看和编辑
不同种类的内容,如Active VRML(用于3D虚拟现实模型)、ActiveMovie(用于音频/视频)
等等。
有了客户机上的ActiveX,用户运行用不同语言编写的ActiveX控制,客户机上的ActiveX支
持HTML3.0内容包括对框架、类型表和表格的支持。
服务器上的ActiveX:服务器上的ActiveX是给客户机提供Internet服务、应用程序、数据
和内容的服务器一方的平台。应用程序和内容可以运行Web服务器的同一服务器或其它系
统为宿主机,数据可以任何SQL数据库或支持开放数据库连接(ODBC)的数据库为宿主。有
了服务器上的Act iveX,开发者可以编写公共网关接口(CGI)应用程序、运行在服务器一
方的ISAPI动态链接库(DLLs)和底稿。服务器上的ActiveX的组成有:微软Internet信息服
务器、支持CGI应用程序和ISAPI动态链接库的引擎(engine)、支持服务器方的底稿的引
擎(engine)、通过Internet信息服务器把客户机连接到数据库、消息存储区等的连接软
件。
ActiveX开发/著作工具:ActiveX开发工具包括象Microsoft Jakarta一样的新产品,也包
括已有的Microsoft Visual C++和Visual Basic。这种灵活性给予开发者一个广阔的范
围来选择开发工具和语言用于创建Internet和Intranet的应用程序。
ActiveX著作工具允许Web管理者为Internet和Intranet开发令人兴奋的内容。这些著作
工具极易于使用且不需要过多的技术知识。Web管理者可以用Microsoft FontPage来创建
有影响力的HTML内容并管理Web站点。例如,一个Web厂商可以仅靠几下鼠标的“点击”为
用户在Web主页中创建一个表格以提供反馈信息。
3.交叉平台
微软正与Metrowerks公司合作以提供于Macintosh的ActiveX。用Java编写ActiveX控制的
开发者可以确信他们的控制能够通过Internet Explorer无缝地运行于Windows和
Macintosh之上。另外,Macintosh开发者也能够用象Metrowerks CodeWarrior开发工具的
C/C+ +等语言来编写Macintosh自己的ActiveX控制,他们也能确信这些ActiveX控制可以
在Macintosh的Internet Explorer上运行。Macintosh上将拥有客户机上的ActiveX,端点
用户也将能在Macintosh的Internet Explorer上运行用Java、Visual C/C++和Visual
Basic编写的Ac tiveX控制。开发者也将能用Visual Basic Script编写运行于Macintosh
Internet Explorer上的底稿。
对UNIX也提供了支持。开发者可以编写ActiveX控制运行在使用了Bristol Technologies
公司和Mainsoft公司的软件的几乎所有主要UNIX系统。
4.开放的且基于标准的平台
ActiveX提供了在软件、硬件、网络技术、开发工具、语言和更多等方面的选择。
ActiveX技术是基于工业和组织标准的。微软通常把ActiveX技术预先提供给独立软件商
以获取设计问题上的反馈,并把这些反馈融合到ActiveX技术中。
二、端点用户:运行功能强大的应用程序和观看令人兴奋的内容
客户机上的ActiveX支持HTML也支持交互的多媒体内容,如ActiveVRML和Active-Movie。
Web浏览器中拥有了ActiveX,端点用户将能够运行用Java、Visual C/C++Visual Basic和
其它语言编写的Internet/Intranet上的ActiveX控制。用户能够用这些应用程序来检索
信息、做生意,或者是从Internet上找点儿乐趣。商业用户将能够在人力资源、客户支持
、财政、会计等多个领域内使用应用程序。用户可以在ActiveX上运行Java小应用程序、
Active小应用程序、ActiveX控制等等。
端点用户不会受到怀恶意的应用程序的破坏,因为ActiveX确保只有安全的应用程序才能
运行在端点用户的系统上。受到用户信任的Web站点上的ActiveX控制可以被卸载并运行
在端点用户的系统上,用能利用操作系统的所有特点。用户接受这些“受到信任的”
ActiveX控制就象他们信任今天台式机的压缩包装的应用程序。
另一方面,Web站点上的得不到端点用户信赖的ActiveX控制不允许使用操作系统的所有特
点。因为这些“不可信的”ActiveX控制是从Web站点上卸载下来的并被限制只能使用端
点用户操作系统的一套安全的特征,它们不会危害端点用户系统的安全性。
ActiveX支持用Java、Visual C/C++和Visual Basic等语言编写的“可信的”ActiveX控
制。
ActiveX支持那些用Java编程语言书写的“不可信的”ActiveX控制。T4;三、Web生厂商
和开发商:满足于影响
1.创建具有高度影响力的内容和应用程序
开发者可以用Java、Visual C/C++、Visual Basic等语言编写ActiveX控制来创建运行在
客户机上的ActiveX上的应用程序。ActiveX控制可以与任何ActiveX控制或基于组件对象
模型的对象一起工作。比如,一个用Java语言写的ActiveX控制可以用在COM接口中,也可
以激活另一个ActiveX控制的COM接口。编写简单的Java小应用程序
能够无缝地与其它ActiveX组件进行互操作。开发者也可以用Visual Basic Script或
JavaScript编写运行于客户机一方的ActiveX上的底稿。现在Windows家族和Macintosh均
支持ActiveX,而且微软计划使UNIX系统也能使用ActiveX。
运行用不同的语言编写的ActiveX控制的目标操作系统提供了许多特征,而开发者可以充
分地利用这些特征。当用户在一个引用了ActiveX控制的Web主页上击一下鼠标时,该控制
就从服务器上卸载下来在端点用户系统上运行。例如,一个开发者可以写一个ActiveX按
钮控制代表一个向用户询问信息的对话框。
2.用Java编写ActiveX控制
Windows中的Java参考实现允许开发者运行Java写的ActiveX控制,通过编写Java文件并用
类型库(type library)从Java类中暴露于COM接口。这些Java文件经编译后可以产生Java
字节代码格式的class文件。然后class文件在Windows中的Java参考实现上运行。首先它
们通过一个字节代码校验器以确保端点用户的安全性。然后这些class代码由一个
JIT(Just InTime)编译器(它是参考实现的一部分)进行编译,最终产生运行在用户系统上
的本地代码。
有了Windows中Java实现,综合利用现有的ActiveX控制、现有的开发工具和语言来创建
ActiveX控制,与用Java等语言写的其它ActiveX控制共同工作。这样开发者就能在不断利
用新的Internet技术如Java的同时保持与现有投资兼容。
3.跨平台运行ActiveX
ActiveX控制能够运行在多种操作系统的客户机方的ActiveX上,例如Windows系列、
Macintosh和UNIX。开发者可以选择使用Java创建一个“与平台无关的”二进制ActiveX
控制运行在多种平台上,或者编写为不同的目标操作系统优化的ActiveX控制的本地版本。
编写与平台无关的ActiveX控制:有兴趣编写单个的运行在多操作系统上与平台无关的二
进制ActiveX控制的开发者能
够通过使用如Microsoft Jakarda一样的Java开发工具来做到这一点。最后生成的二进制
代码可以放在Web站点上,当一个端点用户在浏览器上单击了与这个ActiveX控制相关的页
, 该控制就被卸载并在端点用户的系统上执行。
编写本地的ActiveX控制:对编写能利用底层的操作系统的特点的高性能应用程序感兴趣
的开发者能够为不同的操作系统编写“本地的”ActiveX控制。然后开发者再
编译这些控制生成不同的二进制代码并把它们放到一个Web站点上。当一个端点用户在浏
览器中用鼠标单击了一个引用了ActiveX控制的页时,对应该平台的正确的ActiveX控制就
被卸载并在端点用户的系统上执行。
因为“与平台无关的”和“本地的”ActiveX控制都将运行在Internet Explorer 3.0和
Netscape Navigator上,开发者可以得到保证他们用不同的语言编写的ActiveX控制能够
在绝大多数Internet用户的系统上运行。微软将在晚些时候推出Macintosh上用的Inter
net Explorer,并且正在寻找使之支持大多数主要UNIX系统的方法。
4.ActiveX控制是安全的
开发者可以让Internet和Intranet的端点用户确信其安全性,办法是要么用Java编写所谓
的“不可信的”ActiveX控制,它们只要使用操作系统特征的一个安全子集;要么编写能够
使用底层操作系统的所有丰富特征的“可信的”ActiveX控制。开发者可以用Java、
Visual C/C++、Visual Basic或其它编程语言并“标记”“可信的”ActiveX控制为安全
的。5 .用Visual Basic为ActiveX控制编写底稿需要对迅速变化的商业需求作出快速反
应的开发者需要一种迅速改变Internet和Intranet上的应用程序的行为的方式,编写
ActiveX控制的开发者也需要一条途径来从程序的
角度协调许多在同一个Web页中引用的ActiveX控制。尽管ActiveX控制易于编写和修改,
它们仍旧以二进制形式编译和存储。
有了Visual Basic Script,开发者可以从ActiveX控制捕获事件、激活方法、修改ActiveX
控制的属性等等。因为Visual Basic Script的代码非常易于编写并总是以源代码的形
式在W eb页自身当中得到维护,所以它极其容易修改,而且是协调ActiveX控制之间行为的
最佳方式。有了Visual Basic Script,开发者可以得到诸如安全性、开发代码方便、跨
平台代码和兼容性等方面的好处。
6.Visual Basic Script是开放的
微软通过免费发放许可证的方法使浏览器厂商和应用程序开发商得到Visual Basic
Script引擎的源代码,如果他们想在应用程序中支持Visual Basic Script的话。微软也
计划通过一个插件(plug-in)使Visual Basic Script代码能运行在其它如Netscape
Navigator等浏览器上。
开发者可以把ActiveX控制插入到一个Web页中,办法是使用HTML页中的<OBJECT>标记
(tag)并参考ActiveX控制的Class Id(分类号)。当用户单击了一个有OBJECTtag和Class
Id的HTML页后,客户机上的ActiveX就在客户机系统登记表(registry)中查找与Class Id
对应的ActiveX控制的代码。如果相应的ActiveX控制已经存在于客户机系统中,该代码则
被激活并在客户机上执行;如果所需的ActiveX控制不在客户机系统上,它就从服务器上被
卸载下来,检查了安全性之后安装到客户机上,再被激活和执行。ActiveX也能提供对版本
的支持,只需增加一个选项即可卸载ActiveX控制的最新版本。ActiveX SDK中在这方面含
有更多的信息。
编写ActiveX控制的开发者有理由相信他们的控制拥有大量的端点用户观众,因为ActiveX
控制既能够运行在Internet Explorer 3.0上,又能运行在Netscape Navigator上(通
过一个Netscape插件)。
7.编写服务器方的应用程序
有了微软的Internet Information Server,开发者可以为Internet和Intranet编写服务
器方的应用程序。这些应用程序是用公共网关接口编写的,允许浏览器用户往服务器发送
数据并在服务器上运行应用程序,然后再接收数据。开发者也能用Internet Informai
tonServer编写运行于服务器上的PERL底稿和用Internet Information Server通过
Internet服务应用程序接口(ISAPI)来编写强有力的、高性能的服务器方的应用程序。因
为ISAPI应用程序是作为Internet Information Server只运行同一个进程,所以确保了好
的性能。多个ISAPI应用程序可以用相同的线程池(threadpool)在服务器上同时运行,这
样就使系统资源得到了最有效的利用。开发者可以为表格处理、网关、统计数据收集、
数据转换等编写ISAPI应用程序。
Internet Information Server使开发者可以用ISAPI提供的Filter API编写服务器方的
“过滤器”(filter),从而提供顾客身份确证、加密、压缩以及其它基于过滤器的特性,
如UR L地址等等。
8.从许多开发工具中选择
开发者可以从现有的开发工具以及新的Java工具中选择一个来为ActiveX编写应用程序,
这样就充分发挥了他们现有的知识和技能。例如,开发者可以用Microsoft Visual C++、
Borland C++、Symantec C++、Microsoft Jakarta、Metrowerks'CodeWarrior等工具来
编写ActiveX控制。有了Microsoft Visual Basic的下一版本,开发者将能够用Vis
ualBasic编写ActiveX控制或者把他们现有的Visual Basic应用程序修改为ActiveX控制。
四、开放的ActiveX充分发挥现有投资的作用
微软已经通过其开放式设计过程把许多用户和工业的反馈纳入到ActiveX的发展之中。
Web管理者可以用多种著作(authoring)工具方便地创建内容。系统管理员可以从多种网
络技术和硬件中选择以便Internet/Intranet应用程序和内容能够运行在ActiveX上。
微软相信开放系统的本质特征是用户的选择权——在硬件、软件、网络技术、价格、性
能等方面的选择。将来,ActiveX技术会提供给用户对应用程序的巨大选择。ActiveX已经
能够在几家硬件公司提供的多种硬件体系结构上运行,不论是在客户机一方还是在服务器
一方。微软ActiveX技术是建立在标准的基础之上的——既包括de jure标准,也包括de
factof标准。下表显示了Microsoft ActiveX支持的部分标准:
领域 ActiveX中的标准和技术(部分列表)
网络技术 TCP/IP、IPX/SPX、PPP、SLIP、DNS、
RIP、PPTP、DHCP、WINS、IPng、SSL等
Web HTTP、HTML、VRML等
通讯 RTP、T.120、T.127、H.323、RSVP等
消息传送 SMTP、X.400、MIME、POP3等
数据库 ODBC(ISO9942)、SQL等
编程语言 ANSI C(ISO9899)、ANSI C++、Java、Basic等
目录 X.500等
其它 FTP、GOPHER、Telnet等
--
路漫漫兮,其修远。
吾将上下而求索。
※ 修改:.haojs 于 Sep 3 08:07:42 修改本文.[FROM: bbs.hit.edu.cn]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: bbs.hit.edu.cn]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: haojs.bbs@bbs.whnet.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.156毫秒