java ee技术介绍_JavaEE 7技术介绍

J

avaEE 体系结构非常庞大,从javaEE 5到现在的javaEE 7,新特性层出不穷。如果把一些偏门技术算进去,如一些基于JVM平台的Grails、Scala,主流SSH框架,谷歌的GWT,BPM工作流的 JBPM、Activiti,Vaadin,OSGI,Apache组织一大堆协议组件和库,各种开源模版技术,各种搜索引擎,各种规则引擎等等,没有你 想不到的,只有你不知道的。尽管如此,JavaEE足以解决企业开发的所有问题。

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

JavaEE容器

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

0818b9ca8b590ca3270a3433284dd417.png

WEB容器

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

0818b9ca8b590ca3270a3433284dd417.png

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

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  接口定义语言

J2EECA:J2EE Connector Architecture J2EE 连接器架构

JAAS:   The Java Authentication and Authorization Service  java认证授权服务

JACC: Java Authorization Contract with the Container??Java容器授权合约

JATMI:JavaApplication-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 参考来源:http://www.open-open.com/lib/view/open1413641230622.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值