本书立足于利用PowerBuilder构建Web和分布式应用的最重要内容,全面介绍了PowerBuilder9的体系结构、发展趋势、重要特性以及在分布式应用开发中用到的相关技术。主要内容包括:分布式计算的发展以及如何分析和开发新的分布式应用,PowerBuilder支持分布式应用开发的特性,从J2EE应用服务器访问EJB、访问Web服务、利用XML以及与其他Sybase技术集成(如移动平台和企业门户)等内容,附录针对PowerBuilder分布式应用开发常见的出错信息、行为以及可能的原因和解决方法提供了一个快速的索引。
本书面向PowerBuilder开发人员以及分布式应用开发人员,也可作为对该领域感兴趣的软件开发人员的高级工具书。
第一部分分布式计算基础
笫1章分布式应用开发介绍
1.1目标
1.2什么是分布式计算
1.3什么是业务对象
1.4为什么使用业务对象
1.5PowerBuilder体系结构进化
1.5.1基于窗口的体系结构
1.5.2基于对象的体系结构
1.5.3基于服务的体系结构
1.5.4分布式体系结构
1.6客户/服务器体系结构进化
1.6.1起源
1.6.2客户/服务器体系结构
1.6.3分布式体系结构
1.7分布式体系结构概念
1.8协议、套接字和端口
1.8.1TCP/IP
1.8.2套接字和端口
1.8.3HTTP
1.8.4110P
1.9分布式概念
1.9.1代码分割
1.9.2负载均衡
1.9.3集群
1.9.4故障切换
1.9.5两阶段提交
1.9.6连接缓存
1.9.7多线程
1.9.8实例池和无状态与状态组件
1.10分布式对象模型
1.10.1CORBA
1.10.2COM
1.10.3J2EE
1.11小结
第2章使用PowerBuilder开发分布式应用介绍
2.1目标
2.2解释一个分布式应用
2.3使用PowerBuilder开发分布式系统的进化
2.3.1分布式PowerBuilder
2.3.2EAServer中的PowerBuilder
2.3.3Web目标和WebDataWindow
2.3.4用于JSP的新Web目标
2.3.5访问其他应用服务器上的组件
2.3.6部署PB组件到其他服务器
2.4从PB角度看常见的分布式计算技术
2.4.1分布式概念
2.4.2组件和对象
2.5PowerBuilder在分布式计算中的作用
2.5.1胖客户
2.5.2EAServer中的组件
2.5.3EAServer之外的组件
2.5.4Web服务
2.6现在可以用PB来做什么
2.7小结
第3章EAServer介绍
3.1目标
3.2EAServer介绍
3.2.1概述
3.2.2EAServer家族
3.3掌握Jaguar
3.4EAServer的特性、服务和体系结构概述
3.4.1HTTP服务器
3.4.2J2EE容器
3.4.3Web容器
3.4.4EJB容器
3.4.5J2EE应用编程接口网关
3.4.6Web服务
3.4.7CORBA支持
3.4.8安全性服务
3.4.9集群服务
3.4.10管理和监控工具
3.4.11SNMP支持
3.4.12Sybase提供的工具
3.5EAServer在企业中的作用
3.6EAServer是否适合你的项目
3.7小结
第4章移植现有应用
4.1目标
4.2为什么移植
4.2.1投资回报
4.2.2功能优点
4.3移植或重写
4.3.1考虑PowerBuilder的情形
4.3.2使用你现有的技术集
4.4移植目标
4.4.1界面生成
4.4.2业务逻辑
4.4.3进程监督
4.4.4事务管理
4.5结构良好的代码
4.5.1良好的结构
4.5.2从业务逻辑中分离GUI
4.5.3细粒度对象和脚本
4.5:4结构良好小结
4.6移植
4.6.1分析
4.6:2移植数据访问逻辑到组件
4.6.3移植业务逻辑到组件
4.6.4移植进程监督代码到组件
4.6.5服务端进程监督
4.6.6客户端过程监督
4.7复杂性
4.7.1参数
4.7.2全局变量
4.7.3全局函数
4.7.4即时性
4.7.5WebDW
4.8项目计划示例
4.8.1高级的多层模型移植任务计划示例
4.8.2高级的Web移植任务计划示例
4.9Web.PB和DPB应用
4.9.1Web.PB
4.9.2DPB应用
4.9.3Web.PB与DPB系统和EAServer系统
之间的主要不同点
4.9.4不支持哪些组件
4.9.5为EAServer重新设计
4.10小结
第5章开发组件
5.1目标
5.2什么是组件
5.2.1标准PBNVO
5.2.2PBEAServer组件
5.2.3EAServer组件限制
5.2.4有效的CORBA数据类型
5.3不同类型的组件
5.3.1组件和对象的比较
5.3.2状态组件和无状态组件
5.3.3标准组件
5.3.4共享组件
5.3.5服务组件
5A开发组件
5.4.1理解开发过程
5.4.2使用继承
5.4.3基本对象
5.4.4使用标准PowerBuilderNVO和函数
5.4.5数据访问
5A.6读和更新
5.4.7事务管理
5.4.8自动分界
5.4.9异常处理
5.5组件开发示例
5.5.1基本对象
5.5.2数据访问对象
5.5.3使用这个结构
5.6小结
第二部分分布式应用开发
第6章分布式应用分析与设计
6.1目标
6.2确定业务问题
6.3如何遵循系统开发生命周期(SDLC)
6.4分布式应用开发中的难点
6.5分布式应用SDLC
6.6逻辑分析与设计
6.6.1业务过程模型
6.6.2用例图
6.6.3概念数据模型
6.6.4验证
6.6.5封装逻辑设计
6.7物理设计
6.8物理数据模型
6.8.1对象模型
6.8.2部署建模
6.9测试——成功设计之路
6.10使用设计设置范围
6.11小结
第7章探索WebDataWindow
7.1目标
7.2DataWindow的功能
7.3理解WebDataWindow
7.4何时使用WebDataWindow
7.5体系结构
7.6DataWindow设置
7.7PowerDynamo
7.8JavaServer页面
7.9ActiveServerPages(ASP)
7.10应用服务器
7.10.1HTMLGenerator90组件
7.10.2HTMLGenerator90组件方法
7.11自定义组件
7.12微软事务服务器
7.13客户事件和脚本
7.14高级特性
7.14.1HTMLExits/AppendedHTML
7.14.2HTML语法
7.14.3网景绝对定位
7.14.4JavaScript缓存
7.14.5JavaScnptGeneration
7.15小结
第8章XMLDataWindow
8.1介绍
8.2什么是XML
8.3XML解析器
8.4DataWindow导出引擎
8.5导出模板:图形用户界面
8.5.1导出模板的首部分
8.5.2导出模板细节部分
8.5.3将DataWindow元素映射到XML
节点
8.6导出XML
8.7示例I
8.8示例II
8.9示例III
8.10示例IV.
8.11导人XML
8.12新DLL
8.13小结
第9章JSP的开发与使用
9.1目标
9.2JavaServerPage到底是什么
9.3JavaServerPage机制
9.3.1服务器端代码
9.3.2指令
9.3.3声明
9.3.4scriptlet
9.3.5表达式
9.3.6标准标签
9.3.7客户端代码
9.3.8执行顺序
9.4JSP可以访问的对象
9.5为JSP开发EAServer组件
9.5.1可以传递给组件的对象
9.5.2组件能够返回的值
9.5.3使用WebDataWindow
9.5.4自定义标签库
9.6编写自己的JSP
9.6.1语法
9.6.2调用EAServer组件
9.6.3数据库访问
9.7完整的JSP过程
9.8小结
第10章组件间开发
10.1目标
10.2组件间调用
10.2.1组件接口
10.2.2Createlnstance方法
10.2.3使用代理
10.3CREATE和Createlnstance:了解它们
的不同
10.4组件生命周期
10.5组件类型:标准、共享和服务
10.5.1标准组件
10.5.2共享组件
10.5.3服务组件
10.6应用体系结构
10.6.1服务器
10.6.2包
10.6.3组件
10.7组件间调用的利与弊
10.8小结
第11章使用EAServerAPI
11.1目标
11.2Jaguar模块
11.2.1Jaguar/Repository组件
11.2.2Jaguar/Management组件
11.2.3Jaguar/CMPing和Jaguar/
JCMPing组件
11.2.4Jaguar/Monitoring组件
11.2.5Jaguar/FileViewer组件
11.3CtsComponents模块
11.3.1消息服务
11.3.2CtsComponents/ThreadManager组件
11.4CtsSecurity模块
11.4.1CtsSecurity/Sessionlnfo组件
11.4.2CtsSecurity::AuthService接口
11.4.3CtsSecurity::Authorization
Service接口
11.4.4CtsSecurity::RoleService接口
11.5C/C++API
11.6小结
第12章EAServer的多线程
12.1目标
12.2什么是多线程
12.2.1多线程的长处
12.2.2多线程的缺点
12.2.3线程本地存储
12.3EAServer线程类型
12.4EAServer中的多线程
12.5使用消息服务
12.5.1将消息排队
12.5.2消息服务
12.5.3消息服务编码示例
12.5.4取出消息
12.5.5放入消息
12.6线程的优先顺序
12.7小结
第13章访问J2EE结构
13.1目标
13.2APl概述
13.2.1CORBA通信(110P/CORBA)
13.2.2远程方法协议/调用(RemoteMethoProtocol/Invocation,RMP/RMl)
13.2.3Java数据库连接(JavaDatabaseConnectivity,JDBC)APl:
13.2.4企业JavaBean技术
13.2.5命名和目录接口
13.2.6Javaservlet技术
13.2.7JavaServerPage技术
13.2.8,Java标签库
13.2.9Java消息服务
13.2.10Java事务服务
13.2.11JavaMai!
13.2.12可扩展标记语言(XML/XSL)
13.3J2EE连接器体系结构
13.4Java验证和授权服务
13.5以J2EE的方式使用PowerBuilder
13.5.1Web应用程序
13.5.2servlet如何交互—
13.5.3用Struts创建一个简单的Web应用
程序
13.5.4编写一个Struts应用程序
13.6小结
第14章使用基本组件框架的分布式应用
开发
14.1目标
14.2什么是应用程序框架
14.3PowerBuilder框架的历史
14.4框架技术
14.4.1来自于继承
14.4.2来自于实例化
14.4.3组件间调用
14.4.4胖客户端和Web客户端框架
14.4.5数据驱动框架
14.5基本需求
14.5.1客户端和服务器之间的通信
14.5.2服务器上的服务
14.6PowerBuilder可用的框架
14.6.1企业应用程序框架:Cynergy
System
14.6.2双重应用程序框架:Hepek
14.6.3smlPortal:PowerObjects
第15章部署到EAServer
15.1目标
15.2部署概述
15.3客户/服务器和分布式
15.4组件部署的步骤
15.5部署到一个EAServer开发服务器
15.5.1选取对象
15.5.2属性
15.5.3完成部署
15.6安装部署PBL
15.7组件推广
15.8使用WinZip进行推广
15.8.1Component目录
15.8.2用WinZip移动组件
15.8.3修改Jaguar.props
15.8.4查看组件
15.9使用EAServer同步进行推广
15.10部署方法小结
15.11小结
第三部分高级特性及技巧
第16章使用JagnarManager管理EAServer
16.1目标
16.2系统管理员的目标
16.3JaguarManager
16.4使用JaguarManager
16.4.1建立连接
16.4.2,JaguarManager管理什么
16.5配置服务器
16.5.1配置管理口令
16.5.2关闭和启动·
16.5.3创建和删除服务器
16.5.4配置监听程序
16.5.5服务器属性
16.6服务器属性(HTTPConfig标签页)
16.6.1服务器属性(Security标签页)
16.6.2服务器属性(Resources标签页)
16.6.3服务器属性(Log/Trace标签页)
16.6.4服务器属性(Handlers标签页)
16.6.5服务器属性(NamingService标
签页)
16.6.6服务器属性(Dynamo标签页)
]6.6.7服务器属性(HotStandby标签页)—
16.6.8服务器属性(JavaClasses标签页)—
16.6.9服务器属性(StaticPageCaching
标签页)
16.7配置数据库访问
16.8部署
16.8.1部署应用程序
16,8.2Web应用程序
16.9命名服务
16.10集群和同步
16.11消息服务
16.12Web服务器重定向器
16.13jagtool牙山agant
16.13.1jagtool
16.13.2自动执行操作
16.13.3jagant
16.14小结
第17章EAServer问题分析和疑难解答
17.1目标
17.2客户端和服务器环境
17.2.1客户端需求
17.2.2服务器需求
17.3连接到EAServer
17.3.1诊断失效连接
17.3.2跟踪客户端连通性请求
17.4实例化组件
17.4.1建立服务器连通性
17.4.2定位组件
17.4.3实例化组件
17.4.4调用组件方法
17.5跟踪组件执行
17.5.1远程调试
17.5.2跟踪方法执行
17.6EAServer中的线程
17.6.1EAServer组件设置
17.6.2绑定EAServer到一个CPU
17.6.3转储线程
17.7数据库访问
17.7.1PowerBuilder数据库跟踪
17.7.2特定销售商数据库跟踪
17.7.3关于健全性检查
17.8小结
笫18章监控
18.1目标
18.2监控EAServer实体
18.2.1JaguarManager
18.2.2SybaseEnterpriseWebConsole
18.2.3SNMP代理
18.2.4Jaguar::MonitoringAPI
18.3操作系统监控
18.3.tEAServer内存管理
18.3.2EAServer中的CPU利用
18:3.3EAServer中的线程
18.3.4其他资源
18.4小结
第19章连接缓存
19.1目标
19.2需要连接缓存的情形
19.3创建EAServer连接缓存
19.3.1常规属性
19.3.2驱动属性
19.3.3缓存属性
19.3.4所有属性
19.3.5EAServer3.6.1的不同点
19.3.6使用jagtool
19.3.7使用Jaguar::Repository接口
19.4测试连接缓存
19.4.1使用JaguarManager测试连接缓存
19.4.2用jagtool测试连接缓存
19.4.3使用Jaguar::CMPing和Jaguar::
JCMPing接口测试连接缓存
19.5在PowerBuilder中使用连接缓存
19.5.1请求连接
19.5.2建立连接
19.5.3使用连接
19.5.4释放连接
19.5.5其他PowerBuilder连接参数
19.6使用其他PowerBuilder数据库接口
19.7XA资源
19.8小结
第20章XML的开发与使用
20.1目标
20.2什么是XML
20.3XML技术
20.3.1解析器
20.3.2XSL
20.3.3DTD
20.3.4大纲
20.3.5SOAP
20.3.6ebXML
20.3.7格式化对象
20.4在PowerBuilder分布式应用中如何
使用XML
20.4.1XMLDataWindow
20.4.2PBDOM
20.4.3使用其他解析器(MSXML)
20.4.4Web服务
20.4.5数据/消息
20.5在PowerBuilder中使用XML的示例
20.6小结
第21章Web服务的开发与使用
21.1介绍:
21.2为何采用Web服务方式
21.3Web服务体系结构
21.4描述:WSDL
21.5协议:SOAP
21.5.1工作原理
21.5.2请求
21.5.3响应
21.6知识库:UDDI
21.7实现Web服务
21.7.1创建服务器端部分
21.7.2定义Web服务
21.7.3PowerBuilder客户端
21.8另一个Web服务实现:Axis
21.9使用PowerBuilder9创建Web服务的
JSP客户端
21.10小结
第22章移动系统开发
22.1介绍
22.2为受限设备开发
22.3创建可用的移动应用
22.3.1了解用户
22.3.2迅速地定位到目标
22.3.3将应用限制到只具有所属的功能
22.3.4使应用程序易于导航
22.3.5使应用程序保持一致性
22.3.6避免文字输入
22.3.7避免不必要的用户错误
22.4移动应用的内容
22.5WAP论坛
22.6WAP介绍
22.7WAP模型
22.8第一个WAP网页
22.9在WAP客户环境中运行示例
22.10SybaseiAnywherem-BusinessStudio
22.10.1开发瘦客户应用
22.10.2开发智能客户应用
22.11SybaseiAnywherem-BusinessStudio
包含的内容
22.11.1iAnywhere无线服务器
22.11.2同步和移动数据库
22.11.3消息
22.11.4Sybase企业门户集成
22.11.5内容发送服务
22.11.6应用管理服务
22.11.7同步和移动数据库
22.12iAnywhere应用框架
22.13使用SybaseAdaptiveServerUltraLite
22.14使用数据复制
22.15SQL特性
22.16小结
第23章通过PowerBuilder访问EJB服务器
23.1目标
23.2企业JavaBean概述
23.3PowerBuilder实现概述
23.3.1EJB客户端PBNI的实现
23.3.2PowerBuilderJVM服务
23.3.3PowerBuilder代理对象
23.4编写一个PowerBuilderEJB客户端应用
23.4.1加载JavaVM
23.4.2连接到EJB服务器
23.4.3定BEJB
23.4.4实例化EJB
23.4.5调用EJB方法
23.4.6与EJB服务器断开连接
23.5部署EJB客户端应用
23.6对基本客户端应用的扩展
23.6.1处理Java,lang.Object
23.6.2动态转换对象和接口
23.6.3创建附加的Java代理
23.7客户端事务
23.7.1访问事务
23.7.2处理事务异常
23.7.3管理事务
23.8小结
第24章使用企业门户
24.1目标
24.2为什么需要一个企业门户
24.3什么是企业门户
24.4为什么选择Sybase企业门户
24.5Sybase企业门户(EP)的应用领域
24.6EP系统的特性
24.6.1主要特性
24.6.2其他特性与功能
24.7SybaseEP评估版本
24.8安装评估版本
24.8.1安装步骤
24.8.2运行Po~alStudio
24.9安装SybaseEP完全版本
24.9.1SybaseEP5.0产品正式版的内容
24.9.2需要安装的模块介绍
24.9.3需要保留的信息
24.9.4PortletBuilder和PortalInterface
24.10使用Sybase企业门户开发
PowerBuilder应用
24.10.1准备示例
24.10.2PortalStudio
24.10.3创建模板
24.10.4创建portlet
24.10.5使用工作流和对工作流进行版本
控制
24.10.6创建一个页面;
24.11Sybase企业门户安全体系结构
24.11.1设置安全系统
24.11.2设置单点登录
24.12小结
第25章展望——PB和分布式应用开发的
未来
25.1目标
25.2未来的新特性
25.3PowerBuilder和.NET
25.4PowerBuilder和Java
25.5PowerBuilder和移动技术
25.6利用或影响PowerBuilder的技术
25.6.1PowerBuilder的Appeon
25.6.2集成PowerDesigner
25.7其他技术
25.8其他平台
25.9展望未来
附录
附录A出错信息和疑难解答索引
自从1991年首度推出以来,PowerBuilder已经跨过了13年的发展历程。随着.com时代的兴起和没落,PowerBuilder的未来曾经看起来是黯淡无光的,但Sybase因势利导,先后发布了PB8和现在的PB9,使得PowerBuilder又成为主流开发工具之一。本书的目的就是立足于利用PowerBuilder 9.0构建Web和分布式应用的最重要方面,全面介绍了PowerBuilder 9.0的体系结构和发展趋势、重要特性和在分布式应用开发中用到的相关技术。
本书的作者都是Sybase领域最杰出的成员,其中的一些人是TeamSybase中的发起人,该组织的成员是在其各自领域内被Sybase认可的专家。他们在PowerBuilder 9.0的设计中做了大量的工作,对于该产品具有广博而深厚的知识,在本书中他们以深入浅出的方式阐述了PowerBuilder9.0的各种功能。他们不仅和读者分享了PowerBuilder 9.0所带来的各种新特性和功能,而且还带给读者在PowerBuitder应用开发方面多年的经验。
本书内容主要分为三个部分。第一部分“分布式计算基础”覆盖了基础部分,从分布式发展过程中的教训,到如何迁移现有的客户/服务器应用,以及如何从头分析和开发新的分布式应用。第二部分“分布式应用开发”更为详细地介绍了P0werBuilder支持分布式应用开发的各种特性。第三部分“高级特性及技巧”是PowerBuilder开发人员的提高部分。本部分包括从J2EE应用服务器访问EJB、访问Web服务、利用XML以及和其他Sybase技术集成。本书最后的附录列出了PowerBuilder分布式应用开发常见的出错信息、行为以及可能的原因和解决方法。
PowerBuilder 9.0已经可以支持XML、SOAP(Web服务协议),并且通过支持来自任何兼容的J2EE应用服务器(如BEA的Weblogic和IBM的Websphere)对EJB的访问,突破了原来只能将EAServer作为应用服务器的限制。PowerBu¨der还继续新的发展,例如PocketPowerBuilder,该产品支持在手持的WIN CE设备上部署PowerBuilder应用等。读者从本书的编排和组织中.71;2展望PowerBuilder的未来。当然本书的作者也承诺随着PowerBuilder新版本的推出,本书也将推出更新版本,从这一点看,本书将一直是读者掌握PowerBuilder的长期利器和有效工具。
本书由李洪发、王海峰等进行翻译,参与翻译工作的还有张昆琪、黄江海、骆智、刘耀明、杨旭、王蔓、欧阳荣彬、王强、尹婷、李宏平、刘海宁、邓春红、黄凯、周鹏、张小辉、刘建伟、李昂、陈磊、王秀英、王冶、李家峻等。周鹏负责本书的统稿工作。由于时间仓促,且译者的水平有限,在翻译过程中难免会出现一些错误,请读者批评指正。
BillGreen
William(Bm)Green是一名具有10多年面向对象软件分析、设计和开发经验的软件开发人员、顾问和体系结构设计师。他在软件开发领域具有20多年的经验。Bill是Team Sybase的发起成员之一,该组织是一个技术专家组,为因特网上的Sybase客户提供义务帮助。Bill是多本技术书籍的作者或合作者,包括畅销的《PowerBuilderFoundation Class Library Professional Reference》(McGraw-Hill,1997)。他是各类业界业务期刊的长期撰稿人,是Sybase国际用户大会的长期讲师。他的邮件地址是bill.green@teamsybase.com。
John D.Olson
JohnOlson是一名具有15年设计和开发经验的软件顾问,具有超过10年应用Sybase22具的经验。他是TeamSybase的发起成员之一,是《PowerBuilderDeveloper’sJournal》杂志的主编,是通过认证的Sybase讲师和PowerBuilder开发人员,也是一位多产作家。他在与Sy
这是一本关于利用PowerBuilder进行分布式应用开发的书。经过几年的发展,PowerBuilder已经从单纯的客户/服务器工具演变为能够支持并提升开发经验的工具。
最初涉足分布式应用开发领域是通过PowerBuilder的扩展,称为分布式PowerBuilder,简称DPB。DPB由一些附加的关键特性组成,它支持应用作为组件服务器的开发。DPB的概念比较简单,其实现允许开发人员构建他们的第一个分布式应用。
当因特网开始作为支持商业应用的媒介为人所知时,PowerBuilder相应地扩展了功能,包含了一些支持开发基于因特网应用的构件。该实现被称为Web.PB,是由基于CGI的进程组成,可以和使用HTML的基于浏览器的应用进行通信。其中,指令被转换并传递给DPB服务器应用,由其生成HTML页面并返回给浏览器。同样,该实现是相对比较简单的,一定程度上限制了开发者的能力。
大约与此同时,Sybase开始着手应用服务器的开发,该服务器比当时的CGI/DPB进程功能上更为强大,它允许开发者访问运行在服务器上的DataWindow。当然,DataWindow是可视化对象,在服务器上并不存在。我们实际访问的是DataStore,即非可视化的DataWindow。对数据的访问是通过称为MASP(Methods As Stored Procedure,作为存储过程的方法)的进程实现的。在Sybase优化此进程的过程中,引入了PowerDynamo,这是一个动态页面服务器,它能够访问应用服务器并以简洁、有效的方式将HTML页面传回浏览器。
接着Java出现了,每件事随之改变。所有人都想用Java做每件事,规范开始被提出以形成相关的标准。这时PowerBuilder的应用服务器开始作为laguar/CTS(CTS意思是组件事务服务器)以适应和支持Java的需求。Jaguar已支持CORBA和COM组件,同时也增强了对Java以及本机PowerBuilder组件的支持。发展的结果就是出现了今天著名的企业应用服务器,简称EAServer。开发人员现在可以在EAServer上用Java、C++或是PowerBuilder来开发和部署。EAServer可以被任何客户端前端应用访问,包括PowerBuilder应用,而且该产品的功能发展越来越快。
每一个发行版本都会增加一些功能来支持发展中的标准,PowerBuilder 9也不例外。PowerBuilder 9支持XML、SOAP(Web服务协议),并且通过支持来自任何兼容的J2EE应用服务器(如BEA的Weblogic和IBM的Websphere)对EJB(EnterpriseJavaBeans,企业JavaBean)的访问,突破了原来只能将EAServer作为应用服务器的限制。PowerBuilder还继续着新的发展,例HPocketPowerBuilder,支持在手持的WINCE设备上部署PowerBuilder应用(对Palm的支持也在开发中)。
PowerBuilder仍然支持客户/服务器应用的开发,这些应用在今天的企业中’仍旧被使用。不过,现在PowerBuilder支持的内容更多了。PowerBuilder组件在EAServer中是作为本机组件运行的。PowerBuilder还能够作为Web服务的客户端,这是当前流行的分布式组件模式。还有正如已经提到过的,PowerBuilder还能够作为EJB的客户端。随着现在对.NET的支持以及在EAServer之外的其他平台上实现PowerBuilder组件开发的计划正在进行,PowerBuilder这个10多年前带给世界冲击的开发工具仍然显得生机勃勃。随着开发平台扩展到迄今尚未达到的环境,PowerBuilder还将在相当一段时间内继续发展。
本书向开发人员展示了分布式应用开发领域的深层次内容。
第一部分“分布式计算基础”覆盖了基础部分,从分布式发展过程中的教训,到如何迁移现有的客户/服务器应用,以及如何从头分析和开发新的分布式应用。这些深入的分析可以使我们少走弯路。
第二部分“分布式应用开发”更为详细地介绍了PowerBuilder支持分布式应用开发的特性。从Web DataWindow以及最近引入的XML DataWindow,到更先进的开发模式——如访问EAServer应用服务器内部APl和开发多线程应用,本部分为更高级的开发提供了基础。
第三部分“高级特性及技巧”是PowerBuilder开发人员的提高部分。本部分包括从J2EE应用服务器访问EJB、访问Web服务、利用XML以及和其他Sybase技术集成(如移动平台和企业门户)。本部分向开发人员展示了他们可以利用PowerBuilder获得的能力,说明了未来可继续扩展的可能性。
正如你看到的,本书的内容涉及分布式应用开发的各个阶段。本书是sybase在将PowerBuilder以及EAServer应用于分布式应用开发领域中所遵守的开放体系结构的说明,它们将继续成为我们现阶段主要的开发工具。