在 PowerBuilder 11中部署Smart Client 应用

 

PowerBuilder 11中部署Smart Client 应用


本文介绍.NET Smart Client的组成、属性及行为。此外,我们还将讨论如何利用Intelligent Updater支持PowerBuilder 11.NET Smart Client。最后,我们将详细演示如何使用Intelligent UpdaterPB 11中安装、发布和更新.NET Windows Form部署的PowerBuilder应用。

 

.NET Smart Client是什么?

 

事实证明,应用开发中最头疼的事是……部署。一直以来,基于浏览器的应用自始至终都能够自动为每个用户更新应用逻辑和界面。但是这种称为瘦客户端的便捷的部署应用需要付出代价:基于浏览器的用户界面缺乏丰富的功能。PowerBuilder 11的新Intelligent Updater提供丰富的界面交互功能,使开发人员、管理员以及任何负责部署PowerBuilder应用的人员享受到Web无处不在的优势。

 

.NET Smart Client具有以下特征:

  • “偶链接”。也就是,它不需要必须具有持久的数据库连接。得益于其增强的MobiLink数据库同步支持(最初于PowerBuilder 10.0中引进)组件,PowerBuilder 11具有偶链接的功能。
  • 此外,PowerBuilder 11还增加了可更新的Web Service 源数据窗口,该窗口通过Web Service操作就可进行CRUD(即Create(创建)Read(读取)Update(更新)Delete(删除))动作,而不需要持久的数据库连接。
  • Web service源数据窗口使.NET Smart Client可以通过Web service进行通信。作为利用Web service的超级集合,.NET Smart Client还能实现对网络资源的利用。
  • Smart Client最大限度提高本地客户端资源的性能。用户对此感兴趣吗?是的,犹豫不决的用户已经从瘦客户端回归,对于那些从1996年以来一直在望眼欲穿地等待浏览器内的丰富的用户界面的商业用户而言尤为如此(请注意在“胖客户端”转向“富客户端”过程中的变化)。
  • 最值得一提的是,.NET Smart Client将通过Smart Updates提供始终最新的应用。PowerBuilder 11利用Intelligent Updater功能实现这一点,从而使用户能够自动为所有单个用户安装、发布和更新.NET WinForm部署的PowerBuilder应用——而无需开发人员增添一行代码。

 

那么,.NET Smart Client是由什么组成的? 简言之,它是由任何具有一种或多种上述特征的应用组成的。这使开发部门能够确定什么样的Smart Client特性和技术适合您的应用。

 

Intelligent Updater

 

PowerBuilder 11Intelligent Updater是一种新型应用部署技术,该技术使部署PowerBuilder .NET Windows Forms应用就像部署Web应用一样简便。该功能特性是基于.NET Framework v2.0中的“ClickOnce”技术。Intelligent Updater旨在解决部署和更新客户端/服务器应用以及n层解决方案的客户端应用的难题。

 

需要注意的是,Intelligent Updater只对安装/发布/更新.NET WinForms部署的PowerBuilder应用有帮助。至于系统要求,用户工作站只需要在系统路径中安装.NET可重新分发的框架。您可从以下网站下载这一框架:www.microsoft.com/downloads/ details.aspx? FamilyID=0856EACB-4362-4B0D-8EDD-AAB 15C 5E 04F 5 &displaylang=en

 

同样,您的开发用机器中也需要.NET可重分发的框架和.NET 2.0 Framework SDKSDK%SDK%/bin目录应位于PATH中,并且需要确认该%PBNET_HOME%PowerBuilder 11安装目录的../DotNET子目录)已在Power­Builder安装期间设置为系统环境变量。最后,还要能够访问IISInternet Information Server5.0或更高版本的实例。

 

部署模型

 

WinForm通过HTTPFTPUNCUniversal Naming Convention,如使用Windows“共享”资源)向集中的IIS服务器发布,并由用户从该服务器安装和更新。最初安装PowerBuilder WinForm应用也可选择使用CDDVD光盘。

 

 

总体工作流程

 

下面,我们概括一下 Intelligent Updater 的总体工作流程:

 

  • 开发人员使用现有的 PowerBuilder 应用在 Windows Forms 项目中设置发布属性,部署/编译为.NET Windows Forms 应用, 然后发布到IIS的一个实例中。
  • 用户浏览应用发布的Web页面,该页面透明地请求部署描述文件;然后下载、安装和选择性执行应用。
  • 开发人员修改并再次发布应用。
  • 用户运行应用,这将再次请求服务器提供部署描述文件;看到提供更新版程序;然后下载、安装和执行更新的应用。
  • 开发人员或管理员可回滚服务器上的应用版本,这将导致用户工作站上的应用也恢复到以前的版本。
  • 用户也可从控制面板的“Add or Remove Programs” 中回滚到以前的版本,或者从其工作站全部卸载应用。

详细信息:演示

 

我们来具体考查这一流程,首先从现有的PowerBuilder 应用开始。出于演示目的,我们将进行最简单的后期修改。“About”窗口的静态文本控制的背景颜色最初将是红色。我们将遵循一个完整的RGB进程来进行。

 

第一步,使用PowerBuilder 11将我们的应用部署为WinForm应用,发布该应用,并使用户下载和安装该应用。然后,我们修改应用和发布,使用户客户端自动检测新版本,并下载和安装新版本。

 

Intelligent Updater的基本用法

 

首先,我们打开一个现有PowerBuilder应用的工作区。在本演示中,我们使用PowerBuilder 11MarketingSample)提供的一个代码例子。我们需要创建一个新的.NET Windows Forms Application对象。

 

在“Create the application”向导窗口中,我们选择“Use the library list application object from an existing target”。

 

在下一个窗口中,我们选择唯一可用的对象“mss”,并在下一个窗口中接受目标文件的默认名称和位置(*.pbt)。为了便于说明,我们将选择不用该向导创建Project对象,然后选择“Finish”。

 

接下来,我们将在新mss_winform对象上点右键,从弹出的菜单中选择“New...”,然后从“Projecttabpage选择“.NET Windows Forms Application Wizard”。单击“OK”。

 

在初始“about”向导窗口上单击“Next>”,然后选择mss_main.pbl作为存储最终的Project对象的库。在下一个窗口中,接受默认的Project名称 p_mss_winform。单击“Next>”。

 

在下一个窗口中,接受默认的产品名称、默认的可执行文件名称以及默认的产品版本值。单击“Next”。

 

在下一个窗口中,选择支持该WinForm应用的安装,并通过选取“Publish as smart client application”复选框更新为Smart Client。单击“Next>”。

 

选择“Specify Application Running Mode”窗口上的第一个单选按钮,允许该应用在线或脱机运行。单击“Next>”。

 

在下一个窗口中,选择用户如何安装这一应用:从网站、通过共享的UNC路径或者从CD-/DVD-ROM安装。 选择默认网址http://local-host/mss。单击“Next>”。

 

现在指定检查是否需要更新的时机。选择默认值“Check for updates before application starts”。单击“Next>”,然后单击最后的向导窗口上的“Finish”。

 

现在,您有了一个可重复使用的Windows Forms Project 对象,该对象能够将PowerBuilder应用部署为.NET WinForm应用,并通过Intelligent Updater使用Smart Client技术发布该应用。

 

部署、运行和发布.NET Windows Forms应用

 

要将您的应用部署/编译为.NET Windows Forms 应用,单击项目的painter bar中的“Deploy”工具条按钮。

 

 

请注意输出窗口中的输出消息。要运行.NET WinForm 应用,单击项目的painter bar的“Run Project”工具条按钮。

 

 

 

 

您会发现,示例的每一个功能都像是在本地操作一个WinForm应用。如果您在使用Marketing代码示例项目,那么在窗口painter中打开窗口类w_mss_about。将静态文本控制的背景颜色改为红色,以备跟踪将使用Intelligent Updater发布的修改。

 

 

Windows Form Project 对象

 

p_mss_winform项目中选择Publish tabpage。注意“Publish location”组合框和“Publish version”组合框中的值是来自“.NET Windows Forms Application Wizard”的。此外,注意“Publish page”组合框中的参数的默认值。如果您愿意,PowerBuilder将生成带有超链接的发布页面。在应用发布后,这一超链接将提供给用户。这一点对于原型开发非常有用,也很有效,它假定您用自己的方式来分发URL,最终用户访问该URL来使用该解决方案的安装和更新功能。

 

在这一例子中需要注意的是,我们将Certificate文件的值留作空白。建议您如果目前尚不具备,应尽快申请证书,使用户确信您是合法的、已注册的应用程序发布源。

 

选择Project对象的Install/Update tabpage。需要注意的是,Update mode”组合框表明了在向导中选择的值。此外,还要注意的是,Install/Launch groupbox以及“Update locationgroupbox中的值是根据在向导中选择的位置值默认的。需要特别注意“Mandatory update”组合框,该框可防止用户使用低于规定的最低版本的旧应用。

 

 

现在轮到发布我们的应用了。单击项目的画板上的“Publish Project”工具条图标。注意输出窗口中的“Publish version”值。如果不指定非默认值,浏览器将打开到默认的publish.htm页面。页面上显示的版本值与输出窗口中显示的版本值匹配。

 

 

现在,你就可以作为用户来使用发布页面。单击html按钮中的“Install”。状态栏中显示的值是发送给用户的URL

 

单击“Install”按钮。应用将自动下载、安装和运行。如果不需要输入证书值,就单击安全警告页面上的“Install”。

 

打开Windows Start菜单,如果您保留了这些默认值,就应看到Sybase, Inc.的一个程序组,包括级联菜单项/mss”的快捷方式。打开应用的Help>About...窗口,注意静态文本控制的红色背景颜色。关闭应用。如果您还未关闭,就关闭显示publish.htm的浏览器。返回到Window Painter,然后在我们的修改序列中将静态文本控制的背景颜色改为绿色。保存并关闭窗口类。如果您愿意,可修改p_mss_winformGgeneral tabpage的公司名称和产品名称值。在发布tabpage,解除对“Generate publish page”复选框的选择。

 

单击“Publish Project”工具条按钮。如果观察输出窗口,就会注意到发布版本值自动增加。

 

回到用户角度,使用Windows Start菜单再次运行应用范例。您的应用已经透明地下载了应用的描述文件,并检测了是否有可用的新版本。作为用户,您看到提供新版本应用的通知窗口。单击OK下载和安装更新。

 

 

打开“About”窗口,瞧,您将看到静态文本控制的背景颜色现在是绿色——“G”或者我们的RGB序列中的另一种状态。您还将注意到,如果您过去曾使用应用的开始菜单快捷键的值,现在该选项已改变。关于应用的运行以及PowerBuilder IDE的情况,我们将留到文章的下一部分讨论。

 

Update Notifier 功能

 

这一功能在用户端的两个地方实现。在运行时,它包括一个从系统托盘发起的弹出窗口,用于通知用户各种应用更新状态;此外,它还包括一个弹出菜单,使用户能够采取某些措施并修改与用户应用的更新相关的某些选项。

 

PowerBuilder 11 IDE中,在我们的RGB序列将w_mss_abou上的静态文本控制的背景颜色改为蓝色。保存并关闭w_mss_about。我们还可导航到Notifier窗口的Notify tabpage,选择使用Notifier窗口的非默认背景图片。当选择使用非默认值时,Notifier图标的显示尺寸是16 x 16,此处的背景图片的显示尺寸是148 x 120。我们还可将Notifier窗口的标题值改为“MSS”。再次发布应用,然后在Publish完成后激活其运行实例。

 

 

在系统托盘中,右键单击应用的图标。从弹出菜单中选择“Check for Update”。Notifier窗口出现,通知用户有可用的更新。再次右击图标,从弹出菜单中选择“Retrieve Update”。Notifier窗口通知更新已被下载和安装。再次单击图标,选择“Restart with New Version”,系统将重启。

 

此时,您可能想说“好,太好了……还有其他的吗?”有,确实有。打开Notifier的弹出菜单。注意,用户可能打开和关闭轮询。选择“Options”,您将看到用户可能修改两个选项:一是修改弹出窗口的标题,更有用的是,修改Notifier用来轮询现有更新的间隔。本例中没有改变任何选项,但是如果您确实选择了非默认Notifier背景图片,此时将为您提供查看该图片的机会。打开“About”窗口,证实在RGB进程中修改为蓝色已生效。

 

返回到以前的版本

 

现在我们讨论用户或管理员如何将公布的应用回滚到以前的版本。我们假定由于某种原因,目前发布的应用版本存在一些缺陷,需要使用以前的版本。用户工作站和服务器保存着应用过去的版本。

 

我们要执行三种任务:我们以用户身份返回到以前的版本;我们以管理员的身份返回到任何以前的版本;然后,我们再以用户的身份在客户端进行卸载,完全从工作站删除应用。

 

我们使用Start菜单打开Settings> Control Panel。我们选择“Add or Remove Programs”,然后向下滚动鼠标至“Change/Remove”按钮,选择“Restore application to its previous state”按钮,单击“OK”。当显示回滚确认消息时,运行应用,打开“About”窗口,注意,静态文本控制已经恢复到绿色或者我们RGB序列中的另一种状态。

 

 

现在,作为管理员,我们希望将应用返回到以前的某种版本。如果的IIS有默认的安装位置,就使用Windows Explorer来导航到示例应用的有效目录下:C:/Inetpub/wwwroot/mss.。注意名为“ 1.0.0 .0”、“1.0. 0.1 等的文件夹。

 

 

这些文件夹包含过去及当前版本的应用。文件“mss.application”是manifest文件,其内容(顺便说明一下,它采用XML)表明在保存的多个版本中哪个是向客户端工作站公布的有效版本。我们将过去的manifest变成现行manifest。将“mss.application”重命名为“mss_application.OLD”。复制“mss_1_0_0_0.application”文件,并将它重命名为“mss.application”。这将该文件指定为有效/当前的manifest,而不是作为应用以前的版本。其内容执行应用过去的 1.0.0 .0版。

 

 

作为用户,我们从Start菜单运行应用,并被告知有可用的应用更新。接受下载,运行应用,注意现在“About”窗口显示为最初在我们的RGB修改序列中采用的红色值。不论您是有5个用户还是5000个用户,他们都会自动收到这一消息。

 

要完成这一部分,请退回到Control Panel的“Add or Remove Programs”部分,并以用户的身份完全从工作站卸载该应用。

 

 

位置、位置、位置:发布、安装和更新

 

我们来探究.NET Smart Client部署的位置的概念——实际上有三个。

 

发布 位置是从开发人员的角度而言。开发人员(或者也可能是管理员)希望在哪里发布应用的可执行程序?开发人员可能选择的应用发布方式:通过HTTPFTP,甚至使用Universal Naming ConventionUNC)向Windows共享资源/目录发布。.

 

与此相反,安装 位置是从用户角度而言。用户从哪里访问可执行程序以便进行初次安装?对于用户,可通过HTTPUNC执行安装,如果您的部门愿意,甚至可以从CD/DVD-ROM安装。

 

第三,更新位置是从用户角度而言,也可以说,实际上是从应用角度而言。应用在检查时将从哪里透明地获得manifest文件,然后下载应用的更新版?更新位置通常与安装位置相同。这一规则确实存在例外之处,那就是如果选择使用可移动介质CDDVD-ROM进行安装。安装位置可以是企业内联网/互联网/网络或存储介质。然而,由于显而易见的原因,Intelligent Updater不能使用存储介质进行更新,因此更新必须通过企业内联网/互联网/网络进行。

我们来看这是如何执行的。作为开发人员,我们使用FTP站点作为发布位置,并使用户通过UNC更新位置访问安装程序和进行更新。为了准备该方法的下一序列,您可能需要仔细查阅以下资源:

·         “How to: Create and Configure FTP Sites in IIS” http://msdn2.microsoft.com/en-us/library/6ws081sa.aspx

·         “How to configure file sharing in Windows XP” http://support.microsoft.com/kb/304040

·         “Windows XP Networking: Sharing in the Home Office” http://www.microsoft.com/windowsxp/using/networking/expert/honeycutt_august13.mspx

 

如果您尚未打开项目对象 p_mss_winform,请打开该对象。选择发布 tabpage,而不是“Web site”,选择“FTP site”单选按钮。对于服务器的值,输入ftp://localhost;对于“Directory”值,我将输入已经设置为“mss”的文件夹名称(实际上是我为该演示创建的我的C:/mss目录)。对于我的FTP网站,我已经实现了匿名登录,因此一定要检验“Anonymous Login”复选框。在“Publish page Groupbox,确保选中了“Generate publish page”和“Open publish page after publishing”复选框。

 

 

选择Project的“Install/Update tabpage,并在“How application will be installed or launched”中选择“From file share”单选按钮。我的UNC位置将是//stranojwxp/mss2(该位置也将链接到C:/mss)。

 

 

我将通过FTP发布应用到目录(C:/mss),该目录也被用于发布更新文件。但是我将该共享资源命名为“mss2”,以避开命名冲突问题。该目录的共享权限只需要“Read”即可。

 

PowerBuilder 11 IDE中,单击“Publish Project”工具条按钮。请注意,您的FTP位置在通知窗口以及输出帧中显示。发布页面应在浏览器中自动打开。浏览器地址栏中的URL在句法上是一个UNC位置。当您的鼠标光标经过“Install”按钮时,注意状态条中显示的位置是manifest文件的完全适用于作为UNC的路径。以用户身份单击Security Warning窗口上的“Install”按钮,如果未使用证书文件就会出现该窗口。

 

这里需要注意的是:如果在原型开发期间不具备有效的TCP/IP链接,那么Windows网络可能不允许激活共享目录的共享。如果这样,就连接到LAN或登录到无线网络;如果您在路途中,没有用于演示的连接,那就购买一个pocket WiFi接入设备、路由器或集线器(当然,在生产环境假定所有点都是连通的,因此这一提示也就毫无意义了)。作为用户,您将看到应用自动执行。您可以继续试验变换发布/安装/更新的位置会有什么变化。

 

PowerBuilder 为您打开应用.NET之门

 

PowerBuilder不仅利用.NET的优势,而且还免除了您建立基础框架的艰巨工作,使您能够重点关注架构、业务规则和企业解决方案,而非低级别的基础设施构建。毕竟,这一直是PowerBuilder所致力于从事的工作——获得Windows环境中的可用资源,让您摆脱不必要的实施细节,使您成为最高效的开发人员。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值