Web服务体系结构(3)
- 格式:ppt
- 大小:758.50 KB
- 文档页数:14
BLL将USL与DAL隔开了,并且加入了业务规则各层的作用1:数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
3:表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx, 如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
具体的区分方法1:数据数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。
而不必管其他操作。
2:业务逻辑层:主要负责对数据层的操作。
也就是说把一些数据层的操作进行组合。
3:表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。
三层结构解释所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。
这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。
通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换.开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。
在保证客户端功能的前提下,为用户提供一个简洁的界面。
这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。
从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。
面向服务的体系结构面向服务的体系结构(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,还可以用于对实际业务流程进行优化。
ESB(Enterprise Service Bus,即企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。
ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
企业服务总线ESB就是一种可以提供可靠的、有保证的消息技术的最新方法。
ESB中间件产品利用的是Web服务标准和与公认的可靠消息MOM协议接口(例如IBM的WebSphere MQ、Tibco的Rendezvous 和Sonic Software的SoniCMQ)。
ESB产品的共有特性包括:连接异构的MOM、利用Web服务描述语言接口封装MOM协议,以及在MOM传输层上传送简单对象应用协议(SOAP)传输流的能力。
大多数ESB产品支持在分布式应用之间通过中间层如集成代理实现直接对等沟通。
企业服务总线(Enterprise Service Bus,ESB)的概念是从面向服务体系架构(Service -Oriented Architecture,SOA)发展而来的。
SOA描述了一种IT基础设施的应用集成模型,其中的软构件集是以一种定义清晰的层次化结构相互耦合,其中,一个ESB是一个预先组装的SOA实现,它包含了实现SOA分层目标所必需的基础功能部件。
一、ESB的出现改变了传统的软件架构ESB 是传统中间件技术与XML、Web服务等技术相互结合的产物,ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。
从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
二、企业服务总线(ESB)的用处ESB 不是万能的,他不是一个应用程序框架,也不是一个企业应用的解决方案.它只是一个基于消息的调用企业服务的通信模块!你可以把它嵌入到你的应用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系统中.它的作用是对企业里面的SOA服务的调用提供一个框架和简便的方法.三、企业服务总线(ESB)的应用特征大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台。
体系结构第一章软件重用和构件技术软件重用(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. 体系结构发现、演化、重用体系结构发现解决如何从已经存在的系统中提取软件的体系结构,属于逆向工程范畴。
由于系统需求、技术、环境、分布等因素的变化而最终导致软件体系结构的变动,称之为软件体系结构演化。
体系结构重用属于设计重用,比代码重用更抽象。
由于软件体系结构是系统的高层抽象,反映了系统的主要组成元素及其交互关系,因而较算法更稳定,更适合于重用。
2.基于软件体系结构的软件开发方法:问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现3.评价软件体系结构的方法权衡分析方法(ATAM方法),软件体系结构分析方法(SAAM方法),中间设计的积极评审(ARID方法)第二章1. 建模结构模型:研究结构模型的核心是体系结构描述语言。
以体系结构的构件,连接件和其他概念来刻画结构。
并力图通过结构来反映系统的重要语义内容。
框架模型:与结构模型类似,但不太侧重细节,而侧重于整体结构。
动态模型:是对结构和框架模型的补充,研究系统大颗粒的行为性质。
过程模型:研究构造系统的步骤和过程,结构是遵循某些过程脚本的结果。
功能模型:认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。
功能模型可以看作是一种特殊的框架模型。
4+1视图模型:逻辑视图、进程视图、物理视图、开发视图和场景视图逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。
这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。
在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图开发视图通过系统输入输出关系的模型图和子系统图来描述。
进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。
物理视图主要考虑如何把软件映射到硬件上。
逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。
Web系统的三层结构①数据访问层 (2)②业务逻辑层 (2)③用户表示层 (3)B/C系统常常采用如图4所示的多层体系结构,这种多层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能。
根据所实现的逻辑功能,按照分布式结构的思想,整个应用程序结构大致分为三层:用户表示层、业务逻辑层和数据访问层,也可以根据实际需求将其扩展为N层体系结构。
在系统的开发过程中,需要在逻辑上清晰三层分别实现的功能,并以此设计整个系统的实现及管理整个系统的代码文件。
不能把处于不同层次的文件混在一起。
否则会造成系统逻辑上的混乱,是庞大的系统难于管理和维护,容易导致系统的失败。
图4 Web系统的典型多层体系结构由图4我们了解到,数据访问层从数据源或其他服务中获取原始数据,业务逻辑层把数据转换为符合业务需求的有意义的信息,最后用户表示层把信息转换为用户能够理解的内容。
层次体系结构就是以这种方式来完成多个复杂的业务功能。
当应用程序达到一定的复杂程度之后,创建N层体系结构的应用程序,清晰的层次将使得系统的生成、扩展和维护变得轻松。
①数据访问层数据访问层中包含一个类Database,它完成了最基本的数据访问功能。
大多数业务应用程序必须访问存储在数据库中的数据。
该数据层中的数据访问组件负责将存储在这些数据库中的数据公开给业务逻辑层。
数据访问组件将业务逻辑层与特定数据存储解决方案的细节隔离开来。
这种隔离具有以下优点:1)尽量减少数据库提供方的更改造成的影响。
2)尽量减少数据表示的更新所造成的影响3)封装操作单个位置的特定数据项的所有代码,极大地简化了测试和维护过程。
可以直接用作简单应用程序的数据访问组件。
通过开发一组用于管理对象关系映射复杂性的类,对于更复杂的应用程序很有益处。
②业务逻辑层在 2.0中,利用SqlDataSource、AccessDataSource等控件无需编写代码就可以选择、更新、插入和删除数据库数据,为开发工作提供了极大的方便。
软件体系结构基本概念汇总这门课与UML建模,程序设计⽅法学⼀样。
都是站在⽐較⾼的⾓度来看整个软件结构。
并⾮对算法,或者语⾔的关注。
假设以后有志于成为软件架构师,就应该好好学这门课。
如今我把⾃⼰整理的这门课的资料与⼤家分享。
⼆、名词解释(每题2分,共20分)1、B/S(期中)答:浏览器/server风格,是三层应⽤结构的⼀种实现⽅式。
详细结构:浏览器/Webserver/数据库server。
2、C/S(期中)答:客户/server风格,是基于资源不正确等,且为共享⽽提出来的,定义了⼯作站怎样与server相连,以实现数据和应⽤分布到多个处理机上。
C/S体系结构有三个主要组成部分:数据库server、客户应⽤程序和⽹络。
3、HMB答:层次消息总线的软件体系结构风格(Hierarchical Message Bus—based Style)。
HMB风格基于层次消息总线。
⽀持构件的分布和并发,构件之间通过消息进⾏通信。
4、DSSA答:特定领域的软件体系结构(Domain Specific Software Architecture)就是在⼀个特定的领域中为⼀组应⽤提供组织结构參考的标准软件体系结构。
5、ADL(期中)答:软件体系结构描写叙述语⾔(Architecture Description Language)是⼀种形式化语⾔。
它在底层语义模型的⽀持下,为软件的概念体系结构建模提供了详细语法和框架。
6、XML答:可扩展标记语⾔(Extensible Markup Language),XML是W3C制定的作为Internet上数据交换和表⽰的标准语⾔,是⼀种同意⽤户定义⾃⼰的标记的元语⾔(Meta)。
7、ATAM答:体系结构权衡分析⽅法(Architecture Tradeoff Analysis Method),它是针对系统所使⽤或改动活动的⽀持程度,来推断该体系结构针对这⼀场景所代表的质量需求的满⾜程度的体系结构评估⽅法。
一.三层架构图三层架构图三层架构图三层架构图二.系统各层次职责1.UI(User Interface)层的职责是数据的展现和采集,数据采集的结果通常以Entity object提交给BL层处理。
Service Interface侧层用于将业务或数据资WebServices)。
2.BL(Business Logic)层的职责是按预定的业务逻辑处理UI层提交的请求。
(1)Business Function 子层负责基本业务功能的实现。
(2)Business Flow 子层负责将Business Function子层提供的多个基本业务功能组织成一个完整的业务流。
(Transaction只能在Business Flow 子层开启3.ResourceAccess层的职责是提供全面的资源访问功能支持,并向上层屏蔽资源的来源。
(1)BEM(Business Entity Manager)子层采用DataAccess子层和ServiceAccess子层来提供业务需要的基础数据/资源访问能力。
(2)DataAccess子层负责从数据库中存取资源,并向BEM子层屏蔽所有的SQL语句以及数据库类型差异。
DB Adapter子层负责屏蔽数据库类型的差异。
ORM子层负责提供对象-关系映射的功能。
Relation子层提供ORM无法完成的基于关系(Relation)的数据访问功能。
(3)ServiceAccess子层用于以SOA的方式从外部系统获取资源。
注:Service Entrance用于简化对Service的访问,它相当于Service的代理,客户直接使用Service Entrance就可以访问系统发布的服务。
Service E 台(如Java、.Net)提供强类型的接口,内部可能隐藏了复杂的参数类型转换。
(4)ConfigAccess子层用于从配置文件中获取配置object或将配置object保存倒配置文件。
4.Entity侧层跨越UI/BEM/ResourceManager层,在这些层之间传递数据。
最初运行在网络上的计算机应用系统是一种基于主机/终端模式的计算模型,系统中几乎所有的计算都由大型的主机来完成,终端只是单纯作为一种输出设备用来显示结果。
八十年代末,针对这种体系结构的问题与不足,人们提出了客户/服务器(Client/Server,简称C/S)结构,由于这种结构比较适于局域网运行环境,所以逐渐得到了广泛的应用。
随着应用系统大型化及基于Internet/Intranet应用的迅速发展和普及,这种二层结构(2-tier)的缺陷和不足越来越明显,于是人们又在二层结构的基础上提出了一种具有三层结构(3-tier)的应用模型--浏览器/服务器(Browser/Server,简称B/S)结构。
1.传统Client/Server系统的二层体系结构 Client/Server结构是近几年非常受欢迎的一种分布式计算模式,它的优势在于广泛地采用了网络技术,将系统中的各部分任务分配给分布在网络上的担任不同角色的计算机,它把较复杂的计算和管理任务交给网络上的高档机器-服务器(Server),而把一些频繁与用户打交道的任务交给前端较简单的计算机-客户机(Client)。
通过这种结构完全实现了网络上信息资源的共享。
在Client/Server系统中,将应用程序分为两大部分:一部分是由多个用户共享的信息与功能,这部分称为服务器部分;另一部分是为每个用户所专有,称为客户部分。
客户部分负责执行前台功能,如管理用户接口、数据处理和报告请求等。
而服务器部分执行后台服务,如管理共享外设、控制对共享数据库的操纵、接受并应答客户机的请求等。
这种体系结构将一个应用系统分成两大部分,由多台计算机分别执行,使它们有机的结合在一起,协同完成整个系统的应用,从而达到系统中软、硬件资源最大限度的利用。
Client/Server应用系统基本运行关系体现为“请求/响应”的应答模式。
每当用户需要访问服务器时就由客户机发出“请求”,服务器接受“请求”并“响应”,然后执行相应的服务,把执行结果送回给客户机,由它进一步处理后再提交给用户。
T ongT ech®TongWeb技术白皮书东方通科技公司2005.11目录1.概述 (3)2.应用服务器 (3)2.1三层/多层应用模式和应用服务器 (3)2.2J2EE体系结构 (4)3.TONGWEB 体系结构 (4)3.1概述 (4)3.2T ONG W EB主要构件和功能 (5)(1)易于扩展服务的TongWeb内核 (5)(2) TongWeb Web容器 (5)(3) TongWeb EJB容器 (6)(4)会话管理器 (7)(5)数据库管理功能 (7)(6)名字目录服务 (8)(7) JCA支持 (8)(8) Java消息管理 (9)(9)交易服务与交易API (10)(10)安全服务 (10)(11)集群与均衡负载 (10)(12) Web Service支持 (11)(13)通过IIOP与CORBA对象的交互 (11)(14)开发和管理工具支持 (11)4.与传统应用和传统中间件的集成 (12)4.1通过J A V A连接器结构与传统应用集成 (12)4.2与交易中间件T ONG EASY的集成 (12)4.3与消息中间件T ONG LINK/Q的集成 (12)1.概述本技术白皮书是为想深入了解TongWeb 的技术人员编写,内容包括三层/多层应用模式介绍、应用服务器和J2EE介绍、TongWeb体系结构、功能特性、与传统应用的集成等几个部分。
2.应用服务器2.1三层/多层应用模式和应用服务器传统的应用系统模式是“主机/终端”或“客户机/服务器”。
随着Internet 的发展壮大,新的开发模式也应运而生,即所谓的“浏览器/服务器”结构、“瘦客户机”模式。
但是以Internet 为基础的企业级应用,不仅要求在分布式环境下实现信息的采集、管理、发布、交换、处理等,还要求能解决好以下问题:•快速开发和构建•处理大量并发事务•交易完整性•易扩展•互操作性•可靠性•信息安全要很好地解决以上问题,仅靠简单的Web技术是不够的,需要引入三层/多层应用模式。
《电子商务技术基础》一、填空题1.WEB所有活动的基础是基本的客户/服务器结构,信息存储在__WEB服务器_____上。
2.电子商务系统中,从信息的组织和表达来看,网页成为信息在网络中最有效的表达方式,__网站_成为最常见的信息组织和表达渠道。
3.网页浏览需输入标准网址,其格式一般为:_ 域名__+目录名+文件名。
4.__ SGML ____是最早的标记语言,而且是一种丰富的元语言,几乎可以用来定义无数种标记语言。
5.HTML文件实际上是由HTML语言组成的一种__纯文本___文件。
6.XML文档数据采用___树形___结构表示。
7.__ Java Applet____是Java语言编写的包含在网页里的“小应用程序”。
8.支持ActiveX的唯一的浏览器是__IE ___。
9.CGI程序的输出主要可分为两部分:_输出类型说明_和HTML正文_。
10.__JVM__ 是Java平台的基础,它发挥抽象计算机的作用。
11.模式是对数据库结构的一种描述,不是数据库本身。
存储模式__是数据库物理结构和存储方式的描述,是数据库内部的表示方法。
12.传统数据库管理技术的特征在于对_结构化数据_的有效管理和使用。
13.数据加密前的源信息称之为___明文____,加密后变成了_密文___。
二、简答题1、传统客户/服务器结构在电子商务系统中存在哪些问题?与之相比,三层客户/服务器结构的核心思想是什么?它具有哪些优势?答:传统客户/服务器结构存在的问题有:1)维护困难2)费用增加3)培训困难三层客户/服务器体系结构被分解成表达层、应用(逻辑)处理层和数据层。
表达层(Presentation Layer)以Web服务器为基础,负责信息的发布;应用层(Application Layer)负责处理核心业务逻辑;数据层(Date Layer)的基础是数据库管理系统DBMS,负责数据的组织,并向应用层提供接口。
其特点在于所有用户可以共享商业和应用逻辑,应用服务器是整个系统的核心,为处理系统的具体应用提供事务处理,安全控制,由此形成以应用服务器为中心的辐射状的系统结构。