《第一章 JavaEE概述》由会员分享,可在线阅读,更多相关《第一章 JavaEE概述(53页珍藏版)》请在金锄头文库上搜索。
1、1,J2EE开发平台及程序设计,华北电力大学计算机系王蓝婧 公共邮箱:密码:ruanjian2011,2,J2EEJava 2 Platform Enterprise Edition-Java2平台企业版Java EEJava Enterprise Edition,3,第一章 JavaEE概述,4,目录,5,1.1 Java EE 产生的背景,6,问题1:从java语言的发展来看,1995年 ,Sun公司推出Java技术十多年来已发展成为全球第一大软件开发平台特点:跨平台、面向对象、多线程、半编译半解释等1999年,Java从一种语言发展成为一种开发平台 ,出现Sun ONE体系结构,以Jav
2、a语言为核心,包括以下三个版本:J2SE StandardJ2ME MicroJ2EE Enterprise 2005年8月, Java升级到1.5版,SUN公司将J2EE 1.5改名为java EE 5,以前J2EE版本还是称为J2EE。,7,8,9,Java SE,10,Java ME,11,Java EE,12,Java EE 不是编程语言!Java EE是一个标准中间件体系结构Java EE是开发分布式企业级应用的标准,问题2:Java EE究竟是什么?,13,问题3:为什么需要 JavaEE?,企业应用程序的特点企业级应用程序体系结构 企业应用的特点(分布式、面向web、开发的、集成
3、的、可移植、易于扩展和维护,企业计算具有一致性、事务性、安全性等)决定了企业应用的体系结构Java EE集上述特性为一身!,14,企业应用程序的特点,分布式 企业应用日常的运行环境局域网组织内部Internet连接分布在世界各地的部门或者用户面向web高速反应性 企业程序必须具备能力来及时适应需求的改变社会需求的瞬息万变企业不断变更业务规则以适应安全性系统安全可靠正常运行合法用户经过合法途径使用(是否未经登录?是否直接录入网址?是否有权限?谁在运行?)事务性两个或多个网络的计算机资源上访问并更新数据的时候不会错,一个程序要么进行一系列数据库操作成功完成,要么一点也不做,避免写到一半的时候出错如
4、银行转账可扩展性潜在用户数量的不断膨胀应用性能要扩展企业的信息资源不断增长系统功能的扩展系统的结构能否很容易在保留原有功能的基础上很容易扩展?开放性?插件?集成化旧系统的集成支持不是白手起家现有系统之间的集成可移植性、易维护,15,企业级应用程序体系结构,1) C/S与B/S结构2) 两层、三层和多层结构,16,客户层(人机交互/应用逻辑/数据访问),1)C/S两层结构,安全性低客户端同DB服务器直连非法用户容易通过客户端入侵部署困难胖客户端客户端软件 不是基于web的,只能适用在LAN胖客户端:应用逻辑集中在客户端,安装耗时:需要每台客户端都安装客户端专用的应用程序扩展更新困难:每次业务规则
5、变化,都需要不断更新或重新安装客户端代码,重新部署客户端耗费系统资源每个客户端程序都直连到DB服务器,为每个客户端建立连接耗费服务器资源耗费资源不适合过多的用户,服务层(数据服务),客户端应用程序,数据库服务器,17,2)B/S三层结构,安全性高:中间的应用层,隔离了客户端程序对数据服务器的直接访问,保护了数据安全部署容易瘦客户端客户层的功能大大削弱,原来由客户端实现的应用逻辑和数据访问等功能都迁移到服务器上实现了瘦客户应用逻辑集中在服务器端很多应用只需安装浏览器即可,基于web的快速响应通过中间件服务器的负载均衡和缓存数据能力,提高对客户端的响应速度易于扩展每次业务规则变化,只需在应用服务器
6、重新部署新服务器端组件,无需更新或重新安装每个客户端,客户层(表示逻辑),数据层(数据服务),数据库服务器,浏览器,数据库服务器,18,JavaEE的三层体系结构,19,3)多层结构,中间服务器又按应用逻辑划分成若干子层,应用服务器,Web表示层,客户层,数据层(数据服务),数据库服务器,浏览器,业务逻辑层,.,20,Web 服务器,JavaEE的多层体系结构,客户,客户层,业务逻辑层,企业信息系统层数据层,数据库服务器,邮件服务器,Web 容器,表示层(web层),客户端应用程序,EJB 容器,JSP,Servlet,会话Bean,实体Bean,消息Bean,应用服务器,数据库服务器,Ser
7、vlet,21,Entity Bean,浏览器,客户,服务器,客户端/服务器端表示层,服务器端商业逻辑,企业信息系统,域,服务,应用,表示,持续化,客户应用容器,Webcontainer,EJB 容器,DB,Simple Bean,Session Bean,Html,Applet,Web 服务器,JSP,Servlet,服务器端应用,J2EE的N层体系结构(略),22,Java EE 不是编程语言Java EE是一个标准中间件体系结构Java EE是开发分布式企业级应用的标准 它规范了: 分布式组件(JSP、Servlet 、EJB)应该实现哪些接口、提供哪些方法?容器应该提供的服务 容器:分
8、布式组件的运行环境如Jsp运行在web容器中EJB组件运行在EJB容器中容器实现的服务:JDBC,JNDI,JMS消息服务等,23,支持Java EE的厂商,Java EE规范被众多中间件厂商所实现,不同厂家有不同的实现,但都遵循同一JavaEE规范,可以互相部署开放性。支持JavaEE的厂商和应用服务器Sun 公司: Sun One 服务器Netbeans自带的GlassfishV2 服务器内置Applicaition ServerBEA的weblogicIBM的WebSpereJBoss开发环境NetBeans(内置应用服务器GlassFishV2)+MySQLEclipse+MyEcli
9、pse+Tomcat+MySQL Web应用,不包括j2EEEclipse+MyEclipse+Jboss+MySQL 支持EJB,24,JavaEE的组件和容器,组件:JavaEE基本的软件单元容器:分布式组件的运行环境 容器为组件提供必需的底层基础功能服务javaEE的容器由厂商实现,javaEE服务器中均包含Web容器和EJB容器的实现如JDNI服务、JDBC、JMS、持久化、事务支持、并发、安全性、资源和生命周期管理 程序员根据特定应用需求编写组件,专注于业务逻辑而不必困扰在复杂的企业应用环境这些由容器实现了组件与容器:面包与烤箱 面包师:面包是什么配比,什么馅的,什么形状的,口味如何
10、,多高温度,多久不用管烤箱的安全防护机制、容量,电、温度的转换、定时器的控制 都是烤箱的事,而烤箱的控制是厂家实现的,25,组件和容器之间的交互部署描述文件,Web 服务器,Servlet,部署描述文件Web.xml,EJB容器,EJB,部署描述文件ejb-jar.xml,参见P28页 第一个servet的web.xml我们编写First.java 这是一个servlet类,其实就是一个java类(P24)那么在IE中如何访问它呢?就是通过部署在web服务器上的web.xml来知道的。输入:http:/localhost:8080/SimpleServlet/First,26,Web包容器,是
11、Web应用程序的基本运行环境和框架。由web服务器实现,Web应用程序,对应一个目录(或者网站),包括html、servlet、applet、jsp、图片等。,例:Web应用程序和Web包容器,27,J2EE核心技术,组件(1)Java Servlet (2)JSP JavaServer Pages (3)EJB Enterprise JavaBeans 服务:(1)JDBC Java DataBase Connectivity (2)JNDI Java Naming and Directory Interface (3)JTA Java Transaction API (4)JAAS Jav
12、a Authentication and Authorization Service (5)JCA J2EE Connector Architecture J2EE Connector Architecture (6)Java Persistent(7)Web service (8) XML (9)JMS Java Message Service API (10)RMI (11)Java IDL/CORBA (12)JavaMail/JAF JavaBeans Activation Framework,28,J2EE核心技术之组件技术,1) J2EE客户端组件2) Web组件3) 业务组件,2
13、9,1) J2EE客户端组件,Web客户端:Web Browser- DHTMLApplet:Java Plug-in 经web从服务器端下载,无需安装java应用程序客户端:Swing, SWT, Jface,JavaBeans 需要安装(就是java Application),30,2)Web组件,通过HTTP协议对web请求进行响应动态生成网页不包括HTML, Applet和服务器端工具类Servlet(Server端的小程序),服务器端运行的程序, 实际上就是一个java类 但是它能动态处理HTTP请求和并能返回响应(能生成网页)JSP: 简化的,能在第一次运行的时候自动转换为Serv
14、letHtml语言(页面呈现)+嵌入java语言或指令(控制逻辑),31,3)业务组件,EJB 实现特定的应用逻辑企业的算法、业务规则 而不是像web组件一样处理客户端请求生成动态网页Session Bean(会话Bean)Message-Driven Bean(消息驱动Bean)Entity Bean(实体Bean),32,容器及类型,容器 容器是Java EE的运行环境,这种环境是为应用组件服务的 例如web容器四类容器 EJB容器 Application Client容器 Web容器 Applet容器,33,图:JavaEE容器服务与接口(详图),容器 容器是Java EE的运行环境,这
15、种环境是为应用组件服务的。各容器为相应类型的应用程序组件提供底层服务,如各矩形下半部的格子表示 四类容器 EJB容器 Application Client容器 Web容器 Applet容器,34,J2EE容器事务状态管理多线程资源池复杂的底层细节容器服务安全事务管理JNDI远程连接可配置的服务:如安全性不可配置的服务EJB和Servlet的生命周期、数据库连接池数据持久性、J2EE平台API,35,J2EE核心技术,组件(1)Java Servlet (2)JSP JavaServer Pages (3)EJB Enterprise JavaBeans 服务:(1)JDBC Java Data
16、Base Connectivity (2)JNDI Java Naming and Directory Interface (3)JTA Java Transaction API (4)JAAS Java Authentication and Authorization Service (5)JCA J2EE Connector Architecture J2EE Connector Architecture (6)Java Persistent(7)Web service (8) XML (9)JMS Java Message Service API (10)RMI (11)Java IDL/CORBA (12)JavaMail/JAF JavaBeans Activation Framework,