开发端到端的Ajax应用程序,第3部分:集成、测试和调试应用程序

在本系列的前两部分中,设置了一个开发环境,它由 LAMP 风格的运行时和 Eclipse IDE 组成。定义了一个虚构的银行场景以演示重要的 Ajax 概念。然后,完成了场景的一部分,包括创建数据库、中间层 PHP 逻辑和一个简单 XHTML 以提供一个单页面浏览器 GUI,还提供了 CSS 样式代码和几个 XML HTTP Request(XHR)实用程序函数。在本系列的第三篇(也就是最后一篇)中,我们要用 JavaScript 实现 Ajax 客户端逻辑,从而完成这个场景的其余部分。还要用 PHP 构建一个 Representational State Transfer(REST)请求分配器以完成客户的银行任务,比如存款、取款和股票组合价值查询。还要用 PHP 开发一个 SOAP(Simple Object Access Protocol)Web 服务客户机,用它访问一个真实的第三方(免费)Web 服务。您将看到如何把本系列中开发的所有组件(XHTML、CSS、JavaScript、PHP、Web 服务客户机和 MySQL)集成起来。最后,本文解释用 LAMP 风格的运行时部署、测试和调试场景的基本方法。到那时,我们就完成了一个比较复杂的端到端场景示例,它演示了 Ajax 客户机、Apache-PHP-MySQL 运行时和相关的 Eclipse IDE 的强大特性。

简介

在开始学习本文之前,要确保(本系列 第 2 部分 中开发的)Bank 场景工件 Bank DB、Bank Logic 和 Bank Portal 在 Eclipse IDE 中保持原样。这些工件包括创建和填充数据库的 SQL 脚本;提供数据库访问的 PHP 代码;以及单页面浏览器应用程序所需的 XHTML、CSS 和 XHR。用这些工件编写的代码只提供了 图 1 所示的银行场景的一部分功能。还缺少将这些已经开发的工件组合起来的组件。如果预览 XHTML 文件,就会看到它在一个浏览器窗口中显示应用程序特有的各个 UI 屏幕。仍然需要编写适当的客户端 JavaScript 逻辑以集成这些 UI 屏幕,产生单页面浏览器应用程序的效果。在客户端代码中,还需要添加适当的 XHR 异步通信逻辑。如果没有客户端 JavaScript 代码,就无法执行银行出纳员功能。

图 1. 银行场景


您可能会注意到,提供特定银行出纳员功能的所有 HTML 表单都将用户数据发送给一个基于 REST 的中间层服务。我们将在另一个 PHP 模块中实现这个服务,这个模块接受银行出纳员的浏览请求,包括存款、取款和当前股票组合价值查询。这个 PHP 模块作为银行操作的请求分配器,它解析银行出纳员的请求并调用适当的 Bank Logic 函数以处理这个请求。您会看到用 PHP 编写这样的 REST 服务是多么容易。

在开发用于 REST 请求分派的 PHP 服务之后,我们的重点将转到一个可以通过互联网访问的基于 .NET 的 Web 服务。这个免费的 Web 服务提供给定股票的当前价格。我们将在 PHP 中间层中开发一个 Web 服务客户机,这样就可以从基于 PHP 的银行操作请求分配器远程调用这个 Web 服务,从而获得股票的报价。然后,银行操作请求分配器将用当前股票价格调用 Bank Logic PHP 模块,计算出给定帐户持有人的当前股票组合价值。您将学习使用 SOAP 访问 Web 服务的技术,还要学习 XML 和 JavaScript Object Notation(JSON)这两种流行的数据交换格式。

时间: 2024-10-02 09:13:17

开发端到端的Ajax应用程序,第3部分:集成、测试和调试应用程序的相关文章

开发端到端的Ajax应用程序,第1部分:用一个场景设置Ajax环境

Ajax(Asynchronous JavaScript + XML)正在迅速地成为时髦的技术,它可以为在浏览器中运行的 Web 应用程序提供具有桌面质量的软件特性.开放源码软件(比如 Linux-Apache-MySQL-PHP,即 LAMP)和基于开放标准的 Java 2 Platform, Enterprise Edition 中间件(比如 IBM WebSphere Application Server Community Edition)为开发和部署 Ajax Web 应用程序提供了出

开发端到端的Ajax应用程序,第2部分:实现Ajax客户机和服务器层(2)

将银行门户实现为 Ajax 浏览器应用程序 我们的银行场景需要一个简单的浏览器界面,银行出纳员使用这个界面执行 PHP 模块中实现的核心函数.我们将使用 Aptana Web IDE 构建这个界面.Aptana Web IDE 提供了一种用 XHTML.CSS 和 JavaScript 构建浏览器应用程序的简便方法.Aptana 是一个免费的插件,可以无缝地插入 Eclipse 环境.这个插件仍然在开发阶段,但是目前的版本已经能够满足银行场景的需要了.尽管在银行场景中将使用一般的 JavaScr

.NET微信开发之PC 端微信扫码注册和登录功能实现_实用技巧

一.前言 先声明一下,本文所注重点为实现思路,代码及数据库设计主要为了展现思路,如果对代码效率有着苛刻要求的项目切勿照搬. 相信做过微信开发的人授权这块都没少做过,但是一般来说我们更多的是为移动端的网站做授权,确切来说是在微信端下做的一个授权.今天遇到的一个问题是,项目支持微信端以及 PC 端,并且开放注册.要求做到无论在 PC 端注册或者是在微信端注册之后都可以在另外一个端进行登录.也就是说无论 PC 或是微信必须做到"你就是你"(通过某种方式关联). 二.寻找解决方案 按传统的方式

测试Web 2.0程序所带来的挑战

使用 GUI 恢复性能评测来补充 Web 2.0 性能测试 学习怎样使用已存在的工具,来更好地测试对于 Web 2.0 的末端用户经验,从而帮助您的公司解决测 试中存在的挑战并提高程序的质量.使用为测试服务专门定制的测试工具,您就能优化使用 Web 2.0 技 术,建立浏览器更好的业务逻辑结构. Web 2.0 测试中存在的挑战 Web 2.0 是一种新的很实用的技术,用于构建 Internet 的多客户程序.具体来说取决于谁来描述它 ,在需求动态内容或者一系列其他事情上它可以是社交网络的,ma

在Windows 2003下面调试ASP程序的常见错误以及解决方案

window|程序|错误|解决 由于工作原因,笔者经常需要使用Asp开发一些小型程序,在Windows 2000下开发和使用相关程序时一般不会出现什么问题,并且也很容易解决.但是由于笔者为了尝鲜使用了Windows 2003 Server时,开发相关程序就出现了这样那样的问题,比如浏览器不能显示详细出错信息,连接Access时总是报错等,让笔者苦不堪言.在多次实践和查看了一些参考资料之后,对处理相关的问题有了一些经验,现在终于可以在Windows 2003 Server 下面调试和使用相关的程序

用phpUnit帮你调试php程序

程序 调试程序是一个漫长的过程,程序越长越复杂,调试起来就愈加困难.如果你调试的是php程序,那么不妨采用phpUnit,它可以大大加快你的调试速度. 何谓PhpUnit Phpunit 脱胎于Fred Yankowski编写的著名的Junit测试框架.你可以到它的网站 http://www.ontosys.com/phiki/phpunit 下载最新的版本.你可以利用phpUnit编写一套测试软件包.保证你的程序代码正确无误.只需一步便可自动完成所有的测试. 如果监测到bug,你就可以再写一小

使用IntelliTrace调试应用程序

用户如何修复他们的代码中的 Bug?您设置一些断点.在调试器下运行程序 .进行一点单步调试 – 并祈求能够轻而易举地发现问题,这样您就能继续处理 其他事情. 几乎自 ENIAC 发明以来,我们就一直在进行着同样方式的调试.这种繁琐而 耗时的调试方法为我们提供了很好的帮助,但是时候使调试更加轻松了.随着 Visual Studio 2010 Ultimate 的发布,新的 IntelliTrace 功能使开发人员能 够更深入地了解应用程序的执行情况,从而使调试进入了 21 世纪. 与其他监视和跟踪

在Windows 2003下面使用调试ASP程序的常见错误以及解决方案(一)

由于工作原因,笔者经常需要使用Asp开发一些小型程序,在Windows 2000下开发和使用相关程序时一般不会出现什么问题,并且也很容易解决.但是由于笔者为了尝鲜使用了Windows 2003 Server时,开发相关程序就出现了这样那样的问题,比如浏览器不能显示详细出错信息,连接Access时总是报错等,让笔者苦不堪言.在多次实践和查看了一些参考资料之后,对处理相关的问题有了一些经验,现在终于可以在Windows 2003 Server 下面调试和使用相关的程序了,因此特记录在此与大家分享,还

firefox-几个程序 都占用 cpu 25%,有4个程序都占 25% ,就变成 100%,电脑就开始卡了

问题描述 几个程序 都占用 cpu 25%,有4个程序都占 25% ,就变成 100%,电脑就开始卡了 Java 新手,用的笔记本 cpu 是 i3-4000M : 每天打开 firefox,MyEclipse 后,firefox 占用 cpu 25%, javaw 也占用 cpu 25%, 自带的 explorer 也占用 cpu 25%, 有时再开个 ie ,又是 25%,cpu 一满就开始卡,只能 退掉一个程序 cpu 才能降下来: 求解? 是 cpu 太渣了么? 解决方案 估计系统问题,