`
beyondyuefei
  • 浏览: 13096 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

SOA服务治理需求分析中遇到的困惑及解决过程

 
阅读更多

     最近在做一个SOA服务治理平台方面的需求分析,和以往做过的项目不同之处在于这个系统并不是业务主导型的,所以在使用UML进行面向对象分析时候遇到一个困惑。

   

     由于我采用的是用例驱动开发的RUP软件开发过程,而用例即代表参与者的目标,一个用例就是一个功能性需求,当我们把系统的功能性需求全都找出来,那么这个系统的问题领域我们就清楚了。在过去的企业级应用开发或者人机交互密集型(如业务主导型)项目中,使用这套方法论进行需求分析、UML建模是没有什么概念上的困惑,但是这次面对 非人机交互密集型的系统,我刚开始有点转变不过来。

 

    比如说这个系统需要对所有的SOA服务进行权限控制、流量控制和服务的监控,一开始我觉得几个好像不是功能性需求吧,如果不是功能性需求,那么如何用例驱动?参与者怎么识别?边界又在哪里?

 

   因为诸如 用户查看商品信息、用户支付订单等是很明显的功能性需求,参与者很明显是用户,边界可以很明显划分为交易,如图:

    

 
   但是权限控制、流量控制、服务监控呢?  我可以认为这三者是涉众中 运维人员的期望和目标,但是实际的业务流程中,它们由是运维人员发起的吗? 明显不是,用例都要有一个启动者啊,那我用例图怎么画?活动图又怎么描述?还是说它们根本就不是功能性需求,不是用例,而属于非功能性需求的范围?

 

 

   在与网友的交流过程中,我确定了它们是功能性需求的观点。因为我现在面对的不是一个纯业务型项目,而是一个接近于底层产品的系统,对于普通的业务型项目来说,流量控制、服务监控这类确实是非功能性需求,但是对于我这个底层产品来说,它就是功能性需求,因为这就是涉中们直接对系统提出来的期望和目标啊,不是用例那是什么? 另外一个参考的观点就是CSDN软件工程版主 “青润” 的解释:

 

    一些非功能性需求在一定阶段会转化为功能性需求,比如说,安全本身是非功能性需求,但是当某个安全模块成为一个标准件的时候,用户要求必须采用某个安全标准使得该模块达到这个安全模块可以做到的诸如文件必须经过安全检查,这时候,一个非功能性需求就变成了功能性需求。

 

    综合这些观点我豁然开朗,之前对于是否为功能性需求的纠结一下子不在困惑了。那么参与者呢?即用例的启动者呢?

 

   在我的知识体系中曾经存在一个知识点:不存在没有参与者的用例,用例不会自行启动。这说明没有人参与的需求一定有别的事物在发出启动的动作,应该找到这个事物,这个事物就是一个参与者,它可能是一个计算机系统、一个计时器或者一个 JMS 消息等。

 

   回到我的SOA服务治理平台中来,很明显,这个参与者非人,那是什么呢?经分析,我可以明确, 权限控制、流量控制、服务监控这些用例的启动者,参与者就是 服务的消费方(Consumer),它就是一个SOA消费方应用或者是其中的一个服务发起的,这是参与者非人的用例。

 

   

 

     明白了这些之后,接下去的事情就好办多了,照搬我的知识体系,SOA服务治理平台的需求分析:用例模型和领域模型也就随之完成了。

 

   
 

   

    

  • 大小: 29.9 KB
  • 大小: 29.3 KB
分享到:
评论

相关推荐

    大规模SOA系统治理中的架构支持-程立

    综上所述,支付宝在其SOA系统的演进过程中,不仅关注技术细节,还重视治理和架构设计的整体性,这为其在大规模SOA系统治理方面积累了宝贵的经验。通过不断的学习、实践和调整,支付宝成功构建了一个灵活、高效且稳定...

    SOA治理解决方案(Oracle)

    ### SOA治理解决方案的核心知识点 #### 一、SOA及其治理的重要性 面向服务的架构(SOA)被视为一种能够显著提升业务效率与灵活性的IT策略。SOA的成功并不在于其如何改造信息技术领域,而在于其如何推动业务模式的...

    SOA服务需求收集原则

    在企业SOA需求收集的过程中,要考虑到业务的动态性和敏捷性,因为SOA的主要目标是支持业务变化。这意味着需求收集不仅要涵盖当前的需求,还要预见到未来可能的变化,留出足够的灵活性来适应业务环境的演变。 为了...

    IBM soa 培训教材-SOA 治理

    3. **组织结构优化**:建立专门的 SOA 治理团队或委员会,负责监督和服务治理工作的执行。 4. **流程规范**:定义服务从设计到退役的整个生命周期中的管理流程。 5. **工具支持**:选择合适的工具和技术支持服务的...

    SOA 服务管理标准及应用研

    此外,还可能讨论了如何应用这些标准来实现更高效的跨组织服务协作,以及在实际项目中遇到的问题和解决方案。 总的来说,这些资料为我们提供了深入理解SOA服务管理及其在实际应用中的价值的机会。通过学习和实践...

    Oracle SOA 治理:框架和最佳实践

    3. **流程设计**:设计涵盖服务生命周期各个阶段的流程,从需求分析到服务退役。 4. **工具和技术**:选择合适的工具和技术支持SOA治理的实施。 5. **监控和审计**:定期检查SOA治理的效果,确保其符合既定的目标。 ...

    SOA治理——框架和最佳实践

    通过使用成熟度模型构建SOA路线图,如Oracle的五级SOA成熟度模型:第五级SOA,企业可以开启SOA之旅,并通过每一步的成功积累来管理SOA转型过程,最终实现期望中的SOA效益,如服务重用、改进集成、互操作性和业务敏捷...

    SOA实施过程中技术难点.doc

    3. **分布式事务管理**:SOA中的分布式事务处理是个挑战,尤其是在需要强一致性的情况下。Web Service的Transaction扩展协议并不普遍支持,因此在不支持事务的ESB平台上实现事务处理需要特殊设计。 4. **发布/订阅...

    SOA治理从基础架构开始

    然而,随着服务的大量复用和部署,如果没有适当的治理,SOA可能会导致系统变得复杂、难以管理和控制,甚至出现安全问题。 【SOA治理的重要性】 SOA治理旨在建立和维护一套安全、性能良好且符合法规要求的策略,以...

    SOA治理框架和解决方案架构

    火龙果软件工程技术中心 本文内容包括:引言SOASOA生命周期SOA治理采用SOA找到SOA的基本要素采用SOA治理平台结束语参考资料面向服务的体系结构(Service-OrientedArchitecture,SOA)承诺通过使业务与IT需求和目标...

    SOA治理, 英文原版电子书PDF,228页

    **SOA治理**正是为了解决这一问题而出现的,它是指对SOA环境中服务的创建、部署、维护和退役等整个生命周期进行管理的一系列规则、流程和策略。 #### 二、SOA治理的重要性 1. **一致性与标准化**:确保服务的设计...

    SOA面向服务架构

    4. **无状态服务设计**:SOA中的服务设计通常是无状态的,即每次服务调用都是独立的,不需要保留上下文信息。这有助于提高系统的可伸缩性和性能。 5. **基于开放标准**:SOA的实现依赖于一系列开放标准,如SOAP、...

    SOA(面向服务的体系结构)

    在SOA实施过程中,还会遇到一些共性技术问题,例如服务的安全性、性能优化、服务治理等,这些问题都需要专业的技术团队来解决。 综上所述,SOA作为一种重要的企业架构技术,在促进企业信息化建设的同时,也面临着...

    SOA(面向服务架构):实现上的挑战

    本文旨在探讨企业在实施SOA过程中可能遇到的八大挑战,并提供相应的解决策略。此外,还将结合EDS及其客户的实践经验,为读者提供更多实用的参考案例。 #### SOA概述 SOA是一种架构范式,强调服务之间的解耦合性...

    soa-面向服务

    在SOA中,每个服务都有明确的边界,它定义了自己的接口,这些接口定义了服务提供的功能。服务之间的通信通常基于标准的协议,如Web服务使用的SOAP(Simple Object Access Protocol)或REST(Representational State ...

    SOA解决方案——BEA的SOA解决方案,绝对经典!

    7. **安全性**:在SOA中,服务的安全访问是非常重要的,BEA的解决方案可能会涵盖身份验证、授权、加密和审计等方面。 8. **治理与政策**:如何通过定义和实施服务政策来控制服务的行为,以及如何使用BEA的工具进行...

    SOA 技术白皮书--面向服务架构

    尽管SOA带来了诸多优势,但在实施过程中也会遇到一些挑战,包括但不限于: 1. **组织文化和变革管理**:引入SOA意味着要改变现有的组织结构和工作方式,这对组织文化是一个巨大的考验。 2. **技术和标准的选择**:...

Global site tag (gtag.js) - Google Analytics