JAVA EE的起源及发展

1.JAVA

        JAVA是一门面向对象的编程语言,在其发展过程中主要推出过三个版本,分别是:JAVA SE、JAVA EE、JAVA ME。

1.1 JAVA SE

        JAVA SE(JAVA Standard Edition,标准版),是JAVA编程语言的基础平台,提供一些列JAVA应用开发的工具和API,以及JAVA虚拟机、编译器;具体包括以下内容:

        (1)JAVA语言基础,包含面向对象编程、基本数据类型、流程控制语句、异常处理等等

        (2)JAVA基础类库,也叫JAVA API(Application Programming Interface),即应用编程接口;提供丰富的接口、类和常量等共JAVA编程人员调用,主要包括:

        1)java.lang:JAVA语言核心类库,提供最基本的类、接口如基本数据类型、枚举类型等等,如Enum、Integer、Object、String等

        2)java.util:开发中常用的数据结构和实用类,如JAVA 集合List、Map及Set类,以及日期相关Date等。

        3)java.io:JAVA内存数据读取和写出相关操作类,包括磁盘文件读写、网络数据传输等。

        4)java.net:网络编程支持相关类

        (3)JAVA SE包括JAVA编译器、调试器、文档生成工具、打包工具等常用开发工具,帮助完成程序开发、调试、打包及部署。

        JAVA SE支持桌面端、服务器端及嵌入式的应用程序开发和部署,是JAVA开发平台和JAVA EE的基础。

1.2 JAVA EE

        JAVA EE(JAVA Enterprise Edition,企业版),是JAVA企业级应用程序的解决方案,是以JAVA SE为基础进行系列扩展(Servlet JDBC等),并定义了一系列的开发规范;主要针对B/S即浏览器(Browser)和服务器(Server)架构的应用程序。

        JAVA EE的主要思想是通过容器和组件的方式解决企业级应用面临的问题,企业级应用涉及内容繁多,包括网络通讯、安全、多线程及并发等,所以JAVA EE定义将一部分通用的或框架性的内容提取到容器中统一实现,个性化的内容如应用程序业务由组件实现,再由容器和组件共同构成最终的企业级应用。

        JAVA EE针对上述中心思想,定义一系列容器和组件的规范,基于这个规范构建JAVA的生态,开发商和个人开发者可以按照容器和组件规范,开发自己的容器和组件,只要符合规范的容器和组件可以兼容。

        如Tomcat和Jetty就是遵循JAVA EE规范开发的WEB容器,只要满足JAVA EE规范的组件在Tomcat和Jetty中都可以运行。

1.2.1 JAVA EE 1.2

        于1999年发布的JAVA EE第一版体系结构如下:

      这是基于B/S的MVC分层架构提出的JAVA EE的体系结构,将后端服务器主要分成了两个容器,分别是Web Container和EJB Container,早期的B/S结构的WEB应用程序是由后端根据业务逻辑动态渲染HTML页面传入给前端进行展示,所以上述两个两个容器中的WEB Container通过JSP和Servlet组件实现HTML的动态渲染,EJB Container通过EJB组件实现后端业务逻辑,进而实现了MVC架构中的视图层(View)和模型层(Model)的分离。容器之间通过RMI-IIOP规范通信。并且从图中可以看到Web Container和EJB Container都支持JMS、JDBC等规范。

        其中Applet组件,主要是用于在前端HTML用运行一段JAVA程序,用于支持一些动态的特性包括直接访问后端应用程序等,后续由于JavaScript的出现,在现在的技术架构中已经被淘汰。

1.2.2 JAVA EE 1.3

        主要引入XML,并引入XML读写相关规范;对用于支持服务之间通信的RMI-IIOP规范进行调整,调整为基于XML的通信方式,修改后的结构图如下:

1.2.3 JAVA EE 1.4

        主要引入WEB Service相关规范,结构图如下:

        

1.2.4 JAVA EE 5

        此时期spring框架出现,当前版本的J2EE部分规范内容调整是受spring框架启发,主要修改以下两点内容:

        (1)支持配置的方式配置组件,此版本和早期的spring1.0版本一样主要使用xml的方式配置组件,简化了组件的配置流程,且组件配置内容从代码中分离出来,组件修改无需重新打包程序。这种方式在后续的技术验证中被证明存在安全隐患,即XML内容被修改对应用程序的影响是灾难性的,这是为什么XML的配置方式在后续的技术发展中被淘汰,但这个创新在当时来讲是革命性的。

        (2)引入ORM框架规范JPA,规定所有ORM都通过JPA的方式实现

        (3)首次引入注解

1.2.5 JAVA EE 6

        (1)受SPRING框架影响,引入CDI和DI,即依赖注入思想,与SPRING框架的控制反转(IOC)同理

        (2)加入Restful API相关规范

1.2.6 后续发展概述

        (1)JAVA EE 8版本中引入响应式编程等概念(2017.08)

        (2)JAVA EE 8时期Sun公司被Oracle公司收购,Oracle公司将Java EE规范转到阿帕奇基金会,更名为Jakarta EE。

        。。。

1.3 JAVA ME

        包含了SE中部分类库,又有自己扩展部分,主要用来做移动类、嵌入式开发;但现在移动端市场主要被安卓

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值