设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
什么是J2ee?
返回列表
发新帖
什么是J2ee?
[复制链接]
11
|
0
|
2007-9-12 08:40:45
|
显示全部楼层
|
阅读模式
2EE Java2平台企业版(Java 2 Platform,Enterprise Edition) J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。
在J2EE架构下,开发人员可依循规范基础,进而开发企业级应用;而不同J2EE供货商,同会支持不同J2EE版本内所拟定的标准,以确保不同J2EE平台与产品之间的兼容性。换言之,植基J2EE架构的应用系统,基本上可部署在不同的应用服务器之上,无需或者只须要进行少量的代码修改,即能大幅提高应用系统的可移植性(Portability)。J2EE主由升阳与IBM等厂商协同业界共同拟定而成的技术规范,以企业与企业之间的运算为导向的JAVA开发环境。J2EE架构定义各类不同组件,如 Web Component、EJB Component…等,而各类组件可以再用(reuse),让已开发完成的组件,或者是经由市面采购而得的组件,均能进一步组装成不同的系统。对于开发人员而言,只需要专注于各种应用系统的商业逻辑与架构设计,至于底层繁琐的程序撰写工作,可搭配不同的开发平台,以让应用系统的开发与部署效率大幅提升。
J2EE的核心规范是 Enterprise Java Beans(EJBs)。EJB依照特性的不同,目前共分为三种,分别是Session Bean、Entity Bean,以及 Message Driven Bean 。其中 Session Bean 与Entity Bean 算是EJB的始祖,这两种EJB规格在EJB 1.x版本推出时就已经存在,而Message Driven Bean则是出现在EJB 2.0的规格之中。目前业界许多程序设计师,或者是网页设计人员,多利用JSP/Servlet的便利性,进而在J2EE服务器之上开发相关的应用,或是整合公司内部的各种资源。
Java 2平台依照应用领域的不同,共分为三大版本,分别是J2EE、标准版本J2SE(Java 2 Platform, Standard Edition)、微型版本J2ME(Java 2 Platform, Micro Edition),以及Java Card等。从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。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组成了一个完整企业级应用的不同部分纳入不同的容器(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来完成数据库存取事务。图3 J2EE应用示例然后使用JSP/Servlet来实现应用的Web表现:在线产品目录浏览和在线定购。为了将产品目录发送给特定的交易市场,使用JMS实现异步的基于消息的产品目录传输。为了使得更多的其它外部交易市场能够集成产品目录和定购业务,需要使用Web Services技术包装商业逻辑的实现。由于产品定购管理需要由公司内部雇员进行处理,因此需要集成公司内部的用户系统和访问控制服务以方便雇员的使用,使用JACC集成内部的访问控制服务,使用JNDI集成内部的用户目录,并使用JAAS进行访问控制。由于产品订购事务会触发后续的企业ERP系统的相关操作(包括仓储、财务、生产等),需要使用JCA连接企业ERP。最后为了将这个应用纳入到企业整体的系统管理体系中去,使用Application Client架构了一个管理客户端(与其它企业应用管理应用部署在一台机器上),并通过JMX管理这个企业应用。参考资料:http://baike.baidu.com/view/1507.htm
已赞过
已踩过<
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
极难破解打开100门第24关的破解方法
2
1155针脚主板哪个芯片组好
3
下载app的时候一直出现无法使用此apple ID进行更新 但我从来都没有下载过那个软件
4
腿部无力,类似于发烧时候的状态。量体温正常的。持续9天了,外出走动。没有这种症状。这是怎么回事?
5
联通维修员迟迟不肯上门维修,打电话给客服说,两个工作日到,现在一个星期了,还没上门。打电话给维修员
6
人在火化时照片为什么要反过来
7
装过酒的瓶子,过了一段时间,也洗过,但还是有酒味。可以装汽油吗?
8
广交会兼职
9
谁给我推荐一本小说,并给我分享一下
10
为什么云南昆明市东川区那么热啊
11
中华人民共和国译英文是
12
皮肤黑色素的问题可以好吗?
13
请懂中医的朋友帮我看看
14
如果你有一个这样的表哥
15
如何解觉白发问题安全
16
我原本下载了国服dota2,昨天下载了steam,为什么今天早晨一点开国服dota2就会出现steam的界面?
17
“已知点P(3,-2),M(-5,7),N(7,-6.5)判断这三点的位置关系
18
女友和我分了,现在她说我们还可以做情人,呵呵,我应该答应吗,我应该陪他继续玩下去吗?她很随便
19
约翰洛克的《letters on the English》翻成中文是什么书?
20
我要民间小调《十二月探妹》的歌词
21
麦迪格积分兑换的会说话护眼灯,可以花钱买吗?
22
三国杀模板
23
我是天津的高职生学的会计电算化如果专升本的话要考几门呀
24
小儿打阿奇后嘴唇出现血丝是什么情况
25
为什么我在按摩头的时候,有些地方同手指按着会很疼?
26
304是双相不锈钢吗?
27
M70X3内螺纹底径是多少
28
中国银行信用卡审批
29
oracle 12 C 连接 pl/sql
30
wifi万能钥匙有什么用???感觉没屁用!!没连上过一次!!!
31
这样的电脑配置 我应该买零件 CPU 显卡那些自己组装还是 直接买个装好的主机呢?
32
下列句子节奏划分有误的一项是? A:温故/而知新,可以/为师矣。B:陈太丘/与友/期行,期/日中。
33
单片机怎么学 完全不懂啊
34
唱歌的刘十万刘德华是不是脸上打针打多了还是整容残了失败了?
35
孔子是个什么样的人!
36
对方起诉了法院先给调解吗
37
手指和手腕都伸不直'有啥东西可以帮助伸直吗'出车祸弄的'十年了
38
10月10日没懂生物5,已知分泌蛋白的新生肽链上有一段可以引导其进入内质网的特殊序列(图中P肽段
39
淮南师范大学文科体育生分数线多少
40
如何攻略天蝎男?本人天蝎女
41
绍兴北站有到北京西的火车票吗
42
请问有哪位大侠知道如何制造魔兽世界的视频吗,或者发个教程链接也行,要详细点的
43
在深圳龙岗考驾照需要多少钱有什么要求时间多长(我在龙东社区)哪里好一点
44
找一起创业武汉的这难吗?
45
这是我写的一段英文,有没有文法错误 和可以怎么改善呢?3
46
刑事诉讼法有关规定
47
名侦探柯南国语731这个星期会更新吗
48
趁S4快到了,故意输S3的排位胜率,S4会重定位吗?
49
预产期过了九天见红了是不是要生的前兆
50
招商银行北京分行西三环支行的行号是多少?急求!!!
51
谁能发我一份婚庆视频的开头视频?
52
设计顾问服务合同
53
请问4个月大的孩子能喂点什么: 孩子鼻子老是不通气: 有点咳嗽: 但是不发热:
54
你是大神啊,我去下载速度真的上去了,多谢。
55
5035226537200这是单号 到哪了 跪求!!!
56
现在招商银行代发几个月工资就可以申请信用卡了?具体点 谢谢
57
联通预存话费3432选靓号,分12月返还,每月返还的286,同时用的苹果5联通286月租合约机,合
58
假若你的同学在困难和挫折面前,感到垂头丧气,你会对他(她)说:
59
cadence ,MTG300_600安装孔的封装是怎么建立的?是在于博士视频27讲里用到的一个封装。
60
我的手好看不!戒指漂亮不,呵……
61
我iTunes帐号里面有几十块钱,以前都可以进行游戏得内购,不知道什么时候开始内购不了了,每个游戏
62
关于户口本分户的问题
63
公务员考试中汉语言文学类相关专业的有哪些?文秘类包括在内吗?
64
为什么每台电脑应用上面都会有个向上的箭头
65
什么是增管协文(麻烦各位仁兄仁弟仁姐仁妹,帮帮忙,分少了我会在加) 要求:关于学校方面的内容
66
你好,律师,我想帮朋友咨询一下关于争取孩子抚养权的事。
67
flash as3请问二次函数上的两个点拖动怎么弄,方便写个代码好吗?
68
左边牙齿用力咬,左边耳朵下面就会痛,嘴张大也会,右边牙齿咬下去就没事,就耳丁下面的那个地方,没有感
69
如何才能找到那个合适的另一半?
70
中山大学土木工程和厦门大学土木工程相比,哪个更好,具体!高手解答
71
男人生殖器上有天生长疙瘩的吗
72
高精度SF6气体检漏仪的主要用途是什么
73
求查询圆通快递物流信息,2601622334
74
有没有那家银行可以只开一个帐户,却可以同时开俩个短信银行的。
75
塑胶产品中什么叫应力痕?有哪些解决方法?
76
我和他在一起快两年了,是情人关系,因为我一个信息他老婆发现了,现在她老婆和他天天在一起,他说过短时
77
高数求帮助~谢谢!!
78
我牵了网线,想用手机也能用免费的网络,怎么做尼,
79
快点快点
80
淘宝网最近只能打开首页,请问怎么能正常使用!
81
枯木不开花 青春不再来 转年有野客 来岁又添财是什么意思?
82
我是自学的本科生,没有本科学位证,可以考法律硕士吗?可以拿到学位证吗?
83
鹅经常咬自己的毛是为什么?怎么办? 帮忙解答
84
申请的信用卡没通过多久才可以再申请。
85
白兔有40一个,黑兔是白兔的四分之二,黑兔有多少只?
86
本来色彩就不好,可最近几天是越画越烂,看到那么丑一幅画,都画不下去了。怎么办?
87
症状是先头疼然后眼睛花,看不清,再然后恶心,呕吐。
88
怎样去痘最好,怎样预防长痘
89
我想了解现在国家对于社保缴费具体情况
90
游戏王黑羽卡组怎么打光子卡组?
91
请问小辣椒2的手机有几款呀?谢谢
92
蒙城县到南京的车下午车次的在南京哪个车站进站啊?
93
家居装潢产业最具影响力的装饰是?
94
除了花落随、倾尽天下、空蝉之恋!还要哪些歌?多多益善
95
郑州联通有没有预存话费送东西的,手机除外
96
有一部火影同人主角很厉害 里面前期有一只跟火影原注不一样的4尾妖兽..第一个女人是红豆
97
一首经典粤语歌中一有句叫:转眼不见君已去远 请问是什么歌
98
我的小米2S前几天摔地上,把触摸屏给摔碎了,小米之家说要触摸屏和显示屏一起换?
99
三星S4买了不到半个月,左上方屏幕翘起,有空隙,非人为的,可以换货么?
100
如果(a+b-1)(a+b-2)=0