【PB.NET编程系列1】PB.NET如何工作

当你发布一个.NET程序时, PowerBuilder会将你已经写好的PB代码转换为C#代码(我猜想这种转换是增量的,即未改动的部分不重新生成)。当程序运行的时候再依赖.NET公共语言运行库(Common Language Runtime (CLR))来编译执行。 在一个标准的PB C/S程序里,PB的.NET编译器相当于做了一个中间转换的工作。

按照不同的target类型,PB可以开发下列.NET应用程序:Web Forms / Windows Forms / Com / Web services。

PB开发的Web Forms程序拥有3层架构,借助于ASP.NET 2.0技术,它可以部署在微软的IIS服务器上,最终客户只要打开浏览器即可运行,即大家经常说的BS程序。相对于CS来说BS程序加入了一个重要概念:Session。在处理客户端的各种请求时,Session往往用来保存程序的各种状态,比如客户是否登录。 Session创建后会一直到终端程序关闭或超时后才会被释放。

Windows Forms 程序主要在安装了.NET Framework的本地机器上执行,它的大部分操作依赖本地资源,有点类似于传统的Win32程序,不同的是它基于.NET Framework而不是Win32,因此在理论上Windows Forms可以运行在非win的操作系统上(只要微软愿意这么做)。Win Forms的一个重要特征是智能客户端技术,也就是微软宣称的ClickOnce。你可以把Win Forms程序部署到IIS或FTP服务器上,客户只要打开浏览器输入一个URL地址即可下载并自动安装,服务端的程序更新后客户端会自动获取最新版本,这对于大规模部署来说显然减轻了管理员的工作量。

从下图可以看出,在PB的开发环境和服务器上必须安装.NET Framework和.NET Framework SDK,在客户端的运行环境则必须安装.NET Framework和Powerbuilder System Library For .NET。

PB程序转换为.NET架构示意图
posted @ 2009-07-20 16:27  阿乌  阅读(3002)  评论(0编辑  收藏  举报