规划Web开发战略

来源:岁月联盟 编辑:zhu 时间:2003-04-06
如果你和许多信息系统专家一样,你也许会对Internet将如何影响你的业务和/或工作感到迷惑。许多公司正在从WWW下吸引的大量浏览者中获益;而另外一些公司则对Intranet(公司内部的Internet版本)感兴趣;仍有一些公司还没有涉足Web开发。

假设你的老板来到你面前,要你“在Internet上做点什么”,怎么办?或者如果你就是老板,你要你的程序员开发什么样的产品?

许多公司已经创建了处于领先地位的Web网点,并从根本上发挥了效益。例
如,Federal Express的客户服务网点为www.fedex.com。该网点起到了从FedEx客户服务热线电话分流的作用,并直接向任何能访问WWW的FedEx客户提供信息。利用Internet技术,其它公司已经创建了一些有趣的市场营销主页,但他们还没有真正地克服技术的局限性。还有许多公司出于各种原因还在等待。他们也许在等待第二代、更高级的Web开发工具,也许在等待更高管理层的指令,也许在等待该技术变得更加适用。

你们中很多人对如何规划Web开发感到迷惑。如果你正打算起步,甚至正在思考Web开发,那这篇文章就很适合你。如果你已经是高级的Web开发者,那么阅读本文可以发现Powersoft的工具在哪些地方适合成功的Web开发战略。

步骤1:定义问题
程序员曾经告诉我他们的经理走到他们面前要求“在Internet上做点东西”,“看看Java能做什么”或“计划一下我们应该在Internet上做什么”。目标非常灵活,甚至不着边际允许程序员花大量时间在Web中漫游并做研究。这种不明确目标的不利之处在于他们不能将注意力集中到某个特定的商业问题上。

这就是规划Web开发战略的第一件事:计划你的商业目标是什么?你要创建的
Web应用将如何改变你的业务?起步时,选择一个领域工作。谁是你的客户?客户是内部的还是外界的;你需要“Internet”还是“Intranet”(内部Internet)应用?对你的应用将解决的问题了解得越多,你解决起来就越容易。

除了决定应用目的和应用的作者,你还需要思考你对应用使用者的假设。有时,
应用的目的就会决定你做的假设。例如,你需要知道是否规划了用户的浏览器、硬件和操作系统。对于Intranet应用,你将可能影响这些规划。许多公司有标准的浏览器和操作系统,而其它公司则没有。对于Internet应用,你能做的假设就太少了,如果你假设一个用户使用某种浏览器,而他使用另一种,那么他也许不能访问你的Web网点。

步骤2:选择合适的技术
现在你知道了Web应用开发的目标,可以决定最适合这一目标的通用技术。
例如:
静态内容:你在Web上看到的许多市场营销主页包含“静态内容”。也就是说它们不从数据库或其它数据源动态地取得数据,并且它们不会要求用户提供信息。它们仅仅包含超文本和到其它页的连接。这种类型的页太多了,我可以肯定地说98%的Web网点包含静态内容。

动态内容:这种类型的Web网点包含了静态内容Web网点的所有功能,并且它可以从数据库或其它数据源动态地读取数据。这种类型Web网点的例子可能是股票市场的报价器,它连续更新只读数据。

表单:一些Web主页向用户提供输入信息的能力。例如,用户可能就一个事件要求更多的信息或进行在线注册,允许你单击即将来临的事件以得到联机注册表单。用户输入适当信息,然后提交表单,数据就送到服务器。

可执行内容:许多Web主人选择在Web上包含可执行内容。可执行内容可能是Java小程序或CGI应用,可以包含多媒体功能如声音和动画。例如,你可以编写一个电子表格Java小程序,它允许用户输入数据和函数。或者你可以在Web网点某部分增加引人注目的图形,如弹动的小球、移动的文本或图片。Java小程序的例子可见JavaSoft的网点http://www.javasoft.com。

正如你看到的,在Web应用中可以使用很多类型的技术。你决定哪种整体功能最适合你的目标,然后你可以决定要创建该功能使用何种工具。

步骤3:现实检查
现在你清楚了目标和需要的技术,你应该评价你能支配的工具。作为该过程的一部分,根据你可以使用的工具也许在必要时需要重新考虑并修改目标。在这点上,你可能需要从最新的杂志、书籍或甚至Internet开发培训班了解更多的信息,这取决于你的知识层次。Powersoft在分布式平台上作为专业应用开发工具的领导地位,决定了它有能力提供Internet上优秀的开发工具。我们的工具,有些你现在可直接用来进行基于Web的开发,也有的工具可以使你在客户/服务器应用中集成Internet功能来扩展你的客户/服务器投资。另外,我们最近发布了一个新产品NetImpact Studio,它是集成的专业化Web开发工具,提供建立、测试和分发数据库驱动的动态的Web网点需要的所有东西。

下面是Powersoft公司目前拥有的可用于Web开发的产品和工具,还包括每种工具最适合何种类型的开发:

静态内容:可用来创建静态Web内容的一种技术是PowerBuilder 5的“将DataWindow保存为HTML表”功能。该项功能在DataWindow的“预览”模式下可得:从File菜单中选择“Save Rows As...”,然后将记录存为“HTML Table”。这样创建了静态的HTML文件,它可以被任何标准的浏览器阅读,也可以融合到其它HTML文件中显示。

如果DataWindow的风格为Grid,则格式通过HTML表保留下来。若你选择了其他表达风格,那么数据只能简单地显示为行。除了在DataWindow的预览模式中保存为HTML,HTML表也可以作为DataObject的属性通过编程获得。该技术易于使用,不需要任何关于HTML或Web开发的知识。

动态内容:Powersoft有两种技术可用来创建动态的内容。一种是插入件技术,另一种是Web.PB。

用Powersoft的插入件技术创建动态内容相当容易。它包括DataWindow插入件和Window或运行插入件。这样,PowerBulder开发者可以创建DataWindow或Window,并作为插入件用在Netscape Navigator中。DataWindow插入件是Powersoft Stored Report 或 .PSR文件──一种只读技术。Window插入件支持任何PowerBuilder子窗口,所以程序员可以包括更新数据库的逻辑(若有必要)或任何Powerscript(tm)功能。插入件技术使得你可以利用公司里的PowerBuilder专家,将该技术运用到构造华丽的新型Web应用中。

插入件还支持复杂的图形和用PowerBuilder建立的处理过程,这样你可以克服HTML的局限性。报表插入件支持图形、不同字体和一系列图表。Window插入件支持所有PowerBuilder标准控件,包括DataWindow、treeview和listview控件,tab文件夹和ActiveX控件。

Web.PB是用PowerBuilder创建动态内容的第二种方法。Web.PB技术允许浏览器应用访问Web上的分布式PowerBuilder应用服务器。例如,你的Web主页可能包含一个表单,它将数据提交到运行在网络某处的分布式PowerBuilder服务器应用。典型情况下,分布式PowerBuilder服务器应用处理数据并返回HTML(动态地创建Web主页),这是一个包含任何有效内容类型或URL重定向的BLOB(二进制大对象)。同Powersoft 的插入件一样,Web.PB是充分利用你在PowerBuilder上现有投资的强大技术。

PowerDynamo,SQL Anywhere Professional中包含的新技术,提供通过动态访问公司数据库,建立和配置Web网点的工具。它包括基于向导的模板生成功能;该模板是嵌入SQL语句和脚本的HTML主页。Dynamo服务器连接Web服务器和数据库,将Web主页的请求传到数据库,并将来自数据库的动态数据返回到Web主页中,除了在SQL Anywhere Professional中使用外,该技术也可在PowerStudio SQL Server 11 for NT Professional和Power++中找到。

表单:因为PowerBuilder插入件和Web.PB支持和数据源的双向通信,你可以使用上面在“动态内容”下列出的技术创建表单。

可执行内容:如果你决定创建可执行内容,你可以通过CGI或Java或JavaScript做到这一点。如你对Java感兴趣,看看Powersoft的Optima++,它是C++和Java的可视化开发环境。该产品基于操作向导,并且支持拖放式开发。所以它不仅是学习Java的优秀助手──它还是为高级程序员准备的成熟的Java和C++开发环境。

即将到来:继续了解NetImpact Studio的更多信息,它是Powersoft的集成的、专业化Web开发环境。NetImpact Studio包含建立和测试数据库驱动的动态Web网点需要的所有东西。它将在1997上半年推出。

步骤4:寻求选中技术的培训
一旦你决定采用某种技术,就该为此进行培训。幸运的是,有经验的客户/服务器应用开发队伍的许多技能都可以转移到Web应用的开发。例如,你的队伍可能在以下方面拥有经验和知识:

* 应用开发
* 数据库和SQL
* 操作系统
* PowerBuilder

这是一个良好的开端,你在开发客户/服务器时掌握的这些技术领域与Web应用开发也是有关的。某人在应用开发具有扎实的背景,则能够将这些原则运用到如何设计、实施和测试Web项目上。如果你建立的应用需要数据库访问,访问数据库的途径和客户/服务器开发时相同(通过SQL或PowerScript函数)。另外,不像从主机计算转移到客户/服务器计算需要学习新的操作系统,人们用来导航Web的操作系统往往和他们运行客户/服务器应用时使用的相同。所以,许多技术和技巧从客户/服务器转移到了Web开发。

一些技术是全新的,这时,你的队伍需要培训,但是出于以下原因,你不需
要将其看作另一件困难的任务:

* Web开发现在已是“热”点。程序员渴望学习新的技术以跟上时代并保住饭碗。
* 各种培训班、杂志和书籍中有大量的可用的信息。
* Web上的GUI设计和客户/服务器上的GUI设计不同,但你可以将开发优秀的客户/ 服务器应用时了解到的知识运用到Web的GUI设计上。例如,你已发现简单的、一 致的用户界面容易学习且工作效率高,你可以将这一概念运用到Web设计上。
* WWW易于学习,开发者极可能很快就掌握该技术。另外,当需要用户反馈时, 你可能发现许多用户能够轻松适应基于Web的应用。他们当中很多人可能自己就已 经在使用Web了。
* 大量的预建的和预测试的组件和插入件可以用到Web开发中。例如,Visual Component(tm)制作了一个叫做FormulaOne(tm)/NET的电子表格,它能提供大多数全功能电子表格──如Excel──所提供的功能,并且只占用很小的内存,费用也很低。

开发者可以轻松地运用这些插入件组件向用户提供高级功能。
当我们从字符界面的主机计算转移到具有全新用户界面的客户/服务器计算时, 要学习很多东西;我们不仅要转换观念,许多人还要转换操作系统和工具。转移到Web开发就不需要这么大的变化:我们使用相同的操作系统和某些相同的工具,我们只需适应新的观念。

下面是你的开发队伍可能需要的培训内容:
HTML:程序员应该熟悉该语言的工作机理以及它的最新特征。有很多书都是关于这一主题的。另外,很多工具提供所见即所得的HTML编辑,所以你不需要知道HTML的细节。

Web网点设计:许多书籍和杂志文章讲述了如何设计优秀的Web网点。我强烈推荐你在开始设计Web网点前阅读一两篇这样的文章。

Java:如果你要使用Java,你必须学习这门新语言。有经验的C++开发者可能可以从书上比较容易地学习Java,但新手应该考虑上培训班。

CGI:如果你要使用公共网关接口(CGI),你需要这方面的教育。

Web服务器技术:你的开发队伍中至少应有一个人需要了解如何配置和维护Web服务器。 如何使用Powersoft的Internet工具:有许多途径获得帮助。有包含指导、样本和举例的文件、白皮书、技术支持、培训和咨询等等。

步骤5:实施
现在你已定义了目标,规划了网点,决定了采用的技术,并接受了培训。该轮到实现你的构想了。我将给你以下建议:

* 跟踪观察新出现的技术、新的工具和技巧,但不要被每种新来的技术误导。
* 考虑如何管理你的项目。项目管理能力如版本控制、连接管理和连接校验在PowerStudio中已包含了该产品。在此之前,注意观察谁创建了什么主页,保证连接最新,并将某些项目管理责任分派到开发队伍。
* 如果你正在考虑从头做起的Web开发战略,应考虑使用PowerStudio,它,它包括设计、测试和应用数据库驱动的动态的Web网点需要的所有东西。

PowerStudio包含高级的HTML编辑器,它可以从多种途径查看内容,包括所见即所得的查看;它还包含一个测试用浏览器;包含图形化SQL描述器的数据库连接工具;对JavaScript、Java小程序(applet)和插入件的支持;以及上面提到的项目管