A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lilongbin2016 中级黑马   /  2016-12-10 21:42  /  1215 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

JavaEE容器

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

Description of Figure 1-6 follows

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主要有:

JAX-WS 全称JavaTM API forXML-Based Web Services 又叫JAX-RPC(远程调用),顾名思义就是基于Web Services
JAX-RS 全称JavaTM API forRESTful Web Services 即使用REST风格
JAXB
JAXR
SAAJ
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,JBoss就是EJB容器,所以开发时要和Tomcat(Servlet)搭配;客户端容器(Application Client Container)没有Servlet和持久化。

2 个回复

倒序浏览
谢谢楼主分享啊,厉害xue学习了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报 1 0
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马