精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓公理婆理: VB话题〓〓>>VB的未来[上](转自Microsoft中文站)

主题:VB的未来[上](转自Microsoft中文站)
发信人: garfieldmao()
整理人: winsy(2003-03-06 11:42:58), 站内信件
Visual Basic 的未来 
一个版本中将出现的Web Forms(Web表单), Web services(Web服务)和语言的改进
 
Joshua Trupin 

本文读者是已经熟悉了Visual Basic的用户。 

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

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

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

我最近有机会了解到了下一个版本的Visual Basic计划采取的一些新的改进。其
中主要的改进是在存储容量方面,开发者可以使用的存储容量扩大了三倍。下一
个版本的Visual Basic计划将采用Visual Studio®环境中叫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中的任何一种语言的开发者都可以共享这种Visua
l Studio Web Forms。 

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



Figure 1Building a Web Form in Four Steps 

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

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

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



Figure 2Web services Architecture 

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

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

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

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

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

      Public Function Seahawks(ByVal opponent As String) As String 

    Seahawks = "lose" 
End Function 

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

<?xml version='1.0' ?> 

<methods href='http://julian/Football/Teams'> 
    <method name='Seahawks' href='Seahawks'> 
        <request> 
            <param dt='string'>opponent</param> 
        </request> 
    <response dt='string'/> 
    </method> 
</methods> 

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

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

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


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

<?xml version="1.0" ?> 
<Response>lose</Response> 

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



--
人又老,钱又无,技术又不好,同桌的靓女又调组。。。
唉!时也,命也,运也!!!
我真是黑!!

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 61.141.90.142]

[关闭][返回]