Java EE平台简介

1. 企业应用概述

本节介绍企业应用程序及其设计和开发。

如上所述,Java EE平台旨在帮助开发人员创建大规模,多层次,可扩展,可靠和安全的网络应用程序。这样的应用程序的简写名称是“企业应用程序”,因为这些应用程序旨在解决大型企业遇到的问题。
然而,企业应用程序不仅对大公司,机构和政府有用。企业应用程序的好处对于个人开发商和小型组织在日益网络化的世界来说是有帮助的,甚至至关重要的。

使企业应用程序强大的功能(如安全性和可靠性)通常会使这些应用程序复杂化。 Java EE平台通过提供开发模型,API和运行时环境来减少企业应用程序开发的复杂性,从而使开发人员能够专注于功能。

1.1 分层应用

在多层应用程序中,应用程序的功能被分为隔离的功能区域,称为层。通常,多层应用程序具有Client 层,中间层和数据层(通常称为企业信息系统层)。Client 层由一个向中间层发出请求的客户端程序组成。中间层分为 Web层和业务层,处理客户端请求和处理应用程序数据,将其存储在数据层中的永久数据存储区中。

Java EE应用程序开发集中在中间层,使企业应用程序管理更轻松,更强大,更安全。

1.1.1 Client 层

Client 层由访问Java EE服务器并通常位于与服务器不同的计算机上的应用程序客户端组成。客户端向服务器发出请求。服务器处理请求并将响应返回给客户端。许多不同类型的应用程序可以是Java EE客户端,它们并不总是,甚至是Java应用程序。客户端可以是Web浏览器、独立应用程序或其他服务器,它们在与Java EE服务器不同的计算机上运行。

1.1.2 Web 层

Web层由处理客户端和业务层之间交互的组件组成。其主要任务如下:

  • 动态地为客户端生成各种格式的内容;
  • 从客户端界面的用户收集输入,并从业务层的组件返回适当的结果;
  • 控制客户端上的屏幕或页面的流动;
  • 维护用户会话的数据状态;
  • 执行一些基本逻辑,并在托管bean中临时保存一些数据;

表2-1 列出了Java EE应用程序中Web层中使用的一些主要Java EE技术。

表2-1 Web 层Java EE 技术:

技术 目的
JavaServer Faces 一套Web应用程序用户界面组件框架,支持在XHTML页面上包含UI组件(如字段和按钮),称为Facelets 页面;转换和验证UI组件数据;将UI组件数据保存到服务器端数据存储;保持组件状态
EL 表达式 Facelets页面中使用的一组标准标签来引用Java EE组件
Servlets 动态处理请求并构建响应的Java编程语言类,通常用于HTML页面
上下文和依赖注入 一组上下文服务,使开发人员可以轻松地在Web应用程序中使用EJB 以及JavaServer Faces技术
1.1.3 业务层

业务层由为应用程序提供业务逻辑的组件组成。业务逻辑是向特定业务领域(如金融业或电子商务网站)提供功能的代码。在正确设计的企业应用程序中,核心功能存在于业务层组件中。

以下Java EE技术是Java EE应用程序中业务层使用的技术之一:

  • 企业JavaBeans(企业bean)组件,简称 EJB;
  • JAX-RS RESTful Web 服务;
  • Java 持久化 API,简称 JPA;
1.1.4 企业信息系统(EIS)层

企业信息系统(Enterprise Information Systems,EIS)层由数据库服务器,企业资源计划系统和其他传统数据源(如大型机)组成。这些资源通常位于与Java EE服务器不同的机器上,并由业务层上的组件访问。

以下Java EE技术用于访问Java EE应用程序中的EIS层:

  • Java 数据库连接 API(JDBC);
  • Java 持久化 API(JPA);
  • Java EE 连接器架构(Connector Architecture);
  • Java 事务 API(JTA);

2. Java EE服务器和容器

Java EE服务器是实现Java EE平台API并提供标准Java EE服务的服务器应用程序。 Java EE服务器有时称为应用程序服务器,因为它们允许您向客户端提供应用程序数据,就像Web服务器将Web页面提供给Web浏览器一样。

Java EE服务器托管与多层应用程序中的层级相对应的多个应用程序组件类型。 Java EE服务器以容器的形式向这些组件提供服务。

Java EE容器是组件与由平台提供的用于支持该组件的下级功能之间的接口。容器的功能由平台定义,并且对于每个组件类型是不同的。尽管如此,服务器允许不同的组件类型一起工作以在企业应用程序中提供功能。

2.1 Web 容器

Web容器是Web组件和Web服务器之间的接口。 Web组件可以是servlet或JavaServer Faces Facelets页面。容器管理组件的生命周期,向应用程序组件分派请求,并提供与上下文数据的接口,例如有关当前请求的信息。

2.2 EJB 容器

EJB容器是在Java EE应用程序中提供业务逻辑的企业bean与Java EE服务器之间的接口。 EJB容器在Java EE服务器上运行,并管理应用程序的企业bean的执行。

2.3 应用程序客户端容器

客户端应用程序容器是Java EE应用程序客户端(使用Java EE服务器组件的特殊Java SE应用程序)和Java EE服务器之间的接口。应用程序客户端容器在客户端计算机上运行,​​并且是客户端应用程序和客户端使用的Java EE服务器组件之间的网关。

原文地址:
https://docs.oracle.com/javaee/7/firstcup/java-ee001.htm
https://docs.oracle.com/javaee/7/firstcup/java-ee002.htm

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • 转自陈明乾的博客,可能有一定更新。 转原文声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、...
    C86guli阅读 4,675评论 6 72
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,602评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,218评论 11 349
  • TED演讲总结 b站:av6753276 1.在背后说某些人坏话。(爱说闲话的人,避免不了成为闲话对象) 2.不要...
    奈留c阅读 194评论 0 1