|
| |

7.1 Visual InterDev 和交互式服务器主页
Visual nterDev是一个集成了可视化的开发环境的工具,这使得开发基于交互式主页的动态Internet和Intranet应用变得十分简单,这也是Microsoft
Internet Infor-
mation Server的一个新特性。作为服务器环境,交互式主页可以适应于最广泛使用的网络浏览器,因此,利用Visual
InterDev进行网络应用开发就不需要任何特别的客户端软件,并且可以在任何平台的绝大多数浏览器上进行浏览。要了解Visual
InterDev对Internet和intranet开发者各种需要的适应性,很重要的就是首先去检验一下交互式主页所提供的丰富的功能。
最初网络服务器和网络终端是这样的,服务器送出一个HTML文件,对客户端提出一个格式化文本。这种模式现在还经常使用。在这种方案下,用户向服务器送出一个要求需要一个利用Http协议的特别的Html文件。服务器接受这个要求并将Html送回到客户端浏览器上。因此用户显示并浏览这个Html.
在这种模式提供了能迅即进入一个不错的对于雇佣信息或潜在客户的格式化页面的同时,它在用户和服务器之间的交互是十分有限的。另外,这种信息仅仅是依靠某人手工修改文件来进行最后的日期更新。

利用CGI,ISAPI和其他有关途径,一个用户可以将一个http要求发送到一个可执行应用程序而不是一个静态的HTML文件。服务器将会立即运行这个限定的程序。这个程序可以读取环境变量并将决定哪个变量符合要求进行标准输入(例如,用户填在Html
form中的量)。程序于是分析这些变量的有用信息并生成HTML文件返回客户端。这种通道性程序的缺点是很难产生改变,这种改变需要整体的不同设计过程而不仅是HTML主页,另外,因为动态主页需要网络服务器改变服务器进程和每一个程序请求的CGI执行进程之间的关系,所以CGI类型的应用需要较高的服务器费用。

Microsoft
Internet Information Server and Active Server Pages
|
| 图4:
交互式主页是建构动态网络站点的一个十分强大的网络应用开发环境结构,交互式主页是在送到客户网络浏览器之前包含了服务端进程描述的Html主页,这些服务端描述是用VB script、Jscript、Perl或其他描述式语言写成的,可以利用自定义的或集成的ActiveX
Server元素来进行特定功能的网络应用扩展。 |
交互式主页是基于微软Internet
Information Server 3.0使用的ActiveX Scripting 引擎,它允许开发者直接在HTML
content插入可在服务端运行的script。因此,用Visual InterDev开发的应用具有:
Content-centric—完全由underlying HTML文件集成
简易性—易于建立不需编译及连接的程序
强大性—带有ActiveX服务器组件的面向对象及
可扩展性
这对于网络应用开发者来说意味着什么?这意味着发布信息和提供交互式商业应用之间的差异,正如以下几例所表明的:
.对于人力资源经理,这是出版一本HR手册和提供交互式利益管理之间的差异。
.对于不动产经纪人,这是特性广告,提供交互式计划,处理抵押及更多其他项目之间的差异。
.对于旅行社,这是发布飞行日程安排及提供在线预定和售票之间的差异。
.对于公共资金管理者,这是公布计划书和提供在线证券管理的差异。
.对于MIS专家,这是建立一个网点来公享文档及提供完全交互式网络服务之间的差异
.对于交互式主页,开发者可使用各种scripting 语言,包括VB
Script 和JScript来建立健全的及可根据情况随时改变的的解决方案。Visual InterDev为开发ActiveX Server的应用程序提供了一套完整的系统,包括大量的可视工具。大部分这些工具都自动产生大部分完成复杂任务所必需的服务器scripting,如建立可被全球站点使用的共享数据库连接。完成对数据库的复杂SQL查询并将数据连入动态结构的主页;以及建立直接与数据库相连的HTML表格。即使可视工具是如此的强大和好用,Visual
InterDev还提供给开发者直接对源代码进行操作的选择,以具有最大的灵活性。

一个简单的交互式主页
 |
基本的ActiveX Server单位是Active
Server Page文件,即.ASP文件。一个 .ASP文件由以下三种形式之一的ASCII文本构成:
.文字
.HTML
.Script |
| 图5. 交互式主页
(ASP) 是一个包含了服务端scripting的HTML页。服务端scripts由开头和结尾用
<%>标记指定的部分组成,并在主页被送往浏览器之前得到处理。
在这种情况下,一个简单的循环就完成了在HTML页上显示逐渐变大的“Hello World”,显示结果如下。 |
Script由包含在ActiveX script 标记或HTML <SCRIPT>标记中的可在服务器 |
浏览交互式主页  |
上被ActiveX Server引擎处理的命令组成。当使用者以.ASP扩展名的文件请求一个URL时ActiveX
Server引擎从头至尾读取此文件,将文本及HTML传给用户的浏览器,并执行所有的命令。ActiveX
Server scripting与主页完全集成起来。 要求ActiveX Server引擎能够读取某文件只需给此文件加上.ASP的扩展名。 因此,现有的HTML文件只须简单地将它们的扩展名由.HTM变为.ASP
,它们就成了Active Server Pages。开发者可通过在.ASP页中加入ActiveX Server script来建立动态HTML。ActiveX Server的主语言是 |
图6. 上图是Hello
World的交互式主页,所有服务器scripting都在服务器
上得到处理,只有HTML被送到客户端,就如从微软
Internet Explorer 3.0
中查看到的相关源代码那样。 |
VB Script 或 JScript, 然而,开发者可以使用<SCRIPT> |
标记来插入其他 scripting languages如Perl写成的scripts。

虽然使用Visual InterDev来写ActiveX Server scripts相对而言是简单的,
但scripts 却为Internet 及 intranet应用提供了强大的环境。 例如,开发者能通过ActiveX
Server组件来实现高级功能(如以前所知的 OLE 自动服务器)ActiveX Server组件是Visual
InterDev中非常重要的特色ActiveX Server组件不被VB Script 及 JScript
带来的安全性所限制, 因为它们运行在一个受限的服务器上,而与用户平台
隔离。因此这可用来扩充ActiveX Server Scripting的功能,如直接进入文件系统及获取计算机及网络的资源。作为
COM组件,可以由VB Script 和 JScript进行驱动,并能运行内部的 DLLs
或外部的可执行模块。 对设计成内部 DLLs 的简单组件,可获得超过CGI方式的更好效果,
这是由于当用户浏览使用此控件的主页时没有过程间的上下文切换。另外,ActiveX
Server组件可以被例示并被所有连到网点的用户共享,从而有效利用服务器资源。
使用Visual InterDev, 开发者能容易地将用Java, Visual Basic (4.0 或更高版)C,
C++ 或其它能建立COM组件的语言写的ActiveX Server组件结合起来。
具有ActiveX Server 组件的Visual InterDev允许开发者轻松地建立multitier网络应用。
例如,一个提供金融模型及分析功能的组件可以被用来建立部分的网络财政服务应用。
使用Visual InterDev开发者能建立在服务器上运行组件的交互式主页,并使用组件的方法(函数)为用户在动态建立的HTML页上返回财政模型信息。由于组件是在服务器上运行的,
其内容可被所有的用户查看。
ActiveX Server组件提供了一个方便有效的途径高度集成了具有内部及
legacy系统的网络应用。例如,一种用Visual Basic编写的客户端-服务器型的保险处理系统可被分成一系列的ActiveX
Server组件,这写组件可直接从主页通过ActiveX Server Scripting调用。在此情况下,Visual
InterDev有助于在现有的工具和系统下保护及扩展团体的投资,从主机中广泛搜索更多近来开展的客户端-服务器应用。Visual
InterDev 提供了工具可用ActiveX Server组件将这些系统的功能有效集成于网点。

 |
| 图7. Visual InterDev 允许公司从带有分布COM
(DCOM)的ActiveX Server组件中获益。
DCOM提供了完全的网络透明度,因此开发者使用相同的scripting逻辑建立 DCOM组件,就象组件在本地的网络服务器上运行一样。 DCOM组件能提供更大的scalability 及容错性对于危险任务的网络应用。 |
由于ActiveX Server组件是COM对象,外部服务器组件能运用分布COM
(DCOM)与服务器网络无缝结合。
这就是说需要大量处理的组件可被分配给与网络服务器连接工作的应用从而能高效处理浏览网点的用户的要求。例如,
一个完成复杂价格计算的价格查询组件能作为一个ActiveX Server组件建立并通过DCOM分布在专门的应用服务器上运行DCOM的好处在于分布式计算机对于开发者来说是透明的。用于运行及操作远地组件的ActiveX
Server scripting正象是此组件就在本网络服务器上运行一样。使用DCOM
组件及Visual InterDev建立的分布式解决方案对于企业的网络应用具有完好的负荷平衡,更好的表现,和更好的容错性。交互式服务器组件可使用微软的Distributed
Transaction Coordinator 有选择地处理。
 
|