JavaEE 7技术一览

JavaEE 7提供了一个完整、全面、集成的堆栈来帮助你构建企业和Web应用程序。

JavaEE容器

主要就是JSF(JavaServer Faces)和EJB(Enterprise Java Bean)两大部分,JSF依赖于EJB,并且是重量级的,JSF使用了一大堆组件控制页面,跟Struts2的标签差不多;EJB目前做得不错,相比Spring,EJB完全不需要作任何配置,内部包含JPA规范,可以和Hibernate无缝接入,但是学习曲线依然很大,并且对服务器有要求,用tomcat做服务器还需要和JBoss搭配,新手学习可以使用Glassfish。

WEB容器

这部分内容比较多,JavaEE 7新添加的为下图棕黄色的部分,即WebSocket、Concurrency Utilities、Batch、JSON-P,新添加部分主要是为HTML5提供更好的伸缩性,这些Spring都有,不知是否是借鉴Spring的部分功能。技术虽然很多,其实都有JSR白皮书规约的,有些已经有最终定稿,有些还处于草案和不断修改阶段(其实也没有最终定稿,而是处于维护阶段)。

下面说说一些常见的概念术语:

JWS:即Java Web Service,指与webservice相关的JavaEE技术部分,webservice是一种基于XML的独立的、独立的应用程序,XML又包含XSD、DTD、XPath等相关技术,这个撇开不说。webservice平台元素主要有SOAP(简易对象访问协议)、UDDI(通用描述、发现及整理)、WSDL(WS描述语言)。

JAX:即Java Xml,类似地JAXB(Java Xml Binding)

目前JWS主要有:

  1. JAX-WS 全称JavaTM API forXML-Based Web Services 又叫JAX-RPC,顾名思义就是基于Web Services
  2. JAX-RS 全称JavaTM API forRESTful Web Services 即使用REST风格
  3. JAXB
  4. JAXR
  5. SAAJ
  6. STAX

网上说关于JAX-WS与JAX-RS有这么说的: 两者是不同风格的SOA架构。前者以动词为中心,指定的是每次执行函数。而后者以名词为中心,每次执行的时候指的是资源。

感觉这个说法比较靠谱,JAX-WS是面向消息的,每次请求的时候指定了请求的方法。JAX-RS是面向资源的。后则将网络上的东西当做一种资源,每次请求都是对该资源进行操作,比如对资源的增删查改。

关于REST风格,在JAX-RS之前就已经出现,最早的出现的是Restlet、RestEasy框架,后来是Jersey,并且现在Oracle的Glassfish使用的就是Jersey,相对来说Restlet功能齐全、组件膨大,页面和模版技术丰富,由于出现比较早,导致Restlet发展了自己的一套MVC技术,Jersey也是一套JAX-RS产品,内部提供了好几套容器和服务器,大致有grizzly2、JDK-http、simple-http、Jetty这几种。Jersey的MVC和Spring MVC有点类似(如其说是类似,简直就是一模一样),只是只有Jsp和Freemarker两种视图技术。

CDI:即Contexts Dependency Injection,和Spring的IOC差不多的东西,就是可以在组件中通过注解注入上下文、请求和响应等。

JTA:即Java Transaction API,使用过Hibernate和EJB的应该知道,就是事务处理,JTA依赖于所处的容器,如果不是分布式开发的话,我们一般使用本地事务,即是数据库本身的事务处理。

JPA:即Java Persistence API,就是最常用的持久化技术,原本属于EJB中的部分,EJB3.0之后分离出来,作为一个独立的规范。作为一种ORM技术,JPA提供了基本的统一标准,现在JPA的草案处于维护阶段,对应的Hibernate框架的某些版本也处于Final版本。

JMS:即Java Message Service,和JDBC类似,提供了一个统一的API供其他厂商实现,主要用于客户机信息的交互,JMS主要有点到点和订阅/发布两种方式。

另外,像Java Mail、JSTL、JSP等这些再熟悉不过的就不说了。

下面列出一些常用的技术缩写:

EJB:  Enterprise  JavaBeans  企业JavaBean组件  
IDL:    Interface  Definition  Language  接口定义语言  
J2EE  CA:J2EE Connector Architecture J2EE 连接器架构
JAAS  :   The Java Authentication and Authorization Service  java认证授权服务
JACC: Java Authorization Contract with the Container??Java容器授权合约
JATMI:Java Application-to-Transaction Monitor Interface?Java 应用-事务监控接口
JBI   :   Java Business Integration Java业务集成
JCA   :  J2EE Connector Architecture Java连接器架构
JCP   :  Java Community Process Java组织
JDBC : Java Database Connectivity
JDO   :Java Data Objects
JDK:?Java Development Kit
JEMS : JBoss Enterprise Middleware Suite Jboss企业中间件
JMS :   Java Messaging Service Java消息服务
JMX   :Java Management extensions Java管理扩展
JNDI  : Java Naming and Directory Interface Java命名与目录借口服务
JPDA:  Java Platform Debugger Architecture??Java平台调试器架构
JRMP:Java Remote Message Protocol
JSP:   Java Server Page
JSTL: Java Standard Tag Library Java 标准标签库
JTS:   Java  Transaction  Service  Java事务服务
JTA :    Java Transaction API Java事务API
JVM  :  Java Virtual Machine Java虚拟机
MVC:   Model-View-Control
NIC:   Network Interface Card
O/R:   Object-Relational
OTS:   Object Transactional Services
PKI:   Public Key Infrastructure
POJO:  Plain Old Java Object
RMI:   Remote  Method  Invocation  远程方法调用

RMI/IIOP:RMI protocol over IIOP

EJB分为三种:  
Session  Bean(会话BEAN)  
Entity  Bean(实体BEAN)  
Message  Driver  Bean(消息驱动BEAN)

Session  Bean分为两种:  
Stateless  Session  Bean(无状态会话Bean)  
Statefull  Session  Bean(有状态会话Bean)

Entity  Bean分为两种:  
CMP:  Container  Manager  Persistence(容器管理持久性)
BMP:  Bean  Manager  Persistence(Bean管理持久性)

其他缩写名词:  
BPEL  :   Business Process Execution Language 业务流程执行语言
BPM   :   Business Process Management 业务流程管理
DAO   :  Database  Access  Object  数据库访问对象  
DOM  :   Document Object Model  文档对象模型
DTD :     Document Type Definition  文档类型定义
DTO   :  Data  Transport  Object  数据传输对象  
ESB :     EnterpriseService Bus 企业服务总线
POJO :  Proterozoic  Java  Object  Java原生对象  
SAAJ:   SOAP with Attachments API for JavaTM  Java 的带附件的SOAP API
SAX :    Simple API for XML Parsing XML解析处理简单API
SAML:    Security Assertions markup Language
SGML  :  Standard Generalized Markup Language  SAML(Security Assertion Markup Language ):安全断言标记语言
SLA:      Service Level Agreement服务级别协议
SNMP:    Simple Network Management Protocol:简单网络管理协议
SOA :    Service Oriented Architecture
SOAP:    Simple Object Access Protocol
SPENGO:Simple and Protected GSS-API Negotiation Mechanism 简单和受保护的GSS-API协商机制
SPI:     * *Service Provider Interface ):服务提供模块接口
SSL:     Secure Socket Layer):安全套接字层
SSO:     Single Sign-on):单点登录
SSPI:    Security Service Provider Interface):安全服务提供模块接口
StAX:    Streaming API for XML):XML 的流化API
UDDI:    Universal Description,Discovery,and Integration
VO   :    Value  Object  值对象  
WFMS:  workflow management system
WSDL:   Web Service Description Language
WSEE:  *Web Services Enterprise Edition
WSRP:  *OASIS Web Service for Remote Portlets
XA:      * *Extended Architecture 扩展架构
XACML:  XML Access Control Markup Language ):XML 访问控制标记语言
XSLT:   XML Stylesheet Language for Transformations

说明

严格来说,Java EE还有EJB容器和客户端容器。其中,EJB容器没有Servlet,客户端容器(Application Client Container)没有Servlet和持久化。

时间: 2024-10-08 03:57:53

JavaEE 7技术一览的相关文章

iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览

[iOS]iOS9 3DTouch.ShortcutItem.Peek And Pop技术一览 3DTouch UITouch类里API的变化 iOS9中添加的属性 altitudeAngle 当笔平行于平面时,该值为0 当笔垂直于平面时,该值为Pi / 2 estimatedProperties 当前触摸对象估计的触摸特性 返回值是UITouchPropertyies updatedProperties 当前触摸对象已经更新的触摸特性 返回值是UITouchPropertyies estima

《Spark大数据分析:核心概念、技术及实践》大数据技术一览

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问云栖社区"华章计算机"公众号查看. 大数据技术一览 我们正处在大数据时代.数据不仅是任何组织的命脉,而且在指数级增长.今天所产生的数据比过去几年所产生的数据大好几个数量级.挑战在于如何从数据中获取商业价值.这就是大数据相关技术想要解决的问题.因此,大数据已成为过去几年最热门的技术趋势之一.一些非常活跃的开源项目都

高并发访问和海量数据 大型网站架构技术一览

高并发访问和海量数据 大型网站架构技术一览 林涛 发表于:2016-4-19 12:12 分类:WebServer 标签:并发,海量数据,高并发 44次 大型网站的挑战主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手.大型网站架构主要就是解决这类问题. 本文内容大部分来自<大型网站技术架构>,这本书很值得一看,强烈推荐. 1.前端架构 前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容

大型网站架构技术一览

网站系统架构层次:前端架构.应用层架构.服务层架构.存储层架构.后台架构.数据采集与监控.安全架构.数据中心机房架构. 1.前端架构(浏览器优化技术.CDN.动静分离,静态资源独立部署.图片服务.反向代理.DNS)前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容. 浏览器优化技术并不是优化浏览器,而是通过优化响应页面,加快浏览器页面的加载和显示,常用的有页面缓存.合并HTTP减少请求次数.使用页面压缩等. CDN内容分发网络,部署在网络运营商机房,通过将静态

【系统架构】 大型网站架构技术一览

本文地址 原文地址 对于大型网站技术的理解,可以从架构技术原理的组织方式以架构要素作为维度,从系统性能.可用性.伸缩性.扩展性.安全性几个角度阐述网站架构的技术要点.还有另一种较为直观的组织方式,是从不同架构层次所使用的网站架构技术这个维度进行描述的. 网站系统架构层次如下图所示: 这个网站架构层次,共分为8个层次,其中数据库中心机房架构是上面所有架构的物理基础:安全架构和数据库采集监控架构是贯穿在各个层次的重要保障,这两个架构主要解决五个业务相关层次的安全问题和数据采集监控问题,是一直都需要关

数据中心核心网络技术一览

主机内二层转发(即服务器内虚机间转发) 基于本地软件交换机交换 VMWare 方案,通过服务器上软件交换机(如 Linux 网桥.OpenvSwitch)来实现.主要问题是对服务器性能有消耗. 802.1Qbh BPE(Bridging Port Extend) 已终止.Cisco 主导,数据层面为 PE(Port Extender). 802.1BR Cisco 主导,将交换放在外部交换机,用 tag 来区分 vm 流量. Cisco VN-Tag Cisco 私有技术, 802.1Qbg E

域名到站点的负载均衡技术一览(主要是探讨一台Nginx抵御大并发的解决方案)(转)

继上一篇文章Http://www.cnblogs.com/EasonJim/p/7807794.html中说到的,Nginx虽然很强大,但是面对大并发时,一台Nginx总是有限的.即使后端有多台Nginx组成的集群时,前端毕竟只有一台Nginx,资源往往有限. 下面将介绍应对这样的情况应该有的解决方案,其实原理就是集群,使用的是LVS. 我猜测和简单的理解(观点虽然是错的,但是好理解,如果要深入原理远没有这么简单):为什么LVS的集群能够抵御这么大的并发,一切都出在VIP上,首先依托LVS的负载

第22讲 | 国内区块链项目技术一览

区块链的深入技术篇写到了现在,我们已经一起看过了很多国外区块链项目的技术逻辑.实际上,国内的优质区块链项目其实也不少,并且势头很足,不容小觑. 我在前面的文章中介绍过国内的几个区块链项目,不过仅从发展的角度做了一个简要概述,并没有进行深入探讨,今天我们就重点来看一看这些项目的设计思路与技术特点. 小蚁NEO 1.简介 我们以前讲到过,NEO的前身是小蚁,小蚁最早在2015年发起,它在2017年中正式更名为NEO. NEO项目一共经历过两次ICO,第一次ICO是项目创立,第二次ICO是项目更名后的

常用解决方案技术一览

1.Redis Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使用磁盘仅用于持久性. 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型. Redis可以将数据复制到任意数量的从服务器. Redis 优势 异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录. 支持丰富的数据类型:Redis支持最大多数开发人员已经知道