Java编程基础入门学习EE 8的分布式多层应用框架

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

虽然Java1.9已经面世了,但是企业版的更新还需要点时间,所以今天小编就跟大家聊一聊JavaEE8的分布式多层应用框架。

简单的说Java企业版(JavaEE)目的是能为客户构建一个分布式的多层应用(Distributed Multitiered Applications),我们看一个图:

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

图中的客户层组件运行于客户本地系统中,Web层组件和业务层组件运行于JavaEE服务器中,企业信息系统层组件运行于EIS服务器中。其实作为一名javaEE程序员,这个图大家应该不陌生,尤其是其中的Enterprise Beans从javaEE出现到现在就一直是官方的核心解决方案,可以说广大程序员对这个技术是既爱又恨。

一.客户层

客户层既可以是web客户端也可以是应用程序客户端,这两种呈现形式是主要的应用,其实现在的移动端,比如android也是可以调用javaEE服务的。由于android并不是oracle的产品,所以按照历史惯例一般不会出现在oracle的官方文档中,所以可以理解。

客户层中的web客户端通常也称为"瘦客户端(thin client)",通常web客户端并不需要做复杂的操作,诸如数据库查询、复杂业务逻辑处理或者连接已有系统,通常这些重量级的操作都是使用EJB来完成(因为是官方标准,所以都是使用EJB,Spring控们请淡定,因为这里没Spring什么事,Spring并不是官方解决方案)。

如果你需要使用一个丰富一些的客户端,那么你可以使用Swing或SWT来创建一个客户端,这个客户端可以直接访问位于服务层EJB组件。我们看一个图示:

图中明确指出来web客户端只能通过web层来访问业务层组件,而富客户端则更为灵活一些,可以直接访问业务层也可以通过web层来访问业务层。

Web层

Web层的组件由Servlet或者基于JSP或者JSF创建的页面组成。这几个技术作为JavaEE程序员应该再熟悉不过了,Servlet是web层的核心技术,通常使用Servlet来完成动态操作,使用JSP来完成结果回应,JSF则是Sevlet和JSP的结合为用户提供了一个开发框架。Web层是整个层次框架的中转站,看一个图:

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

注意Web层中的JavaBeans组件并不是EJB,这里的JavaBeans组件可以用来管理用户的输入,并把信息传入到业务层的EJB中。在轻量级开发结构中,JavaBeans的作用几乎是业务逻辑的代名词,Spring的作用就是管理JavaBeans并池化它以提高处理性能。

业务层

业务层(Business Tier)是整个分布式框架的核心,业务层的任务就是解决或满足各种业务逻辑需求,比如银行、三方金融、零售等行业的业务处理要求。当然业务层的核心是EJB,EJB是javaEE业务处理的核心和基石(这句话听着这么耳熟,是的!从EJB推出那天开始,EJB就是企业级处理的核心方案),看一个图示:

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

图中的业务层采用实体Bean、会话Bean和消息驱动Bean来完成业务层组件的创建,通过EJB来完成业务逻辑的具体处理过程,EJB通过EIS层完成数据的存储。

企业信息系统层

EIS Tier(企业信息系统层)通常指的是企业基础系统,比如ERP系统、数据库系统或者是其它企业遗留的系统。通常JavaEE需要使用其数据管理服务。

总的来说JavaEE8的体系结构并没有太大的变化,可以说跟之前的JavaEE框架是一脉相承。在Java EE 9出现之后,也许使用JavaEE就不会那么重了,这也是很多java程序员对Java EE9的期待。注:文中出现的图示均出自JavaEE8的官方文档。

今天就聊这么多,谢谢大家的持续关注,小编争取在Java EE9出现之前,把JavaEE8的文章写完。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180311A0TNW500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券