j2ee架构有哪些(J2EE总共分为哪些层业务层,用户层)

2025-02-28 23:40:02 0

j2ee架构有哪些(J2EE总共分为哪些层业务层,用户层)

本文目录

J2EE总共分为哪些层业务层,用户层

典型的三层结构三层结构估计大家都很熟悉了。就是表示(presentation)层, 领域(domain)层, 以及基础架构(infrastructure)层。 表示层逻辑主要处理用户和软件的交互。现在最流行的莫过于视窗图形界面(wimp)和基于html的界面了。表示层的主要职责就是为用户提供信息,以及把用户的指令翻译。传送给业务层和基础架构层。 基础架构层逻辑包括处理和其他系统的通信,代表系统执行任务。例如数据库系统交互,和其他应用系统的交互等。大多数的信息系统,这个层的最大的逻辑就是存储持久数据。 还有一个就是领域层逻辑,有时也被叫做业务逻辑。它包括输入和存储数据的计算。验证表示层来的数据,根据表示层的指令指派一个基础架构层逻辑。领域逻辑中,人们总是搞不清楚什么事领域逻辑,什么是其它逻辑。例如,一个销售系统中有这样一个逻辑:如果本月销售量比上个月增长10%,就要用红色标记。要实现这个功能,你可能会把逻辑放在表示层中,比较两个月的数字,如果超出10%,就标记为红色。 这样做,你就把领域逻辑放到了表示层中了。要分离这两个层,你应该现在领域层中提供一个方法,用来比较销售数字的增长。这个方法比较两个月的数字,并返回boolean类型。表示层则简单的调用该方法,如果返回true,则标记为红色多层结构三层的架构是最为通用的,尤其是对IS系统。其它的架构也有,但是并不适用于任何情况。 第一种是Brown model 。它有五个层:表示层(Presentation),控制/中介层(Controller/Mediator),领域层(Domain), 数据映射层(Data Mapping), 和数据源层(Data Source)。它其实就是在三层架构种增加了两个中间层。控制/中介层位于表示层和领域层之间,数据映射层位于领域层和基础架构层之间。 表示层和领域层的中介层,我们通常称之为表示-领域中介层,是一个常用的分层方法,通常针对一些非可视的控件。例如为特定的表示层组织信息格式,在不 同的窗口间导航,处理交易边界,提供Server的facade接口(具体实现原理见设计模式)。最大的危险就是,一些领域逻辑被放到这个层里,影响到其 它的表示层。 我常常发现把行为分配给表示层是有好处的。这可以简化问题。但表示层模型会比较复杂,所以,把这些行为放到非可视化的对象中,并提取出一个表示-领域中介层还是值得的。 Brown ISA 表示层 表示层 控制/中介层 表示-领域中介层 领域层 领域层 数据映射层 数据库交互模式中的Database Mapper 数据源层 基础架构层 领域层和基础架构层之间的中介层属于本书中提到的Database Mapper模式,是三种领域层到数据连接的办法之一。和表示-领域中介层一眼,有时候有用,但不是所有时候都有用。 还有一个好的分层架构是J2EE的架构,这方面的讨论可以见『J2EE核心模式』一书。他的分层是客户层(Client),表示层(Presentation),业务层(Business ),整合层(Integration),资源层(Resource)。

j2ee都包括什么

什么是J2EE呢?从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:J2EE Blueprints。J2EE Blueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EE Blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J2EE Blueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。下面我们参照J2EE Blueprints,结合最新版的J2EE规范(J2EE 1.4),从整体上阐述如何使用J2EE架构企业级应用。图2给出了使用J2EE架构企业级应用的体系架构。J2EE将组成一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service/API。J2EE容器包括:◆ Web容器服务器端容器,包括两种组件JSP和Servlet,JSP和Servlet都是Web服务器的功能扩展,接受Web请求,返回动态的Web页面。Web容器中的组件可使用EJB容器中的组件完成复杂的商务逻辑。◆ EJB容器 服务器端容器,包含的组件为EJB(Enterprise JavaBeans),它是J2EE的核心之一,主要用于服务器端的商业逻辑的实现。EJB规范定义了一个开发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使其较容易地具备可伸缩性、可移植性、分布式事务处理、多用户和安全性等。◆ Applet容器客户端容器,包含的组件为Applet。Applet是嵌在浏览器中的一种轻量级客户端,一般而言,仅当使用Web页面无法充分地表现数据或应用界面的时候,才使用它。Applet是一种替代Web页面的手段,我们仅能够使用J2SE开发Applet,Applet无法使用J2EE的各种Service和API,这是为了安全性的考虑。◆ Application Client容器 客户端容器,包含的组件为Application Client。Application Client相对Applet而言是一种较重量级的客户端,它能够使用J2EE的大多数Service和API。通过这四个容器,J2EE能够灵活地实现前面描述的企业级应用的架构。在View部分,J2EE提供了三种手段:Web容器中的JSP(或Servlet)、Applet和Application Client,分别能够实现面向浏览器的数据表现和面向桌面应用的数据表现。Web容器中的Servlet是实现Controller部分业务流程控制的主要手段;而EJB则主要针对Model部分的业务逻辑实现。至于与各种企业资源和企业级应用相连接,则是依靠J2EE的各种服务和API。在J2EE的各种服务和API中,JDBC和JCA用于企业资源(各种企业信息系统和数据库等)的连接,JAX-RPC、JAXR和SAAJ则是实现Web Services和Web Services连接的基本支持。J2EE的各种组件我们就J2EE的各种组件、服务和API,进行更加详细的阐述,看看在开发不同类型的企业级应用时,根据各自需求和目标的不同,应当如何灵活使用并组合不同的组件和服务。· ServletServlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。· JSPJSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。· EJBEJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。在装配组件时,所有的Enterprise Beans都需要配置到EJB服务器(一般的Weblogic、WebSphere等J2EE应用服务器都是EJB服务器)中。EJB服务器作为容器和低层平台的桥梁管理着EJB容器,并向该容器提供访问系统服务的能力。所有的EJB实例都运行在EJB容器中。EJB容器提供了系统级的服务,控制了EJB的生命周期。EJB容器为它的开发人员代管了诸如安全性、远程连接、生命周期管理及事务管理等技术环节,简化了商业逻辑的开发。EJB中定义了三种Enterprise Beans:◆ Session Beans◆ Entity Beans◆ Message-driven Beans· JDBCJDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。Java中的JDBC相当与Microsoft平台中的ODBC(Open Database Connectivity)。· JMSJMS(Java Message Service,Java消息服务)是一组Java应用接口,它提供创建、发送、接收、读取消息的服务。JMS API定义了一组公共的应用程序接口和相应语法,使得Java应用能够和各种消息中间件进行通信,这些消息中间件包括IBM MQ-Series、Microsoft MSMQ及纯Java的SonicMQ。通过使用JMS API,开发人员无需掌握不同消息产品的使用方法,也可以使用统一的JMS API来操纵各种消息中间件。通过使用JMS,能够最大限度地提升消息应用的可移植性。 JMS既支持点对点的消息通信,也支持发布/订阅式的消息通信。· JNDI由于J2EE应用程序组件一般分布在不同的机器上,所以需要一种机制以便于组件客户使用者查找和引用组件及资源。在J2EE体系中,使用JNDI(Java Naming and Directory Interface)定位各种对象,这些对象包括EJB、数据库驱动、JDBC数据源及消息连接等。JNDI API为应用程序提供了一个统一的接口来完成标准的目录操作,如通过对象属性来查找和定位该对象。由于JNDI是独立于目录协议的,应用还可以使用JNDI访问各种特定的目录服务,如LDAP、NDS和DNS等。· JTAJTA(Java Transaction API)提供了J2EE中处理事务的标准接口,它支持事务的开始、回滚和提交。同时在一般的J2EE平台上,总提供一个JTS(Java Transaction Service)作为标准的事务处理服务,开发人员可以使用JTA来使用JTS。· JCAJCA(J2EE Connector Architecture)是J2EE体系架构的一部分,为开发人员提供了一套连接各种企业信息系统(EIS,包括ERP、SCM、CRM等)的体系架构,对于EIS开发商而言,它们只需要开发一套基于JCA的EIS连接适配器,开发人员就能够在任何的J2EE应用服务器中连接并使用它。基于JCA的连接适配器的实现,需要涉及J2EE中的事务管理、安全管理及连接管理等服务组件。· JMXJMX(Java Management Extensions)的前身是JMAPI。JMX致力于解决分布式系统管理的问题。JMX是一种应用编程接口、可扩展对象和方法的集合体,可以跨越各种异构操作系统平台、系统体系结构和网络传输协议,开发无缝集成的面向系统、网络和服务的管理应用。JMX是一个完整的网络管理应用程序开发环境,它同时提供了厂商需要收集的完整的特性清单、可生成资源清单表格、图形化的用户接口;访问SNMP的网络API;主机间远程过程调用;数据库访问方法等。· JAASJAAS(Java Authentication and Authorization Service)实现了一个Java版本的标准Pluggable Authentication Module(PAM)的框架。JAAS可用来进行用户身份的鉴定,从而能够可靠并安全地确定谁在执行Java代码。同时JAAS还能通过对用户进行授权,实现基于用户的访问控制。· JACCJACC(Java Authorization Service Provider Contract for Containers)在J2EE应用服务器和特定的授权认证服务器之间定义了一个连接的协约,以便将各种授权认证服务器插入到J2EE产品中去。· JAX-RPC通过使用JAX-RPC(Java API for XML-based RPC),已有的Java类或Java应用都能够被重新包装,并以Web Services的形式发布。JAX-RPC提供了将RPC参数(in/out)编码和解码的API,使开发人员可以方便地使用SOAP消息来完成RPC调用。同样,对于那些使用EJB(Enterprise JavaBeans)的商业应用而言,同样可以使用JAX-RPC来包装成Web服务,而这个Web Servoce的WSDL界面是与原先的EJB的方法是对应一致的。JAX-RPC为用户包装了Web服务的部署和实现,对Web服务的开发人员而言,SOAP/WSDL变得透明,这有利于加速Web服务的开发周期。· JAXRJAXR(Java API for XML Registries)提供了与多种类型注册服务进行交互的API。JAXR运行客户端访问与JAXR规范相兼容的Web Servcices,这里的Web Services即为注册服务。一般来说,注册服务总是以Web Services的形式运行的。JAXR支持三种注册服务类型:JAXR Pluggable Provider、Registry-specific JAXR Provider、JAXR Bridge Provider(支持UDDI Registry和ebXML Registry/Repository等)。· SAAJSAAJ(SOAP with Attachemnts API for Java)是JAX-RPC的一个增强,为进行低层次的SOAP消息操纵提供了支持。下面我们通过假设一个企业应用的J2EE实现,来了解各种组件和服务的应用。假设应用对象是计算机产品的生产商/零售商的销售系统,这个销售系统能够通过自己的网站发布产品信息,同时也能将产品目录传送给计算机产品交易市场。销售系统能够在线接受订单(来自自己的Web网站或者来自计算机产品交易市场),并随后转入内部企业管理系统进行相关的后续处理。参见图3,这个企业应用可以这种方式架构。该企业应用的核心是产品目录管理和产品定购管理这两个业务逻辑,使用EJB加以实现,并部署在EJB容器中。由于产品目录和定购信息都需要持久化,因此使用JDBC连接数据库,并使用JTA来完成数据库存取事务。然后使用JSP/Servlet来实现应用的Web表现:在线产品目录浏览和在线定购。为了将产品目录发送给特定的交易市场,使用JMS实现异步的基于消息的产品目录传输。为了使得更多的其它外部交易市场能够集成产品目录和定购业务,需要使用Web Services技术包装商业逻辑的实现。由于产品定购管理需要由公司内部雇员进行处理,因此需要集成公司内部的用户系统和访问控制服务以方便雇员的使用,使用JACC集成内部的访问控制服务,使用JNDI集成内部的用户目录,并使用JAAS进行访问控制。由于产品订购事务会触发后续的企业ERP系统的相关操作(包括仓储、财务、生产等),需要使用JCA连接企业ERP。最后为了将这个应用纳入到企业整体的系统管理体系中去,使用Application Client架构了一个管理客户端(与其它企业应用管理应用部署在一台机器上),并通过JMX管理这个企业应用。

j2ee构架有哪四层

从前端到后端可以分很多层,我见过有涉及到保留系统中间件的应用甚至有6、7层的都有,不过你既然要4层,那就说典型的4层:1、Web前端HTML页面。2、Servlet、JSP,前端控制层。3、提供具体应用服务逻辑的事务层。4、提供数据处理DAO层。

j2ee架构有哪些(J2EE总共分为哪些层业务层,用户层)

本文编辑:admin

更多文章:


illegal是什么意思中文(illegally是什么意思)

illegal是什么意思中文(illegally是什么意思)

本文目录illegally是什么意思illegal base64 data at input byte 8是什么意思illegally是什么意思  illegally 英  adv. 不法地;  例句:  You’ve ille

2025年2月12日 19:50

jdk如何安装(怎样在电脑上安装jdk,求详细图文步骤)

jdk如何安装(怎样在电脑上安装jdk,求详细图文步骤)

本文目录怎样在电脑上安装jdk,求详细图文步骤jdk怎么安装jdk如何安装jdk(java)安装教程及环境变量设置怎样正确安装jdk怎样安装JDK软件怎样在电脑上安装jdk,求详细图文步骤1、从Java官方网站下载相应的JDK版本jdk-6

2025年4月5日 01:00

个人网站存在有什么的意义?html只能写网页吗

个人网站存在有什么的意义?html只能写网页吗

本文目录个人网站存在有什么的意义html只能写网页吗如何做个人网站如何做家教网站如何做秒杀网站如何建立个人网站,我想建立自己个网站下载的网站源码,怎样进入后台怎么制作个人网站如何制作一个个人网站制作一个班级主页或个人主页(html制作)个人

2025年2月11日 06:10

二进制计算器在线计算(二进制计算01011001^10100111怎么计算请告诉我使用WINDOWS附带的计算器的计算方法)

二进制计算器在线计算(二进制计算01011001^10100111怎么计算请告诉我使用WINDOWS附带的计算器的计算方法)

本文目录二进制计算01011001^10100111怎么计算请告诉我使用WINDOWS附带的计算器的计算方法怎么用电脑计算机算二进制二进制的计算方法二进制计算01011001^10100111怎么计算请告诉我使用WINDOWS附带的计算器的

2025年4月2日 19:50

suggestions翻译(suggestionanswerbulter的drama和翻译)

suggestions翻译(suggestionanswerbulter的drama和翻译)

本文目录suggestionanswerbulter的drama和翻译suggestion、idea、advice的区别翻译“我建议你好好学习,(suggestion)“suggestion;destined;detached 这些英语怎么

2025年2月26日 07:20

苹果cms搭建教程(苹果cms模板如何安装)

苹果cms搭建教程(苹果cms模板如何安装)

本文目录苹果cms模板如何安装苹果cms10怎么安装苹果cms如何对接微信苹果cms模板如何安装首先准备好你下载的模版文件,解压成文件夹里面有phpcms 和statics两个文件在我们安装好的phpcms系统中,就有phpcms文件夹,和

2025年3月1日 06:20

论文注释的标准格式(论文脚注的格式)

论文注释的标准格式(论文脚注的格式)

本文目录论文脚注的格式论文里面的注释的格式是什么论文是不是一定要写注释啊 如果要,请大虾告诉我格式论文的标准格式是什么样的本科生毕业论文中脚注的标准格式是什么论文脚注的格式论文脚注格式如下:【字体】中文:小五,宋体,英文:times new

2025年2月16日 23:50

retaliatory(retaliatory tariff是什么意思)

retaliatory(retaliatory tariff是什么意思)

本文目录retaliatory tariff是什么意思retaliatory tariff是什么意思啊retaliatory tariff是什么意思同学你好,很高兴为您解答!  retaliatory tariff,您说的这个英文词语在我国

2025年2月20日 22:30

拍摄夜景时,该如何设置相机?vscode需要怎么设置,才可以在编辑器内部调试java

拍摄夜景时,该如何设置相机?vscode需要怎么设置,才可以在编辑器内部调试java

本文目录拍摄夜景时,该如何设置相机vscode需要怎么设置,才可以在编辑器内部调试java新手机,怎么修改设置运行更流畅打开开发者模式word 文本框填充 透明度如何设置小米手机开发者选项怎么设置最流畅华为手机如何设置起来更流畅华为p40p

2025年3月4日 21:50

the rest of(The rest 和the rest of 的区别)

the rest of(The rest 和the rest of 的区别)

本文目录The rest 和the rest of 的区别the rest of是什么意思rest of 和the rest of的区别the rest of的用法the rest of后边的谓语什么时候用复数,单数rest of 和它有区

2025年3月19日 06:40

php随机数插入数据库(PHP 怎么循环一组数字(1万条数据)插入数据库)

php随机数插入数据库(PHP 怎么循环一组数字(1万条数据)插入数据库)

本文目录PHP 怎么循环一组数字(1万条数据)插入数据库如何高效的将5万个不同的随机数插入到数据库中 - PHP进阶讨论PHP如何将下面数组遍历,插入数据库用php代码怎么往数据库里自定义插入数据求一个PHP的不重复随机数写入数据库例子.内

2025年3月16日 17:20

vba编程从入门到精通电子书(VBA编程从入门到精通的作品鉴赏)

vba编程从入门到精通电子书(VBA编程从入门到精通的作品鉴赏)

本文目录VBA编程从入门到精通的作品鉴赏求《excel vba高效办公从入门到精通》的随书光盘,是“中国青年出版社”出版的!谢谢推荐vba编程书籍VBA编程从入门到精通的作品鉴赏本书提供了最快、最简便的方法学习使用VBA,以便自定义和增强O

2025年3月22日 02:30

vmos如何安装在电脑模拟器上?vmos怎么设置虚拟定位

vmos如何安装在电脑模拟器上?vmos怎么设置虚拟定位

本文目录vmos如何安装在电脑模拟器上vmos怎么设置虚拟定位vmos什么意思如何把应用添加进vmosvmos怎么配对vmos怎么打开摄像头vmos每次启动都优化应用vmos怎么备份romvmos如何安装在电脑模拟器上在电脑上先下载安装好合

2025年3月15日 15:30

msde数据库(安装速达3000std单机版安装msde数据库时安装到一半时出现“指定的实例名无效”的提示,怎么办)

msde数据库(安装速达3000std单机版安装msde数据库时安装到一半时出现“指定的实例名无效”的提示,怎么办)

本文目录安装速达3000std单机版安装msde数据库时安装到一半时出现“指定的实例名无效”的提示,怎么办MSDE数据库要怎么打开啊中顶软件自带MSDE数据库如何转换成SQL数据库安装速达3000std单机版安装msde数据库时安装到一半时

2025年3月20日 10:30

socket技术(PHP SOCKET 技术研究)

socket技术(PHP SOCKET 技术研究)

本文目录PHP SOCKET 技术研究上万socket的连接用的方案和技术netty分布式越详细越好SSL和Socket有何关系说明两者的异同点socket是个什么东西socket如何单独推送消息Unix系统中,socket不可以用于进程间

2025年2月17日 10:40

substrb函数(Oracle函数Substrb和Convert函数问题)

substrb函数(Oracle函数Substrb和Convert函数问题)

本文目录Oracle函数Substrb和Convert函数问题ORACLE创建一个得到字符个数的函数oracle中sum(decode(substrb(month,5,2),’04’,sell,0)), 是什么意思编写一个函数,判断一个字符

2025年2月26日 17:00

miff,0n,72种不同插法?melody与miffy 有关系吗

miff,0n,72种不同插法?melody与miffy 有关系吗

本文目录miff,0n,72种不同插法melody与miffy 有关系吗miff,0n,72种不同插法是不是题表达的错了,4个品种的树中选三种,有C(4/3)=4种选法 然后将3种树种在3条道路上,有P(3/3)=6种种法 合计就是C(

2025年3月4日 01:00

微信登录入口官网(微信公众平台登录官网是什么)

微信登录入口官网(微信公众平台登录官网是什么)

本文目录微信公众平台登录官网是什么微信官网登陆微信公众平台登录微信公众平台登录官网是什么查找微信公众平台登录官网方法及流程:1.打开浏览器搜索:微信公众平台官网2.点击:微信公众平台,即可进入如何注册、登录微信公众平台:1.打开浏览器,输入

2025年3月28日 07:10

concerta(information三单)

concerta(information三单)

本文目录information三单强生Concerta是OTC吗information三单1.put-puts,dance-dances,talk-talks,speak-speaks,help-helps 1.D,informatio

2025年3月2日 21:10

js教程removechild(怎样用JS实现关闭当前窗口)

js教程removechild(怎样用JS实现关闭当前窗口)

本文目录怎样用JS实现关闭当前窗口怎么写一段js代码能删除页面一段内容怎样用JS实现关闭当前窗口大约有三种方式:1、直接关闭当前窗口代码如下:《a href=“javascript:window.opener=null;window.ope

2025年3月10日 07:20

近期文章

lender(你怎么看比特币)
2025-04-05 12:50:02
本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索