该方案已成功应用,可以实现规范、高效的国际化软件开发,减少软件开发所需要的时间和精力。
互联网的发展推动了全世界的交流,需要开发出满足不同地区语言、文化、生活习惯要求的 Web 应用,因此,软件的国际化已成为必须要解决的问题。国内外目前采用的国际化方法存在以下一些不足:
已存在的动态数据国际化解决方法不易于移植和复用。 没有现成的动态数据国际化解决方案或框架。
针对以上问题,需要提出一个动态数据国际化的解决方案。
为了在短时间内,规范高效的构建出国际化的 Web 应用,需要设计一种易于理解和维护的国际化">开发框架。作者旨在将国际化相关的共性操作抽取出来进行一致性处理,生成一种基于 Spring 轻量级框架的、J2EE 架构的 Web 应用国际化框架,简化系统国际化的实现过程。
目标是:
使该国际化框架适用于关系数据库或对象关系数据库。 将国际化相关的共性操作提取到方面(Aspect)中,使编程人员可以专注于
核心业务逻辑的编写,不需要考虑特定国家\语言环境,简化开发。
新的框架要易于配置。 框架的代码可以复用,能有效地提高系统开发效率。
动态数据国际化框架模型的设计与实现
总体设计
本框架基于 J2EE 三层架构(UI 层、逻辑层和持久层),如图 1 所示。所有层次都应遵循 Unicode 准则,即内部编码采用 Unicode 标准,B/S 架构推荐使用 UTF-8 编码。
图 1. 基于 B/S 的国际化总体逻辑框架
图 2. 动态数据国际化框架设计
该容器由国际化配置的注解、DAO 层资源处理器和充当过滤器角色、实现国际化公共增强功能的方面这 3 部分组合而成。
该容器中,国际化 Aspect,主要根据实体 bean 的注释标签判断访问哪种资源,采用哪种资源处理器进行处理。
该容器中,DAO 层的资源处理器,主要根据实体 Bean 注释中的配置信息,对资源进行存取访问操作,获取资源。
分层结构是基于 B/S 架构的 Java EE 应用程序的标准模式,本框架通过对应用程序划分层次,可以获得各层清晰的功能和职责,简化代码的实现难度。
该框架有以下几点优势:
不依靠资源的持久化方式;
可使用资源文件或关系数据库存储信息。用关系数据库存储时,无论是单表还是分表,都可以完成数据存取。
国际化功能与
业务逻辑解耦;
编程人员可以专注于核心的 BO 层的业务逻辑的编写,把国际化相关的功能提取到方面中。不需要考虑国际化的特定国家 \ 语言,只需编写源代码进行数据库操作、对数据库进行访问即可,提高了对数据库进行访问的安全性。
坚持以 OOP 设计为主,AOP 设计为辅,可缩减代码,控制开发成本; 用注解实现对象关系数据库间的一一映射。
它管理 Java 类到数据库表的映射,在 JavaBean 中只嵌入注解标签即可,与国际化有关的代码完全提取到注解的实现 Bean 中,JavaBean 中完全不使用国际化相关代码,方便复用和调试。