Java EE平台介绍(译)
Java EE平台介绍
2.1 企业应用总览
这一部分将对企业应用及其设计和开发进行简单介绍。
就像之前说的,Java EE 平台是为了帮助开发者开发大规模、多层次、可伸缩、服务可靠、网络安全的应用而设计的。对于这样的应用我们通常简称为企业应用。之所以这样叫,是因为这种应用都是为了解决大企业所遇到的实际问题而存在的。当然,企业应用不知对大规模企业,政府机构有意义,在这个高速发展的网络写作社会,它对于个人开发者及小型组织一样有着不可或缺的作用。
企业应用通常对安全性及可靠性有着较高的要求,这也使得它变得不可避免的复杂,Java EE平台则通过提供一套通用的开发模式,API,和运行时环境使得开发者能更加的专注于功能性的开发。
2.1.1 多层次应用
在一个多层次的应用中,应用的功能被分割为相对独立的多个不同的功能区域,我们称之为层。一般来说,一个多层次应用包含,客户端应用层、中间层以及后端的数据访问层(通常我们也称之为企业信息系统层)。客户端层包含一系列客户端程序,用于构建相应的客户请求到中间层;中间层则分为web层及业务逻辑层,分别用于处理客户请求及处理应用数据,并将其存储到后端数据持久存储层中。
Java EE 应用开发主要专注于中间层的开发,使得企业应用开发变得更简单,健壮和安全。
2.1.1.1 客户端层
客户端层包括一系列需要访问Java EE服务端应用的客户端应用,这两者通常部署在不同的服务器上,客户端层向服务端发送请求,服务端处理请求并返回处理结果。客户端可以是任何形式的程序,包后浏览器,独立的应用或者其它的服务端程序等,
2.1.1.2 Web层
Web层主要用于处理客户端层及业务逻辑层之间的交互:
为客户端层动态的生成不同格式需求的内容
收集客户端用户请求并返回业务逻辑层处理结果
控制客户端层展现
维护交互会话
执行一些简单的逻辑及存储一些临时性的数据
如下,列出列一些Java EE 应用中设计web层开发的技术。
- JSF
Java Web 应用程序的一个用户界面 (UI) 框架 https://netbeans.org/kb/docs/web/jsf20-intro_zh_CN.html
- 表达式语言
一系列交互式展现标签 https://docs.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html
- Servlets
Java 类,动态处理用户请求并返回结果,通常应用于HTML页面
- 上下文及依赖注入
2.1.1.3 业务逻辑层
业务逻辑层主是针对不同行业及领域存在的不同业务需求,相应的开发对应的业务处理功能,这也是一个企业应用的核心功能所在的地方。
业务逻辑层相关技术:
Enterprise JavaBeans (enterprise bean) components :EJB
JAX-RS RESTful web services
Java Persistence API entities
2.1.1.4 企业信息系统层
企业信息系统层(EIS) 包括数据库服务器,企业资源计划系统(ERP)及其它数据服务。数据通常是从企业应用的不同服务器上获取并被业务逻辑层进行处理的。
EIS 层相关技术:
The Java Database Connectivity API (JDBC)
The Java Persistence API
The Java EE Connector Architecture
The Java Transaction API (JTA)
.2 Java EE 服务器和容器
Java EE 服务器是实现了Java EE平台API并能提供标准Java EE服务的服务应用。 Java EE 服务器也通常被称为应用服务器, 如同web服务器向浏览器提供页面一样,它们可将应用的数据传递到客户端。
Java EE服务器以容器的方式运行应用的不同层次组件。使得不同组件之间能够协同作业。
2.2.1 Web容器
Web容器是web组件和web服务之间的联通接口。web可以是servlet,或者JSF页面,web容器负责维护web组件的生命周期,分发用户请求,提供上下文信息(例如当前请求数据)。
2.2.2 EJB 容器
EJB容器负责维护,运行管理EJB组件。
2.2.3 客户端容器
运行于客户端机器,连接客户端应用及服务端应用。
官方文档:https://docs.oracle.com/javaee/7/firstcup/java-ee001.htm
Java EE平台介绍(译)的更多相关文章
- Java技术平台介绍
Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语言中的许多库类名称,多与咖啡有关, 如JavaBeans(咖啡豆).NetBeans(网络豆)以及ObjectB ...
- JavaEE Tutorials (18) - Java EE平台安全介绍
18.1Java EE安全概述278 18.1.1简单的应用安全演示279 18.1.2安全机制特性281 18.1.3应用安全特点28118.2安全机制282 18.2.1Java SE安全机制28 ...
- [置顶] 遵循Java EE标准体系的开源GIS服务平台架构
传送门 ☞ 系统架构设计 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ GoF23种设计模式 ☞ 转载请注明 ☞ http://blog.csd ...
- 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)
轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...
- Java EE发展史
前言 最近的这段时间一直在学习Java EE,刚刚完成了从0到1的蜕变,所以顺便整理一下我所了解到的Java EE,给刚入门学习的新人一些头绪,而所谓“启示录”,就是这个意思. 一.Java EE是什 ...
- Java EE启示录
前言 最近的这段时间一直在学习Java EE,刚刚完成了从0到1的蜕变,所以顺便整理一下我所了解到的Java EE,给刚入门学习的新人一些头绪,而所谓“启示录”,就是这个意思. 一.Java EE是什 ...
- Java EE javax.servlet中的ServletContext接口
ServletContext接口 public interface ServletContext (https://docs.oracle.com/javaee/7/api/javax/servlet ...
- 影响Java EE性能的十大问题(转)
本文作者是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE.中间件和JVM技术.他在性能优化和提升方面也有很深刻的见解,下面他将和大家分享一下常见的10个影响Java EE性能问题 ...
- 老鸟谈谈JAVA EE的学习
老鸟谈谈JAVA EE的学习 因为出差和项目的原因,有将近一个月的时间没有更新博客了,今天终于得闲,和兄弟们分享一下JAVA EE的学习心得.书中带过,直入主题,下面我们首先看看什么是JAVA EE. ...
随机推荐
- 大数据学习之HDFS的工作机制07
1:namenode+secondaryNameNode工作机制 2:datanode工作机制 3:HDFS中的通信(代理对象RPC) 下面用代码来实现基本的原理 1:服务端代码 package it ...
- Eclipse配置多个Tomcat服务器
我们在开发大型web项目时,经常需要在eclipse中同时启动多个tomcat服务器来开启多个服务.这里讲解一下如何在eclipse中配置多个tomcat服务器. 配置步骤 1. 在tomcat官网( ...
- java动态代理的基本思想以及简单的实现
代理模式 本人参考于代理模式及Java实现动态代理 不作为商业用途,只是借鉴于其思路.侵权即删. 原理:给某个对象提供一个代理对象,并且由代理对象控制原对象的访问,即不直接操控原对象,而是通过代理对 ...
- 学习使用 ARM 的 math 库,据说 速度比C标准库 自带的 快 几十倍 到几百倍
1.首先 添加 库 到 工程 ,路径 如下 C:\Keil\ARM\CMSIS\Lib\ARM 2.包含头文件以及在 工程里 添加 头文件 路径如下 C:\Keil\ARM\CMSIS\Includ ...
- nRF5 SDK for Mesh(五) Light switch demo 点灯例子
Light switch demo 灯开demo Purpose This demo project consists of four sub examples - The light swit ...
- ts简单点
typescript 简洁使用 *做最简洁核心的记录,可以节约时间.再是提炼概括,理解归纳.便于日后查阅联想* > typescript原则之一: 对值所具有的结构进行类型检查 #### 基础类 ...
- 轻量ORM-SqlRepoEx (十六)最佳实践之Dapper(2)
简介:SqlRepoEx是 .Net平台下兼容.NET Standard 2.0人一个轻型的ORM.解决了Lambda转Sql语句这一难题,SqlRepoEx使用的是Lambda表达式,所以,对c#程 ...
- 手机版的百度map封装,使用gps定位
代码如下,包自己引 包参考 一个百度MAP导航的基础封装 使用的是浏览器调用gps定位 修改了标注的大小 效果如图: 代码...... <!DOCTYPE html> <html&g ...
- 1001. 温度转换 (Standard IO)
1001. 温度转换 (Standard IO) 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 题目描述 将输入的华氏温度转换为摄氏温度.由华氏温度F与摄氏温度C的转换 ...
- MySQL->AUTO_INCREMENT[20180516]
MySQL表格中自增长主键AUTO_INCREMENT使用,实现序列的最简单的方式 创建一个AUTO_INCREMENT自增的表 mysql> create table seq_test( ...