[转载]简单网络的计算模式

简单网络的计算模式


如今基于Internet的应用开发,在设计上大部分都采用了n层模式的实现方法,客户端应用也渐渐趋向基于Web服务的方式, 并采用浏览器或定制一个瘦客户端担当网络应用系统的前端。但无论是采用浏览器,或是瘦客户端方式均有各自的局限性,浏览器的局限性造成了一些关键领域的应 用至今还很难或不适合应用在网络上;瘦客户端方式只是一种特定应用的解决方案,并不具有通用性。因此,我们可以假定有这样一种通用的客户端软件,既保留了 浏览器的普遍性和易用性,又能满足应用系统下的广泛需求和多样化的功能。并且,由这种通用的客户端软件和与之相应的Web服务器软件构成一种新的网络计算 架构,将当前Internet上的应用系统,无论是简单或是复杂,都转移到这种新的网络计算架构上,并由此衍生出一种全新的软件发布和管理方式。

网络计算的背景

如今基于Internet的应用开发,在设计上大部分都采用了n层模式的实现方法,客户端应用也渐渐趋向基于Web服务的方式,并采用浏览器或定制一个瘦 客户端担当网络应用系统的前端。但无论是采用浏览器,或是瘦客户端方式均有各自的局限性,浏览器的局限性造成了一些关键领域的应用至今还很难或不适合应用 在网络上;瘦客户端方式只是一种特定应用的解决方案,并不具有通用性。因此,我们可以假定有这样一种通用的客户端软件,既保留了浏览器的普遍性和易用性, 又能满足应用系统下的广泛需求和多样化的功能。并且,由这种通用的客户端软件和与之相应的Web服务器软件构成一种新的网络计算架构,将当前 Internet上的应用系统,无论是简单或是复杂,都转移到这种新的网络计算架构上,并由此衍生出一种全新的软件发布和管理方式。


blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


网络计算的组成

我们所定义的这种新的网络计算架构其结构是比较简洁的,将由一种通用的客户端软件和与之相应的Web服务器软件组成。这种通用的客户端软件称作"网络工作站",而该Web服务器软件称作"网络服务器"。

网络工作站的结构与功能

  • 含有一个标准的Web浏览器,处理页面和页面请求;
  • 含有一个Java虚拟机,运行来自于Java基本类库、网络工作站中扩展类库及应用系统客户端程序代码;
  • 含有一个应用代理,将代理所有网络工作站中的Web浏览器、Java虚拟机及客户端程序发出的URL请求,并提供一套对本地资源的访问接口及安全调用机制和一套对远端服务器组件的安全调用机制;
  • 含有一个HTTP& HTTPS客户端处理程序,处理对远端服务器的URL请求和对请求结果的缓存(Cache)与复用,包括通信过程中对服务器身份校验和数据传输加密等。

网络服务器的结构与功能

  • 含有一个Web服务代理,提供服务器端的HTTP或HTTPS的连接服务,并校验发出连接的客户端用户身份,建立起确认身份的用户会话控制。Web服务代理还将作为客户端组件的提供者,提供被授权的客户端特定版本的客户端运行组件;
  • 含有一个标准的Web服务器,提供HTTP方式的访问服务,并支持Java Servlet接口;
  • 含有Java Servlet处理模块和JSP处理模块,提供以组件为基础,创建动态网页的Web应用接口方式;
  • 含有一个EJB 组件容器,提供了分布式计算环境中组件需要的所有服务,包括:组件生命周期的管理、组件的命名及引用服务等。

blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


网络计算的工作原理

  • 兼容性
    这种网络计算方式对目前被广泛使用的Web应用方式是完全兼容的。即通过普通的浏览器可正确访问到网络服务器,此时网络服务器将完成一个普通的Web服务 器的功能;同样,通过网络工作站也可正确访问到普通的Web服务器,而将网络工作站当作普通浏览器使用。网络计算方式的功能将体现在客户端的代理和服务器 端的代理的交互上。当一个Web应用系统嫁接在网络服务器上并利用了该网络计算方式的功能时,该应用系统的用户,其客户端则需要使用网络工作站而获得特定 的网络计算功能。
  • 基于页面的处理
    网络工作站中的浏览器通过HTTP协议与Web服务器进行交互,读取HTML格式组织的页面,产生界面效果(包括文本、图象、声音、影像等),利用 HTML-Form数据录入界面接收数并提交数据。浏览器与Web服务器间的任何交互都需要经过应用代理完成,应用代理将利用HTTP协议中的Cache 属性判断一个URL请求所获得的页面是静态页面或是动态页面,若是静态网页,其内容将被应用代理所保留,当在有效时间内有下一个相同的URL请求到来时, 应用代理则直接将其保留的网页提交给浏览器。
  • 基于Java(Applet)程序的处理
    当网络工作站中的浏览器在获得一个含Applet对象的页面时将自动调用Java虚拟机加载运行该Applet程序代码。Java虚拟机从源服务器得到的 Java运行代码都是经由应用代理去获取的,应用代理利用HTTP协议发出一个URL请求去获得服务器上某个Java程序代码,并利用HTTP协议中约定 的某个属性判断该程序代码是否来源于一个受信任的网络服务器,若是,应用代理还将对所获得的代码进行校验,通过校验的代码才被提交到Java虚拟机上运 行,并且,应用代理将按照一定的安全策略允许Java程序代码中存在间接访问本地资源的功能调用;对来源于普通Web服务器的Java程序代码,应用代理 将直接提交到Java虚拟机。
  • 网络工作站中的本地资源访问
    在应用代理控制下,Java(Applet)程序能通过特定的功能调用间接地利用和访问本地资源,包括:对本地文件的操作、远程地址及端口的连接、本地地址及端口的绑定侦听、调用应用代理中规定的本地资源访问接口、通过对象模型调用特定的组件等。在保证 Java 虚拟机上运行的 class 代码是安全的前提下,通过应用代理,有效利用本地资源,使得用 Applet 方式实现的客户端应用程序重新获得了灵活性。
  • 网络工作站与网络服务器间的数据交互
    按照Java虚拟机定义的规范,在Java虚拟机上运行的Java程序是安全的,Java虚拟机仅允许Java程序与源服务器的同一端口建立连接并可进行 数据交互,应用系统客户端程序将通过这种方式,向源服务器提交应用服务请求,以及从服务器返回服务请求的处理结果。Java虚拟机与服务器的数据交互都需 要经过网络工作站内部的应用代理作传递,应用代理将负责完成对服务器的身份校验、对应用代理与服务器之间的数据传输采取安全、保密措施,并且对有指定 Cache属性的服务请求处理结果进行缓存,通过应用代理提供复用。
  • 网络服务器上提供的Web服务
    网络服务器具备了普通Web服务器和应用服务器的功能,其应用服务器含有对EJB容器的实现。网络服务器通过HTTP协议接受连接和服务请求,这些请求包 括:网页请求、文件请求、数据提交请求、应用服务请求、Java程序请求等等。对于静态的网页请求、文件请求,网络服务器将通过Web服务器给予回应;对 于动态的网页请求、数据提交请求、应用服务请求等,网络服务器将提交给应用服务器,由服务器端的应用软件进行处理和回应;对于Java程序请求,网络服务 器将交由Web服务代理控制和发布所请求的Java程序代码。
  • 网络服务器上的客户端应用组件
    Web服务代理将按照一套特定的规则对客户端程序进行发布和控制管理,这套特定规则主要包含了一些管理属性:客户端软件的版本及程序列表、每一个升级版本 对上一个版本的更新列表、软件发布用户列表(其中含:注册用户及注册信息、发布时间、软件使用版本、软件使用有效期等)、授权用户使用软件列表(其中含: 授权使用版本、使用时间等)。向用户发布带有认证、受限、封装的客户端程序,保证客户端程序在网络工作站上只能被特定的用户正确使用。
  • 网络服务器上提供的安全访问服务
    网络服务器在接受客户端连接和服务请求后,客户端与服务器所有的数据交换都要经过Web服务代理作传递。Web服务代理将自动完成服务器和客户端间的身份 校验和认证;Web服务代理将对从客户端发送来的、经过安全、保密措施处理过的数据进行还原,提交给Web服务器或应用服务器进行处理,再相应地将Web 服务器或应用服务器处理后得到的回应数据同样采取相应的安全、保密措施,再传递到对应的客户端。网络服务器上所提供的安全访问服务是独立于应用系统的。

blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


网络计算的构架

  • 网络工作站的应用
    我们先将网络及网络上的所有资源整个看作是一个无所不有、无所不能的计算机系统,再将这种计算机系统的工作方式看作是主机-终端的集中式运行方式,而在这 个计算机系统上,只需要用到一种终端设备连接到该计算机系统上,再加上适当的用户帐号就能获得该计算机系统上任何的功能和服务。

    但直到目前为止,在网络上,我们还没有找到这样一种通用的、且能被广泛运用的终端设备(好比主机-终端方式中的VT100终端)。正是因为如此,我们试图 在设计一种全能的网络终端-网络工作站,作为网络计算的一种标准方式。而网络工作站本身已不仅仅是一种一般意义上的终端设备,它已具有强大的计算能力,在 网络上所构建的 n 层结构的应用系统中,网络工作站将是构成网络计算的重要的组成部分。

    网络工作站可以运行在任何个人计算机系统和工作站系统上,它将替代目前的Web浏览器成为一种标准的而且通用的前端系统。这种前端系统可以运行来自任何服 务器系统的应用软件,充分发挥本地计算机系统的计算功能,并且通过与服务器产生交互,协同服务器系统完成复杂的商业逻辑和事务逻辑处理。

    从另一个角度看,网络工作站还具备了工作站的特性:在特定的需求下网络工作站可以独立地运行而无需依赖于任何的服务器;同样,在特定的需求下可以由多个网络工作站一起协同完成某种网络计算功能而无需依赖于任何服务器。

    网络工作站是一个标准的客户端系统,它可以由任何软件开发商根据"简单网络计算规则"开发实现,但最终需要通过一个特定的非赢利组织进行授权和发布。

  • 网络服务器的应用
    按照我们设计的这种网络计算架构,客户端应用程序与服务器端应用程序都将被部署在网络服务器上,用户通过网络工作站引导、下载、运行所需的客户端应用程 序,通过运行的客户端应用程序向网络服务器发出URL请求,使其与网络服务器端应用系统产生交互,获得部署在网络服务器上的应用处理功能和服务。

    网络服务器通过站点地址与通信端口提供特定的应用服务,网络服务器可以任意部署多个应用服务系统在不同的通信端口上提供服务。这些应用系统将在不同层次的 容器上分别部署相应的处理模块,并且,在相同的层次上各个处理模块能为不同的应用系统所共享。网络服务器上提供了两个最基本的共享容器:分别是Web容器 和应用服务容器。

    在物理上,被感知的一个网络服务器是可以由一个或多个计算机系统而构成,网络服务器中各个组成部分可以分别部署到一个或多个计算机系统上完成不同层次的服 务功能。例如,Web代理负责安全和通信;Web服务器负责受理Web服务;应用服务器负责处理具体的业务逻辑和事务逻辑等。


blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


简单网络计算规则的特点

  • 全能的网络终端
    我们首先定义这样一种智能的终端:一个独立的运行机,带有一套公开的、统一的基本类库,可运行特定模式下的任意的客户端组件,无需定制与任何应用系统相关的内容,并具有良好的功能扩展性。

    这种全能的网络终端能够与任何的Web服务器相连接,通过下载并运行客户端应用程序,使其能充当任意应用系统下的前端机。客户端应用程序将在运行机的有效 控制下,调用受到信任的客户端组件,在这些客户端组件中将能够安全、可靠地利用远端资源和本地资源。客户端组件在被运行机调用前都需要经过严格的校验,以 有效地保证运行机系统完全不受外来的干扰和侵害。

  • 客户端应用程序
    客户端应用程序是指由Java程序代码编译而产生的一系列class代码文件。按照Java的规范,Java程序只需一次编译,即可随处运行。这些编译后的客户端应用程序存放在Web服务器上,将随时提供给前端系统下载运行。

    Web服务器在每接到一个下载客户端应用程序代码的请求时,都将自动根据请求者在服务器上的注册信息,产生一个与请求者相关的客户端应用程序代码的版本, 再将此版本的代码提交给用户。由于用户获得的是一个专门为其封装过的软件版本,在被封装过的客户端应用程序代码中将含有一系列的限制条件,当被下载到前端 系统后,只有在所有的限制条件都被满足后,才能被解开封装还原成本来的class代码,加载到运行机上获得正常的运行效果。

  • 安全性
    安全性主要表现在以下三个方面:

    用户与服务器之间的信任关系。服务器对特定用户进行授权,使该用户能享有服务器所提供的应用服务;用户前端系统将对特定服务器赋予一定信任级别,使得从该服务器下载的客户端应用程序代码,在运行过程中能合法地调用由运行机提供的访问接口。

    从被信任的服务器上得到的客户端应用程序代码,在被运行机调用前,需经严格的校验,包括:程序提供者签名校验、程序使用者身份校验、程序使用有效期校验、运行机授权校验等。在对服务器信任的前提下,保证了前端系统运行的客户端应用程序代码的可靠性和有效性。

    前端系统与服务器之间的数据传递交换将通过安全数据传输通道完成,安全数据传输通道的建立将独立于应用系统,只与前端系统当前的使用者和提供应用服务的服务器相关。

  • 软件发布与运行
    部署在Web服务器上的客户端应用程序代码是经过编译的Java程序,运行这些代码的前端系统只需要有一个Java虚拟机。客户端应用程序代码并不依赖任何的平台。

    存放在Web服务器上的客户端应用程序代码需要有不同版本的控制,这一情况将有别于普通的Web服务器,因为使用客户端应用程序的最终用户需要在服务器上 注册,经授权后将能获得某一版本的代码,用户在运行过程中只将需要用到的代码传到前端系统,所以必须通过版本控制保证每一个用户使用的软件版本的一致性。

    用户在获得使用某个服务器上的软件前,都要经过用户注册,提交必要的申请资料,并经授权后才可获得一定的使用权。用户注册资料可以包括用户身份证明、应用系统名称、注册时间、资格、信用、付款等等。

  • Web服务
    Web服务由外至内将由Web代理、Web服务器、应用服务器三层结构所构成。

    Web代理负责受理和回应所有的对网络服务器的URL请求,并在数据传输层上对URL请求及回应自动采取安全保密措施。另外,Web代理还将从URL请求中过滤出对客户端应用程序代码的请求,并负责向最终用户发布部署在网络服务器上的客户端应用程序。

    Web服务器负责解析每一个URL请求,对有效的URL请求调用相关处理功能获得请求服务并产生回应。对于静态HTML网页及其关联对象的请求,Web服 务器将从文件系统中找到相应文件对象返回。对于其他的URL请求,Web服务器将调用相应的Servlet或JSP接口处理程序产生回应。

    应用服务器是一个特定的对象模型的容器,一般可以采用EJB容器。在部署了相关组件到指定的容器中后,通过Web服务器调用的Servlet或JSP接口处理程序来引用容器中的组件,完成特定的业务逻辑和事务处理。

  • 软件保护
    假设某个软件公司实现了简单网络计算规则中网络工作站的功能,其后,在该软件上还需要包含一个特定的非赢利组织所提供的证书,证书的私钥要被内嵌在网络工 作站软件中使用,因此该网络工作站软件最终将通过此非赢利组织进行授权和发布。只有获得授权的网络工作站软件才有可能将服务器封装过的class代码进行 校验和还原。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-130732/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/374079/viewspace-130732/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值