web应用开发架构设计考虑哪些?
仅个人愚见,架构最重要的首先是可扩展性,因为一个好的机械,其任何部位的任何零件都应该是可拆卸和替换的。其次就应该考虑容错性,即使是以设计一个傻瓜式产品为目标,也千万别低估了大傻瓜的创造力。
Web系统架构推荐?
一 、基于“组件”(Component ,GUI设计也常称控件)、事件驱动的架构,最常见的是微软的.NET。基本思想是把程序分成很多组件,每个组件都可以触发***,调用特定的***处理器来处理(比如在一个HTML按钮上设置onClick***链接到一个PHP函数)。这种设计远离http,HTTP请求完全抽象,映射到一个***。
二 、基于“WEB页面/文件”,例如CGI和PHP/ASP程序。程序的文件分别存储在不同的目录里,与URL相对应。当HTTP请求提交至服务器时,URL直接指向某个文件,然后由该文件来处理请求,并返回响应结果。
三 基于“动作”(Action)。这是MVC架构的WEB程序所***用的最常见的方式。目前主流的WEB框架像Struts、Webwork(java),Ruby on Rails(Ruby),Zend Framework(PHP)等都***用这种设计。URL映射到控制器(controller)和控制器中的动作(action),由action来处理请求并输出响应结果。这种设计和上面的基于文件的方式一样,都是请求/响应驱动的方案,离不开HTTP。
webrtc架构详解?
webrtc是一个支持网页浏览器进行实时语音对话或视频对话的API。
它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。
webrtc实现了基于网页的***会议,标准是WHATWG 协议,目的是通过浏览器提供简单的Javascript就可以达到实时通讯能力。
webrtc的最终目的主要是让Web开发者能够基于浏览器轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件;
Web开发者也无需关注多媒体的数字信号处理过程,只需编写简单的J***ascript程序即可实现,W3C等组织正在制定J***ascript 标准API,目前是WebRTC 1.0版本,Draft状态;
另外webrtc还希望能够建立一个多互联网浏览器间健壮的实时通信的平台,形成开发者与浏览器厂商良好的生态环境。
同时,Google也希望和致力于让webrtc的技术成为HTML5标准之一,可见Google布局之深远。
webrtc提供了***会议的核心技术,包括音视频的***集、编解码、网络传输、显示等功能,并且还支持跨平台:,linux,mac,android。
WebRTC架构包括三个主要组件:浏览器、[_a***_]器和网络。浏览器是WebRTC的客户端,它负责捕获和发送媒体流,以及处理信令和认证等任务。
服务器负责管理WebRTC会话,并负责路由和转发信令和媒体流。网络负责提供实时传输服务,以及提供NAT穿透和防火墙穿透等功能。