JavaEE应用系统架构教学课件_第1页
JavaEE应用系统架构教学课件_第2页
JavaEE应用系统架构教学课件_第3页
JavaEE应用系统架构教学课件_第4页
JavaEE应用系统架构教学课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java EE应用系统架构2022/8/3郑重Java EEJava EE是什么?Java Platform, Enterprise Edition Java EE是一种利用Java平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。Java EE以Java SE为基础,为企业提供了完整的、稳定的、安全的、快速的Java平台。Java EE并不是一个技术而是一个标准。Java EE大纲Java EE应用系统架构公司现有主要框架介绍表现层业务逻辑层数据层架构分析课堂练习架构与框架的区别架构architecture 系统在其所处环境中的最高层次的划分 IEEE。软件架构 = 组件元素

2、,元素互助合作之模式,基础要求与限制 。 架构设计就是将各组件元素以某些理想的合作模式组织起来以达成系统的基本功能和限制。框架framework 框架指的是一种机制,这种机制负责控制各协作对象之间的交互,比如Apache Struts框架,Microsoft MFC框架。 框架和类库的差别:类库中的基类是被用户的类调用的,而框架中正相反,用户的类会被框架调用。 Sun Java EE架构图大纲Java EE应用系统架构公司现有主要框架介绍表现层业务逻辑层数据层架构分析课堂练习Java EE APP Arch JSPSession FacadeActionFormActionDelegate C

3、MP/BMPDAODatabase表现层 业务逻辑层 数据层 Struts框架EJB容器Application ServiceEJB容器Ejb3逻辑架构首次使用 ejb3.0 结合 hibernate 的持久化框架,同时实现了多数据源实时切换的spring 动态数据源注射机制。让开发人员的核心工作从代码实现转移到商业逻辑的实现。SimpleORM架构大纲Java EE应用系统架构公司现有主要框架介绍表现层业务逻辑层数据层架构分析课堂练习表现层在此指用户界面层和页面逻辑层。该层封装了实现客户端表现的所有逻辑,包括的组件有Filter、JspTag 、JSP/Servlet等。我们在表示层中采用了

4、基于MVC的Struts框架。表现层过滤器: 是对请求资源和响应资源执行过滤任务的一种策略web.xml文件中filter的片段 filterName top.struts.action.ValidatorFilter filterName *.do拦截过滤器Context策略: 按照协议无关的方式封装状态,然后在整个应用系统中使用这种封装后的对象。例:Struts框架的form很好屏蔽了对request的依赖。Context对象FrontController: 前端控制器目的是集中地、模块化的进行请求和响应的管理。例:Struts框架的ActionServlet在Struts中起到了前端控制

5、的功能。前端控制器视图助手: 目的是为了把视图和相关的处理逻辑分离开。例:Struts利用JSP标准标记库(JavaServer Pages Standard Tag Library)JSTL技术实现的一套标签库。视图助手Control(Action)1.访问业务逻辑2.准备页面数据3.控制页面跳转View(Jsp+Tag)1.用表单采集数据2.用Tag显示数据Model(ActionForm/VO)1.表单对象2.业务数据MVC大纲Java EE应用系统架构表现层业务逻辑层数据层架构分析课堂练习业务代表Delegate业务代表的四个作用:避免客户端直接与业务服务接口交互,提高灵活性。提高网络

6、传输性能,通过缓存数据,避免与细粒度的服务多次的往返交互。避免客户端代码中包含底层架构代码,包括命名服务JNDI,网络连接故障处理等。将系统级异常转换成应用级异常,对用户更加友好。从传统意义上来说,业务代表仅仅是一层薄薄的皮肤,它将所有的请求都转发给业务服务组件。业务代表与会话门面是一一对应的。业务代表实现策略代理策略可以实现验证,数据或引用的缓存等功能适配器策略与外部系统交互时,可以在业务代表外面包装上适配器,提供给外部系统调用使用POJO(Plain Old Java Object)实现业务代表。会话门面Session Facade会话门面的作用:方法服务,将业务组件和粗粒度业务服务暴露给

7、远程客户端。降低远程客户端和细粒度的业务组件、业务服务交互造成的网络负担。使用Session Bean实现会话门面。会话门面中包含的业务逻辑应很少或一点儿也不包含,如果有业务逻辑,应该放在应用服务里。应用服务Application Service应用服务的作用:把多个业务层组件和服务之间的业务逻辑集中起来,聚合特定功能,提供一个统一的服务层。减少会话门面中的业务逻辑。让某种业务逻辑调度多个业务对象或业务服务。在现存的业务层组件和服务之上提供一种粗粒度的服务API。需要在业务对象之外封装专门针对特定用例的逻辑。通常使用POJO实现应用服务,特殊情况下可使用Session Bean 来实现。业务对

8、象模型业务对象模型的作用:把业务数据和业务逻辑分离出来。第一种策略是使用POJO,并选择一种合适的持久化技术,比如Hibernate。第二种策略是使用entity bean。传输对象DTO(VO)传输对象的作用: 一个实体往往有多个属性,为了避免在网络上多次调用get/set方法来获得实体的属性,提高应用的性能。传输对象需要被序列化优化前的数据传输 优化前的数据传输代码片段UserEntityHome objUserEntityHome= (UserEntityHome )Toolkit.getInstance() .getRemoteHome(“userEntityJNDIName“, Us

9、erEntityHome.class);UserEntityPK objUserEntityPK = new UserEntityPK (id);/得到实体对象UserEntity objUserEntity = objUserEntityHome.findByPrimaryKey(objUserEntityPK );objUserEntity.setName(“张三”);objUserEntity.setPassword(“123”);优化后的数据传输 VO业务代表/会话门面EJB容器优化后的数据传输代码片段UserEntityHome objUserEntityHome= (UserEnt

10、ityHome )Toolkit.getInstance() .getRemoteHome(“userEntityJNDIName“, UserEntityHome.class);UserEntityPK objUserEntityPK = new UserEntityPK (id);/得到实体对象UserEntity objUserEntity = objUserEntityHome.findByPrimaryKey(objUserEntityPK );UserVO objUserVO= objUserEntity .getUserVO();objUserVO.setName(“张三”);o

11、bjUserVO.setPassword(“123”);objUserEntity.setUserVO(objUserVO);大纲Java EE应用系统架构公司现有主要框架介绍表现层业务逻辑层数据层架构分析课堂练习数据访问对象DAO数据访问对象的作用:可以按照复杂的条件进行查询。可以返回批量的结果集。可以访问多种数据源,包括数据库系统或者文件。通过Session Bean调用的DAO 存活于EJB容器内,此时可以进行事务管理业务代表直接调用的DAO在EJB容器外,不能进行事务管理DAO一般不进行增删改,只进行查询操作大纲Java EE应用系统架构公司现有主要框架介绍表现层业务逻辑层数据层架构分

12、析课堂练习类图对象图无数据库事务的查询对象图没有组合业务时对象图有组合业务时对象图有组合业务时的一种特例调用关系模块AppService类都要继承自BaseAppServic类;一个模块的AppService对象可调用其它模块的AppService对象;AppService对象可调用entityBean、AppService和DAO;AppService对象只能调用这三类对象; DAO中的方法必须是原子的,不能调sessionBean 或是其它DAO;调用关系6.Action、Man、DAO中不允许有业务方法。7.Man对象只能调用本模块的sessionBean对象;8.sessionBean

13、只能调用本模块的AppService对象;9.一个实现SessionFacade的sessionBean对象可直接调用多个DAO和EntityBean,但不可写业务法;10.AppService对象实现所有业务层业务逻辑;11.AppService对象方法只能抛模块异常。前端控制器ActionServletRequestProcessor视图控制器Action业务代表Delegate业务实体Entity Bean会话门面Session Facade数据访问对象DAO资源Databasestruts-config.xmlhttp请求转发(*.do)分发访问查询数据访问获取/设置数据SQL语句值对

14、象VO访问视图JSP转发(*.jsp)视图JSP过滤器FilterJava EE APP Arch应用服务Application Service访问top.app.module.actiontop.app.module.delegatetop.app.module.appservicetop.app.module.modeltop.app.module.ejbtop.app.module.ejb.entitytop.app.module.daotop.app.module.exception中间的.app.module表示项目组根据需要修改。其它要添加的类可以直接放在app.module目录下。代码的组织结构-java大纲Java EE应用系统架构公司现有主要框架介绍表现层业务逻辑层数据层架构分析课堂练习课堂练习使用公司的Java EE架构分析如何实现一个用户注册功能。具体要求如下:1、需要填写用户名、密码、姓名、E-Mail。2、如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论