端到端J2ME应用开发实例——介绍Smart Ticket

2008-02-23 10:11:25来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

作者:Norman Richards 和 Michael Yuan



2001 年发布的第一版 Java 技术蓝图 Java Pet Store 就充分展示了 Sun 公司 J2EE 技术的优势。 蓝图不仅为多层的、数据库驱动的电子商务应用程序提供了示例代码 , 而且提供了设计准则,示范了常用的模式。自第一版发布以来,对于想学习 J2EE 最新技术的开发人员来说,Java 技术蓝图已经成为最宝贵的资源和最佳实践。

Smart Ticket 蓝图增加了一个新的特性:移动性。它示范了如何创建一个实现电影订票功能的完整的端到端的移动商务系统 ,将 J2ME MIDP 用于无线前端,而将 J2EE 应用程序服务器和关系数据库用于后端。学习这个程序如何设计和构造将能极大地提高你对移动企业应用程序的难题和它们的解决方案的理解。

文章包含 2003 年 4 月发布的 Smart Ticket 的 Early Access 2.0 版的代码。 early-access 版中的屏幕截图和示例代码在最终版本中可能有细微的更改,但你从设计中学到的经验依然是有用的。Smart Ticket 1.2 仍然有效。它与我们现在讨论的版本有相同的模型和后台实现,因此,无论对过去还是未来的版本,很多详细解释都适用。除特别说明之外,Sun Microsystems 均对本文的所有源代码保留版权。

下载和安装

Smart Ticket 应用程序可从 Sun's Blueprints网站获得。Zip 压缩文件包含源代码、Ant 构建脚本和预构建可配置的应用程序。

Smart Ticket 应用程序包含一个 J2ME 组件和一个 J2EE 组件。运行它要求一个 J2EE 应用服务器(比如 Sun 的 J2EE 参考实现,1.3 版或更高),和任一个带有 Internet 连接的兼容 MIDP 2.0的设备或者合适的仿真程序。如 Sun 的 J2ME Wireless Toolkit 2.0。 Smart Ticket 发行版包括了特别的说明,帮助构建和部署这个应用程序。现在开始:

  1. 确保你已经安装以下资源:

    • JDK v1.4.1 或更高版本。
    • J2EE v1.3.1 或更高版本。
    • J2ME Wireless Toolkit 2.0 或更高版本。

  2. 设置以下环境变量:

    • JAVA_HOME:JDK 安装目录 。
    • J2EE_HOME:J2EE RI 安装目录。
    • J2MEWTK_HOME:J2ME Wireless Toolkit 安装目录。

  3. 启动 J2EE 服务器:

    J2EE_HOME/bin/cloudscape -start
    
    J2EE_HOME/bin/j2ee -verbose
    
    

  4. 配置 J2EE 应用程序。 在 setup.XML 文件中,使用以下 setup 脚本调用 deploy Ant 任务:

    setup deploy
    
    

  5. 指定浏览器连接 http://localhost:8000/smartticket,单击 Populate Database 链接,将模拟影院和电影数据导入数据库。如果用的是老式计算机,这是非常慢的过程, 所以要有耐心!模拟数据包括位于 95054 和 95130 这两个邮政编码的影院。

  6. 启动 J2ME Wireless Toolkit 2.0,并运行在 smart_ticket-client.jad 中指定的 MIDlet。

运行中的 Smart Ticket

运行 MIDlet 后,采用简便途径就能实现用户需求。你会发现你需要完成四项任务。

  • 管理用户参数 :当第一次运行 MIDP 客户端,你需要创建一个配置文件,包含用户名、密码、用于影院搜索的首选邮政编码、一周的首选日,也可以包括信用卡号。Smart Ticket 用帐户凭证在服务器端创建用户帐户,并且将首选数据缓存在计算机中。还可以配置 MIDP 客户机使其能够缓存凭证,以便在每次购票或提交电影评级时无需手工输入。你也可以在任何时候修改用户参数。

    (点击图片放大)
  • 搜索电影和购票:只要你登录成功,你可以搜索符合首选条件的影院、电影和放映时间。只要你选择了一部预演电影,MIDlet 就提供显示空位的座位图。这个过程包括一系列对 J2EE 服务器的实时查询。利用 MIDP 的丰富用户界面(UI),你可以选择或预订一个座位。预订信息将写入服务器端数据库,并会在下一次搜索中反映在座位图中。

    (点击图片放大)
  • 电影评级:你可以对看过的电影评级。此操作不会立即提交到服务器。这些电影缓存在客户机,任何时候只要你评级,都能同步提交到服务器。因此,甚至在你的电话超出了网络范围也可评级(例如,在一个屏蔽的影院!)。同步代理可智能地防止你“谎服选票”:如果你对一部电影评级多次,在数据库中它只保留最后一次结果 。

    (点击图片放大)
  • 缓存影院放映时间表:为避免繁琐的查看过程,你可以下载一份影院的时间表到客户应用程序,以便离线浏览。你可以在需要时删除或再次下载时间表。

    (点击图片放大)

Smart Ticket 的优势

较老的移动商务平台,比如基于 WAP/WML 的微型浏览器将所有的信息处理都放置在服务器端。 J2ME 的一个重要优势是它支持运行在客户机上智能客户端程序。Smart Ticket 充分体现了智能客户端应用程序范例的优势:

  • 丰富的 UI:在 MIDP 2.0 中利用了 LCDUI 增强的特性,Smart Ticke 客户端提供一个极好的用户界面。例如,它允许用户通过交互式座位视图选择座位。当你浏览影院放映时间表并选择日期时,MIDlet 就会动态地在当前屏幕中添加放映时间。
  • 缓存首选项:用户首选项被完全缓存以支持完全个性化 -- 这是移动商务的核心价值所在。例如,您无需输入邮政编码、信用卡号,或者甚至每次输入使用 Smart Ticket 的个人登录信息,这大大减少了击键工作量。
  • 脱机功能:有限且不稳定的移动网络覆盖已经阻碍了基于微型浏览器的”持续连接“应用程序的发展。J2ME 智能客户端程序遵循“间断连接”范例,使用存储在客户设备上的数据并根据需要同步驻留在服务器端的数据 - Smart Ticket 支持脱机浏览下载的放映时间表和对电影进行评级就是一个很好的例子。

    标签:

    版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Struts 的安装、配置与运行 选择自 szmarx 的 Blog

下一篇:Eclipse 插件开发法则