首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
ASP | ASP.NET | JSP | PHP | AJAX | XML | Java script | HTML/CSS | 服务器类
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> WEB开发 >> WEB开发 >> 正文
软件架构训练基础教程之C/S服务器技术
ChinaItLab  2004-12-28  保存本文    收藏本站


  客户端-服务器技术是支持应用系统的软件技术演化的结果。特别地,客户端-服务器技术的演化已经成为信息技术扩展的一个重要因素,它伴随着应用程序业务流程的范围的不断增长。最初的技术集中于文件共享。文件共享目前仍然是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.中间件参考模型

  分布式组件
  我们注意到了一些有趣的东西:前一代的进程间通讯技术在市场上销售的时候都承诺了全部应用程序的互通性。目前面向组件的技术也采用了相同的方式。分布式的面向对象的中间件拥有克服前一代技术的缺陷的优点。我们发现即使远程过程调用技术激活了分布式软件的集成,但是为了认识系统,这些技术的原始层次还是要求牢固的应用程序设计。否则,一旦实现这些系统,它们往往相当地脆弱,并且难于维护。
  
  1996年微软发布DCOM,把它作为在Internet上使用的多媒体中间件技术。DCOM仍然暴露了很多更低层次的原始的细节信息,它意味着远程过程调用的衰落。DCOM添加了一些面向对象的能力和支持C++编程的普通集成。简单地添加支持C++的能力不一定能够克服DCOM的前任(叫做分布式计算环境)中的面向过程的程序给分布式系统开发者暴露了过多的复杂性这个缺陷。但是,有了当前版本的产品--微软.Net后,微软建立一种企业开发环境,它能够顺利地与更加成熟的J2EE应用程序服务器竞争了。
  
  通用对象请求代理架构(Common Object Request Broker Architecture)是从下向上设计的用于支持分布式面向对象计算的第一种技术。图8显示了在技术市场上,微软的技术基础与所有其它厂商的信息技术实际上是隔离的。其它厂商支持多种开放系统技术,它是大家一致同意的标准步骤的结果。CORBA是被广泛接受了,它是不受厂商约束的分布式对象中间件的标准。CORBA在很多方面都简化了分布式计算。其中最重要的进步是CORBA提供了语言的无关性,允许不同环境中的多种编程语言使用对象消息交互操作。
  
 

  
图8.分布式技术

  
  在中间件层之上还有一些其它的技术,它们支持了应用程序功能的进一步集成。在微软技术基础中,这些技术都被归组为一个品牌名称--.Net。.Net技术包含了对中间件能力的彻底改造,它删除了接口定义语言。目前CORBA能力已经广泛地使用了,并且它支持来自多个厂商平台的多种编程语言的集成。
  
  CORBA技术是一家开放系统联盟(叫对象管理工作组,OMG)的产品。OMG拥有大约700个成员组织,包含了所有主要的信息技术厂商,例如太阳微系统公司、惠普、IBM、网景和微软。OMG通过把焦点聚集在编程接口的标准化上解决了应用软件互通性的问题。有了上一代远程调用技术后,唯一被广泛采用的标准接口是网络文件服务器,它是移动媒介交换之上的最原始的软件互通性形式。最终用户提供自己的需求并与开放系统程序交互是很重要的,因为它们决定了最终用户系统的开发将使用的技术的形式。特别地,富有经验的技术用户可以鼓励开放系统社团和软件厂商提供更加完整的能力以开发复杂系统。这将减少技术风险并为应用程序开发者创造更多的方法。
  
  CORBA技术围绕组件标准化了的对象请求调用(图9)。在对象管理架构(它是OMG范式的路线节点)中有几种类型的对象。对象请求代理是很重要的,因为所有其它类型的对象都
中国IT教育热线咨询
相关文章
Flash+PHP+Mysql简单留言本制作实例教程
基础知识:Java Web三层架构的配置详解
使用AJAX技术构建更优秀的Web应用程序
ASP应用程序设计的Web状态管理分析
Ajax驱动的Web站点
最新文章
·Ajax光环背后的隐患
·Windows操作系统下JSP程序开发环
·如何在Java程序中实现FTP的上传下
·Java应用:编写高级JavaScript应
·初学者学习java第一步——JDK环境
 文章评论

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
ASP.NET ASP PHP JSP
·ASP.NET开发中的八个最佳实践09-21
·ASP.NET开发中的验证码技术09-18
·控件开发asp.net处理标签间内容09-18
·程序员成为成为编程高手的二十二条军规09-18
·VS 2005和ASP.NET 2.0中处理CSS样式表09-17
·如何有效监控.NET应用程序09-16
·浅析ASP.NET 2.0 Client Callback09-16
·探讨ASP.NETMVC框架内置AJAX支持编程技术09-15
·ASP.NET2.0的URL映射的实现方法09-13
·Java\.net\PHP比较 程序员眼中的.Net世界09-12
·asp.net中实现观察者设计模式09-12
·谈JSP与XML的交互09-01
·ASP连接11种数据库语法总结09-01
·如何利用ASP实现邮箱访问09-01
·ASP随机数的应用技术09-01
·定时使用DWRUtil.addRow生成表格08-27
·ASP申请单动态添加实现方法及代码08-27
·关于ASP中脚本执行顺序的讲解08-25
·ASP程序实现网页伪静态页源代码08-25
·ASP如何调用webservice08-22
·ASP实例:读取xml文件的程序08-14
·Asp组件检测函数08-11
·Linux系统下让PHP提高性能的工具APC05-06
·一个完整、安全的PHP用户登录系统11-14
·Apache+PHP+MySQL建立数据库驱动的动态网站08-24
·用SSH与PHP相连接 确保数据传输的安全性08-23
·PHP5手动最简安装方法08-03
·PHP程序加速探索之服务器负载测试07-11
·完全讲解PHP+MySQL的分页显示示例分析05-30
·用Suhosin加强PHP脚本语言安全性05-26
·初学入门 PHP 和 MySQL05-17
·传奇的诞生 PHP三位创始人简介05-10
·大型系统上PHP令人不爽的九大原因05-10
·JSTL中fn表达式的使用说明09-18
·JSP Web框架研究:Struts09-16
·JSF在GlassFish管理控制台中的应用09-12
·介绍JSP程序动态网站环境搭建的详细步骤09-12
·Jsp页面中文参数传递get和post方法分析09-12
·Java\.net\PHP比较 程序员眼中的.Net世界09-11
·JavaScript最常用的55个经典技巧09-08
·Windows操作系统下JSP程序开发环境配置09-03
·JSF点滴积累--权限验证09-03
·小小分页帮助程序08-29
·经验分享全过程JSP程序员完全蜕变手册08-27
  培训中心
人才交流中心 技术交流中心
  ITLab技术交流平台: