Chinaunix首页 | 论坛 | 博客
  • 博客访问: 650672
  • 博文数量: 789
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 09:29
文章分类

全部博文(789)

文章存档

2011年(1)

2008年(788)

我的朋友

分类:

2008-10-28 09:44:07

开发应用程序是非常复杂的:你不仅要实现定义应用程序的行为和逻辑,还必须在分布式环境下将多种产品、技术层次和标准结合在一起。示例代码展示了多种解决应用程序开发的方法。

例如,考虑一个几乎任何希望进行在线销售的Web站点(PayPal等类似的)都必须实现的特性:信用卡校验。主要包括如何验证用户、联系验证公司并地进行交易处理--所有这些都将一个基于Web的瘦客户端、一个数据库、一个应用和独立验证公司提供的功能之间的交互很好地结合起来。

OTN提供了示例应用程序,使用不同的产品、技术和标准组合来解决这样复杂的问题。一些示例采用了它们自己的验证机制;另一些则利用了内置到 9i应用( 9iAS)中的单一登录(Single Sign-On , SSO)特性。OTN还提供了一个利用了Oracle 9i数据库的XML DB特性的后端应用程序示例。

Web服务这一技术被用于每个信用卡示例应用中。通过使用Web服务,OTN开发人员可以有效地将需要的功能内置到分立的组件中。这种方法实现了应用程序的模块化而不是整体化,因此更加灵活且更易于维护。开发人员可以在不影响主应用程序的情况下改变组件的实施,或者只需修改几行代码就可以使用不同的组件。因此,Web服务可以在应用程序之间被共享和重复使用,并且在时机成熟时可以轻松地被移植到企业级网格计算环境。

OTN会员可以以下示例代码(和OTN上任何其他示例代码),研究它们,根据自己的开发需求混合和搭配使用这些解决方案。

使用J2EE设计模式的VSM

虚拟购物商场(Virtual Shopping Mall,VSM)示例应用程序使厂商能够建立在线商店,客户可以浏览所有商店,系统管理员则可以批准和拒绝新商店的申请并维护商店类别列表。为了构建VSM,OTN开发人员实现了几个有名的J2EE设计模式,包括Session Fa?ade和模型-视图-控制器(Model-View-Controller, MVC)。

VSM指南系列的一个模块描述了OTN开发人员如何通过Web服务重复使用一个软件组件。VSM的信用卡服务组件通过三个文件来实现:一个定义了该组件方法的接口(CCServices),一个实现了该接口的类(CCServicesImpl),以及另一个负责处理信用卡校验失败时抛出的异常的类(CCException)。关键操作--校验信用卡号由方法CCServicesImpl.validateCard来执行,该方法使用了LUHN算法(也被称为模10算法)。银行、企业和其他实体现在在公共领域中广泛采用了这一规则来生成和校验信用卡、账户和身份证号码。

使用框架的VSM

BC4J-VSM示例应用程序提供与VSM相同的功能性,但它是使用用于构建组件和基于组件的应用程序的Oracle框架Oracle 9i JDeveloper Business Components for (BC4J)来实现的。BC4J提供了现成的J2EE设计模式的实施,否则你将需要手工编写代码。在BC4J-VSM中,信用卡服务组件通过多个文件实现。然而,OTN开发人员只需创建并填写一个表并为一个Java类编写一个方法,JDeveloper就可以生成所有需要的东西。

表CC_MASTER是通过脚本webstore.sql创建和填写的,如下所示:

CREATE TABLE cc_master (
 provider VARCHAR2(10),
 ccstart NUMBER(5)
);
INSERT INTO cc_master VALUES('VISA',11111);
INSERT INTO cc_master VALUES('MASTER',22222);
INSERT INTO cc_master VALUES('DINERS',33333);
      INSERT INTO cc_master VALUES('AMEX',44444);

 

[1]  

【责编:Ken】

相关文章
没有相关文章
编辑推荐
· []
· []
· []
· []
· []
· []
· []
· []
· []
· []
相关产品和培训
文章评论
 友情推荐链接
·
·
·
·
·
·
·
·
·
·

--------------------next---------------------

阅读(312) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~