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. ...
随机推荐
- rocketmq搭建
maven参数: mvn -Prelease-all -DskipTests clean install -U
- disconf实践(二)基于XML的分布式配置文件管理,不会自动reload
上一篇博文介绍了disconf web的搭建流程,这一篇就介绍disconf client通过配置xml文件来获取disconf管理端的配置信息. 1. 登录管理端,并新建APP,然后上传配置文件 2 ...
- 当面试官问你sql优化的时候。。。
当面试官问你有关sql优化的问题时,直接拿笔写给他: 8-select 9-distinct<column_list> 1-from left_table 3-<join_type& ...
- php生成word文档
使用fopen文件操作函数来做,需要注意的直接生成中文文件名会乱码,(生成word和微软的编码不一样)需要转码生成.word内容保持utf8编码就好. $file_name = iconv(" ...
- [微信小程序] js变量名称写活
function create_variable(num){ var name = "test_"+num; //生成函数名 window[name] = 100; window[ ...
- rman备份报错,全zero错误处理一例(bbed)
问题:某数据库在执行rman全备的时候,发现alert日志中有报错,报错提示, file 10,block 305076全部为zero,内容全零,处理过程如下 分析处理: 1. 这个问题可能是 系统或 ...
- POJ2311 Cutting Game(博弈论)
总时间限制: 1000ms 内存限制: 65536kB 描述 Urej loves to play various types of dull games. He usually asks other ...
- (1)linux和oracle---环境搭建
对linux和oracle一直是敬而远之,稍微有些了解.无奈由于工作需要这次要硬着头皮上了!@#!@@#$%^^ 对于重windows用户的我来说,简直是万种折磨. 算是做个记录吧,一定要坚持下去. ...
- java通过get或post方式传到PHP的某控制器的某方法下
[java]package test4;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStr ...
- [译]C语言实现一个简易的Hash table(6)
上一章中,我们实现了Hash表中的插入.搜索和删除接口,我们在初始化hash表时固定了大小为53,为了方便扩展,本章将介绍如何修改hash表的大小. 设置Hash表大小 现在,我们的hash表是固定大 ...