为了使开发者能尽快的开发企业级的应用程序,Sun在1999年推出一种基于J2SE(用于开发桌面应的Java标准版)的开发模型:J2EE,用于开发服务器应用程序与服务的Java企业版,他运行于J2EE服务器上。

J2EE平台提供了一个多层结构的分布式的应用程序模型,该模型具有组件复用的能力,基于扩展标记语言(XML)交互数据,统一的安全模型和灵活的事务控制,不仅比以前能更快对市场提出新的解决方案,而且这种基于组件,平台无关性的J2EE解决方案使得应用程序以免受供应商以及应用程序界面的限制,使得应用商及买主能选择他们需要的组件技术及产品。

一,J2EE框架:

1.1 分布式多层应用程序模型

早期应用系统一般都为两层的C/S结构模型,即客户端/服务器端模型,客户端实现界面功能跟业务逻辑,服务端器一般只提供简单的数据库访问协议,这种模型在系统布署当初是非常简单的,但是对于升级跟维护会有麻烦,不利于扩展,当然由于业务逻辑集中到界面功能开发,没有多少可复用性,对于数据安全而言也是不太好的。

随着企业的发展,业务范围的扩大,企业急需能扩展系统的服务,响应客户、合作商的业务需求操作,并能快速的响应用户操作,这就需要一种体系结构模型来服务于这种需求,使得新需求能快速接入或更换现有的系统或遗留的旧系统,使之能快速响应市场的变化。

这种服务要能体现以下几个特点-优点:

1). 高可用性:这种服务应该可用于绝大部分的环境,解决大部分的商业需求;

2). 安全性:必须要能保护用户隐私及企业的数据安全;

3). 可扩展性:应用系统应该能够满足越来越多的用户访问需求,支持方便的对系统进行硬件及软件方面的扩展;

4). 可依赖性:用户能够使用系统进行安全稳定的商业交易;

J2EE是一种多层结构的公布式模型,解决了两层结构(C/S)很多方面的问题,他提供的中间层,把功能界面从复杂的业务逻辑中分离出来,使得开发人员可以专注的业务逻辑的开发,并且J2EE提交了把功能与数据接入到EIS相结合的功能;降低了开发难度以及成本,缩短了开发时间,使得企业能够尽可能快的满足用户需求,在市场中展开竞争;

一般的J2EE可分为四层:

1). 处于客户端浏览器上的Applet组件, 可称为Applet 容器;

2). 处于客户端的应用程序客户端组件,可称为 Application Client Container;

这两个处理客户层中!

3). 处于J2EE服务器的 Web组件,该组件用于执行JSP组件以及Servlet组件, 也称为 Web容器;

4). 处于J2EE服务器的 EJB组件,EJB组件用于存放执行商业业务逻辑,也称为EJB容器;

这两个处于J2EE服务器中,

5). 再来一层EIS层,主要是存放数据库;

J2EE完全手册(一)的更多相关文章

  1. J2EE完全手册(二)

    1.2 客户端 (Web客户端,应用程序客户端) 1.2.1 Web客户端: 一般简单讲,就是显示由在Web层的web组件中生成的包含Html 及 XML标记语言的动态Web页面(.jsp[.do]) ...

  2. J2EE学习中一些值得研究的开源项(转)

    这篇文章写在我研究J2SE.J2EE近三年后.前3年我研究了J2SE的Swing.Applet.Net.RMI.Collections. IO.JNI……研究了J2EE的JDBC.Sevlet.JSP ...

  3. MySQL 5.1参考手册

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. My ...

  4. J2EE开源项目

    这篇文章写在我研究J2SE.J2EE近三年后.前3年我研究了J2SE的Swing.Applet.Net.RMI.Collections.IO.JNI……研究了J2EE的JDBC.Sevlet.JSP. ...

  5. J2EE学习路线

    第一部分:  JAVA语言基础知识.包括异常.IO流.多线程.集合类.数据库.(切记基础知识一定要时时刻刻巩固,注意,如果你是想以最快速度学习J2EE,关于Java中的Swing知识点,就只做了解)  ...

  6. MyBatis极速入门开发手册(2017-2-6更新)

    前言: 本篇文章对我的学习内容做一个归纳梳理,同时也记录一些学习过程中遇上的问题及注意事项等等,可以帮助新入门的朋友们消除一些误区与盲区,希望能帮上一些正在学习的朋友们.在编写时会引用一些mybati ...

  7. 3、J2EE学习推荐书籍

    3.J2EE学习推荐书籍       J2EE的学习应该循序渐进,一本好书会很快上手和深入.在学习J2EE之前,应该学好SQL,基本上,程序设计都会跟数据库打交道.如果SQL没学好,就如同房子没有基脚 ...

  8. DevOps之服务手册

    唠叨话 关于德语噢屁事的知识点,仅提供精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <DevOps服务手册(Manual)> <IT资源目标化>1.设施和设备(I ...

  9. j2ee应用开发调试工具

    j2ee应用程序不能独立运行,需要运行在一个servlet/jsp容器中,常用的servlet/jsp容器如:tomcat,jetty等.在开发调试j2ee程序时,也需要部署在一个指定的容器中.如果每 ...

随机推荐

  1. Redmine 安装指南

    第一种方式 (一键安装): 准备工作: 1.最小化安装CentOS7 2.更新YUM源 3.更新系统关闭防火墙 yum -y update systemctl stop firewalld syste ...

  2. Google Kickstart Round.B C. Diverse Subarray

    这题又是万恶的线段树 maxx[j]存储的是 l = xxx, r = j的时候的答案 我们会让 l 从 1到n 的遍历中,查询线段树的[l, n]中最大的答案 因为query的下界是n,所以单次查询 ...

  3. 关于运行“基于极限学习机ELM的人脸识别程序”代码犯下的一些错误

    代码来源 基于极限学习机ELM的人脸识别程序 感谢文章主的分享 我的环境是 win10 anaconda Command line client (version 1.6.5)(conda 4.3.3 ...

  4. centos7 设置静态IP

    centos7 设置静态IP 一.查找配置文件(/etc/sysconfig/network-scripts) [root@bogon network-scripts]# ll 总用量 232 -rw ...

  5. CSAPP lab2 二进制拆弹 binary bombs phase_4

    给出对应于7个阶段的7篇博客 phase_1  https://www.cnblogs.com/wkfvawl/p/10632044.htmlphase_2  https://www.cnblogs. ...

  6. ajax请求超时判断(转载)

    ajax请求时有个参数可以借鉴一下 var ajaxTimeOut = $.ajax({ url:'', //请求的URL timeout : 1000, //超时时间设置,单位毫秒 type : ' ...

  7. YQCB冲刺第二周绩效评价

    标准队员 工作质量 20% 工作态度 20% 工作量 30% 工作难易程度 20% 团队意识 10% 总分 陈美琪 17 18 24 17 9 85 张晨阳 19 19 27 19 9 93 刘昭为 ...

  8. YQCB冲刺第二周第三天

    今天的任务依旧查看消费明细的功能. 遇到的问题为显示消费记录时显示所有用户的消费记录. 站立会议 任务面板

  9. IIS错误提示:另一个程序正在使用此文件 进程无法访问

    在IIS管理中,启动一个配置好的网站时,提示:另一个程序正在使用此文件 进程无法访问 原因:网站绑定端口被占用 解决办法:更换绑定端口或者将占用此端口的程序关掉即可

  10. 对比网络模拟器软件——Cisco Packet Tracer、华为eNSP、H3C Cloud Lab

    1.软件介绍 1.1 Cisco Packet Tracer Cisco Packet Tracer(以下简称PT)是一款由思科公司开发的,为网络课程的初学者提供辅助教学的实验模拟器.使用者可以在该模 ...