_浙大中间件技术(J2EE)讲稿
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
事务服务 目录服务 消息服务 异步组件
JTA JNDI JMS Message-Driven EJB
数据层 - JDBC 远程调用 – RMI/IIOP 使用现有资源 - JCA
中间件技术
17
J2EE 1.4 Contents
中间件技术
18
.Net与J2EE 的比较
WS-I
中间件技术
5
中间件技术
分类:
消息中间件(MOM: Message-Oriented Middleware) 数据库中间件(Database Middleware) 远程过程调用中间件(RPC: Remote Process Call) 对象请求代理中间件(ORB: Object Request Broker) 事务处理中间件(TP Monitor: Transaction Process Monitor) J2EE中间件
J2EE
JSP Servlets
可运行于大多 数主要应用及 Web服务器
状态: ASP.NET Session, .NET 数据缓存
状态: 封装于 EJB 中, 也可在 Web Sessions 中
业务逻辑层 CLR
.NET Assembly ADO.NET (可使用 COM+ 服 务; 比如事务)
ADO.NET .NET Transaction Active Directory .NET Messaging SmtpMail Web Service/Remoting .NET JIT
中间件技术
21
技术的成熟性
JDBC JNDI J2EE JMS EJB JSP MDB JAXP
中间件技术
9
Java 2 Platform
中间件技术
10
J2EE可以提供什么
分布式、可移植构件的框架 简化服务器端中间层构件的设计 为构件和应用服务器提供标准API
中间件技术
11
J2EE可以为开发者和用户带来
更短的开发时间
可重用组件 JSP EJB 基于开放的标准 XML,JDBC,RMI-IIOP,Web Service
安 全
消 息 队 列
企 业 服 务
编 排 服 务
Security
ebXML
适 配 器
…
JMS
JTA
JCA
…
.NET
J2EE
CLR Windows
中间件技术
JVM Linux
19
Web 架构: J2EE vs .NET
.NET
表示层 ASP.NET IIS
Web 表单 Server 控件 Code-Behind
Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric, and componentbased enterprise applications 运用Java技术开发企业应用的标准 包括了 多层应用开发模型 开发平台 - APIs 和服务 测试软件包 参考实现 将所有Sun的企业技术集合在一个体系结构下的平台 特定版本下的EJB, Servlet, JSP Java Web Server JNDI, JDBC, JTA, JMS, JavaMail, CORBA„
中间件技术
29
应用服务器介绍
应用服务器是非常重要的企业软件,为现代业务系统提供 了应用基础结构。 应用服务器源自支持与其它系统共享数据和资源的应用, 以及为Web 页面和其它用户界面生成动态信息的需求。 它在 Web 服务器与底层应用和数据库之间形成了新的功 能和服务层
中间件技术
30
应用服务器实现的功能
高效 方便 可移植性好 节省投资
中间件技术
36
Servlet开发
如果某个类要成为Servlet,则它应该从HttpServlet 继承, 根据数据是通过GET还是POST发送,重载doGet、doPost方法之一或全 部。 doGet和doPost方法都有两个参数,分别为HttpServletRequest 类 型和HttpServletResponse 类型。 HttpServletRequest提供访问有关请求的信息的方法,例如表单数据、 HTTP请求头等等。 HttpServletResponse除了提供用于指定HTTP应答状态(200,404等)、 应答头(Content-Type,Set-Cookie等)的方法之外,最重要的是它提 供了一个用于向客户端发送数据的PrintWriter 。 对于简单的Servlet来说,它的大部分工作是通过println语句生成向客户端 发送的页面。 必须导入java.io包(要用到PrintWriter等类)、javax.servlet包(要用到 HttpServlet等类)以及javax.servlet.http包(要用到HttpServletRequest 类和HttpServletResponse类)。 doGet和doPost这两个方法是由service方法调用的,有时你可能需要直 接重载service方法,比如Servlet要处理GET和POST两种请求时
自由的选择
简化的连接
中间件技术
12
J2EE 技术架构
ebXML 安 全 JMS 组件
JCA
组件
J2EE Framework Java虚拟机
任何平台
中间件技术
13
JTA
…
组件 组件
J2EE 应用体系结构
HOME Entity Bean
B C
REMOTE
Browser
Servlet or JSP
基于Web的三层(n层)体系架构
中间件技术
3
中间件技术
最早具有中间件技术思想及功能的软件是IBM在60年 代开发的CICS(Customer Information Control System)。80年代初期,Sun Microsystems开发了 一种最早的中间件,作为其开放网络体系结构的一部 分,这种中间件是基于RPC协议的。但由于CICS不 是分布式环境的产物,而Sun Microsystems开发的不 是完整的中间件产品,因此人们一般把Tuxedo作为 第一个严格意义上的中间件产品,Tuxedo是在1984 年由AT&T的贝尔实验室开发完成的。到90年代,中 间件技术得到了巨大的发展和广泛的应用,出现了大 量具有广泛影响的中间件产品,如OMG的Corba、 Microsoft的DCOM/COM+、IBM的MQS等。
J2EE
1996 1997 1998 1999 2000 2001
Microsoft
Mar 1992
.Net
ASP MSMQ MTS/COM+ QC MSXML MMC WinDNA VS.Net
22
LCE
ODBC
ADSI
中间件技术
J2EE的移植性与互操作性
理论上J2EE应用可以采用多个厂商的产品
JavaBeans EJBs
J2SE/EE JDBC (事务使 用 JTA)
数据层
SQL Server Oracle DB/2, etc. SQL Server Oracle DB/2, etc.
支持大多数 数据库 (通 过 JDBC 驱 动程序)
20
中间件技术
J2EE/.NET主要技术比较
JDBC JTA JNDI JMS JavaMail RMI/IIOP JAF
.Net和J2EE可以满足大多数应用的需求 主要的差别不在技术的可行性上
开发效率 性能 成本 稳定性
中间件技术
25
开发工具
JBuilder
商用 功能完备 Open Source 插件丰富 myEclipse CVS
中间件技术
26
Eclipse
版本管理
J2EE 应用开发
中间件技术
胡晓军
中间件技术
课程内容
概述 J2EE架构基础 Servlet、JSP、EJB开发 J2EE应用部署 J2EE应用开发架构 实例
中间件技术
2
软件开发技术的Βιβλιοθήκη Baidu展
基于主机的系统 两层的Client/Server系统 三层(n层)体系架构
表示层 业务逻辑层 数据层
组件处理
•表示 •JSP, Servlet, Applet •业务逻辑 •EJB •数据访问逻辑 •EJB •应用系统访问 •Web service
• 分布性
• 生命周期管 理 • (持久性)
中间件技术
33
应用服务器产品
BEA WebLogic IBM WebSphere Sun Java System Application Server Oracle 9i/AS JBoss Tomcat(不支持EJB) Resin
中间件技术
6
企业级应用的要求
分布式 可移植 面向Web体系 满足企业计算要求 一致性 事务性 安全性 好的特性 可伸缩 可扩展 易维护 遗留系统集成
以上要求需要一个良好的基础架构来支持
中间件技术
7
企业级应用环境
中间件技术
8
什么是J2EE?
Java 2 Platform, Enterprise Edition (J2EE)
实际情况
只有Windows/Free BSD
可以使用任何平台运行的Web Service 任何平台可使用.Net Web Service
.Net支持Web Service
中间件技术
24
技术比较结论
.Net和J2EE应用有着相似的架构 .Net和J2EE有相应的主要技术
.Net所有技术来自Microsoft J2EE的技术有多个厂商的实现
中间件技术
28
J2EE开发角色
J2EE角色组成
J2EE开发角色
开发工具供应商
应用开发人员
应用程序集成人员
部署人员
系统管理员
应用服务器供应商
开发工具商:提供组件开发工具、应用程序集成工具、应用程序部署工具、界面编辑工具。 应用服务器提供商:负责设计和开发J2EE应用服务器(依据J2EE规范) 应用开发人员:负责开发组件、写部署描述文件、设计界面(显示数据) 应用集成人员:负责将各种界面、组件、描述文件、驱动程序、其他属性文件集成 部署人员:负责将J2EE集成文件部署的应用服务器 系统管理员:负责调整服务器的运行参数、监视服务器的运行情况
负载均衡 故障容错 Web 服务 网络透明 遗留集成 事务管理 安全性 消息 多线程 持久性 数据库连接 资源合并 开发、测试和封装功能 ……
中间件技术
31
J2EE Containers & Components
中间件技术
32
容器与组件
容器处理
• 一致性 • 安全性 • 可获得性 • 可伸缩性 • 事务性
编写和编译组件代码
Servlet, JSP, EJB
编写组件的部署描述符 把组件装配成可部署的软件包 将软件包部署到J2EE应用服务器上
中间件技术
27
部署描述符
提供容器如何管理和控制J2EE组件行为的操 作指令 事务性 安全性 持久性 通过配置实现组件行为的定制 (不需要通过代 码进行定制) XML文件 使代码具有可移植性
只要符合J2EE的标准 J2EE标准不完整,如 Web Service J2EE的技术需改进,如 EJB 各厂商发展各自的技术 不同产品很难协同和移植
实际情况
J2EE可选择同一厂商支持的不同操作系统
中间件技术
23
.Net的移植性与互操作性
理论上.Net应用可移植到任何平台
CLS提交给标准化组织 只要支持CLR
Session Bean
Data
HTTP
HOME
Containers
JDBC
REMOTE
AppServer A Data
中间件技术
EJB Server
14
J2EE是端到端的解决方案
中间件技术
15
N层J2EE体系架构
中间件技术
16
J2EE主要技术概览
展示层 – ServLet/JSP 中间层 – EJB 中间层可用的企业服务
中间件技术
4
中间件技术
中间件是基础软件,处于操作系统(或网络协 议)与分布式应用之间,从而屏蔽操作系统 (或网络协议)的差异,实现分布式异构系统 之间的互操作。目前,对中间件还没有形成一 个统一的定义,比较公认的IDC的定义是:中 间件是一种独立的系统软件或服务程序,分布 式应用软件借助这种软件在不同的技术之间共 享资源,中间件位于客户机服务器的操作系统 之上,管理计算资源和网络通信。
中间件技术
34
Web服务器模型/CGI/Servlet
Web服务器模型 CGI/Servlet Server side module
isapi mod_perl
Server side script
php asp jsp
中间件技术
35
Servlet
Servlet是Java技术对CGI编程的回答。Servlet 程序在服务器端运行,动态地生成Web页面。 与传统的CGI和许多其他类似CGI的技术相比, Java Servlet具有更高的效率,更容易使用, 功能更强大,具有更好的可移植性,更节省投 资。