(计算机软件与理论专业论文)j2ee分布式系统安全认证授权中间件的研究与实现.pdf_第1页
(计算机软件与理论专业论文)j2ee分布式系统安全认证授权中间件的研究与实现.pdf_第2页
(计算机软件与理论专业论文)j2ee分布式系统安全认证授权中间件的研究与实现.pdf_第3页
(计算机软件与理论专业论文)j2ee分布式系统安全认证授权中间件的研究与实现.pdf_第4页
(计算机软件与理论专业论文)j2ee分布式系统安全认证授权中间件的研究与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ab 耽口d ab s tra c t t h a n k s t o t h e e ff o r ts o f t h e re l a t e d c o r p o r a t io n s a n d t h e o p e n s o u r c e c o m m u n i t i e s , m o re a n d m o re e n t e r p r i s e a p p l i c a t io n s t o o k j 2 e e t e c h n o l o g y t o b e t h e fi r s t c o n s i d e r e d d i s tr i b u t i n g s o l u t i o n . e v e ry e n t e r p r i s e a p p li c a t i o n s y s t e m r e q u i r e s s e c u r i ty m e a s u r e s , a n d t h e re q u i r e m e n t o f a u th e n t i c a t io n a n d a u t h o r i z a t i o n i s e v e n m o re i m p o r ta n t t o t h e d i s t r ib u t in g s y s t e m . u n f o r t u n a t e l y , in o r d e r t o d e a l w i t h t h e c o m p l e x i ty o f t h e r e q u ire m e n t s o f a u t h e n t i c a t i o n a n d a u t h o r i z a t i o n , d i ff e r e n e t e x t e n t i o n s w e re p r o v i d e d 妙j 2 e e a p p l i c a t i o n s e r v e r s o u t s i d e t h e j 2 e e s p e c i fi c a t i o n , w h i c h r e s u l t s h i g h l e a r n in g c o s t d u e t o t h e i m p o s s i b i l i ty o f a j 2 e e a p p li c a t i o n m i g r a t i o n fr o m o n e k i n d o f j 2 e e a p p l i c a t i o n s e r v e r t o a n o t h e r . i n t e r m s o f t h e a u t h e n t i c a t i o n a n d a u t h o r i z a t i o n , 比 。t e s t a n d d e b u g o f t h e a u t h e n t i c a t i o n a n d a u th o r i z a t i o n c o m p o n e n t w a s v e ry h a r d t o c a r r y o u t w i t h o u t t h e 1 2 e e a p p li c a t i o n s e r v e r w h i c h c o m s u m e d a g r e a t d e a l o f r e s o u r c e o f t h e c o m p u t e r . t h i s s it u a t i o n i s a d i s a d v a n t a g e t o s o ft w a r e d e v e l o p m e n t . t h i s p a p e r i ll u c id a te s t h e j 2 e e s p e c i fi c a t i o n a n d s o m e re l a t e d o p e n fr a m e w o r k s , a n d a n a l y s e s t h e f e a t u r e s o f j 2 e e d i s t r i b u ti n g s y s t e m a n d j 2 e e a p p l i c a t i o n s e r v e r . a c c o r d i n g t o t h e a o p a n d i o c p r i n c i p l e s , a s o l u t i o n w h i c h m e e t s t h e r e q u ir e m e n ts o f j 2 e e a u t h e n t i c a t i o n a n d a u t h o r i z a t i o n , i s r e p o r t e d . t h i s s o l u t i o n b o o s t s u p t h e m i g r a t i o n o f p r i n c i p a l b a s e d a u t h e n t i c a ti o n a n d a u t h o r i z a t i o n c o m p o n e n t a m o n g j 2 e e叩 p li c a ti o n s e r v e r s i n t h e j 2 e e d i s t r ib u t i n g d e v e l o p e m e n t fi e l 氏a n d a l s o i m p ro v e s t h e e ff i c i e n c y o f s o ft w a r e d e v e l o p m e n t . t h e m a i n w o r k s a n d p r o d u c t i o n s a r e b e l o w : 1 . b a s e d o n t h e i o c t h e o ry , t h e p r o d u c ti o n c l e a r s a w a y t h e d i ff e r e n c e s o f u t h e n ti c a t i o n a n d a u t h o r i z a t i o n b e t w e e n d i s t r i b u t i n g s y s t e m s a n d n o n d i s t r i b u t in g s y s t e m . u s e r s c a n d e v e l o p a n o n d i s t r i b u ti n g p r o t o t y p e q u i c k l y , a n d t h e n c h a n g e i t t o a d i s t r i b u t i n g a p p li c a t i o n . 2 . t h e a u t h o r i z a t i o n c o m p o n e n t i s d e s i g n e d b a s e d o n t h e a o p t e c h n o l o g y , a n d i t l i b e r a t e s u s f r o m t h e d e c l a r a t i v e - n h n r i z a t i o n w h i c h u s e s t h e j 2 e e n ab s tr a c t d e p l o y m e n t d e s c r ip t o r . i t e n h a n c e s t h e t e s ta b i li t y o f t h e s o ft w a r e a n d m a k e s i t e a s i e r t o b e d e b u g g e d . i s o l a t e t h e d e c l a r a t i v e a u th o r i z a t i o n fr o m e j b c o n t a in e r . p r o v i d e t h e a u th e n t i c a t io n a n d a u th o r iz a t i o n c o m p o n e n t s f o r a p a c h e a x i s 2 w h i c h i s a n i m p l e m e n t o f w e b s e r v i c e . t a k e mo s s a n d i b m w e b s p h e r e a p p li c a t io n s e r v e r f o r e x a m p l e , t h e s e l f - d e fi n e d a d a p t e r i s e m b e d e d t h e r e l a t e d a p p li c a t i o n s e r v e r . i t p r o v i d e s t h e s a m e i n t e r f a c e t o 阮 e n d u s e r , i n o r d e r t o r e p l a c e t h e p r iv a t e in t e r f a c e s a n d 汕p le m e n t s s u p p li e d 勿t h e a p p li c a t i o n s e rv e r s . p ro v i d e a u n i f o r m w a y t o t h e a c c e s s i n g t o t h e a u t h e n t i c a t i o n d a t a s o u r c e . : 月,4 k 叮wo r d . 二 2 e e , s e c u r i t y , a u t h e n t i c a t i o n , a u th o r i z a t i o n , d i s t r i b u t e d s y s t e m 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定,同意如下 各项内容:按照学校要求提交学位论文的印刷本和电 子版本;学校有权保存学 位论文的印刷本和电 子版,并采用影印、缩印、扫描、数字化或其它手段保存 论文;学校有权提供目 录检索以 及提供本学位论文全文或者部分的阅览服务; 学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在 不以赢利为目 的的前提下,学校可以适当复制论文的部分或全部内容用于学术 活动。 学 位 论 文 作 者 签 名 : 司 末 夺 , 7 年 犷 ” if 日 . . . . . . . . . . . . . .月 . . . . .门 口 口妇 . .月 口 . . .叼 . . 口. . . 口月 . .口 . . . .侧.月 . . . . . .月 . . .口 . . . . .目 . . . . . . . . 曰. . . . . . . . . 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: ,祠 志 奋 解密时间:年月日 各密级的最长保密年限及书写格式规定如下: 内 部 5 年一 ( 最长5 年, 可少 于5 年) 一 骂一夕, ,笠 - - 一 年年 秘密1 0 年 ( 最长1 0 机密2 0 年 ( 最长2 0 可少于 1 0 年) 可少于2 0 年) 南开大学学位论文原创性声明 本人郑重声明: 所呈交的学位论文, 是本人在导师指导下, 进行 研究工作所取得的成果。 除文中已 经注明引用的内容外, 本学位论文 的研究成果不包含任何他人创作的、 已 公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体, 均己在文中以明确方式标明。 本学位论文原创性声明的法律责任 由本人承担。 学 位 论 文 作 者 签 名 : 阎1 , 7 0 7 年了 月 !8 日 第一章 绪论 第一章 绪论 在绝大多数企业应用中都会遇到系统的 安全认证及授权问题, 而对于基于j 2 e e 平 台的应用,则面临着分布式环境下如何高效解决认证授权的问题。 j 2 e e规范仅仅规定 了安全认证授权的 一部分接口 规范,为了 满足复杂的实际 应用需求, 在满足j 2 e e规范 的基础上, 各j 2 e e 应用服务器提供了不同的 扩展, 但其通用性较差, 不具有可移植性。 而且在分布式环境下, j 2 e e的主要分布式技术el: 和w e b s e r v i c e s 等普遍存在调试性 和测试性差的问题。 这样就导致程序的可重用性较差、 开发成本较为高昂, 甚至影响产 品质量。本文需求来源于j 2 e e 分布式系统应用开发中遇到的安全认证授权相关的实际 问题,针对敏捷软件开发过程的需求,提出一个可行的解决方案。 1 . 1 背景 互联网以 及电子商务技术的普及和发展, 推动着企业信息系统的构建和更新进程。 为了 缩短企业信息系统的设计和开发周期、 降 低构建企业信息系统的成本、 在己 有系统 中 对 变 化的 商 务 规 则 迅 速 地 做出 反 映, s i m 公 司 制 订 了j 2 e e ( j a v a 2 e n t e r p r is e e d iti o n . j a v a 2企业 版) 规范, 给出了 基于组 件的方 式 设计、 开 发、 组装和部 署企 业应用 系 统的 规范化做法。具体地, j 2 e e定义了分布式多层应用系统模型、组件重用策略、一致化 的安全模型以及事务控制的策略等, 使得服务器软件厂商和应用软件开发商各自 专注自 己的发展, 提高服务器软件和应用软件的通用型。 下面将阐述j 2 e e分布式技术的应用 领域, 并就j 2 e e的 分布式多层应用模型及其安全模型进行分析, 指出 其中 存在的问 题 作为本文的研究目标。 1 . 1 . 1 j 2 e e分布式系统的应用领域 提 到 分 布 式 计 算 技 术 的 应 用 和 工 具 , 目 前 成 熟 的 技 术 包 括j 2 e e , c o r b a ( c o m m o n o b j e c t r e q u e s t b r o k e r a r c h i t e c t u r e ) 和.n e t , d c o m ( d i s t r i b u t e d c o m m o n o b j e c t m o d e l ) . .n e t和 d c o m是以 微软的各种产品为开发工具和应用平台实现的网 络服务, 在 mi c r o s o ft的世界里功能 强大, 但对于u n i x 和l i n u x 这些在服务器市场占 主要份额的 系 统, .n e t 显得束手无策。因 此, j 2 e e 显示了 它跨平台的 优势,为网 络服务商提供了 很 好的面向 前端( fr o n t - e n d ) 的开发和应用平台。 从应用软件的开发过程的角度看, j 2 e e是完全开放式的 平台, 体现为既面向 设计 人员, 也面向开发人员的 规范; c o r b a也是一种规范, 但更多体现为中间产品, c o r b a 第一章 绪论 产品的 提 供商 才是这种规范的 真正 执行者. .n e t和d o o m作为m i c ro s o ft在网 络环境 的主打, 体现为一系列产品 化的 直接针对应用开发人员的 开发工具,比 如c # , c 十 斗 等. j 2 e e 也 是由 许多 软 件包 ( 应 用a p i ) 来面 对 开 发 人员的. 从 软件开 发成本 与周 期以 及软 件 的维护角度看, j 2 e e比c o r b a有优势。 从上面两个方面的分析来看, 如果我们要构建一个分布式系统, 在一般情况下, 我 们应该首先选择j 2 e e技术和产品。 1 . 1 . 2 j 2 e e分布式多层应用模型 在实际构建的企业信息系统中,需要根据j 2 e e规范定义的分布式多层应用模型将 不同性质和用途的组件部署到不同类型的应用服务器中。 j 2 e e规范根据企业信息系统 各个组成部分在功能上的区别, 将整个应用系 统划分为客户层、 中间层 ( 其中 可包括w e b 层、 业务层) 和企业信息系统层三层结构, 如图1 . 1 所示。 各个应用层分别配置在不同 类 型的应用服务器中。 图1 . 1 荃于me规范划分的企业应用系统逻辑层 1 .客户层 客户层用于与企业信息系统的用户进行交互以及显示根据特定商务规则进行计算 后的结果。 基于j 2 e e 规范的客户端可以是基于w e b 的瘦客户端, 也可以 是不基于w e b 的 独立应用程序( 胖客户端) 。 在基于w e b 的j 2 e e 瘦客户端应用中, 用户在客户端启动浏览器后, 从w e b 服务器 中下载w e b 层中的静态h t m l 页面或由j s p 或s e rv l e t 动态生成的h t m l 页 面。 在不基于w e b 的j 2 e e 胖客户端应用中, 独立的客户端应用程序可以 运行在一些基 于网络的 系统中,比 如手持设备或汽车电 话等。 同样, 这些独立的应用也 可以 运行在客 户端的j a v a a p p l e t 中. 这种类型的 客户 端应 用 程序可以 在不经过, ve b 层 的 情况 下直 接 访问 部署 在 ij 容器 ( e j b c o n ta i n e r ) 中 的e j b组件或 者部署在 w e b容 器 ( j s p i s e rv l e t c o n t a i n e r ) 中的w e b s e r v i c e s 组件。 2 . 中间层 第一章 绪论 业务层在基于j 2 e e规范构建的 企 业信息系统中, 将解决或满足特定业务领域商务 规则的代码构建成为业务层中的 e j b组件或者 w e b s e r v i c e s 组件。 e j b组件和 w e b s e r v i c e s 组件可以完成从客户端应用程 序中 接收数据、 按照商务规则对数据进行处理、 将处理结果发送到企业信息系统层进行存储、 从存储系统中 检索数据以 及将数据发送回 客户端等功能。 j 2 e e 规范 定义的w e b 层由j s p 页 面、 基于, e b 的j a v a a p p l e t 以 及用于动态生成 h t m l 页面的s e r v le t 构成。 这些基本元素在组装过程中通过打包来创建w e b 组件。 运 行在w e b 层中的w e b 组件依赖w e b 容器来支持诸如响应客户请求以 及查询e j b组件等 功能。 部署和运行在业务层中的e j b组件依赖于i 7 11 _ 容器来管理诸如事务、 生命期、状 态转换、多线程及资源存储等。这样,由业务层和 w e b层构成了多层分布式应用体系 中的中间层。 我们可以看到, w e b 层组件既可以 划分到客户层, 也可以 划分到中间层。 在实际应 用系统中, 划分三层结构的依据是在系统中起到的作用, 而不是具体应用技术。当w e b 层作为瘦客户端访问业务层时,即可把w e b 层组件划分到客户层;当w e b 层作为we b s e r v i c e s 或者其它基于s e r v l e t 技术的服务器端程序宿主时, 就应该把w e b 层组件归结到 中间层。 3 .企业信息系统层 在企业应用系统的 逻辑层划分中, 企 业 信息系统层通常包 括企业资 源规划( e r p ) 系 统、 大型 机事务处理 ( m a i n f r a m e t m n s a c d o n p r o c e s s i n g ) 系 统、 关系数 据 库系统 ( r d m s ) 及其它在构建j 2 e e 分布式应用系统时已 有的企业信息管理软件。 1 . 1 .3 j 2 e e安全模型 j 2 e e 应用编程模式13 41 将开发者从安全应用专业领域的实现细节分离出来。 j 2 e e 规 范定义了一些在开发人员、 装配人员和配置人员之间的公开的规约。 在安全应用的上下 文中, 应用提供者被要求以一种能够让安全需求在应用配置中 得到满足的方式来声明这 些应用的安全需求。 在应用中使用的 被声明的安全机制是写在一个叫部署描述符的文本 文件中。 然后应用开发者使用容器提供的工具将部署描述符中的应用需求映 射到 j 2 e e 服务器提供的安全机制当中去。 j 2 e e的多层应用是由 一组组件构成的, 如果这些组件完全遵守j 2 e e 规范, 且没有 使用非规范的组件, 那么该应用还可以部署到不同的j 2 e e 服务器上。 j 2 e e安全体系架 构的目 标就是为了通过做到每一层的安全从而达到端到端安全的目 标。 各个层可以既有受保护的资源也有不受保护的资源。 通常, 安全模型需要保护资源 以 确保只 有经过授权( a u t h o r i z e d ) 的 用户才能访问 它们。 授权提供了 对被保 护资源的受控 第一章 绪论 的 访问 。 授权是基于 鉴 定 ( i d e n t i fi c a ti o n ) 和认证 ( a u th e n ti c a ti o n ) 的。 鉴 定是一个系统能 够 识别出 实体的过程。 认证是 验证一 个用户、 设备或者计算机系统里的 其他实体的 鉴定的 过程,通常作为在系统中允许访问资源的先决条件。 授权和认证对于不受保护的资源是不必要的。 非授权的访问 资源是指那些未经认证 的或者匿名的访问。 在j 2 e e分布式项目 的实施过程中, 现实与理想总是存在巨 大的差距。j 2 e e 规范制 定的目 标就是为了增强j 2 e e 组件模块的可重用性和可移植性, 可是现实中的j 2 e e 服务 器,并不完全兼容。 j 2 e e规范是各厂商妥协的结果,其规范描述, 只能是现实需求的 一个子集, 并不能真正完全满足现实应用的需要。 为了 满足现实应用中复杂的需求, 各 j 2 e e应用服务器在满足j 2 e e规范的基础上,或多或少对j 2 e e 规范做了相应的扩展。 这就造成了一个应用服务器上的可以 运行的j 2 e e 模块, 经常需要进行一定程度的修改, 才能移植到另一种应用服务器上。 在安全认证授权方面, 这种现象更为突出, 各应用服 务器提供的安全认证授权机制差异非常大, 无形中 提高了 学习的成本和系统迁移的 难 度.而且,由于技术上和历史上的原因,j 2 e e应用服务器一般比较笨重,需要较多的 系统资 源运行, 而安装在上面的j 2 e e服务模块, 脱离应用服务器进行调试和测试是比 较困 难的, 这就极大 增加了 软 件的开发周期, 增加了 测 试成 本( 主要体现在为 不同 平台 的 应用编制不同 的 测 试脚 本 等工 作) 。 j 2 e e内 置的 安 全认 证 授权 机制, 绑定于应 用服 务 器,测试和调试的问 题更为突出。 敏捷软件开发u 是2 0 世纪末新兴的一种软 件开发过程方法, 它以 适应性的过程代替 传统的预测性的 过程, 在很大 程度上满足了 现代商业软件业务复杂、 需求多变、 时间 要 求紧迫等特点。敏捷方法以人为核心,注重交流与协作,强调软件可持续开发,实现频 繁交付对客户最重要的价值。 j 2 e e组件开发的复杂性,显然有悖于敏捷软件开发过程 的要求。我们迫切需要一种新的开发方式和框架,解决j 2 e e分布式系统开发中 遇到包 括安全认证授权在内的一系列问题,增强j 2 e e开发的可调试性和可测试性。 1 . 2研究目 标和内 容 本文的研究目 标是:以 现在应用比 较广泛的两个主要的j 2 e e应用服务器j b o s s 和 i b m w e b s p h e r e a p p li c a t io n s 为 例, 对j 2 e e 应用服 务 器的 安 全认证授权机制 和其 特有软件结构进行 分 析, 基于i o c ( i n v e r s e o f c o n t ro l , 控制反 转 ) 、 a o p ( a s p e c t o r i e n t e d p r o g r a m m i n g , 面向 方 面 编程 ) 、 m b e a n ( m a n a g e d b e a n , 受 管 理的b e a n ) 的 思 想和具 体实 现技术, 尽量使 用s p r i n g f r a m e w o r k . a c e g i s e c u r it y . a x i s 2 等开 源工具, 构造出 一 个 可以 支持e j b , w e b s e r v i c e s 这两种主流j 2 e e 分 布式技 术的 安 全 认证 授权中间 件框 架 ( 简 称s e c 4 j , s e c u r it y f o r j 2 e e ) 。 进而 应用s e c 4 j 在j 2 e e 分 布式系 统中 快速构 造非分 布 式的 第一章 绪论 原型系统, 并且 将原型 系 统很 快 迁移到 分布 式生 产 环 境中 。 只要 遵守s e c 4 j 框 架 要 求的 设计编码规则, 原型系统到分布式生产系统之间 迁移的主要工作仅仅是修改配置文件中 的相关内 容, 这就使得开发者关注于具体业务的实 现, 而将分布式、 安全认证授权作为 一 个系统 单独的 横向 需 求 进行剥离, 从 而提高 生 产 效率.同时s e c 4 j 框架 将各 应 用 服务 器之间的安全认证授权机制差异进行了 屏蔽, 并 且统一提供了自己 的 认证、 授权机制, 从而降低了学习成本。 围绕上述目 标,本文的主要研究内 容和工作包括以下几个部分: 1 . j 2 e e 主要分布式技术架构分析 学习 和研究 现 有的j 2 e e 分 布式技术e j b 和, ve b s e r v i c e s , 提出 符合s e c 4 j 框 架 的 设 计 模式 和系 统 架构, 为m e 4 j 框 架的 应用 提供必要的 场景 和规则. 2 .主流j 2 e e 应用服务器安全认证授权接口 分析 通过研究 两 个主 流的j 2 e e应 用服务 器j b o s s 和i b m w e b s p h e r e a p p l i c a t io n s 的 系统 特性 和安 全认证 授权 机制的 特点, 提出s e c 4 j 安 全 认证授权 模 块 通 过 适配器插入原有服务器的方式,以及对服务器特有接口的屏蔽方法。 3 .对 现有开 源框 架s p r i n g f r a m e w o r k 和 现 有 开 源安全认证授权框 架a c e g i s e c u r i ty 的应用 s p r i n g f r a m e w o r k 和a c e g i s e c u r i ty提供了s e c 4 j 系统所需的i o c . a o p 和简 单 的 基于a o p 的 针 对p o j o ( p l a in o l d j a v a o b j e c t , 简单j a v a 对象 ) 的 授权 检查 功能, 避免我们从头开始开发所有功能模块。 4 . e j b 分 布 式 技 术的s e c 勺安 全认证授 权 模块的 设 计与实现 学习 和研究e jb规范, 研究应用服务 器对e j b 认证授权的 特点, 分析e j b 认证 授权的实际 应用场景需求, 找出 对e j b声明式授权的替代方案, 使得业务本身和安 全认证授权解祸于e j b ,从而使得敏捷软件开发过程成为可能。 5 .基于a p a c h e a x i s 2 的, le b s e r v ic e s 分 布 式 技 术 的, 峭安 全 认 证 授 权 模 块 的 设 计 与实现 通 过 研究a p a c h e a x i s 2 对p o j o的 支持 , 针对应用服务器的 特点, 结 合s e e 4 j 适配器的相关实现,将安全认证授权模块集成到w e b s e r v i c e s 中去。 1 3论文组织结构 第一章, 绪论, 介绍本文的研究背景 及意义、 课题来源以及研究内 容和目 标。 第二章, 对j 2 e e 分 布式和安全认证授权的 领域分析。 首先, 本章对j 2 e e 相关 技术 进行概述,包括e j b . we b s e r v i c e . i o c和a o p ,以 及关系数据库访问 技术h i b e rn a t e . 接下来, 对j 2 e e安全认证授权机制进行详细阐述。 最后, 通过对j 2 e e 分布式系统的 应 第一章 绪论 用领域和开发现状的 研究, 指出现有j 2 e e 分布式技术安全认证授权领域的不 足, 针对 这些不 足, 对当 前的j 2 e e分布式系统架 构 进行了改进, 并在改 进后的 框架上得以 解决 先前所提的在认证、授权方面的不足,得到了本文所要实现的中间件产品的需求特性。 第三章, 给出j 2 e e分布式安全认证授权中间 件的 体系结构设计, 本章在第二章分 析的 基 础上, 进一步 给出s e c 4 j 的 体系 结 构设 计并且描 述了 其每一 个组 成部分的功能. 本章详细论述了该体系结构中身份认证管理源模块、 身份认证管理器模块、 声明性授权 拦截模块的设计与实 现。 适配器模块、 e j b i w e b s e r v i c e s 支持模块、 非分布刃分布式转 接模块的详细设计与实现置于第四章和第五章进行详细论述。 第四章,为使认证授权中间件可用于目 前主流的多种j 2 e e应用服务器上, 本文为 各种服务器设计了 适配器, 使中间件能 真正地独立于j 2 e e应用服务器。 本章给出 应用 服务 器适 配 器模 块的 设计指导思想以 及在mo s s 和i b m w e b s p h e r e a p p l i c a ti o n s e r v e r 两 种j 2 e e 应用服务器上的具体实现。 第五章, 本章通过设计实现非分布幻分布式转接模块, 使认证授权模块适用于非分 布式和分布式两种部署场合。 该模块包括e j 和we b s e r v i c e s 的客户端和服务器端部分, 并且通过i o c实现非分布式系统到分布式系统的迁移。 第六章, 对认证授权中间件进行性能分析. 具体地,针对s e c 4 j 的 整体结构和单独 模块进行详细分析,来确保以 此为基础架构的j 2 e e分布式应用程序的软件质量, 指出 使用s e c 4 j 中 间 件为 应用系 统带来的好 处。 结束语, 本章对论文的工作成果进行总结,并提出进一步工作的方向。 第二章 m e 分布式和安全认证授权领域分析 第二章 j 2 e e分布式和安全认证授权领域分析 2 . 1 j 2 e e 相关技术概述 2 . 1 . ,j 2 e e 分布式解决方案概述 在j 2 e e企业应用中,主要采用e j b或者w e b s e r v i c e s 来解决分布式问题。 e j b基于j a v a 对象序列化 通过二进制流进行网络数据传输和方法调用,完美封 装了 基于t c p / i p 协议的 远程方法调用过程,并且e j b 容器提供了 完整的事务、 安全等服务, 是构建高性能 分布式j 2 e e 分布式应用的首选。 w e b s e r v i c e s 使用 x m l 文本在网 络中进行进程间通讯,在异构系统的企业应用集成中大显身手。 现有j 2 e e 分布式应用大部分都基于这两种技术, 本节将对这两种分布式解决方 案进行概述。 2 . 1 . 1 . 1 e j b 技术概迷 1 . e j b规范的基本特征 在j 2 e e 规范将企业 应用系统划分的各逻辑层中, 封装业务规则的e j b组件 被部署在业务层中, 用于根据客户端的 服务请求进行业务数据的处理。 e j b组件 是基于分布式事务处理的 企业级应用程序组件,其中包含处理业务数据的应用 逻辑以 及客户端调用e j b组件服务所需的客户端接口。当 一个遵循-1j 规范开 发的第三方 e j b组件被集成到一个应用系统中时,不需要更改其实现代码或者 重新编译。 2 . e j b 组件类型 在e j b 2 . 1 规范中 定 义了 三 种类型 的 组 件: 会话b e a n ( s e s s i o n b e a n ) 、 实体 b e a n ( e n ti t y b e a n ) 和消息 驱 动b e a n ( m e s s a g e - d r iv e n b e a n ) . 会话b e a n 和实体b e a n 的定义由h o m e 接口、 r e m o t e 接口 和b e a n 实现类构 成。 在e j b组件的h o m e 接口中定义了 创建、 删除和定位e j b组件的方法: e m 组件的r e m o t e 接口 用于定义组件能 够提供的业务方法; b e a n 实 现类则用于实现 h o m e 接口中定义的组件生命周期回调方法以及r e m o t e 接口中定义的业务方法。 第二 章 m e分布式和安全认证授权领域分析 会话b e a n 代表e j b 组件与客户程序的 一个短暂交互过程, 其完成的功能可 能是执行数据库读写 操作 或者是进行简单的 数学计算等。 会话b e a n 可以 看成是瞬态的, 其生命周期相对短暂, 只有在客户程序与会 话b e a n 保持联系的 过程中 会话组件才具有生命力。 如果客户程序结束会话过程, e j b容器将会话be a n 对象实例移出e tl b容器中的 组件实 例池, 该 会话组件实例 将失去生命力。另外, 如果在客户程序与会 话组件交互过程中e j b容器崩溃, 那么用户必须重新创建一个新的会话组件对象实例来继续会话过程。 按照e j b 2 . 1 规范 的 定 义, 会话b e a n 分为 有 状态 ( s t a t e f u l ) 和无 状态 ( s t a t e l e s s ) 两种类型。 有状态会话b e a n 中 包含表示客户程序访问 和更新数据的会话状态参 数。 会话状态参数用于记 录会话b e a n 引用的 对象状态而不是在关系数据库中 存 储的数据资源。相对而言, 在无状态会话b e a n 中没有用于记录与特定客户程序 相关联的状态参数, 因 此不能够记录客户程序的状态和保持客户程序在服务器 端行为。 长期的j 2 e e开发实践证明,使用有状态会话b e a n 是极为耗费e ij容器资 源的, 性能上的损失与其带来的收益相比, 得不偿失。 在实际的j 2 e e 项目 实施 过程中, 一般使用s e r v l e t 的s e s s i o n 对象或者在胖客户端保持会话状态, 无状态 会话b e a n ( s t a t e l e s s s e s s i o n b e a n , 简称s l s b ) 己 经 足以 完 成 所需的 业务需求。 实 体b e a 。 因为设计问题,已 被作为软件设计的银弹所抛弃,故不予详细介绍。而 消息驱动b e a n 同j 2 e e 分布式无关, 本文不予涉及. 本文所研究的e j b 组件具体是指定义了 远程接口、 支持分布式设计的s l s b . 2 . 1 . 1 . 2 v e b s e r v i c e s 技术概述 1 . w e b s e r v i c e s 基本概念 随着i n t e rn e t 的不断发展, 现在的世界已 经成为一个网网相连的大型计算世 界,很多的操作有可能要通过i n t e r n e t 进行交互,因此如何集成各种不同平台, 不同操作系统和使用不同 技术提供的功能成为一个非常困难的问 题。 we b是为了解决程序与用户之间交互而产生的,而 w e b s e r v i c e s 则是为分 布式的应用程序交互做准备。 利用w e b s e r v i c e s 技术可以 很好的解决上面提出的 问 题, 而解决这个问题的关键在于通用的 程序到程序通信模型, w e b s e rv i c e s 就 是使用标准的接口 来描述网络上的操作, 然后利用标准化的j 1j v ii . 消息传递机制 第二章 j 2 e e分布式和安全认证 授权领域分析 通过现有的网 络 通信协议 侧 即/ f t p / s m t p ) 访问 这些操作, 其中 标准的接口 称 为w s d 以 w e b s e r v i c e d e s c r i p ti o n l a n g u a g e . w e b 服 务描 述语言 ) , 而访问 这 些 操 作的 协议就 是s o a p ( s im p l e o b j e c t a c c e s s p r o t o c o l , 简单 对象 访问 协议 ) o 在w e b s e r v i c e s 产生之前已 经有很多分布式的通信协议, 如微软的c o m + , d c o m. o m g的c o r b a . s u n公司的r m i . e j b 规范 等等, 这些协议都可以 进行分布式程序之间的通信; 但是它们都存在一个问题,就是不同公司产品 之 间, 甚至同一产品不同版本之间都难以 达到真正的互通。 w e b s e r v i c e s 正是在这 样的背景下产生的,它的出现使应用程序的集成和通信比以 前更方便、更快捷、 更有效。 w e b s e r v i c e s 的出 现早期主要针对分布式应用程序的互相通信, 主要解决不 同应用程序互通的整个问 题, 包括服务操作的描述、服务的发布和查找, 服务 的调用等。但是随着 w e b s e r v i c e s 的不断发展以 及行业的不断成熟,将会有更 多的应用程序需要在i n t e r n e t 上面通过w e b s e r v i c e s 动态的集成。 这将宣布通过 因特网进行企业到企业集成新纪元的到来。 2 . w e b s e r v i c e s 模型体系结构 w e b s e r v i c e s 体 系结构基于三种角 色 ( 服 务 提 供者、 服务 注册中 心 和服务 请 求者 ) 进行交互. 交互涉 及到发 布、查找 和 绑定 操作. 这些角 色 和操作一 起作 用 于 w e b s e r v i c e s 构件、 w e b服务的实现及其描述。图2 . 1显示了这些操作、 提 供这些操作的组件及它们之间的交互。 图2 . 1 w e b s e rv i c e s 模型体系结构 w e b s e r v i c e s 体系结构中的角色 第二章 7 2 e e 分布式和安全认证授权领域分析 . 服务提供者: 提供w e b s e r v i c e s 实 现并且将其发布的 企业或者个人. . 服务请求者:负责寻找并 调用相关的, /e b s e r v i c e s , . 服务注册中心:是可搜索的 服务描述注册中心,服务提供者在此发布他 们的服务描述 ,而服务请求者在此查找服务并获得服务的描述信息. w e b服务体系结构中的操作 . 发布: 为了使服务可访问, 需要发布w e b 服务描述以 使服务请求者可以 查找它, 所发布服务描述中的服务绑定地址可以根据应用程序的要求而 变化. . 查找: 在查找操作中, 服务请求者可以用多种方式检索所需要的服务描 述。 服务请求者可能会在两个不同的时期中牵涉到查找操作: 一是在设 计阶段为了程序开发而检索是否有相关的服务接口 描述,二是在程序运 行时为了 调用具体的w e b s e r v i c e s 而检索服务的描述以获取绑定地址信 息。 . 绑定: 服务请求者最后需要调用w e b 服务。 在绑定操作中, 服务请求者 使用服务描述中的绑定细节来定位、联系和调用服务,从而在运行时调 用或启动与服务的交互。 w e b s e r v i c e s 的构件 . w e b 服务的实现: w e b 服务实 现是一个软件模块, 它部署在由 服务提供 者提供的可以通过网络访问的 平台上。 . we b 服务描述: 服务描述包含服务的 接口 和实现的细节。 其中 包括服务 的数据类型、操作、 绑定信息和网 络位置。还可能包括可以 方便服务请 求者发现和利用的分类及其它 元数据。 服务描述可以 被发布给服务请求 者或服务注册中心。 3 . w e b s e r v i c e s 协议栈 要以 一种可互操作的方式执行发布、发现和绑定这三个操作,必须有一个 包含每一层标准的 , e b s e r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论