下载本文示例代码
在前一节中我们介绍了用于软件系统结构的主要的商业技术:专利软件和开放系统软件。本节我将向大家介绍客户/服务器技术 客户端-服务器技术是支持应用系统的软件技术演化的结果。特别地,客户端-服务器技术的演化已经成为信息技术扩展的一个重要因素,它伴随着应用程序业务流程的范围的不断增长。最初的技术集中于文件共享。文件共享目前仍然是Internet中占有统治地位的范式,它使用HTTP等协议支持可用的全球文件系统的访问。文件服务器技术演化为数据库服务器技术,形成了第二代占有统治地位的能力。我们要重点注意,文件服务器技术与分布式计算技术的演化紧密相关。 最近客户端-服务器技术正在逐渐被N层面向对象解决方案所代替。基于Java应用程序服务器,N层解决方案包含了对瘦客户端用户界面的支持,同时增强了可伸缩性和可靠性。 最成功的网络技术之一来自于太阳微系统公司,称为网络文件服务器。太阳微系统公司通过提供在任意平台上的实现源代码的免费参考技术访问权成功地成为了实际的标准。网络文件服务器技术是基于开放式网络计算的,这是太阳微系统公司的另一项技术,它是第一代成功的分布式计算机技术之一。网络文件服务器是基于面向过程的技术,受到C编程语言的约束,就像其它的重要的远程过程调用技术(分布式计算环境)一样。这两种技术都导致了文件共享能力被广泛地实现了。数据库服务器技术利用这些下层的分布式计算能力来提供不同的客户端平台对数据库系统的远程访问。 在数据库时代产生过程中另一项重要的技术是事务处理监视器。事务处理监视器使我们能够通过分布式系统实现一致的和可靠的数据完整性维护。事务处理监视器技术成为分布式技术的一种重要的附加能力,确保了执行的性能和完整性。 群件(Groupware)技术也出现在80年代末90年代初,它是从电子邮件开始的,演化成更高形式的交互能力,其中的一些目前还能在Internet上看到(例如聊天室和视频会议)。最近,面向对象、分布式计算和Internet技术已经结合在一起以支持自适应的计算环境,其范围可以扩展到了全部的计算机。这一代技术主要受到基于太阳微系统公司的Java和微软的.Net平台的应用程序服务器的支持。 客户端-服务器技术最初是由基于主机的技术演化而来的。基于主机的技术是单处理器系统的自然而然的产物,可以追溯到计算的起源。在主机技术中,系统中的数据的处理和管理都是集中完成的。主机被很多外围客户终端围绕着,而这些终端仅仅简单地支持信息的表现。在客户端-服务器技术时代,客户端计算机成为了重要的处理资源。在个人计算机革命中客户端系统的处理速度不断上升,现在其处理速度可以与以前的小型机和大型机竞争了,甚至于超越了它们。最初为了支持部门和企业的数据访问,客户端-服务器技术支持了通过局域网连接到后端大型机、小型机和工作站服务器系统。在软件层中支持这种通讯的技术称为中间件(middleware)。 "天赋可能就是用简单的方式表达深刻的事情。"--Charles Bukowski 历史 最初,中间件是作为支持PC和服务器平台之间的客户端-服务器网络通讯的常规能力安装。随着技术的发展,中间件被逐渐嵌入操作系统中,这样它就变成了客户端平台和服务器平台的一种普通的能力。嵌有中间件的客户端系统现在支持对本地和通过网络运行的应用程序的服务。客户端-服务器技术向嵌入能力的演化给应用系统的执行增加了少量的挑战。实际上,目前客户端-服务器的演化有多种不同的情形,包括大型机平台的复苏(成为了IBM的重要业务),以及称为网络计算机的能力开始类似大型机时代的哑终端了(图5)。
图5.客户端服务器技术的起源 对象技术是围绕客户端-服务器能力组织起来的。对象技术分成了主要的两类。其中一些被组织起来用于为软件开发的过程服务。这种技术的例子包括面向对象的分析和面向对象的设计。面向对象的分析由当前和未来的业务流程的模型的信息技术能力的定义所组成。面向对象建模为业务实体和业务流程的表现提供了丰富的能力。这与面向过程和关系数据库技术不同,它们要求应用程序设计者把业务环境的表现按照控制流和数据表现的技术约束进行折衷。由于过程中状态信息的简单自然的通信,面向对象分析提供了模拟现实的机制,而它相对容易与最终用户沟通。由于与最终用户的沟通更容易了,面向对象系统的设计和确认就更容易实现了。 面向对象设计是另一种主要的软件阶段,它已经被软件程序市场成功地商业化了。面向对象的设计由支持软件缺陷的减少和软件能力的快速原型方法的软件结构规划和能力共同组成。 对象技术的其它的主要种类集中在实现上。在它的中心是面向对象中间件技术。面向对象中间件支持分布式计算和多种不同的软件技术(包括操作系统、编程语言和数据库)的集成。面向对象的编程语言是对象范式的直接表达。面向对象的编程语言支持数据和过程的封装,采用组件对象中的抽象数据类型的形式。现在有多种面向对象的编程语言,就像有很多面向过程的编程语言一样。占有支配地位的面向对象的编程语言包括C 、Java语言和C#,但是还有大量的团体支持Eiffel和其它语言。面向对象的中间件允许这些语言交互操作来构成应用程序。面向对象的编程语言是实现应用软件的一种可能的选择。我们也可能利用面向对象的分析和设计来支持在面向过程语言的编程。这种情形经常发生,因为很多团体的开发环境都把面向过程的语言(例如C编程语言和COBOL)作为自己的主流语言。 面向对象的一个最重要的特性是开发者不需要关心下层的实现。如果下层的实现是面向过程或面向对象的,只要应用程序被正确地封装了,都没有任何问题。分布式对象中间件支持不透明的封装属性,使这种操作成为可能。商业软件与传统的和面向对象的应用程序的集成也被这些封装属性的结果所激活(图6)。
图6.中间件的角色 面向对象的中间件技术可以被看作是面向过程开发的副产品。从操作系统开始,支持进程间通讯的面向过程的技术就已经被添加进来以激活文件共享和客户端-服务器能力的演化(图7)。这些技术包括远程过程调用(RPC)技术(例如开放式网络计算,ONC)和分布式计算环境(Distributed Computing Environment ,DCE)。RPC技术领先于套接字层的技术,而该技术是传递消息的一种更简单的方式。目前,所有这些技术仍然在应用系统中和Internet上被活跃地使用着。面向对象的中间件技术提供了下一代的能力,它把更多的应用程序功能打包到下部构造之中了。
图7.中间件参考模型共2页。 1 2 :
在前一节中我们介绍了用于软件系统结构的主要的商业技术:专利软件和开放系统软件。本节我将向大家介绍客户/服务器技术 客户端-服务器技术是支持应用系统的软件技术演化的结果。特别地,客户端-服务器技术的演化已经成为信息技术扩展的一个重要因素,它伴随着应用程序业务流程的范围的不断增长。最初的技术集中于文件共享。文件共享目前仍然是Internet中占有统治地位的范式,它使用HTTP等协议支持可用的全球文件系统的访问。文件服务器技术演化为数据库服务器技术,形成了第二代占有统治地位的能力。我们要重点注意,文件服务器技术与分布式计算技术的演化紧密相关。 最近客户端-服务器技术正在逐渐被N层面向对象解决方案所代替。基于Java应用程序服务器,N层解决方案包含了对瘦客户端用户界面的支持,同时增强了可伸缩性和可靠性。 最成功的网络技术之一来自于太阳微系统公司,称为网络文件服务器。太阳微系统公司通过提供在任意平台上的实现源代码的免费参考技术访问权成功地成为了实际的标准。网络文件服务器技术是基于开放式网络计算的,这是太阳微系统公司的另一项技术,它是第一代成功的分布式计算机技术之一。网络文件服务器是基于面向过程的技术,受到C编程语言的约束,就像其它的重要的远程过程调用技术(分布式计算环境)一样。这两种技术都导致了文件共享能力被广泛地实现了。数据库服务器技术利用这些下层的分布式计算能力来提供不同的客户端平台对数据库系统的远程访问。 在数据库时代产生过程中另一项重要的技术是事务处理监视器。事务处理监视器使我们能够通过分布式系统实现一致的和可靠的数据完整性维护。事务处理监视器技术成为分布式技术的一种重要的附加能力,确保了执行的性能和完整性。 群件(Groupware)技术也出现在80年代末90年代初,它是从电子邮件开始的,演化成更高形式的交互能力,其中的一些目前还能在Internet上看到(例如聊天室和视频会议)。最近,面向对象、分布式计算和Internet技术已经结合在一起以支持自适应的计算环境,其范围可以扩展到了全部的计算机。这一代技术主要受到基于太阳微系统公司的Java和微软的.Net平台的应用程序服务器的支持。 客户端-服务器技术最初是由基于主机的技术演化而来的。基于主机的技术是单处理器系统的自然而然的产物,可以追溯到计算的起源。在主机技术中,系统中的数据的处理和管理都是集中完成的。主机被很多外围客户终端围绕着,而这些终端仅仅简单地支持信息的表现。在客户端-服务器技术时代,客户端计算机成为了重要的处理资源。在个人计算机革命中客户端系统的处理速度不断上升,现在其处理速度可以与以前的小型机和大型机竞争了,甚至于超越了它们。最初为了支持部门和企业的数据访问,客户端-服务器技术支持了通过局域网连接到后端大型机、小型机和工作站服务器系统。在软件层中支持这种通讯的技术称为中间件(middleware)。 "天赋可能就是用简单的方式表达深刻的事情。"--Charles Bukowski 历史 最初,中间件是作为支持PC和服务器平台之间的客户端-服务器网络通讯的常规能力安装。随着技术的发展,中间件被逐渐嵌入操作系统中,这样它就变成了客户端平台和服务器平台的一种普通的能力。嵌有中间件的客户端系统现在支持对本地和通过网络运行的应用程序的服务。客户端-服务器技术向嵌入能力的演化给应用系统的执行增加了少量的挑战。实际上,目前客户端-服务器的演化有多种不同的情形,包括大型机平台的复苏(成为了IBM的重要业务),以及称为网络计算机的能力开始类似大型机时代的哑终端了(图5)。
图5.客户端服务器技术的起源 对象技术是围绕客户端-服务器能力组织起来的。对象技术分成了主要的两类。其中一些被组织起来用于为软件开发的过程服务。这种技术的例子包括面向对象的分析和面向对象的设计。面向对象的分析由当前和未来的业务流程的模型的信息技术能力的定义所组成。面向对象建模为业务实体和业务流程的表现提供了丰富的能力。这与面向过程和关系数据库技术不同,它们要求应用程序设计者把业务环境的表现按照控制流和数据表现的技术约束进行折衷。由于过程中状态信息的简单自然的通信,面向对象分析提供了模拟现实的机制,而它相对容易与最终用户沟通。由于与最终用户的沟通更容易了,面向对象系统的设计和确认就更容易实现了。 面向对象设计是另一种主要的软件阶段,它已经被软件程序市场成功地商业化了。面向对象的设计由支持软件缺陷的减少和软件能力的快速原型方法的软件结构规划和能力共同组成。 对象技术的其它的主要种类集中在实现上。在它的中心是面向对象中间件技术。面向对象中间件支持分布式计算和多种不同的软件技术(包括操作系统、编程语言和数据库)的集成。面向对象的编程语言是对象范式的直接表达。面向对象的编程语言支持数据和过程的封装,采用组件对象中的抽象数据类型的形式。现在有多种面向对象的编程语言,就像有很多面向过程的编程语言一样。占有支配地位的面向对象的编程语言包括C 、Java语言和C#,但是还有大量的团体支持Eiffel和其它语言。面向对象的中间件允许这些语言交互操作来构成应用程序。面向对象的编程语言是实现应用软件的一种可能的选择。我们也可能利用面向对象的分析和设计来支持在面向过程语言的编程。这种情形经常发生,因为很多团体的开发环境都把面向过程的语言(例如C编程语言和COBOL)作为自己的主流语言。 面向对象的一个最重要的特性是开发者不需要关心下层的实现。如果下层的实现是面向过程或面向对象的,只要应用程序被正确地封装了,都没有任何问题。分布式对象中间件支持不透明的封装属性,使这种操作成为可能。商业软件与传统的和面向对象的应用程序的集成也被这些封装属性的结果所激活(图6)。
图6.中间件的角色 面向对象的中间件技术可以被看作是面向过程开发的副产品。从操作系统开始,支持进程间通讯的面向过程的技术就已经被添加进来以激活文件共享和客户端-服务器能力的演化(图7)。这些技术包括远程过程调用(RPC)技术(例如开放式网络计算,ONC)和分布式计算环境(Distributed Computing Environment ,DCE)。RPC技术领先于套接字层的技术,而该技术是传递消息的一种更简单的方式。目前,所有这些技术仍然在应用系统中和Internet上被活跃地使用着。面向对象的中间件技术提供了下一代的能力,它把更多的应用程序功能打包到下部构造之中了。
图7.中间件参考模型共2页。 1 2 :
下载本文示例代码
软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术软件架构训练基础教程之C/S技术
阅读(118) | 评论(0) | 转发(0) |