Web服务体系结构
- 格式:ppt
- 大小:758.50 KB
- 文档页数:14
面向服务的体系结构面向服务的体系结构(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,还可以用于对实际业务流程进行优化。
(1)web 是internet 提供的一种服务(2)web 是存储在全世界internet 计算机中数量巨大的文档的集合(3)web 上海量的信息是由彼此关联的文档组成的(4)web 的内容保存在web 站点中,用户可以通过浏览器访问web 站点(1)用户打开计算机,启动浏览器程序,并在浏览器中指定一个URL ,浏览器便向该URL 所指向的Web 服务器发出请求。
(2)Web 服务器接到浏览器的请求后,把URL 转换成页面所在服务器的文件路径名。
(3)如果URL 指向的是普通的HTML 文档,Web 服务器直接将它送给浏览器。
(4)如果HTML 文档中嵌有CGI 程序,Web 服务器就运行CGI 程序,并将结果传送至浏览器。
Web 服务器运行CGI 程序时还可能需要调用数据库服务器和其它服务器客户机/服务器的通信过程:客户机向服务器发送请求,要求执行某项任务,而服务器则执行某项任务。
从本质上讲,web 是基于客户机、服务器的一种体系结构。
PC 等微型计算机的性能/价格比工作站,小型机,大型机高得多,因此人们将数据等大量信息存储在共享的服务器上,用价格低廉的个人计算机与之相连,以便享用服务器的高性能。
在这种客户机/服务器模型中,典型的通信过程为:客户机向服务器发送请求,要求执行某项任务,而服务器则执行此项任务,并向客户机返回响应。
在客户机/服务器体系结构中,通常很容易将客户机和服务器理解为两端的计算机。
但事实上,客户机和服务器概念上更多的是指软件,是指两台机器上相应的应用程序。
对于web 系统,客户机上所运行的浏览器程序基本上是标准化的,所以人们建立客户机/服务器系统的主要任务就落到了服务器端。
Web 的体系结构因而可以称作浏览器/服务器结构。
(1)查找提交的字符串,当遇到“&”时,在该点断开串,将前面的内容作为一个变量,变量名是等于前面的东西,值是等号后面的东西(2)用空格代替全部加号 (3)用相应的ASCII 码字符代替所有%##(##表示十六进制数)1通过使用项目名称访问集合中的具体项目2使用在集合中保存项目时关联的名称访问项目3通过使用与项目关联的索引或号码也可以访问项目4通过使用速记名称访问项目1、Application 对象给定应用程序的所有用户之间共享的信息。
体系结构第一章软件重用和构件技术软件重用(Software reuse)是一种预先构造好的,为重用目的而设计的软件构件类建立或组装软件系统的过程。
构件描述模型:构件模型是对构件本质特征的抽象描述。
一、参考模型(代表3C模型)3c分别代表概念(Concepte)、内容(Content)、语境(Context)。
主要用于形式化的描述方法。
二、描述模型(代表REBOOT模型)ReBoot认为可以用有限维信息空间的术语组织从若干个刻面的综合角度来刻画一个构件。
三、现实模型(代表青鸟构件模型)青鸟模型由内部接口和外部接口两部分组成。
构件获取途径:1、从现有的构件中获得符合要求的或基本符合要求的构件,直接使用或适当修改,得到可重用的构件。
2、通过遗留工程,将具有潜在的重用价值的构件提取出来,得到重用构件。
3、从市场上购买现有的商业构件。
4、开发新的符合要求的构件。
构件分类:1关键字分类法;2刻面分类法;3超文本分类法、构件库检索方法:1基于关键字的检索;2刻面检索法;3超文本检索法;4其他检索方法。
构件组装的方法:1)基于功能的组装技术;2)基于数据的组装技术;3)面对对象的组装技术。
第二章体系结构概论体系结构基本组成部分:包括系统构件(指具有一定功能、可明确辨识的软件单位,并具备特点:语义完整、语法正确、有可重用价值),连接件(用来构建构件间的交互以及支配这些交互的体系结构模块),约束(描述了体系结构配置和拓扑的要求,确定了体系结构的构件与连接件的连接关系)。
第三章软件体系结构的风格人们在开发某些类型软件过程中积累起来的组织规则和结构就形成了软件体系结构风格。
软件体系结构风格是描述某一特定领域中系统组织方式的惯用模式。
软件体系结构风格的最关键的四要素内容:一个词汇表,一套配置规则,一套语义解释原则,和定义对基于这种风格的系统所进行的分析。
通用体系结构的分类:1、数据流风格:批处理序列;管道-过滤器2、调用/返回风格:主程序\子程序;面对对象风格;层次结构3、独立构件风格:进程通讯;事件系统;4、虚拟机风格:解释器;基于规则的系统;5、仓库风格:数据库系统;超文本系统;黑板系统。
微服务体系结构
微服务体系结构是一种将单个应用程序拆分为一组小的、独立的服务的方法,每个服务都运行在独立的进程中,并使用轻量级通信协议进行通信。
这种体系结构有以下主要组成部分:
1. 表现层:负责和用户进行交互,包括WEB页面、APP页面、供第三方调用的接口等。
2. API网关层:它是系统的统一入口,外部通过统一的API网关接入微服务,同时处理一些非业务功能,如监控,负载均衡,流量控制,身份认证等。
3. 业务逻辑层:负责实现业务规则,是系统核心部分,这一层又划分成基础服务层和聚合服务层两个子层。
基础微服务层:负责实现本业务模块的业务规则,一般是通过操作业务数据集来实现单一的业务规则。
聚合微服务层:负责实现跨业务模块的复杂的业务规则,他需要两个或两个以上的基础服务共同来完成一个复杂的业务规则。
本层涉及到二个及以上的基础微服务的组合,所以这一层要处理跨数据集的事务。
此外,服务组件也是分层的,一般可以分为3层,从低到高依次是工具性服务组件、基础业务层服务组件、业务层服务组件。
前端界面的请求按照从高到底向下传递和处理请求。
以上信息仅供参考,如需了解更多信息,建议查阅微服务相关书籍或咨询技术人员。
《软件体系结构》各章思考题第1章软件体系结构概论1、根据自己的经验,谈谈对软件危机的看法。
2、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。
3、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的。
4、为什么要研究软件体系结构?5、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?6、在软件体系结构的研究和应用中,你认为还有哪些不足之处?第2章软件体系结构建模1、选择一个规模合适的系统,为其建立“4+1”模型。
2、引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?3、软件体系结构的生命周期模型与软件生命周期模型有什么关系?第3章软件体系结构风格1、层次系统结构和基于消息的层次系统结构有什么区别?2、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。
3、组织或参与一个采用B/S和C/S混合体系结构的软件项目的开发,总结开发经验。
4、组织或参与一个采用三层体系结构的软件项目的开发,总结开发经验。
5、SIS和DSSA分别用在哪些场合?6、在软件开发中,采用异构结构有什么好处,其负面影响有哪些?第4章软件体系结构描述1、体系结构描述有哪些方法?有哪些标准和规范?2、体系结构描述语言与程序设计语言有什么区别?3、选择一个规模适中的系统,使用UML为其建模。
第5章动态软件体系结构1、什么是动态软件体系结构?动态软件体系结构与静态软件体系结构有什么区别?2、基于构件的动态软件体系结构模型的层次结构是什么?3、试比较Dynamic Wright和Darwin的特点。
4、试用Dynamic Wright描述B/S结构第6章Web服务体系结构1、什么是Web服务体系结构?与传统的结构相比,使用Web服务有哪些好处?2、在Web服务中,如何实现其松散耦合的特点?3、试分析服务提供者、服务请求者和服务代理三者的作用,以及它们之间的工作流程。