首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • 中小企业WEB网站架构与程序设计模式

    时间:2020-06-05 00:25:55 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:程序设计 架构 中小企业

     业 中小企业 WEB 网站架构与程序设计模式 摘要:随着 Web 技术的发展,Web 程序运行架构与设计技术越来越多的呈现在开发者面前。本文探讨了中小企业 Web 应用程序的运行架构,研究分析了中小企业应用程序的设计模式。

     关键词:WEB 网站;设计模式;运行架构 引言 Web 应用程序是一种经由 Internet 或 Intranet、以 Web 方式提供服务的程序。它是典型的浏览器/服务器架构的产物。采用 Internet 标准的通信协议 HTTP 作为两者通信的标准。为服务开发商提供规范和简化的开发模式,由于用统一的HTML语言作为客户端程序的编码,通过浏览器和 Internet 网的便捷性,可以在任何地方进行数据访问。在现实的应用中,我们通过浏览器将事务逻辑暴露给用户,用户通过浏览器将事务逻辑激活并将初始参数等信息传递给服务器,运行存储于之中的事务处理程序,处理规定的事务逻辑。这要通过运行相应的 Web应用服务程序和数据库服务程序来完成,服务器对数据进行处理后,将处理的结果生成网页,传给浏览器,以实现对处理结果的显示。这样系统客户端被大大的简化,用一个浏览器就可以应对于所有 Web 应用程序,降低了客户端计算机的配置成本。

     1 中小企业 Web 应用程序的运行架构 1.1 通信协议 浏览器/服务器架构的核心是 HTTP,它有两种报文形式:请求/响应。请求报文包括方法、资源路径、协议的版本、头部的可选信息和报文体;响应报文包括协议的版本号、状态码、头部信息和获取资源的内容等。随着 WebService 技术的出现,产生了 SOAP、WSDL、UDDI协议。WSDL 用来描述如何访问具体的接口,UDDI 用来管理,分发,查询 WebService 当用户通过 UDDI 找到你的 WSDL 描述文档后,就可以通过 SOAP 调用已建立 Web 服务中的一个或多个操作。SOAP 支持不同的底层接口,如 HTTP(S)或者 SMTP。

     1.2 主要服务软件 主要的 Web 服务器支撑软件常见的有 Apache、IIS、Nginx。Apache 使用范围广,支持多平台,Nginx 支持反向代理,IIS 是微软支持 Web 服务器软件通过添加组件可以支持多种服务。但它们只能将一个固定的内容返回到客户端,不论何人、何时都一样。Weblogic、Tomcat、Jetty 是常见的应用服务器,它们通过浏览器把服务的业务暴露给用户,当用户提出请求时,在服务器端为用户运行业务处理程序,完成业务逻辑处理。WebSphere 是 IBM 的基于 Java 的

     应用环境,建立、部署和管理 Internet 和 IntranetWeb 应用服务器软件,使用较少。Tomcat也是基于 java 应用服务器。它只是一个 Servlet 容器,可以独立运行。它的特别之处在常常与 Apache 整合起来使用,能够处理 JSP,被广泛使用。Jetty 采用最优的开源 JavaWeb 引擎,将 Java 社区中使用量最大,用户数最多。Jetty 通过使用 APR 和 Tomcat 本地技术的混合模型来解决问题。混合技术模型从最新的操作系统技术里提供了最好的线程和事件处理。其性能参数匹配甚至超越了本地 ApacheHTTP 服务器或者 IIS。Jetty 能够提供数据库连接池服务,不仅支持 JSP 等 Java 技术,还支持其他 Web 技术如 PHP、.NET 等。在数据管理上,中小企业网站主要使用关系型数据库技术,它是对数据进行高效管理主要工具,并且为外提应用提供访问接口,为 Web 应用创造良好的开发环境。近来也有使用非关系型数据库的趋势。主要的数据库管理软件为 Mysql 和 MS-SQLServer。两款产品性能差不多,MS-sqlserver 主要用在微软的为主的技术体系中,在市场中有一定的占有率。Mysql 作为热门的数据库管理系统,在市场中有广泛的使用,它对 Windows 和 linux 平台有很好的支持。尤其是和 php 程序设计语言结合,产生了好多开发环境。在客户终端的浏览器上,微软、谷歌、苹果产品市场占有率很高。浏览器的内核主要有 Trident、Gecko、WebKit、Presto。主要任务是对 HTML语言进行解释与渲染,生成用户的浏览界面。

     1.3 运行架构 (1)数据访问量有限的架构。网站的初期,我们往往会在单机上跑我们所有的程序。但随着访问量逐步上升,服务器的负载慢慢提高,网站的压力逐步显现。假如我们代码层面已难以优化,在不提高单台机器的性能的情况下,可以将服务细化,将后台服务分成业务服务和数据库服务,分别由不同的计算机完成。这样不仅可以有效地提高系统的负载能力,而且性价比也很高,还提高了容灾能力,如图 1 所示。(2)数据访问量较大的架构。随着访问量继续增加,上图所示的架构也即将无法满足客户的需求了。这时可以把应用服务器从一台变成多台,将他们组成一个服务器集群,通过负载均衡技术把用户的请求分散到不同的服务器中,从而提高负载能力。而对于日益增加数据库的访问需求,我们可以通过 SAN、NAS 和加大缓存与读写分离等技术来解决,如图 2 所示。

     2 中小企业应用程序的设计模式 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。它是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。框架是一种相对固定的设计模式是可重用、半完成的应用程序,使用框架可以生成专门定制的应用程序。

     2.1 基于“WEB 页面/文件”设计模式

     这种设计模式下,当客户端通过 HTTP 协议,将网页上暴露的商业逻辑提交至服务器时,URL 直接指向某个文件,然后由该文件来处理请求,同时将输入参数提交给它,运行结束返回响应结果。在实践中,我们把不同的业务处理程序放在不同的文件夹的文件中,使之与 URL对应。当 HTTP 把请求提交至服务器时,URL为:http://www.sjsyd.com/news/reader.php?id=1234.可以想象,在站点根目录的 news 目录下放置一个 reader.php 文件,同时提交给文件的 id 值为 1234。这种设计模式在 ASP、PHP处理简单业务时常见。

     2.2 基于 MVC 设计模式 模型(M)是数据的表述,它不是真正的数据,而是数据的接口,使用它时我们无需知道底层数据库的不同类型。视图(V)使我们看到的界面,它是表现层。控制器(C)控制模型和视图之间的信息流动,它通过程序逻辑来判断模型从数据库获取了什么信息,将什么信息传给了视图。这种设计模式分离了应用逻辑和表现逻辑,所有请求都通过控制器分发,分发过程基于请求的 URL.这种设计模式和上面的基于文件的模式一样,都是基于请求/响应驱动的,服务器与客户机之间的数据传输遵循 Http 协议。它是中小企业网站主流的程序设计模式,很多常用框架springMVC(Java),RubyonRails(Ruby),ZendFramework(PHP)等都支持它。因为它们有很好程序结构和代码资源可供使用,给 Web 应用程序设计带来了极大便利,能够满足高内聚、低耦合的要求。如有 URL,http://www.sjsyd.com/lib/book/1234.可以想象在实际代码中,我们会有一个控制器 libController,其中有一个 bookAction。当业务逻辑发生变化时,只要在控制器上变化一下即可,从而实现表现(V)与模型(M)的分离,与 asp/php 业务逻辑和表现层混合编程方式相比,程序的修改要方便很多。不同框架可能默认实现方式稍有不同,有的是一个Controller一个文件,其中有多个Action,有的是每个Action一个文件。还有更直接的基于URL的设计方案,那就是 REST。通过人为规定 URL 的构成形式(Action 限制为只有几种)来促进网站之间的互相访问,降低开发的复杂性,提高系统的伸缩性。

     2.3 基于组件的设计模式 此种设计模式在中小企业网站程序设计中最常用的框架为 ASP.NET 的 Webform。它采用的是视图优先的策略,非常接近 VCGUI,JavaSwing 等可视化设计,可通过拖拽控件方式完成表现层设计。双击它们即可在后台代码中生成一系列事件响应代码,这些逻辑代码都在ASPX.CS 文件中。Webform 将用户的请求与响应都封装为控件,采用事件驱动模式来控制应用程序请求,因此需要大量服务器控件支持。.NET 中的事件基于委托模型。委托模型遵循观察者设计模式,使订阅者能够向提供方注册并接收相关通知。事件发送方推送事件发生的

     通知,事件接收器接收该通知并定义对它的响应,HTTP 被隐含其中。当然不是仅有 ASP.NET支持这种模式,对 PHP 来说,PRADO 就是完全基于组件和事件驱动的开发框架。

     3 结语 总之,随着云计算、大数据、人工智能的发展与广泛使用,中小企业网站必将在架构与设计模式中呈现出越来越多的特点,以适应业务需求的不断变化。

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识