编写多线程应用.docx

上传人:b****4 文档编号:4032635 上传时间:2022-11-27 格式:DOCX 页数:10 大小:66.95KB
下载 相关 举报
编写多线程应用.docx_第1页
第1页 / 共10页
编写多线程应用.docx_第2页
第2页 / 共10页
编写多线程应用.docx_第3页
第3页 / 共10页
编写多线程应用.docx_第4页
第4页 / 共10页
编写多线程应用.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

编写多线程应用.docx

《编写多线程应用.docx》由会员分享,可在线阅读,更多相关《编写多线程应用.docx(10页珍藏版)》请在冰豆网上搜索。

编写多线程应用.docx

编写多线程应用

1

第章

PowerBuilder9.0概述

PowerBuilder是美国Sybase公司推出的数据库开发工具,历经12年的发展,它由1991年的1.0版发展到了目前的9.0版。

PowerBuilder采用面向对象技术、图形化的开发环境和第四代(4GL)编程语言,可以使应用程序的开发效率更高,成本更低,质量更好,功能更强,因此它一经推出,就受到了广大开发人员的欢迎。

本章包括以下内容:

❑PowerBuilder简介

❑PowerBuilder开发工具的特点

❑PowerBuilder9.0的新特性

❑PowerBuilder9.0的安装和启动

通过本章的学习,读者将会对PowerBuilder有一个全面的了解,同时能够掌握PowerBuilder的安装和启动方法。

1.1PowerBuilder简介

PowerBuilder是美国著名的数据库和系统集成厂商——Sybase公司推出的数据库开发工具。

PowerBuilder的第一个版本于1991年6月正式面市,它采用面向对象技术、图形化的开发环境、第四代(4GL)编程语言,可以使应用程序的开发效率更快、成本更低、质量更高、功能更强,因此一经推出,就受到了广大开发人员的欢迎。

传统意义上,PowerBuilder是开发客户机/服务器数据库应用软件的工具,在Internet与人们的生活越来越密不可分的今天,采用客户机/服务器架构的软件在大多数企业的信息化系统中仍占据着较大的比重。

不过,开发工具总要与时俱进,随着Internet的深入人心,客户机/服务器软件对硬件要求高、维护不方便等缺点日益凸现,近年来,分布式(或者叫三层、N层)应用受到人们的普遍关注,各软件厂商纷纷推出支持分布式应用开发的产品。

作为数据库领域的一线厂商,Sybase当然不会坐视不理。

从6.0版开始,PowerBuilder就具备了初步的开发分布式应用的功能,7.0版和8.0版在开发分布式应用方面又向前迈进了一大步,特别是去年推出的8.0版,使PowerBuilder开发分布式应用的能力得以大大提高。

PowerBuilder8.0把开发工具与企业应用服务器(EAServer)紧密集成,用户不需要离开PowerBuilder集成环境,就可以开发出应用服务器所需的各种组件,或者编写网页和代码。

PowerBuilder9.0在8.0版的基础上进行了扩充和完善,提供了更为开放的开发环境和许多新的增强特性,与Web和N层开发也得到了进一步整合;它还提供了与EAServer更为紧密的集成,能够在EAServer中调用EnterpriseJavaBean(EJB),并能够将现有的组件连接到EAServer。

总之,PowerBuilder是开发数据库应用的首选工具之一。

据统计,全球有超过四成的数据库应用系统采用PowerBuilder开发;在国内,采用PowerBuilder开发的信息管理系统在银行、铁路、电力、电信等大型企业中也占有较大比重。

随着PowerBuilder新版本的推出以及其功能的增强,相信会有越来越多的开发人员选用PowerBuilder作为开发工具。

1.2PowerBuilder开发工具的特点

通常,人们仅仅把PowerBuilder看成是一种开发工具,而实际上它比一般开发工具要强得多。

它是一个功能强大的开发环境,开发人员不但能用它来建立用户容易使用的各种应用程序,还可以通过它来修改数据库,利用它500多个内部定义函数建立能和其他应用程序通信的各种应用程序(组件),甚至编写网页代码。

PowerBuilder开发工具的特点可以概括为以下几点。

1.2.1事件驱动的应用程序

PowerBuilder开发的应用程序是事件驱动的,它与非事件驱动的应用程序的区别之处在于:

应用程序不是顺序地执行,即不是一条指令接着一条指令地执行,只偶尔停下来与用户交互,而是由用户通过各种操作控制应用程序的流程。

例如,用户单击某个按钮,从菜单中选取某个菜单项,或者在某个编辑框中输入数据,都会触发相应的事件,用户可以通过编写脚本(Script)来指明当前事件被触发时所要完成的处理过程。

例如,有一个命令按钮,用户单击该按钮时,就触发了该按钮的Clicked事件,该事件的代码被执行。

在事件驱动的程序中,是用户而不是程序在控制运行。

用户通过PowerBuilder创建的窗口、控件和其他的应用程序对象都是一个预定的事件集合。

例如,每个按钮都有一个Clicked事件,每个编辑框都有一个Modified事件。

PowerBuilder为用户提供了常用的预定义事件,当然,在需要的时候也可以创建自己的事件(自定义事件)。

1.2.2功能强大的编程语言和函数

PowerScript是PowerBuilder的功能很强的第四代编程语言,用PowerScript语言编写的程序通常称为脚本(Script)。

脚本往往是由PowerScript命令、函数和相应某一事件所要完成的处理过程的语句组成。

它能使开发人员很容易地将简单或复杂的事物逻辑与应用相配合。

PowerBuilder提供了几百个函数用以操作对象、数字、文本和日期等信息,并且全面支持DDE和全文本I/O。

例如,可以为放置在窗口上按钮的Clicked事件编写脚本,这些脚本要实现的功能是从数据库中检索数据;也可以为文本框的Modified事件编写脚本,以实现对数据修改后进行某些处理。

事件本身也可以触发其他事件。

例如,当一个按钮上的Clicked事件要打开一个窗口时,就触发了这一窗口的Open事件。

PowerBuilder还提供了丰富的内置函数,可以利用这些函数对应用程序的各种对象和控件进行处理。

如打开窗口、关闭窗口、使按钮有效、检索数据、更新数据库等,PowerBuilder都提供了相应的函数来实现。

此外,在应用程序中开发人员还可以用自己定义的函数来执行某些特定的处理过程;也可以在PowerBuilder中声明和使用外部函数(例如API函数),使用外部函数就像内置函数一样,这使得PowerBuilder可以在客户或服务器端与外部3GL过程通信。

1.2.3面向对象的编程

PowerBuilder是面向对象的开发工具。

在PowerBuilder中创建的每一个菜单或窗口都是一个自含的模块,称为对象(Object)。

PowerBuilder应用程序基本的构建块是用户所创建的对象,每个对象都具有一些特定的特性和行为(属性、事件和功能)。

利用诸如封装性、继承性和多态性这样的面向对象的编程技术,开发人员可以最有效地利用所创建的每一个对象,使应用程序具有可重用性、可扩展性和强有力的功能。

PowerBuilder使用了实际的面向对象方式,使信息系统开发人员无需精通专用语言即可进行面向对象的开发。

PowerBuilder应用由一系列对象组成,包括窗口、菜单、函数、结构和数据窗口、用户对象、用户事件等。

对象中又包含若干控件,如命令按钮、单行编辑器、列表框等,开发人员可以把一些包含通用或具有特定功能的控件或对象组织成自己的类库,并把它们应用到不同的开发任务之中,这样不但可以大大减轻开发工作量,提高开发效率,而且可以进一步保证软件的质量。

PowerBuilder还有绘图环境,可以生成用户定义的对象、事件和函数,其方便之处在于代码的重复使用性。

支持多级继承性可使对象类库(ObjectClassLibrary)的开发和维护更简便,用户对象画板(UserObjectPainter)完全支持对第三方控制对象(如VBX和C++)的访问。

1.2.4跨平台开发

PowerBuilder支持跨平台的开发和分布。

例如,在Windows下PowerBuilder开发的应用程序,可以分布到Unix或Macintosh平台上运行,反之亦可。

开发人员甚至可以组成一个跨平台的开发小组,一些人员在Windows平台上开发,另一些人员在Unix或Macintosh平台上开发,而且是同一时间开发同一个应用程序。

开发人员可以自由地共享应用程序中的PowerBuilder对象,因为PowerBuilder同样支持对象跨不同的计算机平台。

1.2.5开放的数据库连接

PowerBuilder是一个开放的协作式环境。

它可以访问任何一个常用的后台数据库系统,例如Oracle、MicroSoftSQLServer、SybaseAdaptiveServerEnterprise、Informix、DB2等,PowerBuilder可以通过一个叫做客户机/服务器开放开发环境(CODE)的规范与其他PC产品进行集成。

在开发应用程序时,数据库内部的细节对开发人员来说是不可见的,开发人员不需要关心每个数据库的特点和特性,PowerBuilder提供一个通用的前端用户界面,开发人员可以集中精力进行客户端应用程序的开发,与后台数据库的连接则由PowerBuilder完成。

PowerBuilder存取数据库的方式有如下两种(如图1-1所示):

❑通过使用标准的数据库接口(ODBC)。

❑通过使用一个由Sybase公司提供的专用的直接与数据库相连的接口。

标准的ODBC接口允许使用ODBC与各种数据库相连接。

ODBC(开放数据库连接)是微软公司的数据库连接标准,当使用ODBC时,用户需要定义一个ODBC数据源,它可以与一个DBMS、文件管理器、操作系统以及存取该DBMS的网络软件相关。

数据源存储和管理应用程序所需的数据。

图1-1PowerBuilder通过不同的接口连接不同的数据库

用户可以存取驻留本地或远程网络服务器上的一个ODBC数据源。

例如,通过安装SybaseAdaptiveServerAnywhere(一个PowerBuilder自带的数据库管理系统)ODBC驱动程序并且定义ODBC数据源,就可以存取一个远程服务器上的SybaseAdaptiveServerAnywhere数据库。

Sybase的专用数据库接口则是与某一数据库的一个直接连接,它不是通过ODBC而是通过一个专用接口存取一个数据库。

例如,若用户安装了相应的SQLServer数据库软件,则可以通过SQLServer接口来存取该数据库。

每一个专用数据库接口都包括了与特定数据库通信的动态链接库(DLL)接口,当使用该接口时,DLL接口通过数据库厂商的应用编程接口(API)连接到相应的数据库上。

关于数据库连接的有关知识,请读者参考第6章。

PowerBuilder拥有获得专利的数据窗口(DataWindow)技术。

DataWindow是一个智能对象,它能操纵关系数据库的数据而无须编写SQL语句。

用DataWindow可以修改、更新、插入、删除、打印数据,它提供了11种表现风格,供开发人员灵活选用。

DataWindow直接管理数据库的交互与控制。

DataWindow简化了报表的生成。

在PowerBuilder中,全部的商业报表可用鼠标点击法完成。

方式有复杂的条状表、自由格式、交叉表、标识和多列报表,还有多级分组和排序,用户定义计算域、列和汇总。

另外,PowerBuilder还包括一个全功能的内置商业图形功能,可将文件文本与图形报表合在一起。

PowerBuilder为生成和维护SQL数据库提供了交互功能,而无须学习编写SQL语句。

开发人员可以在一个集成环境中生成表和视图,定义主关键字、外关键字,运行数据库程序,维护安全性、编辑数据库内容。

1.2.6强大的Web以及分布式开发能力

传统的客户机/服务器架构的软件依然占有一定的市场,不过,近年来,分布式应用却后来居上,呈现出一派热火朝天的景象。

分布式计算方式提供了一种将应用程序的用户界面与应用程序的业务逻辑进行分离的自然途径,通过把业务逻辑集中在中间层服务器上,可以降低客户端的工作负荷,控制对敏感信息的访问,同时也可以降低应用软件的维护成本。

在分布式应用环境中,客户端和服务器端协同工作,完成商务用户所需的任务。

客户端处理与用户交互的所有操作,中间层服务器为客户端提供后台服务。

典型情况下,中间层服务器完成绝大多数的数据处理和数据访问,客户端通过调用运行在服务器上的组件或对象的方法,来使用服务器提供的服务。

在分布式应用程序架构中,中间层(业务逻辑层)服务器是一个十分关键的重要部件。

PowerBuilder9.0支持两种中间层应用服务器:

❑Sybase企业应用服务器(SybaseEnterpriseApplicationServer,EAServer)

❑微软事务服务器(MicrosoftTransactionServer,MTS)

PowerBuilder开发人员可以根据自己的需要,调用EAServer或MTS服务器提供的服务。

当然,开发人员也可以创建在这些服务器上运行的、完全业务逻辑的组件或对象。

在Web应用方面,PowerBuilder提供了几种构造Web应用程序的技术,其中最重要、最常用的是Web目标(WebTarget)和Web数据窗口(WebDataWindow)技术,这两种技术为开发人员提供了瘦客户的解决方案。

与PowerBuilder紧密集成的EAServer对Web应用程序体系提供了全面的支持。

EAServer包括两个工具:

PowerDynamo和Jaguar。

PowerDynamo是EAServer的动态页面服务器,它发挥了Web服务器和关系数据库之间的桥梁作用。

该服务器处理各种指令(例如SQL语句和脚本等)、将输出整理规范为HTML格式,并将HTML页面发送到Web服务器上。

PowerDynamo能够通过Java、ActiveX、SQL查询或PowerDynamo标记来访问EAServer中的组件。

Jaguar为使用PowerDynamo或PowerBuilderWeb目标的Web应用程序提供服务,它担当了使用HTTP协议的Web服务器。

1.3PowerBuilder9.0的新特性

PowerBuilder8.0自去年推出以来,就以其独特的开发环境和开发方法,强大的Web和组件开发能力受到了广大开发人员的欢迎。

PowerBuilder9.0扩展和增强了PowerBuilder的功能,提供了更为开放的开发环境。

PowerBuilder9.0中实现了对XML、JSP、.NET以及WebServices的支持,不仅可以满足企业级应用的需求,而且可以实现对手持设备的应用开发。

PowerBuilder9.0将使这个古老的产品焕发出新生命力,使之成为具有高度集成性的新一代开发平台。

PowerBuilder9.0的新增特性包括:

1.开放式快速应用开发第四代语言的基础

基于原来第四代语言快速应用开发能力,PowerBuilder9.0继续构筑新的基础,来创建客户机/服务器、Web和N层体系结构应用。

PowerBuilder9.0使这个过程更加轻松,更加迅捷,更加有效率,成本也更加低廉。

PowerBuilder9.0作为一种领先的第四代开发语言,从强大的针对XML的PowerBuilder文档对象模型到第三方应用服务器集成,给开发人员提供了一流的编程环境。

2.XML数据窗口

PowerBuilder9.0允许将DataWindow的数据作为扩展标记语言(XML)进行存储。

用户将能从DataWindow中选择数据,然后按照用户定义的XML输出模板将其输出为XML。

新的SaveAs(另存为)模板视图允许用户图形化地定义新的XML输出模板,通过DataWindow定义生成默认的模板,或者输入现有的XML模板。

一个XML输出模板由能够全面定制的元素和属性名称组成,它们将被映射到特定的DataWindow列、计算字段和其他数值。

表达式或格式符号可以应用于数据之中,以便为不同的显示格式生成XML数值。

每个XML输出模板都将按名称存储,用户能为每个DataWindow创建多个XML输出模板。

新的“另存为XML”的配置选项让用户选择在运行时使用哪个XML模板,从而允许一个DataWindow生成多个XML数据文件,每个都有自己独特的格式。

同样地,新的ImportFile模板能被定义用于从XML文档向DataWindow输入数据。

3.PowerBuilder文档对象模型(PBDOM)

PowerBuilder文档对象模型(PBDOM)是一个完整的应用程序接口(API),它用来创建、读写和操作XML文档。

PowerBuilder文档对象模型(PBDOM)也使通过标准PowerScript语句可以轻松地访问和操作XML文档。

PBDOM是基于一系列非可视化类集合,使用PowerBuilder本地接口技术(PowerBuilderNativeInterface,PBNI)创建。

4.JavaServer页面(JSP)

PowerBuilder9.0开发环境提供了一个易用的开发环境来建立JSPWeb应用。

它可以自动完成许多开发任务,允许配置与JSP1.2服务器兼容的Web应用。

JSPWeb对象向导自动地创建JSP对象——J2EEWeb应用,甚至这里面还包括了配置参数。

JSPWeb对象可以直接从PowerBuilder配置到EAServer或者Tomcat,其中的命令行选项还可以使其配置到其他流行的JSP容器中。

因为JSP页面是通用的HTML页面的扩展,在PowerBuilder中编辑JSP页面就像现在编辑HTMLWeb页面一样。

PowerBuilderJSP将基于现有的WebTarget的实现方式来构建,这样会使用户在创建和编辑JSP页面时的感觉和处理HTML页面一样。

5.高速开放式集成开发环境

PowerBuilder9.0快速应用开发(RAD)取得了巨大突破。

第四代集成开发环境提供了建立不同应用的机制以配置不同的体系结构,如Microsoft.NET框架和J2EE。

PowerBuilder9.0可以开发一流的客户机/服务器应用,也可以开发WebServices、RADJavaServerPages,同时给第三方应用服务器提供支持,这样就使原来的应用开发平稳地迁移到分布式应用和网络应用上。

6.WebServices

PowerBuilder可以作为客户端在Intranet或Internet上提供Web服务。

通过使用SOAP和WSDL,PowerBuilder可以将一系列函数作为一个实体远程发布,并且成为PowerBuilder应用的一部分。

通过使用EAServer工具箱,PowerBuilder定制类用户对象可以很容易地配置为WebServices。

PowerBuilder集成开发环境中的WebServices向导创建一个代理对象或定制标签库,它们包含了必要的信息,可以从PowerBuilder应用或JSP页面调用WebServices。

7.Microsoft.NET支持

PowerBuilder9.0开始对.NET框架进行支持,通过WebServices使.NET与PowerBuilder集成。

8.客户端EJB服务器支持

可以使用PowerBuilder来访问Java服务器端商业逻辑。

这样不需要常年累月地使用Java创建应用程序,PowerBuilder就能够快速建立一个合适的应用程序来访问运行在与J2EE兼容的应用服务器上的EJB,如SybaseEAServer、IBMWebSphere应用服务器、BEAWebLogic服务器以及其他应用服务器。

9.提供了调用第三方应用服务器中EJB的桥接技术和详尽的样本程序

现在,一个部署于EAServer中的Java组件能够充当代理,使PowerBuilder应用程序能访问到部署在第三方J2EE应用服务器中的EJB商业逻辑。

10.面向手持设备的PowerBuilder应用程序

PowerBuilder的桌面应用程序将可以被部署到多种手持设备上。

它特别为使用WinCE和Palm操作系统的手持设备提供了支持,二者相比WinCE更受到重视。

对桌面PowerBuilderIntegratedDriveElectronics(IDE)进行修改使应用能够部署到一系列手持设备中。

ProjectPainter是进行这些修改的场所,开发人员可以在此设定一些参数,以便通过相关的PowerBuilder对象构建出一个应用程序。

当某个手持设备被选中后,应用程序将检测出它不支持的功能并发出相应的警告,使开发人员能改变相应的项目或忽略某些问题。

在此之后,相应的桌面PowerBuilder应用程序将被转化成能够在手持设备上运行的程序。

系统将为手持数据库提供DataWindow检索和更新方面的支持。

11.PowerBuilder本地接口

PowerBuilder本地接口(PBNI)是PowerBuilder一项强大的功能,允许开发人员将他们自己的函数添加到PowerBuilder中。

这是一个API,它通过两种方式使PowerBuilder与外界联系。

第一种方式,创建DLL。

这些DLL在PowerBuilder中作为本地定制类用户对象来提供一个或多个类。

这允许开发人员编写扩展函数库,然后在PowerBuilder中像访问其他在PowerBuilderIDE中创建的可视化或非可视化用户对象一样访问它们。

第二种方式,PowerBuilder虚拟机(PBVM:

PowerBuilderVirtualMachine)。

可以嵌入C++或者Java应用,或者其他能够调用C++、能够调用用PowerScript编写的商业逻辑的应用程序中。

12.源代码控制增强

为了进一步提高源代码控制(SourceCodeControl)技术,PowerBuilder9.0引入了初始化工作空间的执行线程,这样就消除了大型应用的启动延迟。

同时,修订数的引入使源代码控制进一步增强——可以决定同步状态,支持新的集成扩展。

此外,OrcaScript功能可以用来直接从SCC仓库来创建库文件。

13.OrcaScrip语言

OrcaScript允许编写批处理语句来在PowerBuilder开发环境之外处理PowerBuilder应用和文件。

OrcaScript能够从源代码控制中获取最新的PowerScript对象,创建PBL对象,给EAServer配置组件,编译PowerBuilder可执行文件——所有这些都不需要操作人员干预。

14.PDF支持

PowerBuilder提供了两种方法将数据窗口对象保存为PDF格式的报表。

默认的是提取的方法,它能够保存数据窗口对象的所有类型。

同时,数据窗口的数据及表现形式也可以保存为XSL格式对象(XSL-FO)或PDF格式的文档或字符串。

15.PowerBuilder运行库打包器

PowerBuilder应用程序的发布需要一些动态链接库(DLL)支持,而对于选用不同的后台数据以及不同的组件来说,所需的动态链接库是不同的,这往往会令大多数初学者感到迷惑。

现在,PowerBuilder9.0提供了一个工具,可以根据用户的选择(所需的数据库接口以及组件)自动生成一个微软安装包(MSI)文件,运行这个文件,系统会自动把所需的文件提取到指定的文件夹中。

16.增强数据窗口功能

增强数据窗口功能包括数据窗口打印功能增强、子数据窗口检索增强(可以选择是否自动检索子数据窗口的数据)以及分组报表滚动增强(可以选择是否显示分组报表标题的灰色指示带)等。

17.PowerScript增强

PowerScript增加了部分函数、数据类型,增强了部分语句的功能。

18.调试器增强

在调试中增加了TipWatch以及QuickWatch功能,让开发者可以在程序从设定的断点(Breakpoint)中停止时

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1