VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 面向Internet的开发工具
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:8885, 日期:2001-06-19
面向Internet的开发工具
南海
--------------------------------------------------------------------------------

p>概述: 下一个版本的Microsoft Visual Basic 主要有以下三方面的改进:Web Forms、Web services和面向对象的语法方面的改进。 Web Forms使得经验丰富的VisualBasic用户可以象现在编写单机程序一样简单地开发网络应用程序。通过SOAP接口,Web services让你在可以联网的任何地方配置你所设计的组件。另外,几个在面向对象的语言方面的关键性的改进使得Visual Basic的代码象C++一样具有灵活性,这几方面的改进包括继承性、多态性和重载。有关这方面的内容可以参考Steve Ballmer 的“VBITS keynote on the next generation of Visual Basic”

isual Basic 已经经历了很多次的改进。然而从它诞生以来,我就一直喜欢它的一点是:就它的核心而言,你仍然可以象1991年一样的编写你的程序。当然,和那时相比它的软件包已经有了很大的增强,但是这些改进一般是补充性的,并没有模糊作为编程工具本身具有的目的,这个目的就是:使Visual Basic能更简单快捷地用于设计、编写和调试出优秀的面向对象的应用程序。

  当前使用的Visual Basic 6.0版本引入WebClasses作为一种简化手段,用于配置健壮的面向网络的应用程序。事实上,WebClasses提供了大量的途径可以通过常见的工具把程序移植到网络上。(关于Visual Basic 6.0在网络下的可伸缩性的详尽讨论可以参见Ted Pattison的”Advanced Basics column”( Microsoft Internet Developer于1999年十月出版发行)

  我最近有机会了解到了下一个版本的Visual Basic计划采取的一些新的改进。其中主要的改进是在存储容量方面,开发者可以使用的存储容量扩大了三倍。下一个版本的Visual Basic计划将采用Visual Studio&reg;环境中叫Web Forms的特性。Web Forms代表着一种全新的组件化的网络解决方案。Web services将成为一种新的基于XML的方案,它通过标准的网络协议发布中间层的事件处理功能。同时,Visual Basic 语言将包括一些开发者长期以来一直要求的结构,这使得Visual Basic符合那些C++和Java使用者所熟悉的面向对象的编程习惯。<

  在下一个版本的Visual Basic的测试版中,这些改进将会被公布。在这里我会给出一些代码片断,但不是完整的方案。那么现在还有什么好担心的呢?很简单,只要你决心利用这些新的功能,你现在就可以通过这些特定的方法来设计你的程序,得到最好的实践练习,从而顺利地帮助你过渡到下一个版本的Visual Basic。即使你不这么做,只要你按照我在本文末尾所提出的原则去组织你将来的程序,你也不会有什么损失的。

Visual Studio Web Forms
  Visual Basic的下一个版本将是Visual Studio开发环境的一部分,很可能为网络开发者引入Web Form这个新的概念。引进Web Form概念的目的是为了扩展Visual Basic的随机存取功能,从而使Visual Basic可以应用于影响日益广泛的网络程序的编写。使用Visual Studio中的任何一种语言的开发者都可以共享这种Visual Studio Web Forms。

一个Web Forms页包括两部分:实现Web Forms页可视界面的一个HTML文件和处理Web Forms页事件的源文件。既然目前有三分之一基于Visual Basic环境的开发是面向网络,Microsoft计划进一步增强这方面的功能。在下一个版本的Visual Basic中,你可以象现在使用Visual Basic生成表单一样设计Web Forms。你将拥有一个Web控件工具箱。你可以直接把控件拖放到HTML编辑器中使用,只需要设置一下它们的特性,编写一些适当的代码即可。(见Figure 1)。总而言之,你可以象你使用Visual Basic生成表单一样来做这些工作。你会拥有完全符合IntelliSense&reg;、WYSIWYG格式的表单设计和编译过的代码。所以只要你知道如何使用Visual Basic编写应用程序,Web Forms就可以让你成为一个网络开发者而不用丝毫改变你的工作方式。



Figure 1Building a Web Form in Four Steps

  Web Forms 在服务器上运行,只把HTML格式的表单传给用户。正如Active Server Page (ASP)一样,它既不是特定的浏览器,当然也不是基于Web Form的应用程序;但整个过程也是在服务器上运行。事实上,你正在运行一个程序,它为远程用户生成HTML3.2格式的接口。跟ASP网页不同,这些代码是编译运行而不是解释的,所以运行速度有明显的提高。

  设计Web Forms的目的是为了同时获得ASP 和WebClass两者最好的特性。你可以使用Visual Studio家族中的任一种语言来生成Web Forms。所以,你可以使用你所掌握的知识来编写高效的、面向服务器的网络应用程序。

p>Web services
  Web services是Visual Studio开发工具系统采取的第二大改进。就核心而言,一个Web services就是一个通过标准的网络协议发布的中间层的事件处理函数。既然它们使用HTTP作为传送机制(见Figure 2),所以可以通过防火墙进行通信。只要合适地分配URL,你可以简单地在一个网络应用程序中构造多种Web services。在程序运行时,所有这些内部构件之间的调用都会自动打包,通过XML接口进行调用。开发者可以在任何平台上、使用任何语言编写和使用Web services。如果你需要保密,你可以使用Secure Socket Layer (SSL)或标准校检技术。


Figure 2Web services Architecture

  如果你对这些听起来开始觉得有点熟悉了,那是一个很好的开始。用于组件之间传送数据的机制是SOAP,即简单对象许可协议。Don Box在2000年三月出版的MSDN&#8482; Magazine中详细的介绍了SOAP。

  所有这些新的特性都是为了让网络程序开发者可以利用已存在的、可再次使用的Web services进行组合,从而可以更快的编写他们的程序,而不用每次都重头来编写它们。这将带来程序代码提供者和程序开发者的新时代。


使用下一个版本的Visual Basic,你很快就可以把一个具体项目中的函数以Web service的形式发布和实现。你也许很熟悉把一个Visual Basic 的类定义为public的过程。在下一个版本的Visual Basic中将会有一个新的标志,暂时叫作webpublic。这意味着程序将作为Web service发布。它不仅仅可以通过COM接口为需要它的当地项目所用,而且可以为任何引用了它的URL地址的网络程序服务。正如你可以把引用加入到一个新项目中的公共对象中一样,你也可以把引用加到网络程序中,然后象使用当地程序一样使用它。

  当然,运行机制是有些不同的。Visual Basic能够通过COM接口对当地对象解析引用。当你加入一个网络服务的引用到你的应用程序中时,远程对象将自动生成接口的定义,并使用SOAP协议发送到Visual Studio开发环境中来。虽然这些将以XML形式产生,但你不用自己做任何连接的工 ?isual Basic将为你自动处理它。在接收到接口定义以后,你就可以使用IntelliSense,如同你已经编写了引用该对象的代码一样。

  这有一个简单的例子。在某些场合下,你也许想编写这个叫Seahawks的函数,它可能和下面这些代码有点类似:

Public Function Seahawks(ByVal opponent As String) As String

    Seahawks = "lose"
End Function

  如果你构造的项目中包括了这个函数,Visual Basic将自动生成关于这个函数的XML格式的描述,并把它发布到网上。

$#@60;?xml version=’1.0’ ?$#@62;

$#@60;methods href=’http://julian/Football/Teams’$#@62;
    $#@60;method name=’Seahawks’ href=’Seahawks’$#@62;
        $#@60;request$#@62;
            $#@60;param dt=’string’$#@62;opponent$#@60;/param$#@62;
        $#@60;/request$#@62;
    $#@60;response dt=’string’/$#@62;
    $#@60;/method$#@62;
$#@60;/methods$#@62;

  这个XML文件将用于描述Seahawks函数。如果你使用的是Visual Studio开发环境,你就可以把任何已经发布的Web service直接拖放到应用程序中,创建一个新类。如果你想调用Internet网上任何地方的Web service,你只需要创建包含Web service的类的一个实例,然后就可以调用它的已发布的方法。

  当Seahawks函数被调用时,它会通过XML信息包自动通信。如果你使用的是Microsoft&reg; Internet Explorer 5.0(包含了XML支持),你可以在你的浏览器中试运行该函数。你也可以如下一样使用URL地址调用该函数:

http://julian/webservice1/component1.methods/Seahawks?opponent=Miami

它将返回如下XML格式的数据:

$#@60;?xml version="1.0" ?$#@62;
$#@60;Response$#@62;lose$#@60;/Response$#@62;

  为了方便Web services的开发,Visual Basic将引入一个新的对象类型,即Web Service。你可以象现在创建一个当地的DLL文件一样简单地设计和发布你的Web Service到远程服务。