PowerBuilder 11
(以下简称
PB
)出来有一段时间了,但很多用户对
PB11
的到底有哪些进步还不是很清楚,由于对
PB11
缺乏了解和信心,目前用
PB11
做出像样应用的用户不多,这确实非常遗憾,这里我讲一下我对
PB11
的重要进步和一些不足的理解,希望能给一些还没有接触
PB11
或正在观望的用户一些参考意见。
PB11
取得的重要进步:
1
、选择对.NET
的全面支持,站对了队伍
PB11
之前,
PB
做了大量对
Java
的支持的工作,努力想傍上
Java
这个神仙,可惜
Java
这个神仙不食人间烟火,而搞
Java
的都是一帮“贵族”,强调开源和免费,对开发效率似乎不是最看重的,而且
Pb
先后想从
PowerDynamo
和
Powersite
中找到突破口,结果都无功而返。
PB11
这次终于站对了队伍,因为微软的
.NET
和
PB
一样,都是要追求开发效率,屏蔽开发细节,让开发人员把精力专注在业务需求的解决上,从而为企业创造更高的投入产出比,而
PB11
站在.NET
的肩膀上来做,重点在数据库业务处理上发挥优势,这次终于修成正果!
2
、可以快速开发数据业务处理的B/S
应用
PB11
开发
.NET ASPX WebForm
的
B/S
应用已经基本成熟,
PB11.2
以后引入了
AJAX
特性,使开发出的
B/S
应用
Postback
大量减少,用户体验得到改善,从而达到完全实用状态,我们的一些
Partner
已经用
Pb11.5
开发出像样的
B/S
应用。
当然,
Pb11
开发
B/S
应用,首先需要明确,只适合用于数据库业务系统的开发,如果你指望用来开发网站之类的,是明显不适合的;另外,如果你想让你的
B/S
应用更象
Web
应用,可以不用
PB
标准的窗口方式,而改用可视化对象动态创建的方式来实现页面切换,并且用链接代替按钮等多种策略。
3
、可实现客户端应用的自动安装、自动更新
PB
开发的
C/S
应用,客户端的安装和更新往往是一个繁重的工作,而这点正是
B/S
应用的优势所在(免安装、免更新),而
PB11
现在可以借助
.NET
的
SmartClient
技术,实现
C/S
应用客户端的网页启动、自动下载安装,自动版本更新,这样客户端应用的维护工作量大大减少,从而让
SmartClient WinForm
应用同时满足既好用又好维护的双重要求。
4
、可快速开发基于IIS
的WebService
PB11
之前要开发
WebService
,只有先开发一个
PB NVO
组件发布到
EAServer
中,然后把组件(必须是无状态组件)发布成
WebService
(
EasySoap
标准),因为要用
EAServer
来支持
WebService
,如果只是做小规模的应用间集成,成本就不划算。而
PB11
已经可以开发基于
IIS+.NET FrameWork2.0
的
WebService
,开发和部署也非常简单,因此
PB11
为开发应用间集成提供了一个低成本的解决方案。
5
、可快速开发.NET Assembly
, PB
和VS.NET
互操作
PB11
可以通过开发
PBNVO
而发布成
.NET Assembly
(程序集),
Assembly
有点类似于
WIN32
中的
DLL
,但是完全
OO
(面向对象)的方式。
PB11
开发出的
.NET Assembly
,可以在
PB(.NET Target)
里面调用,也可以在
VS.NET
里面调用,因此非常适合用于封装通用功能、业务逻辑等。
另外,
PB11
里面还可以直接调用
VS.NET
提供的大量的系统级
Assembly
,或者
VS.NET
里面开发出的
Assembly
,这大大的扩充了
PB
的功能(比如,可以用
.NET
里面的
HashTable
来实现
Cache
),而在
PB11
之前,只能用
DLL
或
PBNI
技术来扩充
PB
的功能,
DLL
和
PBNI
都是比较难用的,容易出错的方法。
6
、.NET WebForm
和WinForm
可以访问J2EE
服务器
PB11
实现了从
.NET
访问
J2EE
服务器的简单方法(
IIOP
),从而使实现一种完美的架构成为可能:客户端采用
.NET
技术+
服务端采用EJB
技术
,这是一种兼顾客户端快速开发,美观实用,和服务端稳定可靠,易于扩展双重优势的架构,通常在
PB11
之前,主要是通过
IIOP.NET
这个开源的产品来实现
.NET
和
J2EE
之间的桥梁的。
PB11
尚有不足的地方:
1
、.NET WebForm
下JavaScript
优化受限
目前
Pb11.2
以上版本已经引入了
AJAX
技术,页面的
Postback
大大减少了,但
DataWindow
的优化,需要借助编写
JavaScript
或对象的
HTML
属性来解决,但,其实还有很多的交互是可以通过
JavaScript
来实现的(比如,界面按钮状态控制、数据输入检查等),而这些可能的优化措施,
PB11
目前还没给出途径(至少没这方面的资料)。
2
、.NET WebForm
下不支持ActiveX
控件
目前的
PB11.x
不支持在
.NET WebForm
中嵌入
ActiveX
控件,这就为要开发能和本机交互的
Web
应用造成了较大的难度,好在一般的数据库应用这方面的需求还不是很突出。
3
、.NET WebForm
下文件上传和下载不完善
目前
PB11
提供的文件上传和下载为了强调安全性,结果导致没法将上传的文件,直接通过
URL
地址在各用户之间进行共享以供下载,这导致了较大的麻烦,目前只有通过将上传的文件存入数据库的
Blob
中,然后其他用户再从
Blob
中取出的办法,或者通过
COM+
或
EAServer
这种具有服务器控制权限的程序来实现文件的移动存储来实现,比较繁琐;当然你也可以自己来用
VS.NET
重写一个文件上传和下载的功能,同样比较费事。
4
、需要一个有效的开发框架来发挥出威力
PB11
提供了很多很好的新特性和功能,但要发挥出这些功能和特性的威力,还有需要做相当的工作,单就一个开发新的
B/S
架构应用,就面临着要如何才能开发出“像样”的
B/S
应用呢?看起来想
Web
应用,而不是象
C/S
应用在浏览器里面跑呢?另外,
.NET
访问
J2EE
服务器虽然提供了一个实现的基础技术,但要构造出这样的应用,还有相当的路程要走。
还好有
PB11.5
的完美搭档
PBntierBuilder3.1
出现!
PBntierBuilder
是从
2001
年开始研究的,如今已经非常成熟,
PBntierBuilder
被
Sybase
公认为
PB
里面最完善的多层开发框架,集成、封装和发展了
PB
的多层分布式技术和
PB11.x
各项最新技术,采用
PB11.5+ PBntierBuilder3.1
可以开发出各种你需要的架构的应用,具体详情浏览
www.yuanqitech.com
或
本博客下一篇文章“
PB11.5
的完美搭档:
PBntierBuilder 3.1 ”