j2ee规范(J2EE架构怎样理解)

2024-06-27 19:39:41 50

j2ee规范(J2EE架构怎样理解)

本文目录

J2EE架构怎样理解

J2EE架构分析J2EE架构是当前主流的架构之一,目前大多数企业采用J2EE技术的结构设计与解决方案。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。  高效的开发: J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:  状态管理服务 -- 让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。   持续性服务 -- 让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。   分布式共享数据对象CACHE服务 -- 让开发人员编制高性能的系统,极大提高整体部署的伸缩性。   支持异构环境: J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。   可伸缩性: 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。 J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。传统的J2EE多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构:  �0�1    运行在客户端机器上的客户层组件   �0�1    运行在J2EE服务器上的Web层组件   �0�1    运行在J2EE服务器上的业务逻辑层组件   �0�1    运行在EIS服务器上的企业信息系统(Enterprise information system)层软件   通常认为,J2EE平台就广泛的认为是这个架构,运行在J2EE服务器上的EJB容器可以认为是此结构的核心,EJB容器管理着所有EJB的执行,以及EJB的生命周期,并且为EJB提供所有系统级的服务。EJB组件则负责接受,处理WEB容器的客户请求和连接提供整个企业使用的数据,服务的EIS层。  此“经典”架构中,所有的数据访问都要通过entity bean,业务对象都是带远程接口的无状态session bean,运行在EJB容器中。EJB中包含了各种服务(比如声明式的事务管理),而且提供了一个共享的中间层,可支持可支持各种类型的J2EE客户端。但结构中应用性能和开发开销的负担很重,一些负载来在于EJB,而很大还是与分布式架构的特性有关。此外为了分布化,牺牲了OO原则,并且难以测试,因为业务逻辑通常编写在EJB的实现类中,而这些类完全依赖于EJB容器的。  此“经典”架构的一种改进,便是把远程EJB替换为本地EJB,实现了架构的重用,解决了分布化的种种问题。但架构还是相当的复杂。EJB的很多负担还是存在,从EJB中获得益处反而不多。所以随着企业级应用开发的不断复杂,对架构设计的要求也会提出新的要求:  架构简单,但功能强大。  架构可以通过配置WEB容器集群来达到横向扩展。  在不同的应用服务器之间具有高移植性。  便于在应用服务器之外进行业务对象的单元测试,而且,一些集成测试甚至可以让一些轻量级容器(如Junit)来完成。  为了解决经典架构中有EJB引起的一系列问题以及满足不断发展的企业应用,提出了非EJB架构的“轻量级容器”。轻量级容器与EJB架构都是有容器管理业务服务对象,然后再围绕着这个服务层组织整个架构。但是业务对象不是运行在EJB容器中,而是运行在“轻量级容器”中。轻量级容器并没有和J2EE绑定,所以它既可以运行在WEB容器里,也可以在一个标准应用程序中运行,如必要也可以运行在EJB容器中。这个容器也没有和servlet API绑定?D?D这一点与MVC结构的WEB框架不同。轻量级容器的启动开销很小,而且无需EJB的部署。  轻量级容器提供了一种管理、定位业务对象的办法。用不着JNDI寻址、定制服务器之类的额外辅助;轻量级容器为应用对象提供注册服务。其较之EJB容器而言,不仅功能强大,而且避免了容器强制业务对象采用特定的接口,最低程度的降低了侵入性,实现了效果极佳的架构重用。  轻量级容器中所有的Java类都运行在同一个虚拟机中。  WEB层是由MVC框架提供的(Struts或WebWork,或Spring架构的MVC结构)  业务对象是POJO,运行在轻量级容器里。AOP的拦截机制能够增强业务对象,从而实现企业级服务。与EJB容器不同,业务对象不依赖于容器的API,所以这些对象在容器外也可以使用,更利于单元测试。业务对象仅仅通过接口来访问,当更改具体业务对象的实现类后,业务对象无需修改。实现了面向接口编程。  数据访问机制可以通过轻量级的O/R Mapping,该层能提供透明的持久化,该持久层实现了对数据访问方式JDBC的轻量级封装。

什么是J2EE,包括哪些规范!

JNDI(Java Name and Directory Interface): JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。 EJB(Enterprise JavaBean): J2EE技术之所以赢得某体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。 RMI(Remote Method Invoke): 正如其名字所表示的那样,RMI协议调用远程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。 Java IDL/CORBA: 在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开, 或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用和旧的系统相集成。 JSP(Java Server Pages): JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。 Java Servlet: Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。 XML(Extensible Markup Language): XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。 JMS(Java Message Service): MS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与旧的后台系统相集成。 JTA(Java Transaction Architecture): JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。 JTS(Java Transaction Service): JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。 JavaMail: JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。 JTA(JavaBeans Activation Framework): JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。

J2EE的开发技术有哪些

J2EE技术应用 J2EE是Sun公司推出的一种全新概念的模型,比传统的互联网应用程序模型更有优势。 J2EE模型 J2EE的应用编程模型(J2EE Blueprints)提供了一种用于实施基于J2EE多层应用的文档和实例套件的体系模型,简化了这项复杂的工作。它被开发人员用作设计和优化组件,以便开发人员从策略上对开发工作进行分工。 J2EE应用编程模型要求开发者将自己的工作分成两类:商业逻辑和表示逻辑,其余则由系统资源自动处理,不必为中间层管道进行编码。这样,开发人员就能将更多的时间花在商业逻辑和表示逻辑上。对重视缩短项目周期的公司来说,这种转变深受欢迎。 J2EE平台 J2EE平台是运行J2EE应用的标准环境,由J2EE部署规范(一套所有J2EE平台产品都必须支持的标准)、IETF标准集和CORBA标准组成。最新的J2EE平台还添加了JavaBean组件模型。开发人员可以利用JavaBean组件模型来自定义Java类实例,并可通过已定义的事件访问Java类。 J2EE支持EJB,因此开发人员可以执行多用户交易功能。当在J2EE服务器上运行时,Enterprise JavaBeans将应用逻辑分成可再利用和可扩展的代码段。Enterprise JavaBeans并不是新特征,但是通过定义标准客户端和服务API,J2EE增强了它的能力和可移植性。 EJB在服务器的一个容器内运行,提供所有典型的中间层服务,如事务管理、安全、远程客户连接、生存周期管理和数据库连接缓冲。为了让事务系统在存在EJB容器的情况下运行,开发人员只需在部署描述文件中定义Beans的事务属性即可。 J2EE通过定义一组标准的结构来实现它的优势,例如: 1.J2EE Application Programming Model,是一种用于开发多层次、瘦型客户用户程序的标准设计模型; 2. J2EE Platform,是一个标准的平台,用来整合J2EE的应用程序,并指定一系列的接口和方法; 3. J2EE Compatibility Test Suite,是一套兼容测试组件,用来检测产品是否同J2EE平台兼容; 4.J2EE Reference Implementation,用来示范J2EE的能力。 J2EE服务器 Sun的J2EE服务器通过Java 命名和目录接口(JNDI)、认证、HTTP及与Enterprise JavaBeans兼容的能力,提供命名和目录服务。JNDI是Java平台的一种标准扩展版,向企业内的命名和目录服务提供具有Java功能的,带有统一接口的应用,包括LDAP。 J2EE服务器还利用了Java Servlet技术。Java Servlet可以看作是运行在服务器上的一个小程序,它向开发人员提供以组件为基础创建基于Web应用的、独立于平台的方法。它不像利用CGI那样具有性能局限。Java Servlet是一种扩展Web服务器功能的简单技巧。由于它是用Java编写的,因而能够访问整个Java API库,也包括用于访问企业数据库的JDBC API。 JSP是Java Servlet的一种扩展。Java Servlet提供开发和显示来自服务器的交互式Web页。如今JSP又有了进一步的改进,它使得创建和支持静态模板和动态内容相结合的HTML和XML页面更加容易。 安全性 J2EE平台定义了一种标准的公开存取控制规则,当程序在企业平台上开发时就已被程序师定义和解释了。J2EE也需要提供一个标准的注册机制,以便应用程序不会将这些注册机制和逻辑相混合,从而使相同的工作执行于大量的不同环境中时并不需要改变源代码。例如:J2EE应用程序开发人员可以指定几个安全级别,当用户访问数据时,他们可写出代码来检查当前用户权限的级别。在开发阶段,开发人员赋予多组用户适当的安全级,使应用程序在执行限制操作之前能够容易的判断限制级。 J2EE 平台是Java技术企业级应用的最佳平台,它可以让程序员迅速、快捷地开发和分布企业级应应用程序。以下便是它的相关技术: 1.Enterprise JavaBeans Architecture,企业级JavaBeans 定义了一个应用程序接口。它

j2ee规范(J2EE架构怎样理解)

本文编辑:admin

更多文章:


equally怎么读的(lovely怎么读)

equally怎么读的(lovely怎么读)

本文目录lovely怎么读通常地英语怎么读汉语偕音怎么说All men are created equal为什么不用equallyequally怎么读circle怎么读easily怎么读lovely怎么读lovely的读音是:英。lovel

2024年7月21日 20:25

sql server实例(SQL Server实例究竟指的是什么)

sql server实例(SQL Server实例究竟指的是什么)

本文目录SQL Server实例究竟指的是什么在sql server 中什么是实例sql server怎么新建数据库实例如何启动 SQL Server 实例SQL Server实例究竟指的是什么一般来讲实例就是指服务名,一般的时候,SQL

2024年4月20日 15:00

splitter一分16分配器怎么用(ADSL Splitter(分离器)的线怎么接)

splitter一分16分配器怎么用(ADSL Splitter(分离器)的线怎么接)

大家好,如果您还对splitter一分16分配器怎么用不太了解,没有关系,今天就由本站为大家分享splitter一分16分配器怎么用的知识,包括ADSL Splitter(分离器)的线怎么接的问题都会给大家分析到,还望可以解决大家的问题,下

2024年8月17日 21:45

三角函数图像变换(三角函数图像变换)

三角函数图像变换(三角函数图像变换)

本文目录三角函数图像变换三角函数图像变换有哪些三角函数图像伸缩变换关于三角函数中的图像变换三角函数的图像变换 横坐标变为原来的1/w倍 ,纵坐标不变 这句话中,为什么y=sin x三角函数图像变换问题例谈三角函数图象变换的顺序:三角函数图像

2024年7月10日 05:05

asp是什么意思汽车(乘龙车asp故障是什么)

asp是什么意思汽车(乘龙车asp故障是什么)

各位老铁们,大家好,今天由我来为大家分享asp是什么意思汽车,以及乘龙车asp故障是什么的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录乘龙车asp

2024年8月21日 08:35

c语言在线菜鸟工具(我是计算机菜鸟一枚,想问下学习C语言用什么软件OR编译器)

c语言在线菜鸟工具(我是计算机菜鸟一枚,想问下学习C语言用什么软件OR编译器)

本文目录我是计算机菜鸟一枚,想问下学习C语言用什么软件OR编译器c语言菜鸟 怎么做哦急求电脑高手,菜鸟初学者C语言用什么软件最好,到哪下载怎么用,具体点c语言菜鸟在线求助!!!菜鸟初学c语言 用什么软件好我是计算机菜鸟一枚,想问下学习C语言

2024年7月15日 03:19

扬州php程序员(PHP程序员是做什么的)

扬州php程序员(PHP程序员是做什么的)

本文目录PHP程序员是做什么的PHP程序员一般工作是长期工还是短工有做过相关工作的人给于处在迷茫中的人一点指引PHP程序员是做什么的1、负责协助技术总监进行技术评测,bug处理,代码开发;2、负责网站数据库、栏目、程序模块的设计与开发;3、

2024年6月14日 16:02

damage的形容词(damage是什么意思)

damage的形容词(damage是什么意思)

本文目录damage是什么意思求destroy的形容词形式,还有它和damage的区别hurt,injure,harm,destroy,damage都是伤害的意思有什么区别“对造成伤害“英语怎么写damage可数吗damage是什么意思一、

2023年9月28日 00:00

青春期厌学症舍曲林治疗(高中生抑郁症突然不想上学怎么办)

青春期厌学症舍曲林治疗(高中生抑郁症突然不想上学怎么办)

本文目录高中生抑郁症突然不想上学怎么办孩子因为厌学怎么治疗高中生抑郁症不想上学怎么办厌学症的表现及治疗盐酸舍曲林片和富马酸唑硫平片是不是可以治疗青春期焦高中生抑郁症突然不想上学怎么办首先应该与老师父母沟通,寻求帮助。其次如果没有效果,去找心

2024年6月17日 18:10

android studio app开发(怎么用android studio开发出漂亮的app)

android studio app开发(怎么用android studio开发出漂亮的app)

本文目录怎么用android studio开发出漂亮的app如何使用android studio开发如何用android studio开发绘图appandroid studio开发app代码要自己写吗怎么用android studio开发出

2024年6月25日 03:53

mpvue小程序(微信小程序--mpvue获取用户权限open-type=“getUserInfo“)

mpvue小程序(微信小程序--mpvue获取用户权限open-type=“getUserInfo“)

本文目录微信小程序--mpvue获取用户权限open-type=“getUserInfo“mpvue 同时开发和打包成H5和微信小程序mpvue,uni-app开发微信小程序遇到的坑,直接在组件上写样式失效微信小程序--mpvue获取用户权

2024年4月4日 06:36

开源代码库网站(求好用的计算机代码网站)

开源代码库网站(求好用的计算机代码网站)

本文目录求好用的计算机代码网站软件 java 项目 源代码,哪个网站有提供下载的,大家去哪里找python的开源项目哪个网站是免费提供代码的开源代码网站都有哪些求好用的计算机代码网站以下是一些好用的计算机代码网站:1. Stack Over

2024年3月18日 14:50

telnet命令成功后的返回值(java代码访问telnet,并受到返回值)

telnet命令成功后的返回值(java代码访问telnet,并受到返回值)

本文目录java代码访问telnet,并受到返回值telnet命令怎样显示完整的返回结果是用telnet ip 端口号的方式查看端口开放情况,怎样通过返回值判断TELNET如何显示出完整的返回信息C# winform点击按钮执行telnet

2024年5月8日 16:20

properties of(properties of the constituents are retained这句话什么意思,retained在化学中是什么意思)

properties of(properties of the constituents are retained这句话什么意思,retained在化学中是什么意思)

本篇文章给大家谈谈properties of,以及properties of the constituents are retained这句话什么意思,retained在化学中是什么意思对应的知识点,文章可能有点长,但是希望大家可以阅读完,

2024年7月22日 01:05

r语言write函数(write 函数quote = f 是什么r语言)

r语言write函数(write 函数quote = f 是什么r语言)

“r语言write函数”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看r语言write函数(write 函数quote = f 是什么r语言)!本文目录write 函数quote = f 是什么r语言如何将R语言中的表格数据

2024年10月5日 15:45

openstack在官网怎么下(openstack horizon开发环境搭建运行run_tests报错No module named config)

openstack在官网怎么下(openstack horizon开发环境搭建运行run_tests报错No module named config)

本文目录openstack horizon开发环境搭建运行run_tests报错No module named config怎样调试OpenStack-Java怎样创建一个OpenStack官方账号openstack horizon开发环境

2024年7月7日 00:42

line是什么软件(什么是line)

line是什么软件(什么是line)

本文目录什么是lineLine作为聊天软件有什么长处谁用过LINE这个软件line是什么意思风靡韩国的line friends,它到底是什么东东美国人都用什么社交软件line APP是什么,怎么运用什么是linelinen. 排;线路;线条

2023年12月8日 20:00

tensorflow 图像识别(用什么硬件可以进行图像识别)

tensorflow 图像识别(用什么硬件可以进行图像识别)

大家好,如果您还对tensorflow 图像识别不太了解,没有关系,今天就由本站为大家分享tensorflow 图像识别的知识,包括用什么硬件可以进行图像识别的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录用什么硬

2024年9月3日 09:40

watch是什么意思译(look,watch,see在意思和用法上的区别是什么)

watch是什么意思译(look,watch,see在意思和用法上的区别是什么)

本文目录look,watch,see在意思和用法上的区别是什么watch是什么意思watch 翻译为手表时,复数加s,还是加eswatch的复数是什么watch是什么意思中文watch的英语翻译有几种watch的中文意思是什么watch翻译

2024年7月17日 09:07

string类提供的合法方法(如何理解String类型提供的subString方法 写一个可执行的例子)

string类提供的合法方法(如何理解String类型提供的subString方法 写一个可执行的例子)

本文目录如何理解String类型提供的subString方法 写一个可执行的例子string类字符的操作怎么写高手请进,关于string类列出string类的常用方法,需要说明方法的返回值类型,输入参数的类型及方法的作用如何理解String

2024年6月30日 05:05

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2342
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1736
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1168
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1164
标签列表

热门搜索