软件工程--关于面向对象建模解决方案

 为了在当今快速变化的商业环境中获得竞争的优势 ,许多公司都寻找了有弹性的和互用的利益, 它们都经历了有效的面向对象架构的实现(SOA)。一个面向对象架构是一个IT框架,其中包含了个人商业功能和处理,被称之为services,来实现熟 练的商业应用程序。它把这些处理过程看成可以复用的构件或者那些独立于他们运行在的应用程序和计算平台的"services"。
  由于开发团队的坚持努力,他们找到了构造一个SOA的最好方法,一个模型驱的方法必须被考虑在其中。很久以来都被认为是一种提高软件开发中的抽象层次的有效方法,建模在创建面向对象解决方案中是非常有效的,这些解决方案都是依赖于许多根本的实现技术和标准。
  下面的文章展示的一个允许设计者和架构师能够指定正确的服务具有正确的能力,从而实现 一个面向对象架构(SOA)的潜在利益。
  特定地,我们将会考虑服务标识和规范的重要性、管理服务特征文档和把面向服务的解决方案划分为任意SOA开发的必须元素。我们将会考虑三种不同的使用建模来开发服务的方法,希望能够为读者提供一个特别的向导来调整面向对象方案的建模的力量。
  服务标识和规范
   首先,关键的SOA概念必须作为第一类元素在模型中出现。虽然其中一个重要的概念是服务它本身,但是它却变成了模型中的第二类元素。为了构建一个反映 WSDL(Web Services描述语言)定义的服务的模型,我们需要首先开发一个服务规范元素集合??关于结构型,行为型和策略的。例如,一个订单 管理服务也许包括一些结构型的规范,如“下订单”,“取消订单”,“更新订单”的列表,还包括可获得的操作。这个订单服务的动作型的规范也许描述你如何不 能更新或者取消一个你没有提交的订单。一个策略规范也许要求订单的特定元素要被加密,并指示用于加密的技术,使用的证书等等。
  开发一个SOA 模型的另外一个重要的方面是服务的标识。这允许架构师和设计者能够制造出一个可以描述理想的服务的规范的模型,一个理想化的服务可以实现一个过程或满足者 一系列的需求。这些服务然后被重构为1)适应现有的服务,2)适应于一个现有的功能性架构的框架,或者3)被分割为可以允许更多的细致纹理的或者并行的开 发。
  管理一个服务的特征文档
  一旦我们有了标识服务的规范集合,我们就需要明确地设计,实现和管理在我们企业机构中的服务的集合,让他们成为一个可以获得的能力的特征文档。最重要的,上面描述的服务的重构需要被那些指引参与者在开发正确的方法来开发正确的服务的过程来支持。
  通常的,我们把一个软件开发生命周期关注为一个工程的时间边界的过程;依次地,一个工程由时间边界通过开发解决方案的一些特定部分来划分开。在服务特征文档其本身中,
 
    分解面向服务解决方案
   在管理服务特征文档中,模型的组织成为一个重要的挑战。那些对商业雇主有用的组织的集合和软件架构师,设计者,开发者,操作员工等等所要求的集合不同。 我们因此推荐经典的模型管理的方法,包管理,不应该被用作在管理模型的角度来看的主要的机制,因为一旦一个元素被放置在了一个单独的包里面,它也许会被其 他包的另外一个元素访问,但是这两者又不能放置在一个包里面。
  作为替代,我们考虑了 UML 2.0的规范的组成结构的想法,它提供了管理的服务的划分能力。划分可以用来表现成组的服务。随着服务规范的提出,他们可以被放置到不同的部分来形象化的表示他们之间的关系和依赖,
     开发Services的三种途径

  最终地,我们概述了三种开发Services的途径。这些当然不是互相排斥的,他们在解释在使用一个模型开发SOA的不同的途径和想法的时候是很有用的。

  1. 以消息为中心的设计

   在以消息为中心的设计中,关注的焦点是服务域。这种方法的一个例子也许就是在传统的business-to-business领域中有,为代表的就是电 子数据交换(EDI)标准。在EDI中并没有一个真正的服务借口的概念,尽管EDI系统通常有一个发送消息的全局收件箱和代发箱。

  2.以服务为中心的设计

   在这种方法中,设计者关注的是提供给商业或者应用程序所期望的功能。这种方法的一个例子就是Amazon (AWS) 和eBay提供 的 Web Services APIs。这种服务接口并不在客户端强加一个商业处理过程,而是他们以一种清晰和直觉的方式为第三方开发者提供他们的服务 提供商的各自的操作。

  3.以协作为中心的设计

  在一个以协作为中心的方法中,关注的焦点是两个或更多的服务的协 作;这就正是一个服务的处理视图并且和更多的传统商业模型相关。服务被看作是满足合作的角色,并且服务规范就是为一个或者更多的角色之间的协作定义的职责 集合。这样的一个方法将会普遍的以商业过程设计或者商业集成活动的形式出现,而在那些商业集成活动中,一个IT系统的构件被作为一个服务来提供。

  结论

   最后的总结,在对SOA建模的时候,类似于服务划分技术的这些技术能够提供的透明性和灵活性来让商业能够在今天的竞争和演化的市场中取得优势地位。正确 的框架的提出,从服务规范的标识到UML服务建模的设计,导致了更加有效的成熟的商业应用程序的实现。最终地,三种开发服务的方法解释了可以用来为SOA 建模的不同方法。通过追随这篇文章的概要,为表现一个服务模型的适当的层次的抽象被以一种允许商业能够满足他们的IT挑战的方式被提出来了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值