预览加载中,请您耐心等待几秒...
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日书山有路勤为径,学海无涯苦作舟页码:第页共NUMPAGES10页第PAGE\*MERGEFORMAT10页共NUMPAGES\*MERGEFORMAT10页基于面向服务体系架构(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对象(PlainOrdinaryJavaObject,POJO),一个中间对象,在不同阶段可以转化为PO、DTO、VO,POJO持久化以后就是PO,在应用中的不同层次传递为DTO,直接用来对应表示层就是VO。PO:持久对象(PersistantObject,PO),也称为Data对象,对应数据库中的Entity,可以简单认为一个PO对应数据库中的一条记录。PO中不包含任何对数据库的操作。VO:表现层对象(ViewObject,VO)主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING界面,用一个VO对象对应整个界面的值。根据业务的需要可以和表对应,也可以不对应。DTO:数据传输对象(DataTransferObject,DTO)主要用于远程调用等需要大量传输对象的地方。对象不应该包含业务逻辑,其仅仅需要传递需要的属性,而不是PO的所有属性。BO:业务对象(BusinessObject,BO)主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。通常一个BO包含多个PO,通常需要将BO转化成PO,才能进行数据的持久化,反之,从DB中得到的PO,需要转化成BO才能在业务层使用。BO建议只包含业务方法,属性在POJO中。DAO:数据访问对象(DataAccessObject,DAO)主要用来封装对数据库的访问。通过它可以把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进行数据交互:HTTPService,RemoteObject和Web服务。其中,HTTPService方式可以传输Text、XML或者JSON(JavaScriptObjectNotation)等。由于Flex具有Flash打下的良好用户基础,同时具有丰富的展现效果,正在成为一种流行的客户端展示实现技术。AJAX和J2EE的通讯AJAX(AsynchronousJavaScriptand