使用Java和XML的Web框架可以提供多层次的生产力外文翻译资料

 2022-12-25 02:12

Future Generation Computer Systems 23 (2007) 263–268

www.elsevier.com/locate/fgcs

Web framework with Java and XML in multi-tiers for productivity

lowast;

Gun Ho Lee , Junsu Jung

Department of Industrial and Information Systems, Soongsil University, Sangdo-5dong, Dongjak-Gu, Seoul 156-743, Republic of Korea

Received 28 February 2006; received in revised form 14 April 2006; accepted 16 May 2006

Available online 7 August 2006

Abstract

As web-based business systems get larger and more complex, an efficient development framework is an important issue for developers. An

efficient web framework improves the quality of multi-tier systems and productivity in the development in distributed computing environments.

We provide a framework approach with Java for 3-tiers (Client/Web, Business/EIS), which allows transporting, transforming, or integrating data

through the systems using structured-information based on textual format of XML. In the framework for 3-tiers system development with Java,

XML is used as a mediator for application data communication as well as a descriptor for configuration. The framework in this paper simplifies

workflow and reduces time and effort to develop the systems. We analyze and compare workflows of the framework and productivities in terms

of lines of code and effort (man-months) needed to develop a system with identical functions.

c 2006 Elsevier B.V. All rights reserved.

Keywords: Web framework; Multi-tiers; Java; XML; Productivity

1. Introduction

or cellular communications, and application domains such as

user interfaces or real time avionics [8,16].

Recently, solutions for the tiers have been studied and

developed such as Velocity [30], Struts [3], Spring [22],

WebWork [29], and Tapestry [10]. The above frameworks have

some weaknesses:

As web based systems get larger and more complex in a

multi-tier environment, it takes a lot of time and effort to

develop the multi-tier system. An efficient framework approach

for the multi tier system, which includes client tier, web tier,

business tier, and Enterprise Information System (EIS) tier,

is an important issue for developers in distributed computing

environments [1,5,9,12].

– Since precedence constraints exist between the development

of tiers with the above frameworks, the tiers should be

developed sequentially.

Framework is a promising technology for reifying proven

software designs and implementations in order to reduce

the cost and time for multi-tier system development and

to improve the quality of the system [13–15,26]. The

framework is a key component for achieving reuse of

analysis, design, and implementation [21]. A framework is a

reusable, semi-completed application that can be specialized

to produce custom applications [6,7]. The primary benefits

of frameworks stem from modularity, reusability, extensibility,

and inversion of control. In contrast to earlier object-oriented

reuse techniques based on class libraries, frameworks are

targeted for particular business units such as data processing

– Adaptability and extensibility are limited in improving

functions of the overall system.

– Developers cannot systematically verify and validate

functions between the tiers but can with personal skill or

with intuition for each application. The roles of tiers are

responsible for each application.

Hence, the framework should be improved as follows:

– Architectures of tiers should technically be independent of

each other for adaptability and extensibility.

– Tiers should not have any dependency relation in

development process in order to develop the tiers in parallel,

e.g., layout and design of window and business logic should

be developed for each tier in parallel.

– Interface and communication between tiers should be easy

even for a large size of tiers.

lowast;

Corresponding author. Tel.: 82 2 820 0697.

E-mail address: ghlee@ssu.ac.kr (G.H. Lee).

0167-739X/$ - see front matter c 2006 Elsevier B.V. All rights reserved.

doi:10.1016/j.future.2006.05.010

264

G.H. Lee, J. Jung / Future Generation Computer Systems 23 (2007) 263–268

– The design, layout, and control of the user interface should

be separated and independent of each other since a developer

frequently modifies the user interface in a presentation layer.

– An object to control a variety of resources such as

connection, session, configuration, etc. should improve

efficiency in the development of tiers.

Companies attempting to build or use large scale reusable

frameworks often fail unless they recognize and resolve

challenges such as development effort, learning curve, integrity,

maintainability, validation and defect removal, efficiency,

and lack of standards [8]. However, existing application

frameworks require considerable investment of effort to learn.

An application is developed based on the integration of multiple

frameworks together with class libraries, legacy systems, and

existing components.

The user interface, connecting middleware, and business

logic and data are tightly coupled through hard-coded interfaces

although the 3-tier client/server model improves the scalability

and manageability of distributed computing. XML has a self-

documenting format that describes structure and field names

as well as specific values and is platform-independent, thus

relatively immune to changes in technology [24,25,27]. The

universal format of data on web documents is simple to

understand and allows developers to describe, deliver, and 剩余内容已隐藏,支付完成后下载完整资料


使用Java和XML的Web框架可以提供多层次的生产力

Gun Ho Lee , Junsu Jung

随着基于 web 的业务系统变得更大、更复杂, 高效的开发框架对于开发人员来说是一个重要的问题。一个有效的网站框架可以提高分布式计算环境中多层系统的质量和开发效率。我们提供了一个3层java 框架(客户端/web、业务/eis) , 它允许传输、转换和通过使用基于 xml 文本格式的结构化信息的系统集成数据。在使用Java的3层系统开发框架中,XML用作应用程序数据通信的调解器以及配置的描述符。本文的框架简化了工作流程并减少开发系统的时间和精力。 我们分析和比较框架和生产力的工作流程需要开发具有相同功能的系统的代码和工作量(人力和时间)。

一 介绍

随着基于Web的系统在多层环境中变得越来越复杂,开发多层系统需要花费大量的时间和精力。多层次系统的有效框架方法,包括客户层,Web层,业务层和企业信息系统(EIS)层,是分布式计算环境中开发人员的一个重要问题。框架是一项有前途的技术,用于推广经过验证的软件设计和实现,以减少多层次系统开发的成本和时间,并提高系统的质量。该框架是实现分析,设计和实现重用的关键组件。框架是可重用的半完成应用程序,可以专门生成定制应用程序。框架的主要优点来自于模块化,可重用性,可扩展性和反转控制。与先前基于类库的面向对象重用技术相反,框架针对特定业务单元(如数据处理或蜂窝通信)以及应用程序域(如用户界面或实时航空电子设备)。最近,已经研究和开发了各种层次的解决方案,如Velocity,Struts,Spring,WebWork和Tapestry。 上述框架有一些缺点:适应性和可扩展性在改进整个系统的功能方面受到限制。开发人员无法系统地验证和验证层之间的功能,但可以与个人技能或每个应用程序的直觉相结合。 层次的作用对每个应用程序负责。

因此,框架应改进如下:

- 技术上层次的架构在适应性和可扩展性方面应该彼此独立。

-层级在开发过程中不应该有任何依赖关系,以便并行开发层次,例如,应该为每个层并行开发窗口和业务逻辑的布局和设计。

- 层级之间的接口和通信应该是容易的,即使是大的层次。由于优先级层次与上述框架的发展存在约束条件,因此应逐级开发。

- 用户界面的设计,布局和控制应该彼此独立,因为开发人员经常修改表示层中的用户界面。

- 控制各种资源(如连接,会话,配置等)的对象应提高层级开发的效率。

试图建立或使用大规模可重用框架的公司通常会遇到困难,除非他们认识和解决诸如开发工作,学习曲线,完整性,可维护性,验证和缺陷移除,效率和缺乏标准等挑战[8]。 然而,现有的应用框架需要相当多的努力来学习。应用程序是基于多个框架与类库,旧系统和现有组件的集成而开发的。

用户界面,连接中间件和业务逻辑和数据通过硬编码接口紧密耦合,尽管3层客户端/服务器模型提高了分布式计算的可扩展性和可管理性。 XML具有描述结构和字段名称以及特定值的自我记录格式,并且与平台无关,从而相对地免于技术变化。 Web文档中的数据通用格式易于理解,允许开发人员以标准和一致的方式来描述,交付和整合来自任何应用程序的丰富和结构化数据。

Struts,Spring,WebWork和Tapestry的Web框架是基于可扩展标记语言(XML)而设计的,该扩展语言(XML)侧重于3层基于组件的框架的概念建模。 然而,框架使用XML作为描述符来定义构成框架的配置,但不使用XML来进行层之间的数据通信。

Struts 具有诸如通过开放架构覆盖核心类的优点,在其他应用程序中普遍使用Taglib,许多引用和用户组等。但是,通过层次和异常验证,调试传输参数的策略是不一致的 ,并通过分离动作和actionForm进行测试。 Action依赖于servlet容器,它提供了各种Taglib,但不能重用标准的HTML。

Spring支持一个POJO(简单的Java对象)模型,用于轻松使用J2EE,与POJO或本地EJB等子例程无关的业务界面,以及通过开放架构覆盖核心类。 在通过层次传输参数的策略中,Spring也不一致。 Action依赖于servlet容器。

WebWork不能有效地进行验证,并且需要大量的时间和成本来让开发人员学习和了解框架。使用现有的框架,开发人员已经努力将数据转换为XML,验证,层级之间的接口等。 我们设计框架,以便层可以通过XML的介质彼此进行通信。 因此,框架利用了XML功能,如灵活性,可扩展性和平台独立性。 我们根据Model-View-Control(MVC)模型,在Sun Inc.的J2EE多层中开发了一个称为“ezFrame”的框架模型。

二 ezFrame

在ezFrame中,我们使用XML不仅用于描述符文件来定义配置,而且还可以用作层级之间的数据通信工具。 在层次之间的数据通信中,我们使框架层的复杂结构简单易用,供开发人员理解。 我们通过将用户请求数据及其响应数据表示为XML来减小框架的大小,这进一步使得框架,对应层的界面变得容易,并提高框架灵活性。

对于MS Internet Explorer Web浏览器用户,ezFrame使用MSXML,数据源对象(DSO)和数据绑定的技术进行演示。 也可以将本文中的方法应用于Taglib,Applet ,应用程序,XSLT(Java API for XML处理),JAXB(Java架构XML绑定)和Velocity 的技术。

2.1 ezFrame元素

ezFrame包括17个主要元素:PresidioApplication是一个超级servlet。 因此,每个应用程序JSP和servlet从PresidioApplication继承。 它定义了常用的会话方法与实用程序的方法,包括优先级设置,如登录页面,主页面和连接数据库,Bean或EJB的定义(企业级Java Bean),日志文件等等。

PresidioBean作为Bean或EJB的标准类型继承自每个应用程序的Bean或EJB。 PresidioBean包括各种定义,例如会话的常见用法,用户偏好,各种实用方法,子Bean或子EJB,日志记录,数据库连接的控制,SQL加载,将结果数据转换为XML,消息等。 XML Doc是一个包含用户请求信息的XML文档,其中包括用户从客户层转移到Web或业务层的操作。

Ret.Xml文档是一个包含请求输出的XML文档,其中包括要从Web和业务层转移到客户端层的消息,ResultSet等。

PresidioServlet是一个servlet,它定义了标准数据流的骨架。 它根据基于Arg的请求执行Bean或EJB。 XML文档包含客户端给出的参数并返回Ret。 XML文档作为客户端的输出。

UserJSPApplication定义了继承自超级servlet的PresidioApplication的基本页面框架。 由于JSP通过XML DSO [11,19]进行数据绑定,所以控件的数据和组成被单独处理。 JSP还在内部定义XML DSO。 通过映射XML DSO定义的HTML元素组成的控件使用嵌入在JSP中的各种类型的HTC 和TagLib。

UserBeanApplication,它是业务层中的一种Bean或EJB,它包含一个应该由开发人员定义的业务逻辑的方法。 它通过继承PresidoBean形成一个基本框架。业务逻辑的方法决定了包含SQL执行的XML文件。 精氨酸 XML文档接收到参数,该方法的名称类型为“excute” [Action name]。 该方法根据PresidioServlet中的操作自动调用并执行。 Bean或EJB处理常用逻辑或子程序是单独组成的。 Bean或EJB转换连接,用户信息等到XML Doc或其他类型的参数进行处理。

ResourceManager是一个类,它控制属性或运行时间配置的消息,并根据定义机制的虚拟机动作类型加载各种信息。

日志记录是采用Log4J 的日志记录实用程序,它根据重要性,即信息,调试,警告,错误和致命错误,以及根据应用程序大小,即系统应用程序,组应用程序和个人 应用。

UserInfo是在用户授权后用用户信息和授权信息生成的对象。 对象在会话中保存和管理,并且可以转换为XML元素,并在需要时发送到每个层。

Bean缓存。 一旦一个bean实例最初由缓存算法生成,那么该实例将被缓存,返回并重新用于以下请求。

连接器是DB连接的一个类,用于创建,控制和维护数据库连接并执行查询和事务控制。 除了DataSource,Java DB连接,EJB连接,XML DSO,IBM主机调用等基本类型之外,还可以使用特殊类型的连接。用户不能使用低级API来访问数据库 但是要做一切与DB连接相关的一切,就像创建ResultSet,语句和搜索当前的数据引用一样。

Sequel是SQL资源的管理实用程序类,它控制在外部XML文件中编码为“key:value”形式的SQL语句,并处理参数,多个SQL,块替换等。

Rs2ADO是将ResultSet转换为RecordSet元素的实用程序类,用于采用XML DSO,并可以打印出RecordSet,元数据和模板。

XML DSO在Web浏览器版本超过或等于Internet Explorer 5的XML数据岛中支持XML数据源。在HTML页面中定义了包含lt;xmlgt; lt;/ xmlgt;元素的嵌入式XML数据,并通过使用 src属性,数据绑定到MSHTML。

XML消息Svc。 生成消息,如信息,警告,错误,致命错误,异常和跟踪。 生成的消息是Arg中的XML元素。 XML文档或Ret.XML文档,作为通信决策的基础。

ElementFormatter定义了人事信息结果集的输出形式,由Rs2ADO使用。 row-tag的每个子标签表示查询的ResultSet的列标签。 索引和标签作为附加信息显示每行的属性。

2.2。 框架动作流

当用户请求任何信息时,该信息将生成为称为Arg的XML文档。 XML文档例如,当用户通过输入人员信息系统授权的识别号码来搜索人员信息时, XML文档包括用户名,搜索的标识号,对象类型,目标对象名称和方法名称。

Arg。 XML文档被转移到PresidioServlet,它被XMLHTTP定义为标准数据流。 客户端通过一串精确的流。 XML文档到PresidioServlet,然后PresidioServlet在Arg中更新用户信息会话。 XML文档然后远程系统在下一步检查并转发处理它的请求,或者远程系统可以基于Arg创建一个目标对象。 XML文档并将其参数返回给Arg。

然后调用一个指定的方法,该方法从Arg收集信息。 XML文档并生成最后的Ret。 XML文档通过创建连接,执行SQL等。 XML文档包含有关搜索的人员信息和要发送给客户端的消息的ResultSet。

PresidioServlet在执行UserBeanApplication中的方法获取Ret后删除UserBeanApplication,该对象是创建的对象。 XML文档然后传输Ret。 XML文档通过XMLHTTP在客户层中的UserJSPApplication。 UserJSPApplication正确重新组织Ret中的数据。验证后可以阅读XML文档。重新组织的数据在Ret。 XML文档用作XML DSO,并在数据绑定后显示在屏幕上。

JavaScript将客户层中的参数,目标操作映射信息等收集到Arg中。用于MSXML API的XML文档。

PresidioServlet运送精液。将XML文档转换为处理Arg中的信息的业务对象。 XML文件按照逻辑。Java API将查询和其他信息的输出收集到Ret中。通过PresidioServlet返回到客户端层的XML文档,最终在客户层中获得XML文档。

三、与以前的工作比较

虽然现有的框架被设计为使用XML,但XML仅用于描述符文件来定义框架的配置,而不是层级之间的通信媒介。现有的框架太复杂,无法在层之间进行交互,这又反过来需要和控制多个XML描述符。学习框架的复杂架构需要花费大量的时间和精力。

在本文中,我们通过用XML表示请求数据和响应数据并将每个层中的框架的复杂结构集成到一个控制XML的对象中,从而最大限度地提高了层与其他供应商的框架之间的灵活性。我们使用专门用于MS Internet Explorer的DSO,数据绑定等。

3.1 框架的工作流程

三个框架垂直分类了每个框架的实现过程,即客户端,Web,业务和EIS层,并且横向显示了每个框架的Rational Unifed Process(RUP)。 ezFrame中的RUP的开发工作比其他两个框架更简单和简单。

3.2 框架的发展

数据传输对象(DTO)。 Spring改进了服务器层,只是为客户端层采用了Struts。FSP和MM在三个框架下列表浏览,单浏览,多输入和主/从入口的开发。列表浏览是用于搜索重新编码列表的窗口。单个条目是输入,修改和删除数据的窗口单一记录。多入口是多个记录的窗口。主/从入口是一个窗口,用于搜索和修改主类型记录的多个从属类型记录。

在本研究中,使用ezFrame和测试过程的层次开发可以并行执行,因为层级没有优先级约束。因此,缩短开发时间。

我们通过COCOMO 比了四种类型的窗口与每个框架的开发工作。尽管Struts通过使用Taglib来减少客户端部件的大小,但是需要花费大量的精力为窗口开发ActionForm,并且数据传输对象(DTO)。 Spring改进了服务器层,只是为客户端层采用了Struts

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[28219],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。