PowerBuilder战略方向
应用开发的基本途径 Other 13% 3GLs 4GL/RAD 23% 36% OO 3GLs Source: IDC 28%
综述 Sybase 是 4GL 的领先者。凭借 4GL+ 倍增的力量,Sybase将继续领导应用开发。 Sybase 强力推出新版 PowerBuilder; 9.0 版现已发售, 9.5, 10.0 及后续版本正在研发中。 客户的需求跨越了从客户机/服务器到下一代的应用,他们需要最佳的开发体验。PB 将会满足这些要求。 Sybase 将为企业应用而扩展 RAD 。2003年将发布为手持设备开发移动应用的 Pocket PowerBuilder 。
PowerBuilder 9.0 新特性 RAD Java Server PagesTM (JSPTM) Authoring XML (Extensible Markup Language) DataWindow (Export and Import) PB DOM (XML Parsing in PowerScript) PowerBuilder Native Interface (PBNI) EJB 客户端支持 支持 Web Services
用PowerBuilder开发JSP Web 应用 RAD JSP 用PowerBuilder开发JSP Web 应用
PowerBuilder 9.0中的JSP Authoring 向导: 生成调用 Web Services 的 JSP “所见即所得”式的编辑 JSP 编辑人员可以完全访问页面资源
XML DataWindow 用 DataWindow 导入/导出 XML
DataWindow 导入/导出 模版 对于一个DW 命名空间,模版中的引用(References)都是特定的。 模版作为一个关联的对象存储 DW 的定义文件如PBL & SRD 中。 一个DW 可以定义/存储多个模版。 在 DW 命名空间中,每个模版都要有唯一的名字。 模版可以在运行时应用,或用新的DW属性UseTemplate在设计时应用。 可以进行 DW 数据的导出或导入。
导出 XML Data 的方法 DataWindow Painter File…Save Rows As… menu item Save as type: XML SaveAs method integer dwcontrol.SaveAs ( string filename, saveastype saveastype, boolean colheading ) SaveAsType
用 PowerBuilder 的 PBDOM 操作XML XML Services 用 PowerBuilder 的 PBDOM 操作XML
PBDOM 概览 如果没有本机 XML 支持,现有的 PB 程序需要象 MSXML 的第三方解释器才能处理 XML 。 这需要利用 OLEObjects 。 这带来了平台问题。(比如 MSXML 只支持 Wintel )
PBDOM 概览 PBDOM 支持 Wintel 和 Unix 平台。 如 MSXML 般的解释器仅暴露底层的W3C DOM APIs 。这些很难理解与掌握。 PBDOM 呈现一些更高级的功能。易于学习,且效率更高。
利用 PowerBuilder Native Interface 扩展你的应用 PBNI 利用 PowerBuilder Native Interface 扩展你的应用
扩展 PowerScript PowerBuilder 可以用PowerScript调用外部C函数。 对外部 C 函数有一些限制: 不能声明需要回调的外部函数。如 BOOL EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam); 一些 C 的数据类型不能映射到 PB 的数据类型,如double*。 外部函数不能回调进入 PBVM。 使用外部函数不是面向对象的。
PBNI 是更好的方法 PB9中引入的PBNI克服了这些限制。 利用 PBNI,你可以: 在 PowerScript 和外部应用之间传递的是 PB 的本机数据类型。 外部应用可以回调进入 PBVM, 执行生成对象,调用 PowerScript 函数,触发事件,访问变量和数组等工作。 一旦一个外部应用包含进 PBD 文件,它实现的类可以像普通的 NVO 或用户对象一样使用。
从 PowerBuilder 客户端访问Enterprise Java Beans EJB Clients 从 PowerBuilder 客户端访问Enterprise Java Beans
生成 EJB 代理 PowerBuilder 提供两种生成代理对象的方法 依靠 JDK 提供的 Javap 功能。 在开发环境中 单独的命令行应用 依靠 JDK 提供的 Javap 功能。 需要完整的 EJB 远程接口作为参数。 假设本地接口的名字一样,除了开头是 Home 。 生成了一个附加的 PB 结构。它记录了原来的 Java 类和对应的代理对象的名字。
利用 PowerBuilder 9.0 生成和使用 Web Services Web Services 和 .Net 利用 PowerBuilder 9.0 生成和使用 Web Services
支持 Web Services PowerBuilder 9.0 支持在HTTP上用SOAP访问web services 。 隐藏了许多复杂的东西,如: WSDL XML 语法 SOAP 开发
PowerBuilder 9.0 增强之处 存为PDF格式! 增强Debugger 增强版本控制
Beyond PowerBuilder 9.0 Sybase 还会提供什么?
Pocket PowerBuilder 为 Pocket PC 设备开发应用
窗口与控件 类似台式机桌面上的控件 没有鼠标和光标 大多数 Datawindow 展现风格 Checkbox Radiobutton Listbox Pushbutton Datawindow 等等… 没有鼠标和光标 通常只有等待时的沙漏光标。 大多数 Datawindow 展现风格 Freeform, Graph, Grid, Group, Tabular Differences are more visual than action. Usually no mouse, so no cursor support, except “Wait”. We will change the way we build and display menus. PocketPC uses MenuBar, others devices use CommandBar. Popup menu is handled differently, there is no Right Mouse Button. Use a timer/delay/tremble factor.
数据库同步 ODBC MobiLink 移动 ASA 数据库或企业级数据库 ASA 数据库 移动设备上的 DBMLSYNC 应用管理台式机与设备间的数据同步 用Sybase Central 定义同步的工作 Although ActiveSync allows import/export of (almost) any odbc source, synchronization only seems to work with MDB files. This may be a Microsoft bug, or a limitation on the ActiveSync manager.
首次发布 Pocket PowerBuilder PowerBuilder 对象可以被导入 Pocket PowerBuilder Pocket PowerBuilder objects对象可以被导入 PowerBuilder 是PowerBuilder 对象和方法的子集 无 RichText Control… 无 OLE… 等等…. “Selected device” – in PowerBuilder we don’t normally select a target, so the diplay format is fairly free. For the handheld we will refer to the device type in the painters. User will still need to exercise care in deploying the same app to different devices. (e.g. Handheld and PocketPC). Window painter e.g. 240 X 320, scrollbars for larger windows. Menu painter changes for MenuBar/CommandBar …. Maybe, we could hide this from the developer. Import/export with translation.
未来发展方向 会将 PowerDesigner 视图嵌入 PowerBuilder。 PowerBuilder 可以用OLE automation 从PowerDesigner 模型中生成完整的代码。
共享 PB 9.0 代码和工具 SDN 的新功能使社区间协作 所有 SDN 成员都可以参与 加入已经开始的协作 下载 Sybase 开发的样例 一起探索 PBNI (如 PBNI CommonDialog, PBNI OLEObject 功能) 贡献出你的代码或与其他 PowerBuilder 专家一起完成协作工程。 所有 SDN 成员都可以参与 用你的 MySybase 账户登录 SDN 加入已经开始的协作 http://powerbuilder.codexchange.sybase.com or via SDN at www.sybase.com/developer