3、电子政务应用支撑技术.ppt_第1页
3、电子政务应用支撑技术.ppt_第2页
3、电子政务应用支撑技术.ppt_第3页
3、电子政务应用支撑技术.ppt_第4页
3、电子政务应用支撑技术.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、电子政务应用支撑技术,本章目标,两种主流软件开发技术J2EE平台和.Net分析 3层/N层应用模型 应用架构的演变 中间件 面向服务的架构 (SOA) 数据库技术,开发问题 在Internet/Intranet环境下应用系统复杂多样,需要解决的问题复杂多变,引起所谓“软件工程的危机” 企业需求越来越复杂 企业需求具有高度的可变性 开发周期难以控制 维护和升级的成本高,J2EE平台和.Net平台分析,在具体应用开发中有两种主流开发技术 J2EE平台 .Net平台 在表现形式上,J2EE是一组规范,而.NET更象是一组产品。 但它们的目的都是为企业应用开发提供分布式、高可靠性的解决方案 选J2EE

2、还是.NET平台?,J2EE平台和.Net平台分析(2),J2EE平台包括以下几个组成部分: EJB:J2EE的中间层,完成商业逻辑; JAAS:J2EE的处理认证和授权API; Java Connectors:J2EE用于连接异种数据源的API,对上层来讲是透明的; JSP/Java Servlets,是J2EE的表示层技术,用于生成用户界面; Java Virtual Machine:Java 语言运行环境; JDBC:J2EE数据库访问; JMS:J2EE的异步消息队列; JNDI:J2EE的名字查找API,独立于目录服务器; JTS:J2EE用于处理交易的API; RMI/IIOP:J

3、2EE的分布式对象的通信API,提供了和CORBA交互的能力。,J2EE平台和.Net平台分析(3),.NET平台主要包括以下几个组成部分: .NET Framework:.NET应用运行的基础; IL (Intermediary Language):所有的.NET语言首先被编译成该中间语言,然后在CLR中运行; SOAP:用于服务访问的工业标准; DCOM:组件间的通信协议; MS-DTC:用来在.NET平台上使用两阶段提交协议来处理分布式交易; CLR:NET应用的运行时环境; COM+:.NET的中间层模型,用于构建商务逻辑; ADO.NET:.NET对数据访问的API。,J2EE平台和

4、.Net平台分析(4),J2EE和.Net技术对照,J2EE 和 .Net的技术比较(1),1.跨语言对跨平台 微软的.NET平台提供了多种开发语言,如C#,VB.NET,C+,COBOL等,其中除了C#是新的,而其他的每一种语言都是在原有的基础上改造而来的。 虽然只提供了JAVA一种开发语言,但跨平台是J2EE的最大卖点。当开发商完成了符合J2EE规范的软件时,其客户可以依据其喜好和实力来选择不同的应用服务器。 微软的跨平台解决方案是直接利用Web services,它解决的是异种平台上不同应用之间的连通性问题,其重要意义和前景不容小视,J2EE 和 .Net的技术比较(2),2.中间层 基

5、于组件的软件开发技术可以在较高的级别上实现软件复用,加快企业软件开发的进程 在J2EE构架中, JavaBean和EJB(Enterprise JavaBeans) 被用来完成业务逻辑。其中EJB和 JavaBean 有着类似的模型,但它被用来创建分布式企业应用.,2.中间层,在微软的.NET平台中,旧的COM 和 COM+组件模型被新的组件模型所代替。增加了象基于沙箱的安全模型和垃圾回收等功能,并且实现了多重接口继承,扩展的元数据和新的代理模型等。旧有的COM和COM+组件也可被映射到新的运行环境中。 综上所述,两个架构在基于组件的中间层设计上各有千秋,都有能力来创建分布式、高效的和高可靠性

6、的的复杂应用程序,J2EE 和 .Net的技术比较(3),3.表示层 两种架构都同时支持胖客户端和瘦客户端,即C/S模式和B/S模式。 J2EE 对于C/S模式,J2EE提供了替代Java AWT的Java Swing,同时作为可视化组件的JavaBean也可用来构造系统。 对于B/S结构的表示层,J2EE使用 servlet ,JSP(Java Server Page) ,HMTL,WML,XML等工具来实现。,3.表示层(微软),胖客户端技术则由 Windows Forms代替了MFC,它们起的作用相同。在结构上 Windows Forms 被插入到.NET的运行时框架(runtime f

7、ramework)和组件模型 (component model)中。 在瘦客户模型中,ASP.NET、ASP、 HMTL、 WML、XML等可作为表示层。在 ASP.NET 中,C#,VB.NET等语言的代码片断可被自由引用。ASP.NET 页面被首先转换成中介语言( Intermediary Language),然后再被中介语言及时编译器(just-in-time IL compiler)编译,最后运行于公共语言运行环境中,并且ASP.NET 提供了页面的缓冲,所以,其运行速度要更快。,J2EE 和 .Net的技术比较(4),4.数据访问 J2EE 和 .Net 以不同的形式支持数据访问。

8、J2EE 采用JDBC通过连接、命令语句和结果集来对数据进行操作。JDBC属于较低层次的API,更高一级的数据封装和数据管理可通过实体EJB (Entity EJB)来完成。,软件体系结构:3层应用模型(2),分层模型 采用分层结构能建立适用范围广泛的开发模型 把一个复杂系统按有序的步骤分解成不同的多个子系统,降低了复杂性 通过层与层之间的标准接口可方便地隔离某层功能修改对其它层的影响,增加了扩展的灵活性 只要给相邻层提供相同的接口,允许每层用不同的方法实现,为软件重用提供了强大的支持,提高了开发效率 易于部署,便于增加新功能,软件体系结构: 3层应用模型(3),分层模型 表示层(Presen

9、tation Tier) 业务逻辑层(Business Logic Tier) 数据层(Data Tier)等多个层次,软件体系结构: 3层应用模型(4),电子政务分层模型,软件体系结构: 3层应用模型-表示层,是应用与用户的接口部分,用户通过它与应用对话。 表示层用于检查用户从键盘/鼠标等输入的数据,显示应用输出的数据 为了使用户能直观地进行操作,一般使用图形用户接口(GUI)或浏览器,也可以使用无线设备实现移动商务或移动办公。另一种比较新的方式是Web Service客户端,3层应用模型-业务逻辑层,它是将具体的业务处理逻辑编入程序中 接受用户请求、向数据层获取数据,通过应用逻辑和业务规则

10、对数据进行处理,将结果交表示层显示 业务逻辑实现电子商务和电子政务中由G(Government)、B(Business)、C(Consumer)组合而成的六种或多种模式 其具体实现形式可以是各种程序模块,包括对象、组件、服务等,3层应用模型-数据层,负责管理数据库数据,获取数据。 要求能迅速执行大量数据的访问、更新和检索。 数据层可以是企业或政府的各种信息系统,数据库,资源库,旧有系统(Legacy),外部应用等。 数据层通过数据访问接口连接到业务逻辑层。,应用架构的演变(1),应用架构(Application Infrastructure) 应用架构指应用程序开发、运行和部署的模式 应用架构

11、与应用模型具有相关性 应用架构也伴随着硬件计算平台的发展而演变,应用架构的演变(2),主机/终端架构:由于硬件的可选择范围有限,硬 件投资巨大,已被逐步替代。 C/S(客户机/服务器)架构:用于企业内部,对使用 者素质要求高。 B/S(浏览器/服务器)三层架构:适合于大型企业和远程用户,要求用户起点低,系统维护容易,代码复用率高。它是目前的主流。,应用架构的演变(3),SOA(面向服务架构):随着计算机应用范围的进一步扩大,需要将各应用系统集成到一个统一的体系结构下。以Web Services等技术为支撑的SOA以其良好的结构、简单的表示、标准的接口获得了广泛支持,是未来主要的应用架构,应用架

12、构的演变(4),主机/终端架构 最早出现的应用架构。典型的主机(Mainframe)如IBM的大型机等,价格昂贵 对主机-终端方式而言,终端是毫无运算能力的输入、输出设备,应用软件运行在主机上。 对单机PC方式而言其集中运行应用系统的方式与主机/终端架构类似,只不过计算能力和规模不能与之相比,应用架构和3层应用模型的关系,主机/终端架构: 在该架构下表示层、业务逻辑层以及数据层统一放在一台机器上,即主机或者单独的PC上。 应用模型各层之间没有明确的物理界限,应用架构和3层应用模型的关系,C/S架构 C/S架构主要由客户应用程序(Client)、服务器管理程序(Server)组成。 客户应用程序

13、是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。,应用架构和3层应用模型的关系,C/S架构是伴随着局域网计算平台的发展而发展的,尤其是PC组网的广泛普及导致C/S架构获得了廉价而有相当计算能力的客户机。 C/S架构是最初的网络开发模式。与B/S架构相比,它具有较强的交互性和对网络流量的较宽松要求;但是它开发成本较高,移植困难,用户界面风格不一,应用架构和3层应用模型的关系,C/S架构 在该架构下数据层被分离出来 。 C/S架构分为客户机(Client)和服务器(Server

14、)两层。这两层既可以指软件,也可以指运行相应软件的硬件。 通过把应用软件的表示/业务逻辑部分和数据部分合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。,应用架构和3层应用模型的关系,B/S架构 是一种以Web技术为基础的新型系统平台模式。 把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器/Web服务器,从而构成一个三层结构的客户服务器体系,应用架构和3层应用模型的关系,B/S架构 第一层客户机是用户与整个系统的接口。 客户的应用程序精简到一个通用的浏览器软件,如Netscape Navigator,微软公司的IE等。 浏览器将HTML代码转化成图

15、文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求,应用架构和3层应用模型的关系,B/S架构 第二层Web服务器就是这个后台,它将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。 如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作 第三层数据库服务器的任务类似于C/S模式中Server的功能,负责协调不同的Web服务器发出的数据请求,管理数据库,应用架构和3层应用模型的关系,B/S架构 在B/S架构中分离出了业务逻辑层。 在这种结构下,应用程序的数据由数据

16、库服务器管理,业务逻辑在应用服务器实现,用户表示在Web服务器实现,客户端只需要浏览器即可进行业务处理。 B/S架构形成了层次分明的体系结构,中间件(1),实现业务逻辑的主要技术之一是中间件技术,可以说中间件的出现和发展推动了B/S三层架构的广泛应用 定义 中间件是指在分布式计算环境下,基于计算机硬件和操作系统,支持应用软件开发和运行的系统软件 中间件是基于分布式处理的软件,因此定义中特别强调了其网络通信功能,中间件(2),中间件的作用 为企业级的分布式应用,提供了一个标准的平台,使得应用软件开发和运行,能够独立于特定的计算机硬件和操作系统平台之上,以实现企业应用系统的集成,中间件主要特点:,

17、可满足大量应用的需要; 运行于多种硬件和OS平台; 支持分布式计算; 提供跨网络、硬件和OS平台透明性的应用或服务的交互功能,中间件(3),中间件的分类 中间件是一类软件,而非一种软件 把中间件分为两大类: 一类是底层中间件,用于支撑单个应用系统或解决单一类问题,包括交易中间件(TPM)、应用服务器(WAS)、消息中间件(MOM)、数据访问中间件(UDA)等; 另一类是高层中间件,更多用于系统整合,包括企业应用集成中间件(EAI Suites)、工作流中间件(Workflow)、门户中间件(Portal)等,它们通常会与多个应用系统打交道,在系统中的层次较高,并大多基于底层中间件运行,中间件(

18、4),中间件与三层架构 在中间件诞生之前,企业多采用传统客户机/服务器的二层数据处理结构,两层结构虽然给人们带来了相当的灵活性,但也逐渐暴露出其客户端和服务器端负担过重的现象,并且其系统拓展性也较差。于是,三层结构应运而生了。 三层结构在原有的两层结构(客户端和服务器端)之间,增加了一组服务,这组服务(也称为“应用服务器”)包括事务处理逻辑应用服务和数据库查询代理等。 随着这组服务的增加,两层结构向三层结构转变后,客户端和服务器端的负载就相应减轻了,跨平台、传输不可靠等问题也得到了解决。增加的这组服务,就是中间件。 中间件在三层结构中主要充当中间层,完成数据安全、完整地传输,调节系统的工作效率

19、,从而弥补两层结构的不足,面向服务的架构 (1),从软件开发方法的演变说起 软件开发方法的演变主要经历了以下的几个阶段: 面向过程开发:即结构化程序设计,软件系统的行为与数据部分分离。典型开发工具是C语言、Pascal语言等。 面向对象开发:数据和操作的封装,行为和数据的隐藏。典型开发工具是C+、Java等。 面向组件开发:基于组件或构件快速创建更加复杂、高质量的系统。典型开发工具是VB、J2EE、Delphi等。 面向服务开发:更广泛的企业之间的信息系统集成。典型开发工具是.Net、J2EE等。,面向服务的架构 (2),定义 面向服务的架构(Service-oriented Architec

20、ture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过相应的接口和契约联系起来。 所谓“服务”的概念,就是要使用与实施细节无关的标准化接口来构建这些应用程序的功能单元。 接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。 作用: 使得构建在这样的系统中的各种服务能以一种统一和通用的方式进行交互 是更传统的面向对象模型的替代模型,SOA详细介绍,面向服务的架构 (3),W3C()为Web Services下的定义是: Web Services是由URI(统一资源标识符)标识的软件应用,该应用的接口和绑定可通过XML标准进行

21、定义、描述和发现,同时,该应用可通过基于Internet的XML消息协议与其它软件应用直接交互,面向服务的架构 (4),这个定义包括下面三方面的含义: Web services是在Internet上使应用程序之间相互通信、相互操作的技术。 Web services的平台无关性和语言无关性是它设计的初衷,也是它带来的最直接的好处之一。 Web services只是提供一个接口,至于剩下的工作则需要程序员在他们各自擅长的开发平台上使用不同的编程语言来实现。,面向服务的架构 (5),SOA体系结构,数据访问接口(1),问题 最初,企业和政府等组织机构通常使用单独的某一种DBMS,并使用专为某种数据库

22、编写的应用程序来操作此数据库。 例如要访问 Oracle 数据库中的数据,可以使用PL/SQL或SQL*Plus。 但是随着业务发展,组织机构开始使用各种不同类型的DBMS,从一种DBMS 改变到另一种意味着需重写应用程序以处理新格式的数据。这就产生了所谓的“更换DBMS的问题”。,数据访问接口(2),为了解决更换DBMS的问题,人们考虑了如下的解决方案: 首先,将应用程序和数据库之间的实际通信分隔开,以创建能和不同数据库通信的应用程序。 其次,应用程序应该可以用自己特定的方式发出操作数据库的SQL命令。 最后,使用独立于应用程序和DBMS的“翻译器”将SQL命令“翻译”成特定的某个DBMS能

23、识别的格式,从而可以和数据库进行通信,数据访问接口(3),这种独立于应用程序和DBMS的“翻译器”就是各种数据访问方法,数据访问接口(4),简单地说,数据访问接口能完成下列三件事: 与一个数据库建立连接; 向数据库发送SQL语句; 处理数据库返回的结果。 最早的数据访问方法是微软的ODBC,随后在其基础上发展出来了JDBC、ADO等其它许多方法。,4.数据访问,而微软的.NET数据访问工具则由基于XML的ADO.NET代替了基于COM组件的ADO.任何以XML为输出的数据源都可以作为 ADO.NET 的数据源,相应的结果集升级为数据集 (DataSets),命令语句则升级为数据集命令(Data

24、SetCommands)。基于XML的特性使其可以处理极其丰富的数据源,并且因其构架在HTTP协议之上,易于穿透防火墙,使沟通更为便利. JDBC和ADO、ADO.Net一样和所连接的数据源无关。两者通过对应用程序有效的层次设计,对数据库和基于XML的数据源的访问可以无缝地进行整合,数据库技术,政务信息资源管理 政府信息资源是指一切产生于政府内部或对政府活动有直接影响的信息资源。由于政府的行为总是渗透在社会政治经济领域中,因此政务信息资源的总量巨大,据统计,目前各级政府部门大约聚集了全社会信息资源的80%。 这些信息资源比一般的信息资源更有价值,质量和可信度也较高,直接关系到国民经济与社会发展

25、的状况和水平。 我国政府系统信息化建设的总体目标是:用3-5年时间,初步建立“三网一库”的信息化构架。其中一库是指分布在三网之上的资源数据库体系。,数据库技术,政务信息资源管理 电子政务信息资源库是一个利用数据库技术,以网络平台为基础、以统一的标准、通用的数据描述语言为建设规范而建立起来的,它能够整合政府部门内部各业务系统信息,实现政府部门之间和政府与公众之间的数据交换和业务处理。 从政府信息资源库涵盖的政府信息角度看: 政府决策信息资源:例如国家和地方政策、法规条例、战略发展规划等。 社会服务信息资源:例如国际国内政治新闻、经济运行分析、统计报表、市场供求、金融财经、科技人才信息等。 政府管理的各类资源状况信息:例如人口资源库、法人单位资源库

温馨提示

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

评论

0/150

提交评论