(计算机科学与技术专业论文)业务逻辑执行环境的设计与实现.pdf_第1页
(计算机科学与技术专业论文)业务逻辑执行环境的设计与实现.pdf_第2页
(计算机科学与技术专业论文)业务逻辑执行环境的设计与实现.pdf_第3页
(计算机科学与技术专业论文)业务逻辑执行环境的设计与实现.pdf_第4页
(计算机科学与技术专业论文)业务逻辑执行环境的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机科学与技术专业论文)业务逻辑执行环境的设计与实现.pdf.pdf 免费下载

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

文档简介

北京邮【i 人学颂i j 学位论义业务逻掣 执行挠的设汁j 实现 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特i i i i 以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处, 本人签名:2 越 本人承担一切相关责任。 日期:2 丑:丝:生 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: i 型堕 捌再 北京邮电大学网络与交换技术国家重点实验室 日期:速:堡: 日期:巡:丝:k : 第2 页共7 l 页 北京邮电人学硕七学位论文业务逻辑执行环境的设计与实现 业务逻辑执行环境的设计与实现 摘要 随着电信网络中通信量的激增,各种电信增值业务也获得了迅猛 的发展,3 g 网络则为各种增值业务提供了更加宽广的舞台。而传统 电信网络或智能网中的业务开发周期长,成本高,已经不能满足下一 代通信网络对业务快速、灵活多变的要求,开放的业务平台就成为了 下一代网络的迫切需求。 业务逻辑执行环境( s e r v i c el o g i ce x e c u t i o ne v i r o n m e n t ,s l e e ) 是 业务平台的核心组成部分,负责支撑业务平台上所部署的业务逻辑的 正常运行,提供业务逻辑所用的编程接口,为业务提供快速的开发与 部署能力。本文针对下一代网络业务平台中的业务逻辑执行环境进行 设计和实现工作。 本文第一章从总体上讨论了业务逻辑执行环境的要求及系统设 计的目标。业务逻辑执行环境需要满足的目标有五项:业务执行能力、 业务管理、话务量管理、统计管理、性能需求。其中最重要的是业务 执行能力,其中涵盖了业务逻辑执行环境所提供的应用编程接口 ( a p p l i c a t i o np r o r a m m i n gi n t e r f a c e ,a p i ) ,所能够操作的资源以及编程 适圭笔 阳口1 to 在第二章中对当前的业务逻辑执行环境发展现状进行讨论。首先 讨论业务逻辑执行环境提供给业务开发所使用的a p i 的层次,从基本 级别a p i 、组件级别a p i 到脚本级别a p i ,抽象能力依次提高。随后, 从系统架构、核心概念以及提供的a p i 等方面详细讨论了现有的两种 业务逻辑执行环境a p i 规范:j a i n ( j a v a a p if o ra d v a n c e di n t e l l i g e n t n e t w o r k ) s l e e 与s i ps e r v l e t 。最后,对两种业务逻辑执行环境a p i 规范的适用范围与优劣点进行了比较。 在第三章中,本文首先结合业务逻辑执行环境的应用背景与第二 章中对两种规范的讨论,总结了业务逻辑执行环境的设计思想,给出 了一种业务逻辑执行环境的设计与实现。该实现向业务开发者提供了 北京邮电大学网络与交换技术国家重点实验室 第3 页共7 1 页 北京邮电人学颁i :学位论文业务逻辑执行环境的设计j 实现 较方便的扩展方式。自行设计的业务逻辑执行环境弥补了第二章中所 讨论的两种规范的缺点,代价是只向业务开发者提供了基本级别的 a p i ,高级别的a p i 则需要在基本级别a p i 及业务逻辑执行环境的 a p i 基础上进行扩充。在介绍业务逻辑执行环境的设计与实现之后, 对其中的键值线程池、系统与业务加载两项关键技术进行了介绍:键 值线程池满足业务逻辑执行环境的性能需求;系统与业务加载则满足 业务逻辑执行环境的功能需求,即系统与其上部署的各业务之间完全 独立。最后,在业务逻辑执行环境上部署了一个业务,进行了性台丹匕e - , t ! l , l 试。 第四章中,本文给出了实现的业务逻辑执行环境在现有通信网络 中的一个实际应用的例子:多媒体彩铃。验证了实现系统具有提供电 信级服务的能力。 最后,第五章从三个方面对本文所设计实现的业务逻辑执行环境 的发展进行了展望,讨论了下一步需要进行的工作 关键词g 业务逻辑执行环境键值线程池业务加载j a i ns l e es i p s e r v l e t 北京邮电大学网络与交换技术国家重点实验室第4 页共7 l 页 北京邮i 乜人学硕 :学位论文 业务逻辑执行环境的设计j 实现 d e s i g na n d 姗l e 匝n t i o no fs e r v i c e l o g i ce x e c u t i o ne n r o n m 哐n t a b s t r a c t a l o n g w i t ht h el o a d e x p l o s i o n o fc o m m u n i c a t i o ni n t e l e c o m m u n i c a t i o nn e t w o r k s ,t e l e c o m m u n i c a t i o nv a l u e a d d e ds e r v i c e s h a v ea l s oo b t a i n e dt h es w i f ta n dv i o l e n td e v e l o p m e n t s 。砀e3 gn e t w o r k s h a v ep r o v i d e dab r o a d e rs t a g ef o rt h et e l e c o m m u n i c a t i o ns e r v i c e s b u t t h es e r v i c ed e v e l o p m e n tp e r i o di nt r a d i t i o n a lt e l e c o m m u n i c a t i o nn e t w o r k o rt h ei n t e l l i g e n tn e t w o r ki sl o n g ,a n dt h ec o s ti sh i 曲i tc o u l dn o ts a t i s f y t h ef a s ta n df l e x i b l er e q u e s t so ft h en e x tg e n e r a t i o nn e t w o r k s ( n g n ) t h e o p e ns e r v i c ep l a t f o r mh a sb e c o m et h eu r g e n td e m a n do f t h en g n t h es e r v i c e l o g i c e x e c u t i o ne n v i r c i n m e n t ( s l e e ) l st h ec o r e c o m p o n e n to f t h es e r v i c ep l a t f o r m i ti sr e s p o n s i b l ef o rt h ee x e c u t i o no f s e r v i c el o g i cd e p l o y e do nt h ep l a t f o r m i ta l s op r o v i d e sp r o g r a m m i n g i n t e r f a c ew h i c hs e r v i c el o g i cu s e s ,f o rt h e f a s t d e v e l o p m e n ta n d d e p l o y m e n to fs e r v i c e s as l e ei sd e s i g n e da n di m p l e m e n t e di nt h e t h e s i s i nt h ef i r s tc h a p t e ro ft h i st h e s i st h er e q u e s t sa n dt h es y s t e md e s i g n g o a l so ft h es l e ei sd i s c u s s e d t h es l e es h o u l ds a t i s f y f i v eg o a l s : s e r v i c ee x e c u t i o na b i l i t y , s e r v i c em a n a g e m e n ta b i l i t y , t r a 伍c l o a d m a n a g e m e n ta b i l i t y , s t a t i s t i c a lm a n a g e m e n ta n dp e r f o r m a n c ed e m a n d a m o n g t h ef i v eg o a l s ,t h es e r v i c ee x e c u t i o na b i l i t yi st h em o s ti m p o r t a n t g o a l ,w h i c hc o v e r sa p p l i c a t i o np r o g r a m m i n gi n t e r f a c e s ( a p i s ) t h es l e e p r o v i d ,r e s o u r c e sa sw e l la sp r o g r a m m i n gl a n g u a g ea n ds oo n t h es e c o n dc h a p t e rc a r r i e so nt h ed i s c u s s i o nt ot h ep r e s e n ts i t u a t i o n o fs e r v i c el o g i ce x e c u t i o ne n v i r o n m e n td e v e l o p m e n t f i r s t ,t h ed i f f e r e n t 北京邮电大学网络与交换技术国家重点实验室 第5 页共7 l 页 北京邮i 【1 人学顾f ? 学位论文 业务逻辑执行环境的设汁i 实现 a p i so ft h es l e ep r o v i d e dt ot h es e r v i c ed e v e l o p m e n ta r ed e s c r i b e di n t u r no ft h ea b s t r a c t1 e v e l ,f r o mb a s i cr a n ka p i ,m o d u l er a n ka p it os c r i p t r a n ka p i t h e n ,t h ee x i s t i n gt w ok i n d so fs e r v i c el o g i ce x e c u t i o n e n v i r o n m e n ta p is t a n d a r d s ,j a i n ( j a v aa p if o ra d v a n c e di n t e l l i g e n t n e t w o r k ) s l e ea n ds i p ( s e s s i o ni n i t i a lp r o t o c 0 1 ) s e r v l e ta r ed i s c u s s e d f r o ms e v e r a la s p e c t s ,i n c l u d i n gc o r ec o n c e p t ,s y s t e mc o n s t r u c t i o n a sw e l l 硒t h ea p ip r o v i d e d f i n a l l y , ac o m p a r i s o no ft h e s et w ok i n d so fs l e e s t a n d a r d si sg i v e n i nt h et h i r dc h a p t e r , c o m b i n e dw i t ht h ea p p l i n gb a c k g r o u n do ft h e s l e ea n dt h ed i s c u s s i o ni nt h ea b o v ec h a p t e r , t h es l e ee n v i r o n m e n t d e s i g ni d e ai ss u m m a r i z e d ,t o g e t h e rw i t ho n e k i n do fs e r v i c el o g i c e x e c u t i o ne n v i r o n m e n td e s i g na n di t si m p l e m e n t i o n ,a n dt h ec o n v e n i e n t e x p a n s i o nw a yh a sb e e np r o v i d e dt ot h es e r v i c ed e v e l p e r s t h es l e e d e s i g nh a so v e r c o m e st h el i m i t a t i o n so ft h et w ok i n d so fs t a n d a r dw h i c h d i s c u s s e di nt h es e c o n dc h a p t e r , b u tt h ec o s ti st h a ts l e eo n l yp r o v i d e d b a s i cr a n ka p i st ot h es e r v i c ed e v e l p e r , w h i l eh i 曲r a n ka p i sn e e d st ob e c a r r i e do nt h ee x p a n s i o nt ot h eb a s i cr a n ka p i sa n dt h es l e ea p i s a f t e r t h ei n t r o d u c t i o no ft h ed e s i g na n di m p l e m e n t i o no fs l e e ,t w ok e y t e c h n o l o g i e s ,t h ek e y e dt h r e a dp o o lw h i c hs a t i s f i e st h ep e r f o r m a n c e d e m a n do ft h es l e e ,a n dt h es y s t e ma n ds e r v i c el o a d i n gt e c h n o l o g y w h i c hs a t i s f i e st h ef u n c t i o nd e m a n df o rt h ec o m p l e t ei n d e p e n d e n c e b e t w e e nt h es y s t e ma n dt h ev a r i o u sd e p l o y e ds e r v i c e s f i n a l l y , as e r v i c e i sd e p l o y e di nt h es l e e ,a n dap e r f o r m a n c et e s t i n gi sd o n e a p r a t i c a lu s i n go ft h es l e ei np r e s e n tn e t w o r k s ,m u l t i m e d i ar i n g b a c kt o n ei sg i v e ni nt h ef o u r t hc h a p t e r , w h i c hp r o v e dt h es l e eh a st h e a b i l i t yo fp r o v i d i n gt h et e l e c o ml e v e ls e r v i c e s f i n a l l y , t h en e x tw o r ko ft h es l e e i sp o i n t e do u ti nt h e6 触c h a p t e r k e yw o r d s :s e r v i c el o g i ce x e c u t i o ne n v i r o n m e n t ,k e y e dt h r e a dp o o l , s e r v i c ed e p l o y m e n t ,j a i ns l e e ,s i ps e r v l e t 北京邮电大学网络与交换技术国家重点实验室 第6 页共7 l 页 北京邮l 也人学颂i j 学位论文业务逻辑执行环境的改计j 实现 第一章概述 随着通信业务的迅猛发展和通信量的激增,未来的通信系统不仅要有大的系 统容量,而且还要能支持话音、数据、图像、多媒体等多种业务。人们要求能够 快速地提供各种各样的增值业务。这些增值业务可以使用户获得更丰富的业务体 验,同时也提高了网络的使用率。为了适应这种发展趋势,需要一种新的方式来 创造、修改、维护这些新的业务。 传统电信网络中增值业务的实现与具体的底层网络技术紧密耦合,业务内 容、逻辑开发都受限于传统电信网络以电路交换为基础、以基本语音互通为核心 的基本能力,因此为传统电信网络添加新的业务十分困难。虽然智能网的引入使 业务逻辑与网络技术在一定程度上得到了分离,但是由于智能网仍然基于电路交 换系统构建,且智能网是一个封闭的系统,因此智能网的业务类型仍然受到电路 交换的限制,业务开发周期长,成本高。构建开放的业务平台,即应用服务器, 成为下一代电信网络的迫切需求。为此,实验室在电子信息产业发展基金的支持 下,承担了“下一代网络核心业务平台刀、“基于第三代移动通信的新业务的开发 及产业化项目的开发工作。在项目中,论文作者负责业务平台中业务逻辑执行 环境( s e r v i c el o g i ce x e c u t i o ne v i r o m e n t , s l e e ) 的设计与实现,相关成果构成 了本论文的内容。 业务逻辑执行环境是业务平台的核心组成部分,负责支撑业务逻辑的运行, 目的在于为业务提供快速的开发与部署能力。业务逻辑执行环境需要提供以下功 能【l 】: 1 业务执行能力。业务逻辑执行环境的核心功能就是支持业务的执行。它 需要做到以下几点: 1 ) 具有合适的事件分发机制。 2 ) 为业务的执行提供开放的a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) , 这些a p i 必须易于使用和扩充,能够快速灵活地开发新业务,减少 成本,以便被广大的业务开发者接受。 3 ) 为使用不同语言( 如j a v a , x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) ) 编写 的业务的运行提供支持。 4 _ ) 允许业务使用a p i 与下层网络资源通信。 , 北京邮电大学网络与交换技术国家重点实验室第9 页共7 l 页 北京邮i u 人学硕 j 学位论文业务逻辑执行环境的设汁o j 实现 5 ) 提供开放的业务组件支持机制,允许新业务组件的在线加入,并允 许业务组件由第三方开发。 回具有业务实例管理能力,使业务开发者能够将精力集中在业务的逻 辑上,不必关心多实例及对它们关系的控制。 2 业务管理。电信应用服务器必须为业务运营商乃至业务用户管理业务提 供支持,如业务生命周期管理、业务配置管理等。 3 话务量管理。电信应用服务器可以接受来自一个或多个实体的业务请求, 某一时间段的业务或者某一特定业务的请求量可能很大,导致系统无法 及时处理请求甚至崩溃。因此必须进行话务量管理,使得其在任何时刻 的负荷都是可以接受的。 4 统计管理。为保证系统的正常运行,方便系统和网络的管理,正确评价 系统及业务的服务质量,电信应用服务器需要为系统乃至业务的重要数 据的统计提供支持。 5 性能需求。能够支持大话务量的处理。 作为业务平台的核心组成部分,业务逻辑执行环境几乎完成了业务平台的大 部分功能,而其为业务逻辑提供的a p i 则对业务的开发起到至关重要的作用, a p i 的开放性通常通过规范来保证。下一章将对业务逻辑执行环境发展现状进行 介绍。 北京邮电大学网络与交换技术国家重点实验室第l o 页共7 l 页 北京邮i u 人学硕i :学位论义业务逻辑执i f y q 、境的设计j 实现 第二章业务逻辑执行环境发展现状 2 1 业务逻辑执行环境的a p l 簟业务逻辑执行环境所提供的a p i 能够抽象底层网络的能力,提供给业务开 发者使用,应该注重开放性。但相对于开发性,更应该注意a p i 的易于使用性 和易于扩充性,否则就无法满足业务逻辑执行环境的设计初衷。 p a r l a ya p i 由p a r l a y 组织、e t s i ( i n t e r n e te n g i n e e r i n gt a s kf o r c e ) 和3 g p p ( 3 r d g e n e r a t i o np a r t n e r s h i pp r o j e c t ) 共同开发,具有广泛代表性,目前已成为一个事实 上的工业标准。它是一种开放的、技术和网络独立的a p i ,可对固定网、移动网 及分组网提供安全的访问。但是,直接采用p a r l a y a p i s 编写业务是比较困难的, 因为p a r l a y a p i 涉及到许多电信领域的知识,如呼叫模型、呼叫状态管理等。此 外,p a r l a y a p i 把如何处理多个呼叫实例、如何管理数据库连接等程序设计问题 都留给了业务逻辑去处理,严重增加了业务逻辑的复杂性,不利于新业务的快速 开发。仅仅通过在p a r l a y a p i 的基础上提供封装业务实例管理等功能并不能解决 问题,而且使业务逻辑执行环境无法摆脱p a r l a y a p i 带来的复杂性影响。业务逻 辑执行环境应该采用一种新的方式提供多层次的a p i 。业务逻辑执行环境提供的 a p i 不能在p a r l a y a p i 的基础上封装业务实例管理等功能,也不能采用类似p a r l a y a p i 的方式提供。业务逻辑执行环境所提供的a p i 在封装业务实例管理、线程管 理及呼叫触发等基础能力的前提下,可以提供三种层次的a p i ,如图2 1 所示。 图2 1不同抽象粒度的业务逻辑执行环境a p i 2 北京邮电大学网络与交换技术国家重点实验室 第1 1 页共7 l 页 北京邮l u 人学颂i :学位论义业务逻辑执行环境的致计o j 实现 2 1 1 基本业务逻辑执行环境a p l 基本业务逻辑执行环境a p i ( 以下简称基本a p i ) 是对各种资源的的基本抽 象及封装,基本a p i 为它所抽象的资源提供使用的途径,同时保证对资源的使 用符合资源所定义的逻辑,例如拒绝业务层试图结束不存在的呼叫。基本a p i 既可以符合规范或标准,如为s i p ( s e s s i o ni n i t i a t i o np r o t o c 0 1 ) t 3 】协议提供符合 j a i n ( j a v aa p if o ra d v a n c e di n t e l l i g e n tn e t w o r k ) s i p 4 规范的a p i ;也可以自定义 如为c m p p ( c h i n am o b i l ep o i n tt op o i n t ) t 5 】协议自定义的a p i 。基本a p i 可以是封 装各种网络协议的a p i ,也可以是封装数据库操作的a p i 。 业务逻辑只需根据自身的业务流程,调用相应的基本a p i 即可完成业务的 功能,它只需关注一个业务流程,无需关心多业务实例的并发。多业务实例的并 发与业务的管理功能由业务逻辑执行环境提供。 基本a p i 的抽象也可以分为不同的级别:针对特定资源的抽象a p i 与针对 某一种类型资源的抽象a p i 。 图2 2 基本业务逻辑执行环境a p i 的级刖 如图2 2 所示,圆角矩形框中内容是针对特定资源提供的a p i ,直角矩形框 中内容则是对黄色框中内容所提供a p i 的进一步抽象。图2 2 中,各圆角矩形框 中的内容分别提供b i c c ( b e a r e ri n d e p e n d e n tc a l lc o n t r o lp r o t o c 0 1 ) 6 】协议、 i s u p ( i s d nu s e rp a r t ) 【7 】协议、s i p 协议与数据库资源的a p i 。而因为b i c c 协议 与i s u p 协议的共通性,可以在b i c c 协议a p i 与i s u p 协议a p i 的基础上提供 b i c c 协议与i s u p 协议通用的a p i ,当然,更可以在各网络协议的基础上提供 更高级抽象的网络协议基本a p i 。 针对某种特定协议的a p i 对协议具有针对性,抽象层次低,没有涉及到对 其它协议的兼容性,使用起来较方便,但若想使用现有的业务逻辑而仅仅更换网 络协议较困难。针对某种资源类型的a p i 抽象层次高,使用起来较复杂,但业 务逻辑可以方便地切换所要使用的网络协议。 北京邮电大学网络与交换技术国家重点实验室第1 2 页共7 l 页 北京邮i 【1 人学烦i j 学位论义 业务逻辑执行环境的垃汁i 实现 2 1 2 组件业务逻辑执行环境a p i 组件业务逻辑执行环境a p i ( 以下简称组件a p i ) 是对基本a p i 的进一步抽 象。组件的概念类似于智能网中的s i b ( s e r v i c ei n d e p e n d e n tb u i l d i n gb l o c k ) ,它封 装一些通用的业务逻辑,目的在于简化业务的开发。业务开发者使用组件a p i , 可以通过组装组件完成自己所要开发的业务。当组件完备时,业务开发者甚至可 以无需了解基本的网络协议,只需熟悉组件开发的i d e ( i n t e g r a t e dd e v e l o p e n v i r o n m e n t ) 即可开发业务。 组件a p i 降低了开发业务的专业技能要求,提高了开发业务的效率,但对 业务逻辑的划分,抽象各部分成为通用组件并保持组件接口的通用性是一个较复 杂的过程。 2 1 3 脚本解释器 经验表明,8 0 的业务只用到了2 0 的网络能力。通过将常用的基本a p i 或组件a p i 进一步抽象,成为脚本级别的a p i ( 以下简称脚本a p i ) ,可以极大 地提高业务开发的效率。业务开发者只需要编写脚本即可完成业务的开发,无需 了解编程语言。 脚本a p i 进一步降低了开发业务的专业技能要求,但开发复杂的业务的能 力有限。 2 1 4 总结 脚本a p i 、组件a p i 与基本a p i 呈现向下一级一级映射的关系。在业务逻辑 执行环境内部,对应业务逻辑实例可以具备私有的表示方式,不同a p i 开发的 业务可以映射成相同的业务逻辑表示。 2 2 业务逻辑执行环境研究现状 2 2 1j a i ns l e e j a i n ( j a v aa p if o ra d v a n c e di n t e l l i g e n tn e t w o r k ) 技术提供了跨越 p s t n ( p u b l i cs w i t c h e dt e l e p h o n en e t w o r k ) 、分组网络及无线网络的、用于业务生 成的、新层次的、抽象的和相互关联的j a v a 接口,因而在业务层面上实现了异 构网络的融合。而且,j a i na p i 为融合网络带来了业务的可移植性、汇聚性和 安全接入等巨大优势。更进一步,由于j a v a 应用可以安全地接入网络内部资源, 对开发出更加丰富多采的业务尤为有利。因此,j a i n 技术正把通信市场从各个 北京邮电大学网络与交换技术国家重点实验室第1 3 页共7 1 页 北京邮【u 人学硕l j 学位论义业务逻辑执行环境的i 5 2 计j 实现 相互独立的、封闭的私有系统,改变成一个可快速创建和配置业务的整体网络体 系。 j a i ns l e e ( s e r v i c el o g i ce x e c u t i o ne v i r o n m e n t ) 8 】【9 】是j a i na p i 集合中的核 心组成部分,是通信应用的业务逻辑执行环境。j a i ns l e e 的目的是解决现有 s l e e 产品没有统一的接口规范,在各s l e e 上开发的业务不具备可移植性的问 题。 3 1 2 1j a i ns l e e 概述 j a i ns l e e 采用j a v a b e a n s 的组件模型和事件驱动机制,是一个与具体事件 类型无关的中间件。规范没有规定s l e e 提供商如何实现s l e e 及底层技术。因 此可以使得s l e e 产品多样化,从而引入竞争,以便促进技术改进和降低成本。 s l e e 规范具体规定了: 1 s l e e 组件模型和它如何支持事件驱动的应用; 2 s l e e 组件应该如何组合,相互之间怎样调用; 3 怎样规定提供的数据,如何通过s l e e 组件来实现从外部对它们的管理 和存取; 4 s l e e 工具: 5 资源如何适配进s l e e 体系及s l e e 应用如何与这些资源交互; 6 事件如何路由到应用组件; 7 s l e e 的管理接口; 8 应用如何打包,以便配置到s l e e 中。 北京邮电大学网络与交换技术国家重点实验室第1 4 页共7 l 页 北京邮i b 人学倾i :学位论文业务逻辑执行环境的设计。j 实现 3 1 2 2j a ns l e e 架构 斛萝 震封嬲 量黼 露潮 圈绷 l i 麓 邋努容器 霪篓缓黼业务实仞 瞄 黼 理缓隧 鬟 麓缫麟鬟燃闽纛黼黧 图2 3j a s l e e 架构图n 町 j a i ns l e e 规范所定义的s l e e 架构如图2 3 所示,主要包括业务容器 ( s e r v i c ec o n t a t e r ) ,为支撑业务逻辑运行提供的各种工具,对外提供的业务与 系统的管理接口以及适配各种s l e e 外部资源的资源适配器( r e s o u r c ea d a p t o r , r a ) 。 一个资源代表了一个外接到j a i ns l e e 的系统,比如网络设备、协议栈或 数据库等。j a i ns l e e 规范中使用资源适配器来适配外部的资源,各种资源的变 化情况通过事件上报到业务容器中,使业务容器无需关心外部资源的具体类型。 资源适配器有三种概念: 1 资源适配器。资源适配器是一个特定资源适配器类型的实现。同一种资 源适配器类型可能有多种实现方法。资源适配器由一套j a v a 类和一个配 置描述符文件组成。 2 资源适配器类型。资源适配器类型表明一套资源适配器的共同特征,它 定义了由同一类型资源适配器实现的j a v a 接口。其中的一个接口就是资 源适配器接口。它还定义了同一个资源适配器产生的事件类型。 3 资源适配器实体。资源适配实体是资源适配器的一个实例。同一个资源 北京邮电大学网络与交换技术国家重点实验室第1 5 页共7 l 页 北京i l i l _ i , l 人学倾i j 学位论义业务逻辑执行环境的嫂计j 实现 适配器可能实例化为多个资源适配器实体。 业务容器是j a i ns l e e 系统的核心部分。它完成了j a i ns l e e 的最主要功 能,其它的功能实体主要为业务容器或在业务容器中运行的业务提供服务与支 持。它的主要功能如下: 1 管理容器中部署的业务。业务容器支持部署多个业务并对各业务进行生 命周期管理( 部署业务、去部署业务、激活业务、去激活业务。j a i ns l e e 提供能力,操作由管理员进行) 。业务是一棵业务构件块组成的树,各业 务构件块封装一小部分业务逻辑,整棵树就构成了完整的业务逻辑。 2 对业务逻辑各实例进行生命周期管理。业务实例是业务逻辑的一个运行 实例,各实例同时处理业务逻辑,就实现了业务的并发。容器根据需要 创建或销毁业务实例或将业务实例设置处于不同的状态。 3 将资源适配器上报到容器中的事件路由到对应的业务实例上。业务容器 不关心资源适配器上报的具体事件类型,按照上下文将事件路由到正确 的业务实例上。 4 支撑多业务逻辑实例的并发执行。在业务容器中,可以同时运行多个业 务逻辑,各业务逻辑可以同时有多个实例在运行。不同业务实例之间并 发执行,但在同一业务实例上的事件必须顺序执行。 j a i ns l e e 还定义了各种工具,提供通用的a p i 给业务开发者使用。使用这 种通用的工具,可以方便业务的开发,也使业务更容易纳入到s l e e 的管理中。 这些工具包括: 1 跟踪工具。跟踪工具产生大量的跟踪信息,可以提供给管理客户端使用。 在任何情况下,管理客户端负责注册并接收跟踪工具产生的跟踪信息。 管理客户端可以过滤消息的内容。管理接口为每个业务提供设置跟踪级 别的方法,只有高于或等于跟踪级别的消息才能被管理客户端接收。管 理客户端还可以使用过滤器来过滤消息,只有管理客户端想要接收到的 消息才传递给它。 2 告警工具。用来产生告警通知,并为j a i ns l e e 外界管理资源使用。 3 统计工具。对业务的使用量与相应的各种运行相关信息进行统计。 4 计时器工具。业务实例经常做一些周期性的动作,或者需要初始化一些 动作并在一段时间后检查其是否完成,这就需要j a i ns l e e 为上述功能 北京邮电大学网络与交换技术国家重点实验室 , 第1 6 页共7 1 页 。北京邮i u 人学顾l :学位论义业务逻辑执行环境的设计o j 实现 提供计时器工具。计时器工具管理许多计时器,每个计时器都是独立的。 每个计时器可以触发零个或多个计时器事件。 5 上下文命名工具。为上下文命名可以方便业务实例内部或业务实例之间 的交互性工作,通过名字可以查找到上下文。 6 配置文件工具。配置文件工具为业务提供统一的配置管理功能。 系统管理接口主要是j a i ns l e e 定义的一系列管理所用的a p i 。管理接口通 过j m x ( j a v am a n a g e m e n te x t e n t o n ) 1 1 1 方式展现,规范中定义了各种 m b e a n ( m a n g e m e n tb e a n ) 1 1 】的接1 2 1 。 除此之外,j a i ns l e e 规范中还定义了事务,用于支持业务逻辑的回滚操作。 ,3 1 2 3j a i ns l e e 核心概念 j a i ns l e e 中,核心的概念主要是业务构建块( s e r v i c eb u i l d i n gb l o c k , s b b 8 删) 、活动( a c t i v i t y t 8 1 1 9 1 ) 与活动上下文( a c t i v i t yc o n t e x t 8 1 1 9 1 ,a c ) 。业务 由封装了业务逻辑的s b b 组成,而s b b 则通过a c 获取事件进行业务逻辑的处 理。 1 s b b j a i ns l e e 规范中对组成业务的核心内柚b b 进行了一系列相 关概念的定义,主要是s b b 组件及其构成业务的方式。 1 ) s b b 组件。包含如下内容: s b b 组件接收和发出的事件类型。每种事件都有其所对应的类型, s b b 组件可以定义要接收和发送哪种类型。 实例的状态。实例的状态数据应该保留在容器维护持久( c o n t a i n e r m a n a g e m e n tp e r s i s t e n t ,c m p ) i s 删域中,存在持久域中的状态数 据在经历各种失败时能维持状态不变。 事件方法。s b b 组件为接收的每类事件提供了相应的事件处理器 方法。事件处理器方法包含了对某种类型事件进行处理的业务逻 辑。s b b 组件中还包含其要发送事件到j a i ns l e e 容器中所用方 法的说明。 s b b 本地接口方法。s b b 组件声明了s b b 本地接口和本地接口 的实现,用以规定同步调用该s b b 的方法。一个s b b 组件的本 地接口只能被处于同一棵s b b 组件树中的其它s b b 组件所调用。 父子关系。s b b 组件可能与零个或多个子s b b 组件相关联。s b b 北京邮电大学网络与交换技术国家重点实验室第1 7 页共7 l 页 北京邮i 乜人学顾i :学位论文业务逻辑执行环境的设计j 实现。 组件通过一个配置符元素来识别每个子s b b 组件关系,并声明了 一个子关系接入方法,用来实时访问该关系。它还为每个子s b b 组件指定了默认的事件传递优先级。 共享数据。s b b 组件定义了与其它组件共享的数据,以此作为一口 套活动上下丈( a c t i v i t yc o n t e x t , a c ) 的属性。每个a c 的属性有 一个名字和类型。s b b 组件定义了一个访问a c 的接口,它提供 安全类型的接入方法,用来获得和设置属性。 2 ) s b b 实体 s b b 实体( s b be n t i t y ) 是一个逻辑实体,它代表s b b 组件的实例。 一个s b b 组件在运行期间可能创建零个或多个s b b 实体。 业务开发者通过指定s b b 实体间的子关系来组合业务。从逻辑上说, 一个s b b 实体是构成业务的s b b 实体树中的一个节点,子关系是从父 s b b 节点到子s b b 节点的有向边。每条边上有个标签来表明子关系的默 认事件传递优先级。 一个s b b 实体可以有零个或多个s b b 父节点,如图2 - 4 中的zs b b , 它可能是零个或多个s b b 实体的子节点。 图2 4 s b b 构成业务 根s b b 实体是一个由j a i ns l e e 容器实例化的s b b 实体。根s b b 实体必须声明一个非空的初始事件类型集,因为业务总是由某个事件触 发开始新的实例。对于根s b b 实体,它们的实例将成为s b b 实体树的 北京邮电大学网络与交换技术国家重点实验室 第1 8 页共7 1 页 北京邮l u 人学硕i j 学位论文业务逻辑执行纠:境的改汁。j 实现 根节点。 在j a i ns l e e 规范中,s b b 实体由j a i ns l e e 容器自行设计实现, 是s l e e 维护管理业务的操作对象。s b b 实体是业务实例状态数据的实 际保持者,s l e e 容器将c m p 域中存储的数据交由s b b 实体进行保存。 圜 图2 5s b b 实体跨越j a v a 虚拟机 如图2 5 所示,s b b 实体通过关联a c t i v i t yc o n t e x t 可以对事件进行 处理以完成业务逻辑的执行,并保存有业务的状态数据。通过j a v a 的序 列化技术【1 2 1 ,s b b 实体可以在多个j a v a 虚拟机( j a v av i r t u a lm a c h i n e , j ) 中存活,当其中某一j a i ns l e e 容器出现失败时,其它容器可以 接受业务的处理,不会出现业务逻辑运行的中断现象。 3 ) s b b 对象 s b b 实体是由j a i ns l e e 容器提供的,用于对各种不同的业务构件 块进行统一的管理。s b b 对象( s b bo b j e c t ) 则封装了业务开发者所定 义的业务逻辑的各组成部分。业务开发者使用抽象的j a v a 类作为s b b 对象来封装组成业务的各基本逻辑模块,将抽象类部署到j a i ns l e e 容 器中后,容器负责将抽象类实现成可执行的s b b 对象。将业务逻辑拆分 成不同的组成都分,有利于各组成部分的重复使用,提高开发效率。 j a i ns l e e 容器将事件路由到s b b 实体,s b b 实体存有业务实例的 状态数据。s b b 实体收到事件后,调用相应的s b b 对象上的方法来进行 业务逻辑的处理。 4 ) s b b 之间的通信方式 j a i ns l e e 规范所定义的s b b 之间的通信方式

温馨提示

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

评论

0/150

提交评论