PowerBuilder战略方向应用开发的基本途径4GL/RAD36%OO3GLs28%3GLs23%Other13%Source:IDC综述•Sybase是4GL的领先者。凭借4GL+倍增的力量,Sybase将继续领导应用开发。•Sybase强力推出新版PowerBuilder;9.0版现已发售,9.5,10.0及后续版本正在研发中。•客户的需求跨越了从客户机/服务器到下一代的应用,他们需要最佳的开发体验。PB将会满足这些要求。•Sybase将为企业应用而扩展RAD。2003年将发布为手持设备开发移动应用的PocketPowerBuilder。PowerBuilder9.0新特性•RADJavaServerPagesTM(JSPTM)Authoring•XML(ExtensibleMarkupLanguage)•DataWindow(ExportandImport)•PBDOM(XMLParsinginPowerScript)•PowerBuilderNativeInterface(PBNI)•EJB客户端支持•支持WebServicesRADJSP用PowerBuilder开发JSPWeb应用PowerBuilder9.0中的JSPAuthoring•向导:•生成调用WebServices的JSP•“所见即所得”式的编辑JSP•编辑人员可以完全访问页面资源XMLDataWindow用DataWindow导入/导出XMLDataWindow导入/导出模版•对于一个DW命名空间,模版中的引用(References)都是特定的。•模版作为一个关联的对象存储DW的定义文件如PBL&SRD中。•一个DW可以定义/存储多个模版。•在DW命名空间中,每个模版都要有唯一的名字。•模版可以在运行时应用,或用新的DW属性UseTemplate在设计时应用。•可以进行DW数据的导出或导入。导出XMLData的方法DataWindowPainterFile…SaveRowsAs…menuitemSaveastype:XMLSaveAsmethodintegerdwcontrol.SaveAs(stringfilename,saveastypesaveastype,booleancolheading)SaveAsTypePowerBuilderEnumeratedValueNumericValueMeaningXML!15XMLXMLServices用PowerBuilder的PBDOM操作XMLPBDOM概览•如果没有本机XML支持,现有的PB程序需要象MSXML的第三方解释器才能处理XML。•这需要利用OLEObjects。•这带来了平台问题。(比如MSXML只支持Wintel)PBDOM概览•PBDOM支持Wintel和Unix平台。•如MSXML般的解释器仅暴露底层的W3CDOMAPIs。这些很难理解与掌握。•PBDOM呈现一些更高级的功能。易于学习,且效率更高。PBNI利用PowerBuilderNativeInterface扩展你的应用扩展PowerScript•PowerBuilder可以用PowerScript调用外部C函数。•对外部C函数有一些限制:–不能声明需要回调的外部函数。如BOOLEnumWindows(WNDENUMPROClpEnumFunc,LPARAMlParam);–一些C的数据类型不能映射到PB的数据类型,如double*。–外部函数不能回调进入PBVM。–使用外部函数不是面向对象的。PBNI是更好的方法•PB9中引入的PBNI克服了这些限制。•利用PBNI,你可以:–在PowerScript和外部应用之间传递的是PB的本机数据类型。–外部应用可以回调进入PBVM,执行生成对象,调用PowerScript函数,触发事件,访问变量和数组等工作。–一旦一个外部应用包含进PBD文件,它实现的类可以像普通的NVO或用户对象一样使用。EJBClients从PowerBuilder客户端访问EnterpriseJavaBeans生成EJB代理•PowerBuilder提供两种生成代理对象的方法–在开发环境中–单独的命令行应用•依靠JDK提供的Javap功能。•需要完整的EJB远程接口作为参数。–假设本地接口的名字一样,除了开头是Home。•生成了一个附加的PB结构。它记录了原来的Java类和对应的代理对象的名字。WebServices和.Net利用PowerBuilder9.0生成和使用WebServices支持WebServices•PowerBuilder9.0支持在HTTP上用SOAP访问webservices。•允许开发人员快速将webservices集成进PowerBuilder应用–隐藏了许多复杂的东西,如:•WSDL•XML语法•SOAP开发PowerBuilder9.0增强之处•存为PDF格式!•增强Debugger•增强版本控制BeyondPowerBuilder9.0Sybase还会提供什么?PocketPowerBuilder为PocketPC设备开发应用窗口与控件•类似台式机桌面上的控件–Checkbox–Radiobutton–Listbox–Pushbutton–Datawindow–等等…•没有鼠标和光标–通常只有等待时的沙漏光标。•大多数Datawindow展现风格–Freeform,Graph,Grid,Group,Tabular数据库同步•ODBC–移动ASA数据库或企业级数据库•MobiLink–ASA数据库–移动设备上的DBMLSYNC应用管理台式机与设备间的数据同步–用SybaseCentral定义同步的工作首次发布PocketPowerBuilder•兼容PowerBuilder–PowerBuilder对象可以被导入PocketPowerBuilder–PocketPowerBuilderobjects对象可以被导入PowerBuilder•是PowerBuilder对象和方法的子集–无RichTextControl…–无OLE…–等等….未来发展方向•会将PowerDesigner视图嵌入PowerBuilder。•PowerBuilder可以用OLEautomation从PowerDesigner模型中生成完整的代码。共享PB9.0代码和工具•SDN的新功能使社区间协作–下载Sybase开发的样例–一起探索PBNI(如PBNICommonDialog,PBNIOLEObject功能)–贡献出你的代码或与其他PowerBuilder专家一起完成协作工程。•所有SDN成员都可以参与–用你的MySybase账户登录SDN•加入已经开始的协作–