J2EE技术架构
- 格式:doc
- 大小:75.00 KB
- 文档页数:5
J2EE的体系架构——J2EEJ2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition),它的核⼼是⼀组技术规范与指南,提供基于组件的⽅式来设计、开发、组装和部署企业应⽤。
J2EE使⽤多层分布式的应⽤模型。
J2EE分层:客户层,执⾏在客户计算机上的组件,⽤户与系统的接⼝逻辑,通过http协议的来訪问应⽤server。
表⽰层,执⾏在J2EEserver上的组件,通过与业务逻辑层互动。
将⽤户须要的数据以适当的⽅式输出。
业务逻辑层,相同是执⾏在J2EEserver上的组件。
企业信息系统层(EIS),是指执⾏在EISserver上的软件系统。
以上层次⼀般也指三层应⽤,也就是客户层+J2EE应⽤服务层+企业信息系统层。
分布在三个不同位置:客户计算机、J2EEserver及后台的数据库或过去遗留下来的系统。
客户层Web浏览器也称Webclient,以标准格式来显⽰从server传递过来的⽹页,它们传递给浏览器时已经是HTML或者XML格式,浏览器正确的显⽰给⽤户。
⼩应⽤程序(Applet)是嵌在浏览器中的⼀种轻量级client。
当web页⾯不能充分的表现数据或者应⽤界⾯的时候,才使⽤它,Applet是⼀种替代web页⾯的⼿段。
可以使⽤J2SE开发Applet。
Applet⽆法使⽤J2EE中的各种Service和API。
须要执⾏在client安装了Java虚拟机的Web浏览器上。
应⽤程序clientJ2EE应⽤程序client相对Applet⽽⾔。
是⼀个较重量级的client,可以使⽤⼤多数的服务和API,它执⾏在客户机上,能提供强⼤⽽灵活易⽤的⽤户界⾯,如使⽤Swing或AWT创建的图形化的⽤户界⾯(GUI)。
当然。
应⽤程序可直接訪问执⾏在业务层的Bean,假设需求同意。
也可以打开HTTP连接,建⽴与执⾏在Web层上的Servlet之间的通讯。
J2EE应⽤server两⼤容器EJB容器+Web容器,即业务逻辑层+表⽰层Web容器管理全部的Servlet等Web组件的执⾏。
J2EE的层次和组成J2EE的层次和组成J2EE组件和“标准的” Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。
以下是关于J2EE的层次和组成,欢迎大家参考!目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。
J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML 技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。
事实上,sun 设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议??通常是某种数据库协议。
附录附录一:文献资料原文J2EE WEB应用架构分析1、架构概述J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术。
这些技术的出现给电子商务时代的WEB应用程序的开发提供了一个非常有竞争力的选择。
怎样把这些技术组合起来形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。
完成这个步骤可以形成一个主要里程碑基线。
形成这个基线有很多好处:各种因数初步确定:为了形成架构基线,架构设计师要对平台(体系)中的技术进行筛选,各种利弊的权衡。
往往架构设计师在这个过程中要阅读大量的技术资料,听取项目组成员的建议,考虑领域专家的需求,考虑赞助商成本(包括开发成本和运行维护成本)限额。
一旦架构设计经过评审,这些因数初步地就有了在整个项目过程中的对项目起多大作用的定位。
定向技术培训:一旦架构师设计的架构得到了批准形成了基线,项目开发和运行所采用的技术基本确定下来了。
众多的项目经理都会对预备项目组成员的技术功底感到担心;他们需要培训部门提供培训,但就架构师面对的技术海洋,项目经理根本就提不出明确的技术培训需求。
怎不能够对体系中所有技术都进行培训吧!有了架构里程碑基线,项目经理能确定这个项目开发会采用什么技术,这是提出培训需求应该是最精确的。
不过在实际项目开发中,技术培训可以在基线确定之前与架构设计并发进行。
角色分工:有了一个好的架构蓝图,我们就能准确划分工作。
如网页设计,JSP 标签处理类设计,SERVLET 设计,session bean设计,还有各种实现。
这些任务在架构蓝图上都可以清晰地标出位置,使得项目组成员能很好地定位自己的任务。
一个好的架构蓝图同时也能规范化任务,能很好地把任务划分为几类,在同一类中的任务的工作量和性质相同或相似。
这样工作量估计起来有一个非常好的基础。
运行维护:前面说过各个任务在架构图上都有比较好的定位。
J2EE门户网站系统的技术架构介绍1.1J2EE 门户网站系统的技术架构介绍1、政府门户网站技术架构考虑到政府门户建设的现在和发展需求,系统应用平台具备跨平台、支持多种数据库环境的能力,采用组件化设计方式,易于扩展和维护。
(1)门户网站建设和一般网站建设相比较,具有如下特点1)信息量大,信息更新及时性要求高,访问量大;2)对改版的要求迫切,系统易用性、稳定性要求高;3)采、编、发流程可定制;4)宽带多媒体内容支持;(2)从逻辑体系架构来看,办公信息系统分为多个层次1)用户层:与系统连接的外部实体。
用户通过浏览器访问管理信息系统。
具有交互功能,进行填写信息、提交请求的操作,请求结果返回在客户端显示。
2)权限控制层:按照用户管理和权限控制列表,审核用户的合法性和访问权限,保证系统和信息安全。
用户个性化界面控制。
3)表示层:对最终用户提供友好的界面,更好地为系统用户提供优质服务。
4)信息接入层:这层中的Web服务器用于对外提供基本的静态信息传递服务,向后台应用服务器提供客户请求信息并接收返回的信息。
5)应用层:完成业务的逻辑控制和流程处理,进行初步的应用安全控制和权限检查,记录原始的交易日志,进行交易的存储转发等。
对外提供应用服务器、数据服务器逻辑功能,由运行在应用服务器上各个子系统完成。
比如:目录服务器用于支持轻量级目录访问传输协议(LDAP)目录服务。
6)据访问层:采用统一的方法访问后台数据。
这层中的数据库系统用于结构化信息的存储和处理,是系统的数据核心。
邮件服务器用于提供系统的邮件支持。
7)系统层:提供应用系统的运行环境平台和对硬件系统的管理操作。
8)硬件层:提供整个系统的硬件平台。
确保系统正常运行。
(3)平台技术体系架构应用支撑平台采用先进的、流行的三(多)层技术体系架构,分别为:用户层、业务逻辑层、数据存储层,如下图所示:1)用户界面层:通过用户权限和信息权限过滤后,统一用户界面显示,接收用户界面操作和查询请求,将业务逻辑处理后的数据生成用户界面。
EE开发的框架我们对Java EE的框架有过很多介绍,本文将对Java EE中常用的四个框架做一下系统的归纳,希望大家喜欢。
StrutsStruts是一个基于Sun Java EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。
Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关:1、模型(Model),本质上来说在Struts中Model是一个Action类(这个会在后面详细讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts-config.xml文件描述的配置信息的。
2、视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面。
3、控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类。
4、一堆用来做XML文件解析的工具包,Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息的(这样一来就实现了应用系统的多语言支持)。
SpringSpring是轻量级的Java EE应用程序框架。
Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spring的目标是实现一个全方位的整合框架,在Spring 框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Spring希望提供one-stop shop的框架整合方案。
Spring不会特別去提出一些子框架来与现有的OpenSource框架竞争,除非它觉得所提出的框架夠新夠好,例如Spring有自己的MVC框架方案,因为它觉得现有的MVC方案有很多可以改进的地方,但它不强迫您使用它提供的方案,您可以选用您所希望的框架来取代其子框架,例如您仍可以在Spring中整合您的Struts框架。
j2ee技术体系架构j2ee技术体系架构J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
下面是店铺整理的关于j2ee技术体系架构,欢迎大家参考!SOA 是一种分布式的软件模型。
SOA 的主要组件包括服务、动态发现和消息。
服务是能够通过网络访问的可调用例程。
服务公开了一个接口契约,它定义了服务的行为以及接受和返回的消息。
术语服务常与术语提供者互换使用,后者专门用于表示提供服务的实体。
接口通常在公共注册中心或者目录中发布,并在那里按照所提供的不同服务进行分类,就像电话簿黄页中列出的企业和电话号码一样。
客户(服务消费者)能够根据不同的分类特征通过动态查询服务来查找特定的服务。
这个过程被称为服务的动态发现。
服务消费者或者客户通过消息来消费服务。
因为接口契约是独立于平台和语言的,消息通常用符合 XML 模式的 XML 文档来构造。
Web 服务作为 SOAWeb 服务建立在开放标准和独立于平台的协议的基础之上。
Web 服务通过 HTTP 使用 SOAP(一种基于 XML 的协议),以便在服务提供者和消费者之间进行通信。
服务通过 WSDL(Web Service Definition Language)定义的接口来公开,WSDL 的语义用 XML 定义。
UDDI 是一种语言无关的协议,用于和注册中心进行交互以及查找服务。
所有这些特性都使得 Web 服务成为开发 SOA 应用程序的优秀选择。
使用 J2EE 1.4 平台开发 SOA/Web 服务框架1.4 版的 J2EE 平台通过新的 JAX-RPC 1.1 API 提供了完整的 Web 服务支持,这种 API 支持基于 servlet 和企业 bean 的服务端点。
JAX-RPC 1.1 基于 WSDL 和 SOAP 协议提供了与 Web 服务的互操作性。
J2EE 1.4 平台也支持 Web Services for J2EE 规范(JSR 921),后者定义了Web 服务的'部署需求并利用了JAX-RPC 编程模型。
J2EE技术架构《KINGOSOFT高校数字校园综合管理平台》采用先进的J2EE技术架构,基于多层软件构架(即客户层、表示层、业务层、集成层和资源层),采用面向服务的思想、使用WebService和XML等技术整合与集成各种应用系统,能够为高校数字校园建设提供先进实用、安全可靠、便于兼容、易于扩展的应用解决方案。
技术架构如下:J2EE(Java 2 Platform Enterprise Edition)是Java2平台企业版。
J2EE是一套全然不同于传统应用开发的技术架构,包含大量组件,可简化且规范应用系统的开发与部署,进而提高可移植性、伸缩性、安全性与再用价值。
J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种遵循J2EE架构开发的软件存在良好的兼容性,解决过去使用的软件产品彼此之间无法兼容、导致内部或外部应用难以互通的窘境。
J2EE是使用JAVA技术开发企业级应用的一种事实上的工业标准,各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上,具有良好可移植性。
J2EE企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service与API。
J2EE容器与相应的组件可以部署在网络中的任一服务器上,具有良好的可伸缩性。
J2EE组件的安全是由各自的容器来负责的,组件的开发人员几乎可以不用或者很少在组件中添加有关安全的代码。
这种安全逻辑和业务逻辑相对独立的架构,使得企业级应用系统有更好的灵活性和扩展性。
J2EE是以企业与企业之间的运算为导向的JAVA开发环境。
J2EE架构定义各类不同组件,如WEB组件、E JB组件等,而各类组件可以复用,可以组装成不同的系统。
客户层是整个架构的最上层,主要用于将操作界面呈现给用户、建立与服务器的连接、接收并验证用户的输入、管理客户端与服务器的会话状态。
客户层分为浏览器客户端和桌面应用客户端。
浏览器客户端使用HTML、CSS、JavaScript与AJAX等技术实现;桌面应用客户端使用PowerBuilder集成开发环境实现。
1、HTML(Hyper Text Mark-up Language):即超文本标记语言,是WWW的描述语言,是一种简单、通用的全置标记语言。
HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。
HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
2、CSS(Cascading Style Sheets):即层叠样式表,是一种标记语言,它不需要编译,可以直接由浏览器执行。
在标准网页设计中CSS负责网页内容的表现。
3、JavaScript:是一种由Netscape的LiveScript发展而来的脚本语言,JavaScript使网页增加互动性。
JavaScript使有规律地重复的HTML文段简化,减少下载时间。
JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI(Common Gateway Interface)验证。
4、AJAX(Asynchronous JavaScript and XML):即异步JavaScript和XML,是指一种创建交互式网页应用的综合开发技术;涉及到:AJAX的定义,基于WEB标准的XHTML+CSS表示,使用DOM(Document Object Model)进行动态显示及交互,使用XML和XSLT(Extensible Stylesheet Language Transformations)进行数据交换及相关操作,使用XMLHttpRequest进行异步数据查询、检索,使用JavaScript进行绑定。
表示层是整个架构中最活跃的分层,由WEB服务器及其组件构成,主要用于处理客户端的请求、响应业务层组件的请求。
表示层引入了基于组件开发的Struts开源框架,采用Servlet与XML等技术实现,具有良好的可伸缩性和稳定性,降低了系统开发的复杂度、提高了开发效率,支持所有的J2EE应用服务器(包括Apache Tomcat、JBoss Application Server、IBM WebSphere Application Server与BEA Weblogic Application Server等)。
1、Servlet:是使用Java Servlet应用程序开发接口(API)及相关类和方法的JAVA组件。
除了JAVA Servlet API,Servlet还可以使用用以扩展和添加到API的JAVA类软件包。
Servlet在启用JAVA的WEB服务器上或应用服务器上运行并扩展了该服务器的能力。
Java Servlet API定义了一个Servlet和JAVA服务器之间的一个标准接口,这使得Servlet具有跨服务器平台的特性。
2、XML(Extensible Markup Language):即扩展标记语言,是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以很方便地建立。
虽然XML文件比二进制数据占用的空间更多,但XML极其简单、很容易掌握和使用。
XML可以在任何应用程序中读写数据,这使得XML成为数据交换的唯一公共语言。
3、JSP(JavaServer Pages):是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(Tag),从而形成JSP文件(*.jsp)。
WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
JSP可以操作数据库、重新定向网页等,用于实现建立动态网页所需要的功能。
4、Struts:是一个MVC(Model View Controller)框架,用于快速开发JAVA WEB应用。
Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和开发人员定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。
Struts没有涉及M(Model),所以Struts可以调用JAVA实现的任何形式的业务逻辑组件。
5、Portal:是一种WEB应用,通常用来提供个性化、单点登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。
Portal由如下三个部分组成:(1) Portal Server:一个Portal Server就是指一个Web-based系统,通常都会提供个人化设置、单点登录、以及将各种不同来源的信息放在网页之中组合后呈现的功能,门户会根据个性化设置提供定制的网页,不同的使用者浏览页面将获得不同的内容。
(2) Portlet Container:是提供Portlet执行的环境,包含了许多Portlet并且管理其生命周期。
一个Portlet Con tainer接收到来自Portal的请求后,将这个请求传递给存在Container中的Portlet执行。
Portal Server和Portlet Container可以放在一起视为同一个系统的组件或者分开成为两个独立的组件。
(3) Portlet:Portlet是基于JAVA的WEB组件,由Portlet容器管理,并由容器处理请求,生成动态内容。
Po rtal使用Portlet作为可插拔的用户接口组件,提供信息系统的表示层。
6、JSR168(Java Standardization Request 168):定义了一个Portlet的规范,包括Portlet容器和Portlet之间的合约。
JSR168由JCP(Java Community Process)定义。
业务层是整个架构中最核心的分层,由应用服务器及其组件构成,主要用于处理业务逻辑。
业务层引入了基于组件开发的Spring开源框架,采用WebService与JavaBean等技术实现,具有良好的稳定性和可靠性,降低了系统开发复杂度、提高了开发效率,支持所有的J2EE应用服务器(包括JBoss Application Server、IBM WebSphere Application Server与BEA Weblogic Application Server)。
1、JavaBean:是一种JAVA语言写成的可重用组件,是一种JAVA类,通过封装属性和方法成为具有某种功能或者处理某个业务逻辑的对象,其他JAVA类可以通过自省机制发现和操作JavaBean的属性。
JavaBean具有以下特点:可以重复使用;易编写、易维护、易使用;可以在任何安装了JAVA运行环境的平台上的使用,而不需要重新编译。
2、EJB(Enterprise Java Beans):是企业级JavaBean,是JAVA的核心代码,用于开发基于组件的企业应用程序。
EJB包括Session Bean(会话Bean)、Entity Bean(实体Bean)和MessageDriven Bean(消息驱动Bean)。
(1) Session Bean用于实现业务逻辑,它可以是有状态的,也可以是无状态的。
每当接收到客户端请求时,容器就会选择一个Session Bean来为客户端服务。
Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。
(2) Entity Bean用于实现O/R(Object/Relationl)映射,负责将数据库中的表记录映射为内存中的Entity对象,创建一个Entity Bean对象相当于新增一条记录,删除一个Entity Bean会同时从数据库中删除相应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。
(3) MessageDriven Bean(MDB)用于接收客户端发送的JMS(Java Message Service)消息然后做相应的处理。
M DB实际上是一个异步的无状态Session Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处理客户请求。
MDB适用于需要异步处理请求的场合,避免客户端长时间的等待一个方法调用直到返回结果。
3、WebService:是建立可互操作的分布式应用程序的新平台,作为一套标准,它定义了应用程序如何在WE B上实现互操作性。