欢迎来到天天文库
浏览记录
ID:46976099
大小:339.00 KB
页数:34页
时间:2019-12-02
《软件体系结构课件(第六课)其它常见类型的体系结构风格》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、体系结构风格TheBlackboardModelKnowledgeSources把问题分成几个部分,每个部分独立计算响应黑板上的变化向黑板中添加知识松耦合BlackboardDataStructure包含解域的全部状态知识源互相作用的唯一媒介其中的知识一般以层次的形式组织Control让知识源随机的响应事件完全由黑板驱动,决策解决问题的步骤一般用于:专家系统(没有现成、直接的解的情况下)黑板中的知识可能相互矛盾或者有错误Data-centered/shareddataImpliesthatdataisatthecentreofthearchitectureeitherdat
2、abases,web-serversystemsorblackboardsystems.ClientClientClientClientDataStoreClientsworkindependently.Allowssystemchange.Easilymaintainable.Newclientscanbeadded(dependingontheloadlimitsofthedatastore)Otherstyle…Client-ServerStyle适用于这样的应用系统:它的数据和处理分布在一定范围的多个构件上,构件之间通过网络连接。简单的客户机/服务器系统结构中,应分
3、成两部分。客户机负责用户输入和展示,服务器则处理低层的功能,例如数据库的运作等。如果一个系统被划分为两类不同的但相互联系的组成部分,其中一方提出对信息或服务的请求,而另一方提供这种信息或者服务,那么这种体系结构就可看作是一种客户机/服务器模型。2-tier客户机/服务器结构客户程序直接访问数据库,因而每一台客户机都必须安装数据库驱动程序,增加了系统安装与维护的工作量。由于数据库由众多的客户程序直接访问,造成系统数据的完整性与安全性难以维护。两层的结构可扩展性较差,由于客户端组件含有数据库访问功能,对软件系统的业务逻辑、数据库访问,甚至数据库本身的任何修改常常导致要求在所有客
4、户机上重新部署客户端组件。数据库服务器客户机Client/Servers表示一种把客户应用程序和它们使用的服务分离开的系统视图。一种基于功能的分解。serverclientclientclient方法调用方法调用方法调用构件之间通过网络相连接数据和处理分布在一定范围内的多个构件上Component:server(服务器组件)client(客户组件)Connector:某种进程间的通信机制,通常是基于RPC的交互协议;请求-应答的非对称形式。Server组件server拥有接口,接口能描述它提供的服务向多个客户提供服务,它永远处在激活状态,监听用户请求被动在收到服务请求之前不
5、了解客户机的身份client向服务器请求服务主动通信一般是成对的,且由客户组件发起;往返风格客户需了解服务器的身份说明通信一般是成对的,且由客户组件发起理想情况下,这种访问是透明的,即客户和服务器可以运行在同一台机器上,也可以跨进程、跨机器运行。是编程语言中过程/函数/方法调用的一种泛化Client和Server都是软件的组件,而非两台机器例子:远程文件系统,客户端向网络上的文件服务器请求并取得所需文件。数据库服务器接收客户发送的sql请求。C/S模型和socket概念Socket编程:使用tcp/ip协议或者udp协议与网络中的其它计算机进行通信。一个server多个cl
6、ient的情况;为了区分应用程序(client),引入“端口”的概念,每个端口有一个16位的标识符,称为端口号。端口号和主机的ip地址合起来,就构成了套接字socket,它能在全网范围内唯一标示某个主机的某个端口,也即套接字能唯一标识某个应用程序的位置。Tcp/ip协议也采用了client/server模型,使用tcp/ip协议的程序分为两类。客户程序一般可以任意选择其进行通信的端口的端口号,而服务程序往往使用较固定的端口号。客户程序如要使用某台主机相应的服务,就只要往该服务对应的套接字上发送数据即可。Multi-databasesBroker风格(代理风格)clientc
7、lientclientserverserverbroker优点有利于分布式的数据组织构件间位置透明,客户和服务器都不用考虑对方的运行位置具有良好的可扩展性,易于对服务器进行修改、扩展或增加服务。C2风格C2风格CCCCC构件连接件通信链接CCCC2风格是一种基于构件和消息的体系结构风格是一种层次网络某一构件只能感知层次高于自己的构件所提供的服务,而不能感知层次比自己更低的构件的服务C2风格的通信规则要求,构件之间的所有交互必须以消息传递的方式实现。C2风格主要用于具有图形化用户界面的应用程序C2风格中的构件对话和约
此文档下载收益归作者所有