面向服务计算(一)Web应用体系架构.pptx
- 格式:pptx
- 大小:2.82 MB
- 文档页数:10
面向服务的体系结构面向服务的体系结构(S ervice-O riented A rchitecture,SOA,也叫面向服务架构)是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。
SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。
这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
传统的Web(HTML/HTTP)技术有效的解决了人与信息系统的交互和沟通问题,极大的促进了B2C模式的发展。
WEB服务(XML/SOAP/WSDL)技术则是要有效的解决信息系统之间的交互和沟通问题,促进B2B/EAI/CB2C的发展。
SOA 则是采用面向服务的商业建模技术和WEB服务技术,实现系统之间的松耦合,实现系统之间的整合与协同。
WEB服务和SOA的本质思路在于使得信息系统个体在能够沟通的基础上形成协同工作。
对于面向同步和异步应用的,基于请求/响应模式的分布式计算来说,SOA是一场革命。
一个应用程序的业务逻辑(Business Logic)或某些单独的功能被模块化并作为服务呈现给消费者或客户端。
这些服务的关键是他们的松耦合特性。
例如,服务的接口和实现相独立。
应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用,而无须理解服务的底层实现。
举例来说,一个服务可以用.NET或J2EE来实现,而使用该服务的应用程序可以在不同的平台之上,使用的语言也可以不同。
SOA的生命周期建模建模是面向服务的体系结构项目的第一步,几乎和技术没有任何关系,所有事项都和具体的业务相关。
请记住,面向服务的方法将业务所执行的活动视为服务,因此第一步是要确定这些业务活动或流程实际是什么。
对您的业务体系结构进行记录,这些记录不仅可以用于规划SOA,还可以用于对实际业务流程进行优化。
Web应用1. 什么是Web应用Web应用(Web Application)是指基于Web浏览器作为用户界面的的应用程序,通过互联网进行数据传输,并在服务器端进行数据处理和逻辑运算。
用户通过浏览器访问Web应用,可以进行各种交互操作,如查看信息、提交表单、使用在线工具等。
Web应用通过HTTP协议与客户端进行通信,因此具有跨平台、多设备访问的特点。
用户只需在浏览器中输入Web应用的URL即可访问,无需安装额外的软件。
常见的Web应用包括电子商务网站、社交网络、在线银行、在线邮件等。
随着移动互联网的发展,移动Web应用也日益普及,为用户提供更加便捷的访问体验。
2. Web应用的架构Web应用的架构通常分为三层:前端、后端和数据库。
这种架构被称为三层架构,它将应用的不同功能和职责划分到不同的层次,提高了应用的可维护性和可扩展性。
2.1 前端前端是Web应用的用户界面部分,负责展示数据和与用户进行交互。
前端技术通常包括HTML、CSS和JavaScript,用于构建页面结构、样式和行为。
HTML(超文本标记语言)是Web页面的基础语言,用于描述页面的结构和内容。
通过HTML可以定义标题、段落、列表、表格等元素。
CSS(层叠样式表)用于控制页面的样式,包括颜色、字体、布局等。
通过CSS可以实现页面的美化和定位。
JavaScript(脚本语言)是一种用于在浏览器中实现动态交互的语言。
通过JavaScript可以动态修改页面内容、响应用户操作、发送网络请求等。
前端还会使用一些框架和库来简化开发流程,例如React、Vue.js和jQuery等。
2.2 后端后端是Web应用的逻辑处理部分,负责接受用户请求、处理请求、并返回响应。
后端技术通常包括服务器端语言和框架。
常见的服务器端语言有Java、Python和Node.js等,它们可以处理数据库操作、业务逻辑和安全认证等。
后端框架可以提供一些常用功能和工具,简化开发流程。
客户端:(1)B/S架构。
网页画面可以通过一般浏览器,手机浏览器,平板电脑等进行访问。
网页显示技术除了常规的html画面以外,还包括flash,silverlight等技术。
(2)C/S架构。
可以使用C++,JAVA,C#,Delphi等语言实现。
(3)手机应用(Andriod,ios等)(4)Web脚本JavaScript ▪ HTML DOM ▪ DHTML ▪ VBScript ▪ AJAX ▪ jQuery ▪ JSON(5)将传统的POST/GET转换为Ajax请求。
优点显而易见,首先减少了不必要的HTML传输,只请求和渲染页面需要更新的部分,这就相应减少了所需传输的内容加快了内容送达至用户的时间。
服务器端:(1)使用 MVC,JAVA Struct,PHP MVC等经典框架进行开发。
(2) 使用ORM框架进行数据库持久化访问。
(Hibernate等)(3)服务器操作系统支持windows系列和linux系列。
其中JAVA和PHP语言支持跨平台。
(4)分布式缓存系统,在数据库和动态内容之间建立一层缓存区,它可以部署在独立的服务器上,用于加速数据库的读写操作。
(5)负载均衡系统。
把一些既定的内容生成html静态页,保存到“静态web服务器群”中。
用户对这些内容的访问,系统会提供静态页的链接,使用户直接访问静态页。
服务器对静态页的处理和动态页处理相比,大大减少了CPU的压力。
另外,生成静态页也减少了缓存的压力,因为一般的静态页用不到复杂的缓存。
(6)“文件服务器群”存储了系统的海量图片、视频等文件,于是这个服务器群需要很大的硬盘存储空间。
用户访问网页,网页会加载其中相应的图片或视频。
文件服务器对CPU和网络带宽的要求都相当高,单独用一个服务器群存储处理文件时,可以为这个服务器群单独加大带宽和CPU速度。
数据库端:(1)使用流行的mysql,oracle,sqlserver数据库。
(2)主从数据库,读写分离。