1、第第3章章 电子政务的支撑技术电子政务的支撑技术n3.1 电子政务架构技术电子政务架构技术n3.2 数据库技术数据库技术n3.3 Web开发技术开发技术n3.4 中间件中间件3.1 电子政务架构技术电子政务架构技术n3.1.1 基于基于Web平台的架构平台的架构n3.1.2 面向服务的架构面向服务的架构3.1.1 基于基于Web平台的架构平台的架构nweb开发平台开发平台。n软件开发者对编程中的方法,类,接口进行总结,产生软件开发者对编程中的方法,类,接口进行总结,产生了开发平台。以互联网为基础,把这些都网络化,实现了开发平台。以互联网为基础,把这些都网络化,实现网络资源共享,形成了网络资源共
2、享,形成了webweb开发平台。开发平台。WebWeb开发平台提供开发平台提供了设计开发工具,支持了设计开发工具,支持WebWeb界面的布局,大大提高了开界面的布局,大大提高了开发效率。发效率。n它提供了基础业务单据开发的基类体系和界面模板库,它提供了基础业务单据开发的基类体系和界面模板库,以及大量的基础组件,同时集成了各种服务,让业务开以及大量的基础组件,同时集成了各种服务,让业务开发的功能很容易使用这些通用服务进行协同工作,让业发的功能很容易使用这些通用服务进行协同工作,让业务功能集成和部署更加方便,轻松。务功能集成和部署更加方便,轻松。web开发平台开发平台n1.以以web2.0为基础,
3、基于互联网的为基础,基于互联网的B/S架构的软件。它本架构的软件。它本身也是一个软件,只不过不是最终的软件产品,而是用于二身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。次开发的软件。 n2.用于实现各类业务系统,如用于实现各类业务系统,如CRM、MIS、ERP、OA等等等等的开发。的开发。web开发平台本身就是一个二次开发平台,二次开开发平台本身就是一个二次开发平台,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等操作就可以完成业务系统的开发。拖拉等操作就可以完成业务系统的开发。 n3.能够快速的实现各
4、种报表包括复杂的图表报表的设计制作,能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。开发平台就简单多了,可以很轻松的配置出各种报表。n4.使用使用web开发平台的目的是为了实现资源共享、节约开发开发平台的目的是为了实现资源共享、节约开发成本、提高开发效率、缩短开发周期。成本、提高开发效率、缩短开发周期。 web开发平台开发平台nWebBuilder是一款跨平台、数据库和浏览器的是一款跨平台、数据库和浏览器的Web可视化应用开可视化应用开发和
5、部署平台。发和部署平台。使用使用WebBuilder可开发可开发ERP、OA、CRM、HR、MIS以及电信、以及电信、银行、政府、企业等各行业的行业应用系统,帮助信息化管理系统银行、政府、企业等各行业的行业应用系统,帮助信息化管理系统的快速构建。的快速构建。 nWebBuilder帮助提高应用系统的开发效率,并降低成本。完善的帮助提高应用系统的开发效率,并降低成本。完善的基础架构,具有应用系统必须的完整功能,使系统的开发仅需致力基础架构,具有应用系统必须的完整功能,使系统的开发仅需致力于业务的开发。于业务的开发。 n应用开发:提供可视化的应用开发:提供可视化的WebBuilder集成开发环境,
6、帮助应用系集成开发环境,帮助应用系统的快速开发,支持使用统的快速开发,支持使用Eclipse等开发工具的开发和调试,可以在等开发工具的开发和调试,可以在您原有使用的技术框架上混合使用。您原有使用的技术框架上混合使用。 n应用部署:使用基于应用部署:使用基于Web的资源管理器进行应用的部署,支持的资源管理器进行应用的部署,支持Java,.Net Web ServicesnWeb Services是由企业发布的完成其特定商务需求的在是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过线应用服务,其他公司或应用软件能够通过Internet来来访问并使用这项在线服务。访问并使用这
7、项在线服务。nWeb Service是一个应用组件,它逻辑性的为其他应用是一个应用组件,它逻辑性的为其他应用程序提供数据与服务,各应用程序通过网络协议和规定程序提供数据与服务,各应用程序通过网络协议和规定的一些标准数据格式(的一些标准数据格式(Http,XML,Soap)来访问来访问Web Service,通过,通过Web Service内部执行得到所需结果。内部执行得到所需结果。Web Service可以执行从简单的请求到复杂商务处理的可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他任何功能。一旦部署以后,其他Web Service应用程序应用程序可以发现并调用它部署的服务。
8、可以发现并调用它部署的服务。 nWebService的主要目标是跨平台的可互操作性。的主要目标是跨平台的可互操作性。 Web Services长项长项 n跨防火墙的通信跨防火墙的通信n如果应用程序有成千上万的用户,而且分布在世界各地,如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。因那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。为客户端和服务器之间通常会有防火墙或者代理服务器。n传统的做法是,选择用浏览器作为客户端,写下一大堆传统的做法是,选择用浏览器作为客户端,写下一大堆ASP页面,把应用
9、程序的中间层暴露给最终用户。这样做页面,把应用程序的中间层暴露给最终用户。这样做的结果是开发难度大,程序很难维护。的结果是开发难度大,程序很难维护。 n如果中间层组件换成如果中间层组件换成WebService的话,就可以从用户界的话,就可以从用户界面直接调用中间层组件,从而省掉建立面直接调用中间层组件,从而省掉建立ASP页面的那一步。页面的那一步。 Web Services长项长项n应用程序集成应用程序集成n企业里经常都要把用不同语言写成的、在不同平台上运行的各种程序集成企业里经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。应用程序经常需要从运行
10、在起来,而这种集成将花费很大的开发力量。应用程序经常需要从运行在IBM主机上的程序中获取数据;或者把数据发送到主机或主机上的程序中获取数据;或者把数据发送到主机或UNIX应用程序应用程序中去。即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集中去。即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来。通过成起来。通过WebService,应用程序可以用标准的方法把功能和数据,应用程序可以用标准的方法把功能和数据“暴露暴露”出来,供其它应用程序使用。出来,供其它应用程序使用。 n例如,有一个订单登录程序,用于登录从客户来的新订单,包括客户信息、例如,有一个订单登录程序,用于登
11、录从客户来的新订单,包括客户信息、发货地址、数量、价格和付款方式等内容;还有一个订单执行程序,用于发货地址、数量、价格和付款方式等内容;还有一个订单执行程序,用于实际货物发送的管理。这两个程序来自不同软件厂商。一份新订单进来之实际货物发送的管理。这两个程序来自不同软件厂商。一份新订单进来之后,订单登录程序需要通知订单执行程序发送货物。通过在订单执行程序后,订单登录程序需要通知订单执行程序发送货物。通过在订单执行程序上面增加一层上面增加一层WebService,订单执行程序可以把,订单执行程序可以把“AddOrder”函数函数“暴暴露露”出来。这样,每当有新订单到来时,订单登录程序就可以调用这个
12、函出来。这样,每当有新订单到来时,订单登录程序就可以调用这个函数来发送货物了。数来发送货物了。 Web Services长项长项nB2B的集成的集成n用用WebService集成应用程序,可以使公司内部的商务处理更加自动集成应用程序,可以使公司内部的商务处理更加自动化。但当交易跨越供应商和客户、突破公司的界限时会怎么样呢?跨化。但当交易跨越供应商和客户、突破公司的界限时会怎么样呢?跨公司的商务交易集成通常叫做公司的商务交易集成通常叫做B2B集成。集成。 nWebService是是B2B集成成功的关键。通过集成成功的关键。通过WebService,公司可以,公司可以把关键的商务应用把关键的商务应
13、用“暴露暴露”给指定的供应商和客户。例如,把电子下给指定的供应商和客户。例如,把电子下单系统和电子发票系统单系统和电子发票系统“暴露暴露”出来,客户就可以以电子的方式发送出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发票。当然,这并不订单,供应商则可以以电子的方式发送原料采购发票。当然,这并不是一个新的概念,是一个新的概念,EDI(电子文档交换电子文档交换)早就是这样了。但是,早就是这样了。但是,WebService的实现要比的实现要比EDI简单得多,而且简单得多,而且WebService运行在运行在Internet上,在世界任何地方都可轻易实现,其运行成本就相对较
14、上,在世界任何地方都可轻易实现,其运行成本就相对较低。不过,低。不过,WebService并不像并不像EDI那样,是文档交换或那样,是文档交换或B2B集成的集成的完整解决方案。完整解决方案。Web Services长项长项n软件和数据重用软件和数据重用n软件重用是一个很大的主题,重用的形式很多,重用的软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。最基本的形式是源代码模块或者类一级程度有大有小。最基本的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。的重用,另一种形式是二进制形式的组件重用。nWebService在允许重用代码的同时,可以重用代码背在允许重用代
15、码的同时,可以重用代码背后的数据。使用后的数据。使用WebService,再也不必像以前那样,再也不必像以前那样,要先从第三方购买、安装软件组件,再从应用程序中调要先从第三方购买、安装软件组件,再从应用程序中调用这些组件;只需要直接调用远端的用这些组件;只需要直接调用远端的WebService就可就可以了。以了。Web Services长项长项n举个例子,要在应用程序中确认用户输入的地址,只需把这个地址直举个例子,要在应用程序中确认用户输入的地址,只需把这个地址直接发送给相应的接发送给相应的WebService,这个,这个WebService就会帮你查阅街道就会帮你查阅街道地址、城市、省区和邮
16、政编码等信息,确认这个地址是否在相应的邮地址、城市、省区和邮政编码等信息,确认这个地址是否在相应的邮政编码区域。政编码区域。WebService的提供商可以按时间或使用次数来对这项的提供商可以按时间或使用次数来对这项服务进行收费。这样的服务要通过组件重用来实现是不可能的,那样服务进行收费。这样的服务要通过组件重用来实现是不可能的,那样的话你必须下载并安装好包含街道地址、城市、省区和邮政编码等信的话你必须下载并安装好包含街道地址、城市、省区和邮政编码等信息的数据库,而且这个数据库还是不能实时更新的。息的数据库,而且这个数据库还是不能实时更新的。n另一种软件重用的情况是,把好几个应用程序的功能集成
17、起来。例如,另一种软件重用的情况是,把好几个应用程序的功能集成起来。例如,要建立一个局域网上的门户站点应用,让用户既可以查询联邦快递包要建立一个局域网上的门户站点应用,让用户既可以查询联邦快递包裹,查看股市行情,又可以管理自己的日程安排,还可以在线购买电裹,查看股市行情,又可以管理自己的日程安排,还可以在线购买电影票。现在影票。现在Web上有很多应用程序供应商,都在其应用中实现了这些上有很多应用程序供应商,都在其应用中实现了这些功能。一旦他们把这些功能都通过功能。一旦他们把这些功能都通过WebService“暴露暴露”出来,就可以出来,就可以非常容易地把所有这些功能都集成到你的门户站点中,为用
18、户提供一非常容易地把所有这些功能都集成到你的门户站点中,为用户提供一个统一的、友好的界面。个统一的、友好的界面。 基于基于Web平台的架构平台的架构n电子政务系统是一个典型的基于电子政务系统是一个典型的基于Web的应用系统,的应用系统,目前基于目前基于Web平台的主流技术主要有以下两种:平台的主流技术主要有以下两种:nMicrosoft .NET 框架框架n基于基于Sun的的J2EE标准。标准。Microsoft .NET 框架框架nMicrosoft .NET是是Microsoft XML Web Services平台。平台。 XML Web Services允许应用程序通过允许应用程序通过
19、Internet进行通信和共享数据,进行通信和共享数据,而不管所采用的操作系统、设备或编程语言的种类。而不管所采用的操作系统、设备或编程语言的种类。n.NET框架包含运行框架包含运行.NET框架应用程序所必需的公共语言运行库框架应用程序所必需的公共语言运行库和和.NET框架组件。框架组件。 .NET平台用于生成高性能的桌面和企业级平台用于生成高性能的桌面和企业级Web应用程序。应用程序。nNET Framework 的目的就是要让建立的目的就是要让建立Web Services 以及因特以及因特网应用程序的工作变的简单,网应用程序的工作变的简单,.NET Framework 包括了三大部包括了三
20、大部分:第一个部分是分:第一个部分是Common Language Runtime(CLR),所),所有有.NET 程序语言公用的执行时期组件),第二部分是程序语言公用的执行时期组件),第二部分是BCL (Base Class Library,基础类库)共享对象类别库(提供所,基础类库)共享对象类别库(提供所有有.NET 程序语言所需要的基本对象),第三个部分是重新以组程序语言所需要的基本对象),第三个部分是重新以组件的方式写成的(件的方式写成的(Assemblies,组件、装配件、程序集)。,组件、装配件、程序集)。 ASP.NETnASP.NET是实现电子政务系统的一项重要技术手段,它是实
21、现电子政务系统的一项重要技术手段,它是用户表现层的实现。是用户表现层的实现。 ASP.NET是微软发展的新的体是微软发展的新的体系结构系结构.NET的一部分,其中新的技术架构让编程变的更的一部分,其中新的技术架构让编程变的更简单。简单。nASP.NET是编译后执行的,当是编译后执行的,当aspx文件第一次被请求文件第一次被请求时被编译,以后的请求就不需要重新编译了。时被编译,以后的请求就不需要重新编译了。nASP.NET是一种编译型的编程框架,它的核心是是一种编译型的编程框架,它的核心是CLR,除了和除了和ASP一样可采用一样可采用VBScript和和JavaScript作为编作为编程语言外,
22、还可以用程语言外,还可以用VB.NET和和C#编写。编写。ADO.NETnADO.NET是实现电子政务系统的一项重要技术手段,它用于构建是实现电子政务系统的一项重要技术手段,它用于构建到数据库的访问。到数据库的访问。 nADO(Active Data Object)对象是继)对象是继ODBC(Open Database Connectivity)之后微软存取数据的技术。是为了满足广泛的数据)之后微软存取数据的技术。是为了满足广泛的数据交换需求所产生出来的新技术。交换需求所产生出来的新技术。nADO.NET微软在微软在.NET中创建分布式和数据共享应用程序的应用程中创建分布式和数据共享应用程序的
23、应用程序接口。序接口。n核心的核心的ADO.NET功能基本上可以概括为如下内容:功能基本上可以概括为如下内容:Connection对对象在应用程序和数据库间建立连接;象在应用程序和数据库间建立连接;Command对象向数据库提供对象向数据库提供者发出命令,返回的结果以一种流的方式贯穿于这些连接中;结果者发出命令,返回的结果以一种流的方式贯穿于这些连接中;结果集可以用集可以用DataReader快速读取,开发者可以用快速读取,开发者可以用DateSet的方法在的方法在基础的数据源上处理数据集。基础的数据源上处理数据集。基于基于SUN的的J2EE标准标准nJ2EE提出的背景提出的背景nJ2EE是由
24、是由SUN 公司开发的一套企业级应用规范,利用公司开发的一套企业级应用规范,利用java2平平台来简化企业应用程序的开发、部署和管理的体系结构。现在最台来简化企业应用程序的开发、部署和管理的体系结构。现在最高版本是高版本是1.6。 nJ2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。安全与再用价值。nJ2EE核心是一组技术规范与指南,其中所包含的各类组件、服务核心是一组技术规范与指南,其中所包含的各类组
25、件、服务架构及技术层次,均有共通的标准及规格,让各种依循架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。 J2EE的优势的优势 n1. 保留现存的保留现存的IT资产资产:n由于企业必须适应新的商业需求,利用已有的企业信息由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案。系统方面的投资,而不是重新制定全盘方案。J2EE架构
26、架构可以充分利用用户原有的投资,可以充分利用用户原有的投资,J2EE拥有广泛的业界支拥有广泛的业界支持和一些重要的持和一些重要的“企业计算企业计算”领域供应商的参与。每一领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的入可移植的J2EE领域的升级途径。由于基于领域的升级途径。由于基于J2EE平台的平台的产品几乎能够在任何操作系统和硬件配置上运行,现有产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。的操作系统和硬件也能被保留使用。 J2EE的优势的优势n2. 高效的开发高效的开发:nJ
27、2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。相应地缩短了开发时间。 n3. 支持异构环境支持异构环境:nJ2EE能够开发部署在异构环境中的可移植程序。基于能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于硬件。因此设计合理的基于J2EE的程序只需开发一次的程序只需开发一次就可部署到各种平台。
28、这在典型的异构企业计算环境就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。中是十分关键的。J2EE标准也允许客户订购与标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。中,节省了由自己制订整个方案所需的费用。 J2EE的优势的优势n可伸缩性可伸缩性: 企业必须要选择一种服务器端平台,这种平企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于进行商业运作的大批新客户。
29、基于J2EE平台的应用程平台的应用程序可被部署到各种操作系统上。例如可被部署到高端序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持与大型机系统,这种系统单机可支持64至至256个处理器。(这是个处理器。(这是NT服务器所望尘莫及的)服务器所望尘莫及的)J2EE领领域的供应商提供了更为广泛的负载平衡策略。能消除域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。来商
30、业应用的需要。 J2EE的优势的优势n5.稳定的可用性稳定的可用性:n一个服务器端平台必须能全天候运转以满足公司客户、一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为合作伙伴的需要。因为INTERNET是全球化的、无处是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。若是意外停机,那会有灾难性后果。J2EE部署到可靠部署到可靠的操作环境中,他们支持长期的可用性。一些的操作环境中,他们支持长期的可用性。一些J2EE部部署在署在WINDOWS环境中,客户也可选择健壮性能更好环境中,客户
31、也可选择健壮性能更好的操作系统如的操作系统如Sun Solaris、IBM OS/390。最健壮。最健壮的操作系统可达到的操作系统可达到99.999%的可用性或每年只需的可用性或每年只需5分分钟停机时间。这是实时性很强商业系统理想的选择。钟停机时间。这是实时性很强商业系统理想的选择。 J2EE的四层模型的四层模型nJ2EE使用多层的分布式应用模型,应用逻辑按功能划分使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,机器上。事实上,sun设计设计J2EE的初衷正是为了解决两的初衷正是为了解决
32、两层模式层模式(client/server)的弊端,在传统模式中,客户端的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议。它使得重用业不理想,而且经常基于某种专有的协议。它使得重用业务逻辑和界面逻辑非常困难。现在务逻辑和界面逻辑非常困难。现在J2EE的多层企业级应的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同
33、的每种服务提供一个独立的层,多层化应用能够为不同的每种服务提供一个独立的层,以下是以下是 J2EE 典型的四层结构典型的四层结构:J2EE的四层模型的四层模型n运行在客户端机器上的客户层组件运行在客户端机器上的客户层组件 n运行在运行在J2EE服务器上的服务器上的Web层组件层组件 n运行在运行在J2EE服务器上的业务逻辑层组件服务器上的业务逻辑层组件 n运行在运行在EIS服务器上的企业信息系统服务器上的企业信息系统(Enterprise information system)层软层软件件 3.1.2 面向服务的架构面向服务的架构nB/S架构架构 C/S架构架构 SOA架构架构 nC/S和和B
34、/S是当今世界开发模式技术架构的两大主流技术。是当今世界开发模式技术架构的两大主流技术。nC/S是美国是美国 Borland公司最早研发,公司最早研发,B/S是美国微软公司研发。目前,是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以这两项技术以被世界各国所掌握,国内公司以C/S和和B/S技术开发出技术开发出产品也很多。这两种技术都有自己一定的市场份额和客户群。产品也很多。这两种技术都有自己一定的市场份额和客户群。 nWeb服务作为炙手可热的技术,如何应用到企业的服务作为炙手可热的技术,如何应用到企业的IT系统和商业流程系统和商业流程之中、并给企业带来直接的经济效益,一直备受国
35、内外企业管理者的之中、并给企业带来直接的经济效益,一直备受国内外企业管理者的高度关注和推崇。而在近两年,出现了一种技术架构被誉为下一代高度关注和推崇。而在近两年,出现了一种技术架构被誉为下一代Web服务的基础架构,它就是服务的基础架构,它就是SOA(Service-oriented architecture,面向服务架构)。,面向服务架构)。1996年,年,Gartner最早提出最早提出SOA。2002年年12月,月,Gartner提出提出SOA是是现代应用开发领域最重要的课题现代应用开发领域最重要的课题,主流企业现在就应该在理解和应用,主流企业现在就应该在理解和应用SOA开发技能方面进行投资
36、。开发技能方面进行投资。 高德纳咨询公司(高德纳咨询公司(Gartner)nGartner (NYSE: IT and ITB).全球最具权威的全球最具权威的IT研究与研究与顾问咨询公司,成立于顾问咨询公司,成立于1979年,总部设在美国斯坦福。旨年,总部设在美国斯坦福。旨在向客户提供在促进高效使用在向客户提供在促进高效使用IT方面所需的全面的研究与方面所需的全面的研究与咨询服务。咨询服务。n其研究范围复盖全部其研究范围复盖全部IT产业,就产业,就IT的研究、发展、评估、的研究、发展、评估、应用、市场等领域,为客户提供客观、公正的论证报告及应用、市场等领域,为客户提供客观、公正的论证报告及市场
37、调研报告,协助客户进行市场分析、技术选择、项目市场调研报告,协助客户进行市场分析、技术选择、项目论证、投资决策。为决策者在投资风险和管理、营销策略、论证、投资决策。为决策者在投资风险和管理、营销策略、发展方向等重大问题上提供重要咨询建议,帮助决策者作发展方向等重大问题上提供重要咨询建议,帮助决策者作出正确抉择。出正确抉择。 C/S结构n什么是什么是C/S结构。结构。nC/S (Client/Server)结构,即大家)结构,即大家熟知的客户机和服务器结构。它是软件熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分
38、配到端硬件环境的优势,将任务合理分配到Client端和端和Server端来实现,降低了系端来实现,降低了系统的通讯开销。统的通讯开销。 B/S结构n什么是什么是B/S结构。结构。nB/S(Browser/Server)结构即浏览器和服务器结)结构即浏览器和服务器结构。它是随着构。它是随着Internet技术的兴起,对技术的兴起,对C/S结构的一结构的一种变化或者改进的结构。在这种结构下,用户工作界种变化或者改进的结构。在这种结构下,用户工作界面是通过面是通过WWW浏览器来实现,极少部分事务逻辑在浏览器来实现,极少部分事务逻辑在前端(前端(Browser)实现,但是主要事务逻辑在服务器)实现,但
39、是主要事务逻辑在服务器端(端(Server)实现。这样就大大简化了客户端电脑载)实现。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(用户的总体成本(TCO)。以目前的技术看,局域网)。以目前的技术看,局域网建立建立B/S结构的网络应用,并通过结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把模式下数据库应用,相对易于把握、成本也是较低的。握、成本也是较低的。 SOA面向服务的架构面向服务的架构nSOA体系架构是一个组建模型,它利用开放式标准将应用体系架构是一个组建模型,它
40、利用开放式标准将应用程序的不同功能单元即服务通过接口和契约联系起来。重程序的不同功能单元即服务通过接口和契约联系起来。重点是实现业务应用的集成和组件被其他系统的再利用。通点是实现业务应用的集成和组件被其他系统的再利用。通过模型化的手段来描述业务之间的关系,把这些组件构建过模型化的手段来描述业务之间的关系,把这些组件构建成服务。服务是被定义好了的接口单元,可以被调用,并成服务。服务是被定义好了的接口单元,可以被调用,并提供一致有效的数据。提供一致有效的数据。nSOA也不仅仅是一种开发的方法论也不仅仅是一种开发的方法论-它还包含管理。例如,它还包含管理。例如,应用应用SOA后,管理者可以方便的管理
41、这些搭建在服务平台后,管理者可以方便的管理这些搭建在服务平台上的企业应用,而不是管理单一的应用模块。其原理是,上的企业应用,而不是管理单一的应用模块。其原理是,通过分析服务之间的相互调用,通过分析服务之间的相互调用,SOA使得公司管理人员方使得公司管理人员方便的拿到什么时候、什么原因、哪些商业逻辑被执行的数便的拿到什么时候、什么原因、哪些商业逻辑被执行的数据信息,这样就帮助了企业管理人员或应用架构师迭代地据信息,这样就帮助了企业管理人员或应用架构师迭代地优化他们的企业业务流程、应用系统。优化他们的企业业务流程、应用系统。SOA的思想nSOA的一个中心思想就是使得企业应用摆脱面向技术的解决方案的
42、束缚,轻的一个中心思想就是使得企业应用摆脱面向技术的解决方案的束缚,轻松应对企业商业服务变化、发展的需要。企业环境中单个应用程序是无法包松应对企业商业服务变化、发展的需要。企业环境中单个应用程序是无法包容业务用户的(各种)需求的,即使是一个大型的容业务用户的(各种)需求的,即使是一个大型的ERP解决方案,仍然不能解决方案,仍然不能满足这个需求在不断膨胀、变化的缺口,对市场快速做出反应,商业用户只满足这个需求在不断膨胀、变化的缺口,对市场快速做出反应,商业用户只能通过不断开发新应用、扩展现有应用程序来艰难的支撑其现有的业务需求。能通过不断开发新应用、扩展现有应用程序来艰难的支撑其现有的业务需求。
43、通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商业流程。基于强的商业流程。基于SOA的企业应用系统通常会更加真实地反映出与业务模的企业应用系统通常会更加真实地反映出与业务模型的结合。型的结合。n服务是从业务流程的角度来看待技术的。这种角度同一般的从可用技术所驱服务是从业务流程的角度来看待技术的。这种角度同一般的从可用技术所驱动的商业视角是相反的。服务的优势很清楚:它们会同业务流程结合在一起,动的商业视角是相反的。服务的优势很清楚:它们会同业务流程结合在一起,因此能够更加精确地表示业务模型、更好地支持业务流
44、程。因此能够更加精确地表示业务模型、更好地支持业务流程。n 企业流程(企业流程(enterprise process)是流经企业框架的空气,流程定义了同业)是流经企业框架的空气,流程定义了同业务模型进行交互操作的专门方法。例如,会计可能是企业服务系统的一个组务模型进行交互操作的专门方法。例如,会计可能是企业服务系统的一个组件,但是将发票寄给客户却是一个业务流程。服务被定义用来支持业务流程,件,但是将发票寄给客户却是一个业务流程。服务被定义用来支持业务流程,因而贯穿整个流程的是:各种服务组件在流程和逻辑实现过程中的装配操作。因而贯穿整个流程的是:各种服务组件在流程和逻辑实现过程中的装配操作。理解
45、业务流程是定制服务的关键所在。理解业务流程是定制服务的关键所在。 SOA视频n应用一n视频23.2 数据库技术数据库技术n3.2.1 数据库技术概述数据库技术概述n3.2.2 数据库技术在电子政务系统数据库技术在电子政务系统中的应用中的应用3.3 Web开发技术开发技术nWeb是一种典型的分布式应用架构。是一种典型的分布式应用架构。Web应应用中的每一次信息交换都要涉及到客户端和服用中的每一次信息交换都要涉及到客户端和服务端两个层面。因此,务端两个层面。因此, Web开发技术大体上开发技术大体上可以分为客户端和服务器端技术两大类。目前可以分为客户端和服务器端技术两大类。目前与与Web有关的各种
46、技术标准都由著名的有关的各种技术标准都由著名的W3C(World Wide Web Consortium)管理管理和维护。和维护。Web客户端技术客户端技术nWeb客户端的主要任务是展现信息内容,最初的客户端的主要任务是展现信息内容,最初的HTML语言只能在浏语言只能在浏览器中展现静态的文本和图象信息,为了满足人们对信息丰富性和多览器中展现静态的文本和图象信息,为了满足人们对信息丰富性和多样性的强烈需求,样性的强烈需求,Web客户端技术由静态技术向动态技术演进。客户端技术由静态技术向动态技术演进。njavaScript在演进过程中占有非常独特的地位。它是一种以脚本方式在演进过程中占有非常独特的
47、地位。它是一种以脚本方式运行的,简化了的运行的,简化了的Java语言,也是脚本技术第一次在语言,也是脚本技术第一次在Web世界里崭世界里崭露头角。相应的露头角。相应的Microsoft也为也为1996年的年的IE3.0设计了另一个脚本语设计了另一个脚本语言言VBScript语言。语言。n1996年底,年底,W3C提出了提出了CSS的建议标准,的建议标准,1997年年Microsoft发布了发布了IE4.0,将动态,将动态HTML标记、标记、CSS和动态对象模型(和动态对象模型(DHTML)发展成)发展成了一套完整、实用、高效的客户端开发技术体系,同样是实现了一套完整、实用、高效的客户端开发技术
48、体系,同样是实现HTML页面的动态效果,页面的动态效果,DHTML无需启动无需启动Java虚拟机或其他脚本环境,可虚拟机或其他脚本环境,可以在浏览器的支持下,获得更好的展示效果和更高的执行效率。以在浏览器的支持下,获得更好的展示效果和更高的执行效率。n为了在为了在HTML页面中实现音频、视频等更复杂的多媒体应用,引入各页面中实现音频、视频等更复杂的多媒体应用,引入各种控件,如种控件,如QuickTime插件、插件、ActiveX控件、控件、Flash控件等。控件等。Web服务器技术服务器技术n与客户端技术从静态向动态的演进过程类似,与客户端技术从静态向动态的演进过程类似,Web服务器的开发技术
49、也是由静态服务器的开发技术也是由静态向动态逐渐发展、完善起来的。向动态逐渐发展、完善起来的。n最早的最早的Web服务器简单地响应浏览器发来的服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的请求,并将存储在服务器上的HTML文件返回给浏览器。第一种使服务器根据运行时的具体情况,动态生成文件返回给浏览器。第一种使服务器根据运行时的具体情况,动态生成HTML页面的技术是页面的技术是CGI技术。技术。CGI技术允许服务器端的应用程序根据客户端的技术允许服务器端的应用程序根据客户端的请求动态生成请求动态生成HTML页面,使客户端和服务器端的动态信息交换成了可能。随着页面,使客户端和服务器端
50、的动态信息交换成了可能。随着CGI的兴起,聊天室、论坛、电子商务、信息查询、全文检索等各种各样的的兴起,聊天室、论坛、电子商务、信息查询、全文检索等各种各样的Web应用蓬勃兴起,人们终于可以享受到信息检索、信息交换、信息处理等更为便捷应用蓬勃兴起,人们终于可以享受到信息检索、信息交换、信息处理等更为便捷的信息服务。的信息服务。n1994年出现了专门用于年出现了专门用于Web服务端编程服务端编程PHP语言,与以往语言,与以往CGI不同,不同,PHP将将HTML代码和代码和PHP指令合成完整的服务器端动态页面,指令合成完整的服务器端动态页面,Web开发者可以用一种更开发者可以用一种更加简便、快捷的