微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 利用Oracle9i XML DB解决复杂编码问题

利用Oracle9i XML DB解决复杂编码问题

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

  OTN提供了示例应用程序,使用不同的产品、技术和标准组合来解决这样复杂的问题。一些示例采用了它们自己的验证机制;另一些则利用了内置到Oracle 9i应用服务器(Oracle 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的信用卡服务组件通过三个Java文件来实现:一个定义了该组件方法的接口(CCServices),一个实现了该接口的类(CCServicesImpl),以及另一个负责处理信用卡校验失败时抛出的异常的类(CCException)。关键操作--校验信用卡号由方法CCServicesImpl.validateCard来执行,该方法使用了LUHN算法(也被称为模10算法)。银行、企业和其他实体现在在公共领域中广泛采用了这一规则来生成和校验信用卡、账户和身份证号码。

  使用框架的VSM

  BC4J-VSM示例应用程序提供与VSM相同的功能性,但它是使用用于构建组件和基于组件的应用程序的Oracle框架Oracle 9i JDeveloper Business Components for Java (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);

  接下来,OTN开发人员使用JDeveloper向导来创建一个基于CC_MASTER表的实体对象(CcMaster)。这些向导还为相应的视图对象(CreditCardValidationView)和视图对象实现(CreditCardValidationViewImpl)生成代码。

  关键操作--校验信用卡号由方法CreditCardValidationViewImpl.validateCard来执行。在这个示例应用程序中,并不是像在商业应用程序中那样对信用卡号进行校验。然而,校验代码却保证了用户输入数字的正确位数等。

  在线产品商店和Web服务安全性

  在线产品商店(Online Product Store)是另一个示例应用程序,它显示了如何确保Web服务的安全。有两个方法可以实现这个目标:

  XML级别的安全性: 选项包括XML加密、XML数字签名API、XKMS(XML密匙管理规范)和SAML(安全性声明标记语言,Security Assertion Markup Language)。

传输级别的安全性:通过确保Web服务通信所使用的网络协议的安全来实现。SSL是业界认可的通过TCP/IP进行安全加密通信的标准协议。在这个模型中,Web服务客户端使用SSL来打开一个到Web服务的安全套接口。然后,客户端在这个安全套接口上通过HTTPS发送和接收SOAP消息。SSL实现通过对套接口上所有的网络通信进行加密而确保了私密性。SSL还

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top