预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

编号:时间:2021年x月x日书山有路勤为径学海无涯苦作舟页码:基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型多终端多技术平台可复用的组件模型引言在《面向服务体系架构(SOA)和业务组件(BC)的思考》(以下简称《SOA和BC》)一文中介绍了基于面向服务体系架构(SOA)的组件模型本文按照“分离”的原则通过比较当前多种流行的客户端和服务器端的通讯机制进一步把业务组件进行分离采用面向资源体系架构(ROA)把业务组件界面层和业务逻辑层分离开构建一个多终端多技术平台可复用的组件模型多层架构中的通讯方式软件体系架构是沿着单机到CS架构再到BS的三层架构甚至多层架构逐步发展过来的关于多层架构本文不再详细介绍可以参考相关的资料下面首先来分析一下当前比较流行的客户端技术以及客户端和服务器之间的通讯方式。基于MVC的J2EE多层模型在一个标准的基于MVC的J2EE的模型架构的代码中从对象的类别来看一般包含BO、DAO、POJO等Java类另外还包含JSP、Servlet等如下图所示:图1.基于MVC的J2EE多层模型POJO:简单Java对象(PlainOrdinaryJavaObjectPOJO)一个中间对象在不同阶段可以转化为PO、DTO、VOPOJO持久化以后就是PO在应用中的不同层次传递为DTO直接用来对应表示层就是VO。PO:持久对象(PersistantObjectPO)也称为Data对象对应数据库中的Entity可以简单认为一个PO对应数据库中的一条记录。PO中不包含任何对数据库的操作。VO:表现层对象(ViewObjectVO)主要对应界面显示的数据对象。对于一个WEB页面或者SWT、SWING界面用一个VO对象对应整个界面的值。根据业务的需要可以和表对应也可以不对应。DTO:数据传输对象(DataTransferObjectDTO)主要用于远程调用等需要大量传输对象的地方。对象不应该包含业务逻辑其仅仅需要传递需要的属性而不是PO的所有属性。BO:业务对象(BusinessObjectBO)主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。通常一个BO包含多个PO通常需要将BO转化成PO才能进行数据的持久化反之从DB中得到的PO需要转化成BO才能在业务层使用。BO建议只包含业务方法属性在POJO中。DAO:数据访问对象(DataAccessObjectDAO)主要用来封装对数据库的访问。通过它可以把POJO持久化为PO用PO组装出来VO、DTO。主要用来封装对DB的访问把POJO持久化为PO。JSP是通过HTTP请求直接调用Servlet的。当前在J2EE架构下有Struts、Spring、Hibernate等开源架构完美的实现了界面、逻辑和实例化的操作。Applet和J2EE的通讯Applet可以直接连接数据库可以使用象JDBC、RMI这样的协议来访问象数据库、LDAP目录和EnterpriseJavaBeans组件这样的后端信息。也可以通过HTTP连接后台的JavaServlet和JSP连接方式相同通过Servlet处理后台逻辑Applet仅仅用来处理前端的工作。Flex和J2EE的通讯Flex是Macromedia发布的展现服务(PresentationServer)根据mxml文件(纯粹的XML描述文件和ActionScript)产生相应得swf文件传送到客户端由客户端的解释执行。Flex提供了三种方式和Java进行数据交互:HTTPServiceRemoteObject和Web服务。其中HTTPService方式可以传输Text、XML或者JSON(JavaScriptObjectNotation)等。由于Flex具有Flash打下的良好用户基础同时具有丰富的展现效果正在成为一种流行的客户端展示实现技术。AJAX和J2EE的通讯AJAX(AsynchronousJavaScriptandXML)是多种技术的综合它使用XHTML和CSS标准化呈现使用DOM实现动态显示和交互使用XML和XSTL进行数据交换与处理使用Javascript绑定和处理所有数据Javascript是一种粘合剂使AJAX应用的各部分集成在一起中JavaScript主要被用来传递用户界面上的数据到服务端