SharePoint : 超级Web Application Framework

简介:

在Wikipedia上,对“Web Application Framework”的定义是: 

一个Web Application Framework是一个设计为支持动态Web网站、Web应用程序和Web Services开发的软件框架。Web Application Framework的目标是减少在Web开发中,与常见的开发工作有关的问题。例如,许多框架都提供了诸如数据库访问类库、模板框架和会话管理,同时,框架通常都能促进代码复用。(注:http://en.wikipedia.org/wiki/Web_application_framework) 

Wikipedia的定义虽然清晰明了,但未免过于宽泛。根据这个定义,实际上,我们可以再将Web Application Framework分成两种: 
■ Web Application Infrastructure Framework 
■ Web Application Building Framework 

Infrastrcture Framework提供了用来构建Web应用最底层的各种基础框架,诸如HTTP请求的截取和分配、网站与页面处理框架、会话管理、缓存等等。ASP.NET、PHP、JSP就属于Infrastrcture Framework。 

Building Framework则是基于Infrastrcture Framework而构建起来的层次更高的Web应用框架,它的目的包括: 
■ 将Web应用开发人员的视角从最底层的网站与页面框架,拉到更上面的基于具体应用的业务功能上 
■ 用来支撑大型复杂的Web应用,例如超过上千个网站、上万个页面的Web系统,而且提供对服务器场、负载平衡的支持 

在.NET领域,DotNetNuke就是一个典型的Building Framework。有了Building Framework,Web开发人员就可以不用从最底层开始构建Web应用系统,而是可以基于Building Framework,开始构建所需要的应用功能组件。一个Building Framework通常会包含下列内容: 
■ 成熟的网站与页面结构框架,使得开发人员不用再基于页面、目录来管理整个Web应用 
■ 完善且可扩展的用户、角色与权限管理 
■ 灵活的UI模型 
■ 内置的数据和文件存储能力 
■ 具备完善的功能模块封装型 
■ 对必要的功能接口提供API 
■ 其他… 

 



对于Web应用的开发来说,从静态网站到动态网站,从Infrastructure Framework到Building Framework,几乎是必然的。随着Web应用越来越复杂,开发人员面临的挑战也越来越大:如何维护和管理上千个网站、上万个页面?如何使Web应用能部署到网络负载平衡的环境中?如何使后台的Services与前台Web请求分离?如何提供完善的系统备份与迁移方案?如果我们必须基于Infrastructure Framework来解决这些问题,那么我们可能得将大部分的项目开发周期,花费在解决这些“底层架构”框架之上(虽然有些开发人员确实更喜欢开发“框架”,而不是一个可用的业务系统)。 

 



当基于Building Framework之上进行开发时,开发人员可以更关注业务需求和业务功能的实现。通常,每一种Building Framework都会有一套专门的对功能模块进行封装和打包的模型,开发人员可以基于这一套模型,将自己开发的功能模块以标准化的方式进行封包。一方面,这样可以使得功能模块的部署变得更简单(避免了基于文件的手工拷贝方式),另一方面,开发人员也更容易的将自己开发的功能模块共享给社区(社区中使用同一套Building Framework的开发人员,可以方便的将拿到的功能模块以标准化的方式部署到自己的环境中)。 

待续…





本文转自 kaneb0y 51CTO博客,原文链接:http://blog.51cto.com/kaneboy/280634,如需转载请自行联系原作者

目录
相关文章
|
4月前
|
JSON API 网络架构
Python Web 开发: 解释 Django REST framework 的作用,以及如何定义序列化器(Serializer)?
Python Web 开发: 解释 Django REST framework 的作用,以及如何定义序列化器(Serializer)?
|
5月前
|
Web App开发 缓存 前端开发
Angular 应用支持 PWA(Progressive Web Application) 特性的开发步骤分享
Angular 应用支持 PWA(Progressive Web Application) 特性的开发步骤分享
46 0
|
5月前
|
SQL 安全 JavaScript
什么是 WAF - Web Application Firewall
什么是 WAF - Web Application Firewall
66 0
|
5月前
|
Cloud Native Java 应用服务中间件
带你读《Apache Tomcat的云原生演进》——GraalVM static compilation in web container application(2)
带你读《Apache Tomcat的云原生演进》——GraalVM static compilation in web container application(2)
143 1
带你读《Apache Tomcat的云原生演进》——GraalVM static compilation in web container application(2)
|
5月前
|
Cloud Native Java 应用服务中间件
带你读《Apache Tomcat的云原生演进》——GraalVM static compilation in web container application(3)
带你读《Apache Tomcat的云原生演进》——GraalVM static compilation in web container application(3)
106 1
带你读《Apache Tomcat的云原生演进》——GraalVM static compilation in web container application(3)
|
9月前
|
域名解析 SQL 监控
Web Web Application Firewall
阿里云Web应用防火墙(Web Application Firewall,简称WAF)是一种网络安全服务,用于保护Web应用程序免受常见的Web攻击,如SQL注入、跨站脚本(XSS)和跨站请求伪造(CSRF)等。它可以通过配置规则和策略,识别和拦截恶意流量,从而保护Web应用程序的安全。
91 1
|
10月前
|
Java 应用服务中间件 Maven
Error configuring application listener of class org.springframework.web.context.ContextLoaderListene
Error configuring application listener of class org.springframework.web.context.ContextLoaderListene
74 0
|
缓存 Java Maven
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis
102 0
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis
|
安全 Go
第十一章 CSP 架构 - Web Application Settings
第十一章 CSP 架构 - Web Application Settings
第十一章 CSP 架构 - Web Application Settings
|
Java 应用服务中间件 容器
Spring 全家桶之 Spring Framework 5.3(八)- Spring 整合 Java Web(下)
Spring 全家桶之 Spring Framework 5.3(八)- Spring 整合 Java Web
Spring 全家桶之 Spring Framework 5.3(八)- Spring 整合 Java Web(下)

热门文章

最新文章