prettyboy0

学无止境!!!
posts - 6, comments - 12, trackbacks - 0, articles - 0
Cached @ 2025/4/26 5:35:44Control ASP.skins_habahaba_controls_blogstats_ascx

导航

<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

留言簿(1)

随笔分类

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

Cached @ 2025/4/26 5:35:44Control ASP.skins_habahaba_controls_singlecolumn_ascx

面向服务架构(SOA)(1)--核心概念及元素:

Posted on 2007-04-10 12:12 prettyboy0 阅读(3152) 评论(4)  编辑 收藏
  早些时候转载了关于SOA发展的一篇文章,现就SOA的体系架构做进一步深入研究和探讨。
1.软件架构及SOA的含义
  软件架构,是一系列声明,描述软件组件,并将系统功能指派给组件。架构描述组件的技术结构、约束、特性和
组件之间的接口。架构是系统蓝图,是结构的高级隐式规划。SOA是一个软件架构,它包含四个关键概念:应用程序
前端、服务、服务库和服务总线。一个服务包含一个合约、一个或多个接口以及一个实现。其构成及要素如下图:
 
2.SOA的元素
 (1)应用程序前端
  应用程序前端是SOA的活跃元素,负责发起和控制企业系统的所有活动。应用程序前端有多种类型。包含图形用户
接口的应用程序前端(如Web应用程序或富客户端)与最终用户直接交互。有些应用程序前端不一定非与最终用户直接
交互。周期性调用功能(或在特定事件驱动下调用功能)的批处理程序或长期流程也属于应用程序前端范畴。
  应用程序前端完全可能将业务流程的大多数职责委托给一个或多个服务,但应用程序前端负责发起业务流程并接收
结果。应用程序前端类似于传统的多层应用程序的较高层。但不要误认为服务更类似于较低层。服务有一个不同的结构,
有垂直的特点。下面将做介绍
 (2)服务
 服务是一个软件组件,具有明确的功能,通常封装着高级业务概念。服务由数据、业务逻辑、接口和服务描述组成。
如下图所示:
 
   合约。报务合约提供一个信息规范,说明服务的作用、功能、约束和使用。规范的格式因服务类型而异。服务合约
的一个可选元素是基于IDL或WSDL等语言的正式接口定义。正式服务接口定义虽不是强制的,但拥有明显的优势:提供
更高的技术(如编程语言、中间件、网络协议和运行时环境等)的抽象性和独立性。服务合约还提供正式规范以外的内
容,提供不属于IDL或WADL规范的功能和参数的详细语义。在现实中,很多项目都必须处理不能提供正式服务接口描述
的服务。在此总政,服务可能提供访问库或网络协议级别的详细技术描述。每个服务都需要服务合约,如果没有可用的
基于WSDL或IDL等标准的正式描述,情况尤其如此。
   接口。服务接口将服务的功能向服务客户(客户通过网络连接到这个服务)公开。接口描述是服务合约的一部分,
但接口的物理实现包含服务占位程序,占位程序被嵌入服务或高度程序的客户中。
   实现。服务实现在物理上提供所需的业务逻辑和适当数据。在技术上实现服务合约。服务实现由一个或多个工件
组成:如程序、配置数据和数据库。
   业务逻辑。业务逻辑由服务封装,是服务实现的一部分。可通过服务接口访问业务逻辑。无论是否运用面向服务
的方法,都要对照接口编写程序。
   数据。服务还包含数据。“以数据为中心”的服务当然离不开数据。
   服务不仅是封装了应用程序较低层的一些代码。由于各个服务都是一个明确的功能实体,故常封装高级业务实体。
服务是应用程序的垂直切片,定义整个系统的粗粒度结构,这类似于面向组件的软件设计。因此,从客户角度分析,服
务是一个黑盒实体。 
  (3)服务库
   通过服务库,可以发现服务,获得使用服务的所有信息。如果必须在创建服务的功能和时间范围以外发现服务,则
服务库显得更重要。虽然报务合约提供了大多数必要的信息,但是服务库补充了一些信息,例如物理位置、提供者信息、
合约人、使用费用、技术限制、案例问题和可用服务级别。这仅限于单个企业范围内使用的服务库,用于跨企业服务集成
的库一般会有不同的要求。这些要求可以包含法律问题、表示形式、安全、用户注册、3服务订阅、收费和版本控制。
   服务库是SOA中的一个非常有用的元素。在构建SOA时,如果不建立服务库,似乎能获得一些短期利益。但长远来
看,服务库是必不可少的。如果服务的范围仅限于一个项目、服务数量很或由一个团队处理所有项目,则架构可以不使用
服务库。但实际情况是,大多数企业都并发地开展多个项目,开发团队时时常变化,而且服务类型多种多样。这些环境都
离不开服务库。下面列举了企业级服务库应当包含的示例信息:A.服务、操作和参数签名,采用WSDL和XML模式定义等形
式;B.服务所有者。在企业级SOA中,服务所有者可以在业务级别(负责功能级别的问题和更改请求)、开发级别(负责
技术问题和更改请求)和操作级别工作(负责关于链接服务和最佳方式的问题或操作问题)工作;C.访问权限;D.关于服
务预期性能和扩展性的信息,包括平均响应时间以及可能的呑吐量的限制;E.服务的事务属性及服务的各个操作。
 (4)服务总线
   服务总线将SOA的所有参与者(服务和应用程序前端)相互连接在一起。如果两个参与者需要通信(例如,应用程序
前端调用基本服务的一些功能),就必须依靠服务总线。在这方面,服务总线类似于CORBA上下文中定义的软件总线概念。
不过,这些概念之间存在巨大的差别。服务总线并不一定由单个技术组成,它可能包含多种产品和概念。下面介绍服务总
线的一些特性:
  连接性。服务总线的首要作用是将SOA的参与者连接起来。它提供了必要的工具,使SOA的参与者(应用误译前端和服
务)能调用服务的功能。
  技术异质性。服务总线必须支持多种不同技术。企业使用的技术多种多样,因此,服务总线将基于不同编程语言、操
作系统或运行时环境的参与者连接在一起。另外,企业有多种不同的中间件产品和通信协议,这些都需要服务总线的支持。
  通信概念的异质性。与技术质性类似,服务总线还必须支持各种不同的通信概念。由于不同的应用程序有不同的要求,
因此服务总线必须支持多种不同的通信模式。很明显,至少要支持同步和异步通信。
  技术“服务”。服务总线的主要作用是通信,但也必须支持技术报务,如日志记录、审计、安全、消息转换或事务。
 

Feedback

# Dy2LbC Test myfunction comment

2007-07-01 22:36 by TestName
Dy2LbC Test myfunction comment

# http://forums.hspn.com/showthread.php?t=3373?buy-ultracet
http://forums.hspn.com/showthread.php?t=3372?buy-ambien
http://forums.hspn.com/showthread.php?t=3371?Phentermine
http://forums.hspn.com/showthread.php?t=3370?buy-Viagra
http://forum

2007-07-07 06:50 by yahooo
http://forums.hspn.com/showthread.php?t=3373?buy-ultracet
http://forums.hspn.com/showthread.php?t=3372?buy-ambien
http://forums.hspn.com/showthread.php?t=3371?Phentermine
http://forums.hspn.com/showthread.php?t=3370?buy-Viagra
http://forums.hspn.com/showthread.php?t=3369?buy-HYDROCODONE
http://forums.hspn.com/showthread.php?t=3368?buy-vicodin
http://forums.hspn.com/showthread.php?t=3367?buy-ultram
http://forums.hspn.com/showthread.php?t=3366?Free-Ringtones
http://forums.hspn.com/showthread.php?t=3365?Ionamin
http://forums.hspn.com/showthread.php?t=3364?Buy-Soma
http://forums.hspn.com/showthread.php?t=3363?Buy-Valium
http://forums.hspn.com/showthread.php?t=3362?Buy-Meridia
http://forums.hspn.com/showthread.php?t=3361?Buy-Xenical
http://forums.hspn.com/showthread.php?t=3360?Buy-Xanax
http://forums.hspn.com/showthread.php?t=3359?Buy-Carisoprodol
http://forums.hspn.com/showthread.php?t=3358?Buy-Tramadol

# i2Bzlk <a href="http://dinotyeinxfa.com/">dnwfxastjurb</a>, [URL="http://lgxsrqueincw.com/"]jwpbkvcjrzzo[/URL], [LINK="http://mvtuvejgvnch.com/"]zdzswxaeoiol[/LINK], http://xzoahhydulqw.com/

2007-07-07 15:46 by vlkhfwawhu
i2Bzlk <a href="http://dinotyeinxfa.com/">dnwfxastjurb</a>, [URL="http://lgxsrqueincw.com/"]jwpbkvcjrzzo[/URL], [LINK="http://mvtuvejgvnch.com/"]zdzswxaeoiol[/LINK], http://xzoahhydulqw.com/

# http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/772.html?buy-phentermine
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/773.html?Ionamin
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/774.html?buy-viagra
http://www.rit.edu/~ja

2007-07-08 07:18 by nmnmnm
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/772.html?buy-phentermine
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/773.html?Ionamin
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/774.html?buy-viagra
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/775.html?buy-tramadol
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/776.html?buy-valium
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/778.html?buy-xenical
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/779.html?buy-xanax
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/780.html?buy-Carisoprodol
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/781.html?buy-meridia
http://www.rit.edu/~jadsbi/cgi-bin/wwwboard/messages/782.html?buy-soma
标题
姓名
主页
内容 
  登录  使用高级评论  Top 订阅回复  取消订阅
[使用Ctrl+Enter键可以直接提交]