使用Oracle9i JDeveloper构建应用程序
去年,otn发布了虚拟商场(virtual shopping mall,vsm)系统,这是一个为了向人们展示oracle产品如何支持用来构建企业应用程序的java 2平台企业版(java 2 platform enterprise editi [被屏蔽广告]on,j2ee)开放标准而设计的示例应用程序。vsm模拟了一个web站点,在这里,厂商可以建立顾客能够访问并订购商品的在线商店。
在类似vsm的j2ee应用程序中,j2ee服务是在用户浏览器、企业数据库以及原有信息系统之间的中间层执行的。j2ee的核心组件是企业javabeans(ejb)、javaserver pages(jsp)、java servlet以及到信息源的各种接口。
由oracle印度开发中心(idc)的四位开发人员构建的usm已经被数千名otn会员下载过,并且在otn以及其他以java为中心的网站和出版物中引起了广泛的兴趣和讨论,这些网站和出版物包括theserverside.com、ejbsig(ejb special interest group,ejb特殊兴趣小组)和java开发者杂志(java developer’s journal)。最近,我与idc的reghu krishna pillai谈论了vsm及其开发过程。
robert hall:你是如何协调团队开发的?你使用了什么工具和方法?
reghu krishna pillai:我们四个--neelesh shastry、sujatha ranganathan、shrinivas bhat和我--来自idc,我们是从零开始设计和构建这个系统的。在开发和部署阶段,我们使用了oracle9i jdeveloper集成开发环境(ide)。开发方法是用于开发j2ee应用程序的软件设计流程--rational unified process (rup) ,rup定义了以下关键的开发活动:
需求分析:提供了一个用例图表
面向对象的分析:确定类、对象和交互
体系结构规范:确定mvc模型
详细设计:开发一个类图表
实施:使用java实施业务逻辑
确认:进行单元和集成测试
组装和部署:生成和部署ear文件
完成应用程序开发后,我们使用了oracle9i jdeveloper提供的向导将该应用程序部署到oc4j(oracle9ias containers for j2ee)上。
rh:一些关键的前端问题是什么?你们是如何解决这些问题的?
rkp:和用户界面有关的主要挑战是:
整个应用程序采用一个通用的感观:每个页面被分为诸如页眉、页脚和导航部分等用户界面组件。由于这些用户界面组件在大部分页面中被重复使用,因此我们使用了样式表。
实现灵活的布局管理:为了实现简单的静态布局,我们放弃了使用模板,因为模板的复杂性太高。
实现javascript的跨浏览器兼容性。
使用设计模式
rh:你能否谈谈vsm的体系结构和你为了支持它而使用的一些设计模式?
rkp:虚拟商场应用程序基于模型-视图-控制器(model-view-contrller,mvc)设计模式,该设计模式在应用程序内分为三种截然不同的功能形式。模型表示应用程序中数据的结构以及对数据的特定操作;视图通过某个应用程序函数将数据以一定的形式展示给用户;控制器根据用户的喜好和模型状态,将用户行为和用户输入转变成调用模型并选择适当视图的应用程序函数。
mvs使管理应用程序的流程变得更加容易。另外,它还可以轻松地支持多个视图,例如,可以在不修改流程逻辑的情况下为手持设备创建视图。修改业务逻辑或视图对彼此只有很小的影响,甚至没有影响。通过mvc为应用程序添加新的用例变得简单,设计也变得更加清晰和更易于维护。