您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > WEB应用的架构与开发
SWEB应用开发与架构主讲:WEB开发小组成员课程安排S第一节:WEB开发技术简介S第二节:WEB后端开发S第三节:WEB前端开发S第四节:WEB与数据库S第五节:WEB应用架构概要一SWEB开发技术简介S什么是WEBSWEB开发用到的前后端语言SWEB开发常用的工具SWEB运行环境SWEB服务器S静态页面与动态页面的区别SB/S与C/S的区别概要二SWEB后端开发SWEB后端开发语言简介(PHP/ASP/ASP.NET/JSP)SWEB后端开发语言易学度、执行效率、使用率等比较S常用后端开发框架介绍(以PHP为例)S后端开发重点技术讲解(MVC,ORM,模板引擎等等)S缓存管理(memcached,redis等)S后端开发新技术(node.js等)概要三SWEB前端开发技术S前端开发语言介绍(JavaScript/Html/css/as)SJAVASCRIPT框架介绍SAJAX技术重点讲解S浏览器兼容性S搜索引擎优化(SEO)S前端新技术介绍(HTML5/CSS3)概要四S数据结构SMySQL介绍SMySQL大数据量优化方案S存储过程相关S数据结构设计(拆分、读写分离、主从备份)概要五SWEB应用架构分析S分布式应用SLVS负载均衡SDNS轮询S大型网站案例分析WEB开发技术简介S什么是WEB?SWEB的发展史S浏览器的发展史SWEB开发语言/开发工具/运行环境SWEB服务器SWEB程序执行流程SWEB相关的名词解释什么是WEB?S由以下三部分组成:S超文本标记语言(HTML)S超文本传送协议(HTTP)S统一资源定位技术(URL)WEB的发展浏览器与其内核S主流浏览器:SIE、Firefox、Chrome、Safari、OperaS主流浏览器内核:STrident、Gecko、WebKit、Blink、Presto浏览器的发展史图解浏览器的发展史图解全球主流浏览器市场份额(数据来自TNW)国内主流浏览器市场份额(数据来自百度统计)国内主流浏览器市场份额(数据来自百度统计)国内主流浏览器市场份额(数据来自CNZZ)常用WEB程序开发语言S后端语言:SPHPSJSPSASP.NET/ASPS前端语言:SJavaScriptSVBScriptSHTMLSCSS常用WEB程序开发工具SIDE:SZendStudio(PHP)SEclipse(JSP)SVisualStudio(C#)S辅助开发工具:SDreamweaverS各种文本编辑器WEB程序运行环境(以操作系统为主)SLinux/UnixS支持PHP、JSP,效率高SASP.NET/ASP目前还没有能运行在Linux服务器上的版本,估计未来也不会有SWindowsS支持ASP.NET/ASP,效率高S也支持PHP、JSP,但效率一般WEB服务器的使用区域分布动、静态页面与B/S、C/SWEB程序执行流程网站相关的名词解释及相关知识分享SAlexaSPR值S百度权重全球网站Alexa排行TOP10S1.Google.comS2.Facebook.comS3.Youtube.comS4.Yahoo.comS5.Baidu.comS6.Wikipedia.comS7.QQ.comS8.Linkedin.comS9.Live.comS10.Twitter.com中文网站Alexa排行TOP10WEB应用架构SWEB服务器的选择SWEB常用的生产环境S业务逻辑代码层架构设计S服务器层架构设计常用WEB服务器优缺点SApacheS优点:比较成熟、稳定、功能强大、配置丰富、能想到的模块都有S缺点:不适合静态文件多的站点、内存CPU占用很大、阻塞型请求处理方式SNginxS优点:内存CPU开销小、支持更高的并发数、FastCGI模式效率突出、配置简单S缺点:rewrite支持不是很好、动态页面处理效率不如apache、可使用的模块较少SLighttpdS优点:系统资源开销极小,SIISS优点:可视化配置,除此好像没有其他优点了S缺点:缺点太多,如果不是ASP.NET/ASP的程序几乎不会考虑用常用WEB服务器功能对比WEB服务器市场份额WEB服务器的选择S结论:SNginx比较适合做前端服务器SApache比较适合做后端处理服务器SLighttpd处理静态文件效率较高适合做图片等静态文件服务器S如果程序是ASP或ASP.NET那就只能选IIS+Windows平台了WEB常用的生产环境(以PHP为例)SLAMPSLinux+Apache+Mysql+PHPSLNMPSLinux+Nginx+Mysql+PHPSLNMPASLinux+Nginx+Mysql+PHP+ApacheS其他SWAMP/WNMP/WIMP业务逻辑代码层架构设计(以PHP为例)SSSOSTokenSPHPRPC/RESTSCli模式S异步处理SAJAXSMVCSORMSRBACS业务模块化S缓存生命周期S自定义项目配置MVC设计模式SM:ModelSV:ViewSC:ControllerMVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC执行流程什么是ORM模型?SORM=Object/RelationMappingSORM是一种对象、关系映射的模型,在系统中作为中间件的形式存在,主要实现程序对象到关系数据库数据的映射。SORM模型的简单性简化了数据库查询过程。使用ORM查询工具,用户可以访问期望数据,而不必理解数据库的底层结构。为什么推荐ORM?SORM简化了复杂的SQL代码ORM工作原理RBACSRBAC:(Role-BasedAccessControl)基于角色的访问控制模型SRBAC认为权限授权实际上是Who\What\How的问题。在RBAC模型中,who\what\how构成了访问权限三元组,也就是“Who对What(Which)进行How的操作”。SRBAC主要成员:用户,角色,用户组RBAC成员关系图SSOSSSO英文全称SingleSignOn,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。SSSO的技术实现:。。。Token令牌验证SToken作为隐藏域存在于Form内SForm提交时后端程序验证Token避免表单重复提交SToken在验证完成一次后失效PHPRPC协议SPHPRPC是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。S最重要的是可通过javascript直接跨域访问S与SOAP比较。。。Cli命令行开发模式SCli=CommandLineInterface的简称SPHP的Cli模式支持多线程、可以实现定时任务、与GTK一起还可以开发桌面应用、Linux下开发shell脚本。SCli模式在我们产品上的使用。。。应用架构设计
本文标题:WEB应用的架构与开发
链接地址:https://www.777doc.com/doc-3594171 .html