信息系统开发技术概述课件

上传人:29 文档编号:242858410 上传时间:2024-09-09 格式:PPT 页数:90 大小:604.10KB
返回 下载 相关 举报
信息系统开发技术概述课件_第1页
第1页 / 共90页
信息系统开发技术概述课件_第2页
第2页 / 共90页
信息系统开发技术概述课件_第3页
第3页 / 共90页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,信息系统开发技术概述,同济大学经济与管理学院,徐德华,博士,信息系统开发技术概述同济大学经济与管理学院,1,主要内容,1. 统一建模语言UML,2COM+组件技术,3. CORBA,4. EJB与J2EE,5. .NET平台,主要内容1. 统一建模语言UML,2,1. 统一建模语言UML,1.1 UML产生背景,面向对象建模语言出现于70年代中期。从1989年到1994年,其数量从不到十种增加到了五十多种。90年代中,一批新方法出现了,其中最引人注目的是Booch 1993、OOSE和OMT-2等。,Booch是面向对象方法最早的倡导者之一,Booch 1993比较适合于系统的设计和构造。,1. 统一建模语言UML1.1 UML产生背景,3,Rumbaugh等人提出了面向对象的建模技术(OMT)方法,用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。OMT-2特别适用于分析和描述以数据为中心的信息系统。,Jacobson于1994年提出了OOSE方法,其最大特点是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。OOSE比较适合支持商业工程和需求分析。,Rumbaugh等人提出了面向对象的建模技术(,4,统一建模语言(Unified Modeling Language,UML)不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。,“统一建模语言(UML)是一种用于软件系统制品规约的、可视化的构造及建档语言,也可用于业务建模以及其它非软件系统。” UML是一种通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,统一建模语言(Unified Modeling,5,UML能够描述系统的静态结构和动态行为:静态结构定义了系统中重要对象的属性和操作以及这些对象之间的相互关系;动态行为定义了对象的时间特性和对象为完成目标任务而相互进行通信的机制。UML不是一种程序设计语言,但我们可以用代码生成器将UML模型转换为多种程序设计语言代码,或使用反向生成器工具将程序源代码转换为UML模型。,UML能够描述系统的静态结构和动态行为:静态结构,6,信息系统开发技术概述课件,7,1.2 UML语言概述,1.2.1 UML语言的特征,不是一种可视化的程序设计语言,而是一种可视化的建模语言;,是一种建模语言规格说明,是面向对象分析与设计的一种标准表示;,不是过程,也不是方法,但允许任何一种过程和方法使用它。,1.2 UML语言概述,8,1.2.2 UML语言的目标,易于使用,表达能力强,进行可视化建模;,与具体的实现无关,可应用于任何语言平台和工具平台;,与具体的过程无关,可应用于任何软件开发过程;,简单并且可扩展,具有扩展和专有化机制;,强调在软件开发中,对架构、框架、模式和组件的重用;,与最好的软件工程实践经验集成;,可升级,具有广阔的适用性和可用性;,有利于面向对象工具的市场增长。,1.2.2 UML语言的目标,9,1.2.3 UML组成,由视图view,图diagram,模型元素model element和通用机制general mechanism等几个部分组成。,视图是表达系统的某一方面特征的UML建模元素的子集,由多个图构成,是系统的抽象表示;,图是模型元素集的图形表示;,模型元素代表面向对象中的类、对象、消息和关系等概念,是构成图的最基本的常用概念。,通用机制用于表示其它信息,比如注释、模型元素的语义等。,1.2.3 UML组成,10,1.3 UML语义,UML语义描述基于UML的精确元模型(Meta Model)定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。,1.3 UML语义,11,1.4 UML表示法,UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。,统一建模语言UML的重要内容可以由五类图(共9种图形)来定义。,1.4 UML表示法,12,1.4.1 用例图(Use Case diagram),用例视图是被称为参与者的外部用户所能观察到的系统功能的模型图。用例是外部可见的一个系统功能单元,这些功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。,用例也可以有不同的层次。用例可以用其他更简单的用例进行说明。在交互视图中,用例作为交互图中的一次协作来实现。,1.4.1 用例图(Use Case diagram),13,1.4.2 静态图(Static diagram),静态图对应用领域中的概念以及与系统实现有关的内部概念建模,包括类图、对象图和包图。,类图描述系统中类的静态结构。,对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。,包图由包或类组成,表示包与包之间的关系。包是操作模型内容、存取控制和配置控制的基本单元。,1.4.2 静态图(Static diagram),14,1.4.3 行为图(Behavior diagram),行为图包括状态图和活动图,描述系统的动态模型和组成对象间的交互关系。,状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。状态图可用于描述用户接口、设备控制器和其他具有反馈的子系统。,活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图有助于理解系统高层活动的执行行为,而不涉及建立协作图所必须的消息传送细节。,1.4.3 行为图(Behavior diagram),15,1.4.4 交互图(Interactive diagram),交互图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,包括顺序图和合作图。,顺序图显示对象之间的动态合作关系,它强调对象之间传送消息的时间顺序,同时显示对象之间的交互关系。顺序图可以用来进行一个场景说明,即一个事务的历史过程。,协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系,但它们的侧重点不同。,1.4.4 交互图(Interactive diagram),16,1.4.5 实现图(Implementation diagram),实现图包括构件图和配置图,显示系统实现时的一些特性,包括源代码的静态结构和运行时刻的实现结构。,构件图描述代码部件的物理结构及各部件之间的依赖关系,有助于分析和理解部件之间的相互影响程度。,配置图定义系统硬件的物理拓扑结构以及在此结构上执行的软件。它可以显示计算结点的拓扑结构和通信路径、结点上运行的软件构件、软件构件包含的逻辑单元(对象、类)等。,1.4.5 实现图(Implementation diagr,17,1.5 UML的应用领域,UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。,总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。,1.5 UML的应用领域,18,2COM+组件技术,所谓组件,其实就是一种可部署软件的代码包,其中包括某些可执行模块。组件单独开发并作为软件单元使用,它具有明确的接口,软件就是通过这些接口调用组件所能提供的服务,多种组件可以联合起来构成更大型的组件乃至直接建立整个系统。,实现组件并不一定需要采用面向对象语言。支持组件的技术包括COM+、CORBA和EJB等。,2COM+组件技术 所谓组件,其实就是一种可部署,19,2.1 COM的产生,Microsoft出品了COM(Component Object Model),COM仅仅只是一个规范。不管组件用什么语言写成,只要符合这个COM规范,就能被用任何一种语言写成的客户程序调用。,Microsoft推出Windows 98和Windows 2000后,整个操作系统的核心都围绕着COM来建立。我们可以把Windows系统看作是一系列的COM接口,在需要是可以调用这些接口。,2.1 COM的产生,20,COM服务程序有三种形式:,第一种是驻留在本地机器上以DLL形式提供,该服务程序被调用时,嵌入到调用程序的线程中运行,是最常用的形式;,第二种是驻留在本地机器上以EXE形式提供,该服务程序被调用时将占用独立的线程运行;,第三种驻留在远端机器上以EXE形式提供,服务程序通过网络被调用,它在远端机器上运行,结果通过网络返回调用者。,COM服务程序有三种形式:,21,COM的缺点就是大家常常提到的“DLL地狱”。这个问题在一个DLL要被一个新版本的DLL所取代时引发。开发者不得不通过关闭所有的客户应用程序的方法来达到清除所用对这个组件的引用的目的。有时所有的方法都还起不了作用,那你只好重新启动服务器后才能替换掉老的DLL。,COM的缺点就是大家常常提到的“DLL地狱”。,22,2.2 DCOM,即Distributed COM,与COM的不同点:,COM有两种存在形式(DLL、EXE),但DCOM必须是可执行程序,因为DCOM不可能在客户程序的内存空间运行,所以不能是动态连接库。,COM(DLL形式)可以不用RPC通信,而DCOM必须使用RPC远程调用。,COM(DLL形式)与客户共同存在于同一内存空间,调用速度快。,COM(DLL形式)的安全性不高,客户程序可以造成服务COM发生错误,DCOM安全性高。,COM程序配置简单,DCOM配置较复杂。,2.2 DCOM,23,2.3 COM+的产生,为了让企业级的应用程序能使用上COM,它必需要有以下的特定的能力。,验证能力,对象池(Object Pooling),事务处理,支持分布式架构,为了使开发者不必去为他们的组件添加这些能力,微软公司出品了DCOM和MTS(Microsoft Transaction Server,微软事务服务器)。,2.3 COM+的产生,24,MTS允许相关的作业单元被当作一个事务来对待,这意味着如果所有的作业单元被成功地完成,整个事务就被当作成功地完成,反之如果有一个单元未成功完成,整个事务将被重新轮回。,在客户请求对象和释放对象后,MTS仍保存着这个对象,所以当另一个客户请求同一个组件的时候,MTS就将保存着的对象交给它。通过这种方式,MTS减少了在服务器源实例化的次数。,MTS针对企业应用和Web应用的特点,在COM/DCOM的基础上又添加了许多功能和特性,包括事务特性、安全模型、管理和配置等,MTS使COM成为一个完整的组件体系结构。,MTS允许相关的作业单元被当作一个事务来对待,这,25,COM+并不是COM的新版本,我们可以把它理解为COM的新发展,COM+的底层结构仍然以COM为基础。可以认为COM+是COM、DCOM和MTS的集成。但更重要的一点是,COM+倡导了一种新的概念,它把COM组件软件提升到应用层而不再是底层的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统,因此,COM+与操作系统的结合更加紧密。,COM+并不是COM的新版本,我们可以把它理解为,26,2.4 COM+基本结构,COM+不再局限于COM的组件技术,它更加注重于分布式网络应用的设计和实现,已经成为Microsoft系统平台策略和软件发展策略的一部分。,2.4.1 Windows DNA策略,Windows DNA(Distributed interNet Application Architecture)是Microsoft多年积累下来的技术精华集合起来而形成一个完整的、多层结构的企业应用总体方案,它使Windows真正成为企业应用平台。,2.4 COM+基本结构,27,(a) 三层结构技术组成模型 (b) Windows DNA结构,(a) 三层结构技术组成模型 (b) Window,28,2.4.2 COM+基本结构,从COM的发展角度来看,COM最初作为桌面操作系统平台上的组件技术,主要为OLE服务。但是随着Windows NT与DCOM的发布,COM通过底层的远程支持使组件技术延伸到了分布式应用领域,充分体现了COM的扩展能力以及组件结构模型的优势。MTS为COM增添了许多新的内容,弥补了COM和DCOM的一些不足,它注重于服务器一端的组件管理和配置环境。COM+进一步把COM、DCOM和MTS统一起来,形成真正适合于企业应用的组件技术。,2.4.2 COM+基本结构,29,COM+组成结构图,COM+组成结构图,30,COM+不仅继承了COM、DCOM和MTS的许多特性,同时也新增了一些服务,比如负载平衡、内存数据库、事件模型、队列服务等。,COM和MTS把组件的所有配置信息都保存在Windows的系统注册表中,然而,COM+把大多数的组件信息保存在一个新的数据库中,称为COM+目录(COM+ Catalog)。COM+目录把COM和MTS的注册模型统一起来,并提供了一个专门针对组件的管理环境。,COM+不仅继承了COM、DCOM和MTS的许多,31,2.5 COM+新增系统服务介绍,COM+的系统服务充分体现了COM+的特征,通过这些系统服务,我们可以很容易地开发出多层结构的应用系统,因为这些系统服务本身已经满足了多层应用的一些基本要求。,COM+的系统服务有的是新增加的,包括队列组件、负载平衡、内存数据库和事件服务。有的从MTS继承过来并增强了的,包括事务、对象池、安全模型以及管理特性。,2.5 COM+新增系统服务介绍,32,2.5.1 COM+队列组件,COM+除了支持这种基于RPC连接的运行方式,它还支持另一种运行模式,基于消息的通讯过程,它可以有效地把客户与组件的生存期分离开。这种模式通过COM+的队列组件服务实现。,队列组件并没有使用直接的RPC连接,而是采用了底层的消息系统MSMQ(Microsoft Message Queue Server)。客户程序不再直接调用组件对象,它利用消息机制与组件对象进行通讯,即使组件对象并没有运行,客户程序仍然可以执行操作。,2.5.1 COM+队列组件,33,2.5.2 COM+事件模型,COM+事件模型用中心服务和中心管理的方式把发布者与订阅者之间的依赖关系分离开,它用事件类作为发布者和订阅者之间的中间对象,发布者必须通过事件类发布信息。事件类是由COM+事件服务提供的对象,它实现了事件接口。当发布者要激发事件时,它创建一个事件类对象,调用相应的事件方法,然后释放对象的接口。COM+事件服务会决定如何通知订阅者,决定什么时候通知订阅者。如同队列组件情形一样,发布者和订阅者的生存时间可以被分离。,2.5.2 COM+事件模型,34,2.5.3 负载平衡,为了使组件支持负载平衡,必须定义一个应用群集(application cluster),应用群集是指一组已经安装了服务器端组件的机器,然后把一台机器配置成负载平衡路由器(router)。,COM+负载平衡以NT系统服务的形式运行在路由器机器上,当路由器的SCM(Service Control Manager)接收到远程创建对象请求时,它把请求传递到负载最轻的机器上。一旦对象已经被成功创建,那么客户与对象之间的连接是直接进行的,而不必再通过路由器。,2.5.3 负载平衡,35,2.5.4 内存数据库(IMDB),COM+的内存数据库(In Memory Database)服务用于保存应用的非永久状态信息。IMDB是一个驻留在内存中的支持事务特性的数据库系统,它可以为COM+应用程序提供快速的数据访问。,由于IMDB是内存中的数据库,所以IMDB只对本机器上的COM+组件有效,不支持分布式概念,并且多个IMDB机器不能装入同一个数据表。,2.5.4 内存数据库(IMDB),36,2.5.3COM+对象池,对象池是指把对象的实例保留在内存中,以便当客户请求创建对象时可以马上用到这些对象。对象池如同IMDB一样,完全是出于效率考虑的原因,用来建立大型的应用系统。,2.5.3COM+对象池,37,2.6 COM+的主要特性,真正的异步通讯。客户和组件有可能在不同的时间点上协同工作。,事件服务。,可伸缩性。动态负载平衡以及内存数据库、对象池等系统服务都为COM+的可伸缩性提供了技术基础。,继承并发展了MTS的特性。,可管理和可配置性。,易于开发。COM+开发模型比以前的COM组件开发更为简化。,2.6 COM+的主要特性,38,3. CORBA,3.1 对象管理集团(OMG),OMG(Object Management Group)成立于1989年,作为一个非营利性组织,致力于开发在技术上具有先进性、在商业上具有可行性并且独立于厂商的软件互联规范,推广面向对象模型技术,增强软件的可移植性、可重用性和互操作性。,3. CORBA3.1 对象管理集团(OMG),39,OMG 于1990年末提出了一个对象管理结构的基准结构OMA (Object Management Architecture)。OMA主要涉及用于面向对象语言、系统、数据库及应用程序框架的统一术语体系,面向对象软件系统的抽象框架和基于面向对象技术的分布式软件系统参考模型等。,OMG 于1991年末提出的公共对象请求代理程序体系结构CORBA (Common Object Request Broker Architecture),是OMA参考模型中的ORB接口技术规范。这一标准规定了如何定义、创建、调度、引用对象,以及对象之间如何通讯。,OMG 于1990年末提出了一个对象管理结构的,40,3.2 CORBA规范基本内容,CORBA是一个规范(Specification)而不是程序实现(Implementation),提供了一个允许在分布式和异构型环境中应用程序之间进行互操作的框架。CORBA规范的基本组成如下图所示。,3.2 CORBA规范基本内容,41,信息系统开发技术概述课件,42,3.2.1 对象请求代理ORB,ORB (Object Request Broker)是CORBA的核心,在CORBA中,所有的通讯都通过ORB进行。,ORB作为一个“软件总线”来连接网络上的不同对象,提供对象的定位和方法调用,它是CORBA实现的关键。其主要功能是定位服务对象,分析客户对象的请求,获取服务对象的功能接口,在客户与服务对象间建立通信连接。,客户对象完全可以不关心服务器对象的位置、实现它所采用的具体技术和工作的硬件平台。,3.2.1 对象请求代理ORB,43,3.2.2 接口定义语言IDL,IDL(Interface Definition Language)是用于描述对象接口的一种高级符号语言。IDL不涉及任何接口的实现细节,所有COBRA系统都根据IDL用某种特定语言来实现接口。,IDL是独立于其他编程语言的功能描述性语言。利用IDL,完成CORBA服务对象方法的说明,然后利用语言映射工具,将用IDL定义的CORBA对象方法说明翻译成高级编程语言的接口说明。,IDL描述通常以接口库的方式进行存贮。,3.2.2 接口定义语言IDL,44,3.2.3 接口库,CORBA引入接口仓库(Interface Repository)的目的在于使服务对象能够提供持久的对象服务。将接口信息存入接口仓库后,如果客户端应用提交动态调用请求(Dynamic Invocation),ORB可以根据接口仓库中的接口信息及分布环境下数据对象的描述,获取请求调用所需的信息。接口信息包括了所有描述服务对象属性、操作、自定义数据类型及异常处理的IDL定义。,3.2.3 接口库,45,3.2.4 基本对象适配器BOA,BOA(Basic Object Adapter)是为服务对象端管理对象引用和实现而引入的。CORBA规范中要求系统实现时必须有一种对象适配器。对象适配器完成如下功能:,生成并解释对象的引用,把客户端的对象引用映射到服务对象的功能中;,激活或撤消对象的实现;,注册服务功能的实现;,确保对象引用的安全性;,完成对服务对象方法的调用。,3.2.4 基本对象适配器BOA,46,作为CORBA设计中常用的对象适配器基本对象适配器BOA,在分布式应用程序设计中是必要的元素。ORB将服务请求的参数及操作控制权传递给BOA,由BOA将执行结果返回给ORB。BOA用服务对象骨架(Skeleton)将ORB和对象实现中的方法联系在一起,服务对象骨架中相应的方法将对BOA方法的请求调用映射为服务对象中的方法。,作为CORBA设计中常用的对象适配器基本对象,47,3.2.5 静态请求接口SII,SII(Static Invocation Interface)假设在编译时刻客户对象能够明确了解服务对象的接口,即客户与服务器之间的关系应当是可知的、固定的,服务接口的任何改变都会导致软件系统的重新编译。,SII是由IDL描述的。,3.2.5 静态请求接口SII,48,3.2.6 动态请求接口DII,DII(Dynamic Invocation Interface)允许在客户端动态创建和调用对服务对象的请求。一个请求包括对象引用、操作和参数列表。与新服务对象及其行为相关的信息可以通过接口库获得,客户程序根据这些信息可以在运行时刻动态构造请求。,3.2.6 动态请求接口DII,49,客户对象的句柄(Stub)和服务对象的,Skeleton,是IDL与对象实现语言之间的桥梁。,客户对象的Stub是IDL定义的方法接口经IDL编译器编译后,在编写客户对象时,高级编程语言可应用的用于识别服务对象方法的代码,提供服务对象接口的简要说明。服务对象的骨架是IDL定义的方法接口经IDL编译器编译后,形成的说明服务对象提供方法的框架。对于服务对象接口中的每个方法,必须在服务对象程序中实现。,客户对象的句柄(Stub)和服务对象的Skele,50,3.3 服务请求的实现方式,CORBA的底层结构是基于面向对象模型的,由IDL、ORB和IIOP标准协议(Internet Inter-ORB Protocol,也称网络ORB交换协议)3个关键模块组成。,IDL使得所有CORBA 对象以一种方式被描述,仅仅需要一个由本地语言(C/C+、COOBOL或Java)到IDL的“桥梁”。CORBA对象的互通信要以ORB为中介,这种互通信可以在多种流行通信协议(如TCP/IP或IPX/SPX)之上实现。在TCP/IP上,来自于不同开发商的ORB用IIOP标准协议进行通讯。,3.3 服务请求的实现方式,51,关于对象请求的实现方式,CORBA规范中定义客户程序可以用动态调用接口DII方式或通过IDL文件经编译后在客户端生成的Stub方式提出服务请求。,在提出请求时,客户可以使用动态调用接口或者IDL句柄。,客户将需要完成的工作交给ORB,由ORB决定由哪一个对象实例完成这个请求,然后激活这个对象,将完成请求所需要的参数传送给这个激活的对象。,关于对象请求的实现方式,CORBA规范中定义客户,52,信息系统开发技术概述课件,53,对象的接口有两种定义方式,可以使用IDL进行静态定义,这种语言根据进行的操作和传送的参数定义对象。另一种方法,可以将接口加入接口库服务中,允许在运行时对这些成为组件的接口进行访问,这两种方法是等效的。,对象实现通过IDL产生的框架或通过动态框架接收到调用请求,在处理这些请求时,对象实现可以调用对象适配器和ORB。,对象的接口有两种定义方式,可以使用IDL进行静态,54,信息系统开发技术概述课件,55,3.4 基于CORBA应用的优点,CORBA是开放式的、独立于厂商、用于网络上计算机应用的底层结构。任何厂家、计算机、操作系统、编程语言及网络环境下的基于CORBA的应用均使用IIOP标准协议,所以任何基于CORBA的应用均能协同工作。,CORBA对象可以用任何一种CORBA软件开发商所支持的语言来编写,也可以运行在任何一种CORBA软件开发商所支持的平台上。,3.4 基于CORBA应用的优点,56,CORBA是在不同平台、不同语言之间实现对象通信的模型,它为分布式应用环境下对象资源共享、代码重用、可移植和对象间相互访问建立了通用标准,同样也为在大量硬件、软件之间实现互操作提供了良好的解决方案。,与传统的DCOM相比,CORBA体系结构独立于语言、独立于工作平台等方面的特点,使得基于CORBA开发的应用系统在网络实现中具有更大的优势。,CORBA是在不同平台、不同语言之间实现对象通信的模型,,57,4. EJB与J2EE,4.1 发展历史,在JDK(Java Development Kit)1.0版的框架,Java 开发是以 Applet 和 Application应用程序作为中心的。,Servlet 在许多方面 与 Applet 相似,它是专门为在 Web 服务器机器上运行而设计的 Java 程序,Servlet是由容器管理的Web组件,可产生动态内容。,4. EJB与J2EE4.1 发展历史,58,Java Servlet 的出现,为应用程序员使用Java来创建Web应用程序开辟了新的途径。但是,仅有Servlet还不能为真正的企业计算提供完整的模型。Java Servlet 与 CGI 程序一样,最适合充当连接前端 Web 请求与后端数据资源的中间层组件。,JavaBeans规范将组件软件的概念引入到Java编程的领域。JavaBeans规范为Java开发人员提供了一种“组件化”其 Java 类的方法。Bean是一些Java类,可在一个可视的构建器工具中操作它们,并且可以将它们一起编写到应用程序中。任何具有某种特性和事件接口约定的Java类都可以是一个Bean。,Java Servlet 的出现,为应用程序员使,59,EJB( Enterprise JavaBeans )规范的第一版以初稿形式于1997年12月公布,并于1998年3月作为 1.0 版发行。EJB体系结构的目标是:,EJB体系结构将是标准的组件体系结构,用于以 Java 编程语言构建分布式的面向对象的商务应用程序。,EJB体系结构将使编写应用程序变得容易。,EJB应用程序将遵循Java编程语言的“一次编写,随处运行”的原则。,EJB体系结构将处理企业应用程序生命周期中的开发、部署和运行等方面。,EJB( Enterprise JavaBea,60,EJB体系结构将定义一些约定,这些约定使多个供应商提供的工具能够开发并部署可在运行时互操作的组件。,EJB体系结构将与现有的服务器平台兼容。供应商将能够扩展它们的现有产品,以支持EJB组件。,EJB体系结构将与 Java 编程语言编写的其他 API 兼容。,EJB体系结构将提供 EJB 组件和非 Java 编程语言应用程序之间的互操作性。,EJB体系结构将与 CORBA 兼容。,EJB体系结构将定义一些约定,这些约定使多个供应商提供的工具,61,J2EE(Java 2 Platform,Enterprise Edition)为 EJB技术提供了工作环境。事实上,Sun 把若干项软件技术都设想为这样的构件块,它们将使大型企业能够把以任务为关键的业务系统移植到Java环境中,而 EJB技术不过是这些技术之一。EJB 技术并不是一项独立的技术,它建立在 其他 Java 技术之上,这些技术由 Sun 和其他 IT 公司联合规定,它们一起提供了这个框架的内容,该框架就称为 J2EE。,J2EE(Java 2 Platform,Ent,62,J2EE 中包括以下技术:,Enterprise JavaBeans 技术,Java Interface Definition Language (IDL),Java Message Service (JMS) API,Java Naming and Directory Interface (JNDI),Java Remote Method Invocation (RMI) 和 Object Serialization,Java Servlet API,Java Transaction API (JTA),Java Transaction Service (JTS),Java Server Pages (JSP) 技术,JDBC 数据库访问 API,J2EE 中包括以下技术:,63,4.2 J2EE应用模型,J2EE多层体系的思想在很大程度上受到了MVC设计模式的启发和影响。所谓MVC,即Model-View-Controller,它是一种在复杂的应用系统中划分和界定各个组件的职能和作用范围的设计模式。在MVC设计模式中,Model即模型,是处理核心数据模型或实现核心应用功能的部分;View即视图,主要与用户界面有关。MVC设计模式认为这些不同的部分应该尽可能地相互独立,它们之间的交互则由Controller(控制器)协调。,4.2 J2EE应用模型,64,为了更好地控制和管理这些应用,支持各种用户的业务功能被连接到中间层。J2EE应用模式定义了用于以多层的方式实现应用的一种结构,它避免了两层结构的局限性,并提供足够的可伸缩性、可接入性和可管理性。,为了更好地控制和管理这些应用,支持各种用户的业务,65,4.2.1 中间层,在J2EE平台,中间层业务功能是由企业EJB组件实现。这些企业Bean让服务开发者将精力集中在业务逻辑,并让EJB服务的处理提供可靠、可伸缩服务的复杂工作。,4.2.1 中间层,66,4.2.2 客户层,J2EE平台支持几种类型的客户端。许多J2EE服务被设计成支持Web浏览器的客户端。这些服务通过动态生成的HTML页面和表格与客户端进行交互操作。,更复杂的服务将直接与第一层客户端直接交换数据。这里,JSP和Servlet用于规格化业务数据,以方便J2EE客户端处理。这些客户端既能在一个Web浏览器以Java Applet方式运行,也能用以Java技术为基础的程序方式运行。,4.2.2 客户层,67,4.2.3 企业信息系统EIS,一个服务的中间层的业务模块必须存取和更新在企业应用系统EIS层的信息。下列标准是Java服务的API,它们提供了对企业信息系统的基本存取功能:,JDBC,用于存取数据的Java标准API;,JNDI(Java Naming and Directory Interface),用于从企业的名字和目录服务存取信息的标准API;,JMS(Java Message Service),通过消息中间件发送和接收信息的标准API;,JavaMail,发送电子邮件的标准API;,JavaIDL,调用CORBA服务的标准API。,4.2.3 企业信息系统EIS,68,4.3 J2EE中间件的体系结构,4.3.1 J2EE总体结构,J2EE应用服务器由四个部分组成:Applet容器、应用客户端容器、Web容器和EJB容器,它们之间的关系由下图表示。,4.3 J2EE中间件的体系结构,69,信息系统开发技术概述课件,70,容器是应用服务器的运行环境,J2EE为容器中的应用组件提供服务。,应用客户端容器通过用于连接数据库系统的Java API、JDBC API与应用服务器要求的数据库相连接。包含有JSP和Servlet的Web容器和EJB容器也使用同样的接口与数据库相连接。,容器是应用服务器的运行环境,J2EE为容器中的应,71,J2EE应用服务器为应用组件的部署、管理和执行提供了支持。根据对应用服务器的依赖程度,应用组件可以被分成3种类型:,在应用服务器中被部署、管理和执行的组件,这样的组件有Web组件和EJB组件。,在应用服务器中被部署、管理,但是被下载到一个客户端系统上去执行的组件。,不完全按照应用服务器的要求被部署和管理的组件,应用客户端就是这样的组件。,J2EE应用服务器为应用组件的部署、管理和执行提,72,4.3.2 J2EE应用服务器体系结构,4.3.2 J2EE应用服务器体系结构,73,浏览器,ServletorJSP,容器,EJB Server,B,C,HTTP,EntityBean,HOME,REMOTE,SessionBean,HOME,REMOTE,数据,J2EE模型,A,数据,JDBC,RMI/IIOP,JDBC,应用服务器,浏览器ServletorJSP容器EJB ServerB,74,4.4 J2EE应用组件,J2EE应用组件是指在应用服务器中运行的软件组件,主要有JSP、EJB和Servlet三种。,4.4.1 JSP,JSP提供了一种在网页中嵌入组件的方式,并且允许生成相应的网页最终发送给客户。JSP网页可以包含HTML、Java代码及JavaBeans组件。JSP网页实际上是Servlet编程模型的一个扩充。当用户请求一个JSP网页时,Web容器会把相应的JSP网页编译成一个Servlet。接着此Web容器调用这个Servlet,并且把得到的内容返回给Web浏览器。,4.4 J2EE应用组件,75,JSP与ASP技术非常相似。两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。,但是,ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别。此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。,在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行。,JSP与ASP技术非常相似。两者都提供在HTML,76,4.4.2 Servlet,Servlet是一个以Java技术为基础的Web组件,它被一个容器管理,它能产生动态的内容。Servlet通过Servlet容器实现的请求/应答机制与Web客户端进行交互。,所有的Servlet容器必须将HTTP作为请求和应答的协议。,4.4.2 Servlet,77,一个Servlet可以具有这样一个处理流程:,一个客户端连接到一个Web服务器,并发送一个HTTP请求到这个Web服务器。,请求被Web服务器接收并转交给Servlet容器。Servlet容器可以与Web服务器在相同主机或不同的主机上运行。,Servlet容器在其配置的Servlet中找到调用的Servlet,然后用代表请求和应答的对象调用它。,Servlet使用请求对象找到谁是远端的用户,并通过应答对象将生成的数据返回客户端。,当Servlet完成了对请求的处理,Servlet容器确认应答已经完成,则将控制权返回给Web服务器。,一个Servlet可以具有这样一个处理流程:,78,4.4.3 EJB,EJB是用于开发安全、可扩展、事务型及多用户组件的一种分布式组件模型。简单地讲,EJB是包含业务逻辑的可重用软件单元。正如JSP网页允许把应用程序和表示逻辑分开,EJB允许把应用程序逻辑与系统级服务分开,这样开发者可以集中精力于具体业务问题,而不是系统编程。,4.4.3 EJB,79,4.5 EJB组件的基本形式,小程序(Bean)业务对象具有三种基本形式,它们分别是会话Bean、实体Bean和消息驱动Bean,通常没有必要三者都实现。,4.5.1 会话Bean,会话(Session)Bean本身有两种类型。一种是说明性会话Bean,这是一种用于表示一个客户与系统交互的短暂对象,只存在于客户会话中。,4.5 EJB组件的基本形式,80,另一种形式是无状态会话Bean,不在客户请求之间维护状态信息。,会话 bean 通常具有以下属性:,代表单个客户机执行,可以是事务性的,可以更新共享数据库中的数据,生存期相对较短,其生存期通常就是客户机的生存期,任何持久性数据都由 bean 管理,可以依容器的判断予以删除,会在 EJB 服务器失败时被删除,另一种形式是无状态会话Bean,不在客户请求之间,81,4.5.2 实体Bean,实体(Entity)Bean是一种持久性的对象,确定了数据存储的模型。实体bean提供对企业数据的访问,而不是支持用户会话。一个实体 bean可以支持多个并发用户。,实体 bean 通常具有以下属性:,代表数据库中的数据,是事务性的,允许多个用户共同访问,可以长期存在,持久性数据可以由容器管理,在 EJB 服务器失败后能继续生存,4.5.2 实体Bean,82,4.5.3 消息驱动Bean,消息驱动(Message-driven)Bean是一类特殊的EJB,它并不是客户直接调用的方式。消息驱动Bean的目的在于处理通过JMS收到的消息。消息驱动Bean通过提供一种在EJB容器内部处理消息的方式来实现JMS的异步属性。当应用程序客户或者一个应用程序通过JMS发送一条消息时,容器调用适当的消息驱动Bean来处理这条消息。,4.5.3 消息驱动Bean,83,5. .NET平台概述,5.1 .NET的目的,“.NET 代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构。”,.NET首先是一个环境,微软的构想是一个“不再关注单个网站、单个设备与因特网相连的互联网环境,而是要让所有的计算机群、相关设备和服务商协同工作”的网络计算环境。简而言之,互联网提供的服务,要能够完成更高程度的自动化处理。,5. .NET平台概述5.1 .NET的目的,84,信息系统开发技术概述课件,85,.NET的最终目的就是让用户在任何地方、任何时间,以及利用任何设备都能访问他们所需要的信息、文件和程序。而用户不需要知道这些东西存在什么地方,甚至连如何获得等具体细节都不知道。他们只需发出请求,然后只管接收就是了,而所有后台的复杂性是完全屏蔽起来的。,.NET的最终目的就是让用户在任何地方、任何时间,86,5.2 .NET结构,5.2 .NET结构,87,.NET Framework包括通用语言运行环境、Framework类库和Active Server Pages+,.NET这样的一个协同计算环境的具体实现还必然需要一系列的软件产品支撑。,.NET平台:建立在XML和因特网标准协议的基础上,包含了.NET的基础结构和基础工具,为开发新型的互动协作软件提供了一个先进的体系结构模型。,.NET系列产品和服务:如MSN.NET、OFFICE、VS.NET等。,第三方厂商的.NET服务:建立在.NET平台和产品上的面向不同应用领域的具体服务。,.NET Framework包括通用语言运行环,88,5.3 .NET的技术特征,.NET包括4个重要特点:,软件变服务;,基于XML的共同语言;,融合多种设备和平台;,四是新一代的人机界面。,这四个特点基本上覆盖了.NET的技术特征。,5.3 .NET的技术特征,89,5.4 .NET主要组成部分,Windows.NET,;,.NET Framework,;,.NET企业服务器,;,模块构建服务;,Orchestration,Visual Studio.NET,。,5.4 .NET主要组成部分,90,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!