二层C/S架构
概念:C/S架构是一种典型的两层架构,其全称是Client/Server,即客户端服务器端架构。
- 其中客户端包含一个或多个在用户的电脑上运行的程序。
- 服务器端有两种,一种是数据库服务器端,客户通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。
C/S架构也可以看做是胖客户端架构。因为客户端要实现绝大多数的业务逻辑和界面展示。这种架构中,作为客户端的部分需要承受很大的压力,因为显示逻辑和事务处理都包含在其中,通过与数据库的交互(通常是SQL或存储过程的实现)来达到持久化数据,以此满足项目实际需要。
优点:
- C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。
- 系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。
- 在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。
缺点:
- 开发成本较高
- 客户端程序设计复杂
- 用户界面风格不一,使用繁杂,不利于推广
- 软件移植困难
- 软件维护和升级困难
- 新技术不能轻易应用
三层C/S架构
优点:
- 允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性。
- 允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。
- 应用的各层可以并行开发,可以选择各自最适合的开发语言。
- 利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库功能或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础。
缺点:
- 三层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。
- 设计时必须慎重考虑三层间的通信方法、通信频率以及数据量。这和提高各层的独立性一样是三层C/S结构的关键问题。
B/S架构
概念:B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器实现,Browser客户端,WebApp服务器端和DB端构成所谓的三层架构。B/S架构的系统无须特别安装,只有Web浏览器即可。
B/S架构中,显示逻辑交给了Web浏览器,事务处理逻辑放在了WebApp上,这样就避免了庞大的胖客户端,减少了客户端的压力。因为客户端包含的逻辑很少,因此也被称为瘦客户端。
优点:
- 基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可以运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。
- B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最实现的开放性基础。
缺点:
- B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。
- B/S体系结构的系统扩展能力差,安全性难以控制。
- 采用 B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。
- B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
IT鸿沟
定义:IT鸿沟指的是当业务不断发展的时候,现有的IT支持平台的发展不能满足业务的需要,而当IT支持平台发展到可以支持业务的需要的时候,业务又有新的需求和发展,这样业务与IT支持之间持续存在一个鸿沟。
形成原因:存在IT鸿沟的一个重要的原因就是企业中的信息孤岛问题。
如何描述IT信息孤岛及其解决方法?
信息孤岛是指相互之间在功能上不关联互动,信息不共享互换以及信息与业务流程和应用相互脱节的计算机应用系统。
解决方法:从用户界面集成、业务流程整合、数据层面集成、应用系统集成四个方面阐述。
IT鸿沟解决办法:
- IT鸿沟解决办法是EAI(企业应用集成)。一套完整的EAI层次体系结构包括应用接口层、应用整合层、流程整合层和用户交互层。
- EAI使得企业总多信息系统都与一个中间件组成的底层基础平台相连接,各种“应用孤岛”、“信息孤岛”通过各自的“速配器”连接到一个总线上,然后再通过一个消息队列实现各个应用之间的交流。
- EAI技术层次体系结构最下面的一层是应用接口层,它要解决的是应用集成服务器与被集成系统之间的连接和数据接口的问题。
- 再往上去就是应用整合层,它要解决的是被集成系统的数据转换问题,通过建立统一的数据模型来实现不同系统间的信息转换。
- 应用整合层之上就是流程整合层,它将不同的应用系统连接在一起,进行协同工作,并提供商业流程管理的相关功能,包括流程设计、监控和规划,实现业务流程的管理。
- 到了最上端的用户交互层,则是为用户在界面上提供一个统一的信息服务功能入口,通过将内部和外部各种相对分散独立的信息组成一个统一的整体,保证了用户既能从统一的渠道访问其所需的信息,也可以依据每一个用户的要求来设置和提供个性化的服务。
中间件
中间件(Middleware)是一种软件,处于系统软件(操作系统和网络软件)与应用软件之间,它能使处于应用层中的各应用成分之间实现跨网络的协同工作(也就是互操作),这使运行各应用软件之下所涉及的“系统结构”、操作系统、通信协议、数据库和其它应用服务各不相同。
中间件位于C/S计算模型的操作系统、网络和数据库之上,应用软件的下层,是连接两个独立应用程序或独立系统的软件。
中间件为上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
分布式应用软件可借助中间件在不同的技术之间共享资源,相连接的系统即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。
中间件屏蔽了底层分布式环境的复杂性和异构性,简化了分布式应用程序的开发,使分布式应用程序的健壮性、可扩展性、可重用性更好。
作用:
- 提供了通道功能,可保证应用系统数据的可靠传输
- 起着桥梁作用,达成异构应用资源之间的互联互通
- 是分布式应用集成开发框架,促成企业分布式应用的有机集成
- 作为平台,可有效实现分布应用的分阶段部署
- 起着过滤网作用,可有力保护关键信息的安全
提供的最基本的系统服务:
- 通信服务:用户屏蔽底层网络通信接口,为高层应用提供可靠的消息通信和远程访问;
- 名字服务:提供全局的名字服务空间,屏蔽底层实体分布的具体物理位置;
- 存储服务:提供全局的一致数据访问,集成底层分布的局部文件系统和数据库;
- 分布式事务服务:提供分布式事务处理,包括事务管理和调度、负载均衡和失败恢复等;
- 安全服务:提供存取访问控制,在中间件层次保证分布式系统的安全性。
优越性:
- 企业应用方面:缩短应用开发周期、减少项目开发风险、应用程序质量可维护、增加产品吸引力;
- 应用程序方面:透明地同其它应用程序交互、与运行平台提供的网络通信服务无关、具有良好的可用性和可靠性、具有良好的可扩展性。
中间件技术的主流标准:DNA标准、CORBA标准、J2EE标准。