IBM的SOMA方法
SOMA方法是基于一个面向服务的架构模板
该架构模板描述了面向服务的一种层次结构,底层是业务系统层,该层包括企业现有的一切遗留系统,比如企业自行开发的主机系统、ERP或CRM系统,或者面向对象的系统等。第二层为企业级的组件层,这些组件实现了对现有系统功能的包装,或者提供了新的功能,无论如何,它们是实现服务的基础,因此也必须满足SLA的要求。在实现技术上,这些组件一般为应用服务器中的组件。第三层为服务层,这些服务都是可以被动态发现的,或者可以组合为更为复杂的服务,它们可以被重用。第四层为流程层,通过一定的规格把第三层的服务组合起来,用于达到一个特定的目的。最上层为表示层,提供和用户的交互。第六层为集成层,一般使用企业业务总线来实现,提供了基本的消息路由及一些转换机制等,与协议无关,是服务之间的通信的基础。第七层为服务质量层,提供了对服务的监控和管理等工作,保证整个面向服务的架构健康运转。
在此架构模板的基础上,SOMA提出了服务分析和设计的方法论,如果3-9
如果3-9中所示,SOMA主要包括三个步骤,服务发现】服务规范和服务实现。服务发现为服务分析,服务规范属于服务设计的范畴。所以三个步骤实际上对应了面向服务的分析,面向服务的设计和实现三个阶段。下面主要介绍面向服务的分析与设计。
在服务发现的过程中,SOMA综合了自顶向下、中间相遇和自下而上等方法,来发现服务。在自顶向下的方法中,使用域分解,把业务领域划分为业务功能区和子系统,把流程细化为子流程和业务用例,这些业务用例就是潜在的候选业务。这种方法一般用来确定大粒度的服务。在自下而上的方法中,通过对现有系统的分析,把现有系统包装为服务,从而确定小粒度的服务。在中间相遇的方法中,主要统通过对目标服务的建模,来捕获自顶向下和自下而上两种方法没能捕获的候选服务。在这种方法中,把业务目标分解为子目标,列出关键的业务性能指标,度量值等,然后分析实现目标的可能的相关服务。
通过以上方法,可以得到一系列候选服务。随着服务数目的增多,会带来一系列管理上的问题,并导致系统的性能下降、可伸缩性变差等。所以需要用某种方法来有效的管理服务。SOMA在发现候选服务后,按照其架构模型,对服务进行分层。提供最基本功能的一些服务,可以归属为企业级组件层;由其他服务组合而成,提供一个更高级功能的另外一些服务,可以归属为服务层;包含了复杂的功能,实现了业务流程的服务,则归为流程层,从而得到服务的层次结构。
相关推荐
Service-Oriented Architecture(面向服务架构,简称SOA)是一种软件设计方法,它强调将业务功能封装为独立的服务,这些服务之间通过标准接口进行通信,允许不同系统间的互操作性。SOA的核心理念是构建可重用的服务...
#### 三、SOMA:一种用于开发服务导向解决方案的方法 **服务导向建模与架构(SOMA)**是由IBM提出的一种用于分析、设计、实现和服务导向架构部署的方法论。SOMA提供了一套完整的生命周期模型,帮助组织有效地规划和...
SOMA(Service Oriented Modeling Architecture)应运而生,作为SOA分析、设计和开发的方法学框架,弥补了OOAD和CBD在服务建模方面的不足。 SOMA并不取代OOAD或CBD,而是与其互补。它贯穿IT建设的全生命周期,从...
如何通过建模改进SOA面向服务体系架构(SOA)的强大之处,在于它能支持业务集成和再使用过程中的业务能力。SOA通过两种方式来达到这个目的:通过鼓励围绕可再用服务组织的方案,这些可再用服务集成了与它们的执行相...
在企业信息化建设中,SOA(Service-Oriented Architecture,面向服务的架构)是一种重要的设计思想,它将复杂的系统分解为一系列可复用的服务,从而提高系统的灵活性和可维护性。IBM作为SOA领域的领先者,提供了丰富...
《Architectural Styles and the Design of Network-based Software Architectures》是一篇探讨网络软件架构设计风格...通过IBM的工具集和RUP的更新,为服务导向的解决方案开发提供了更全面、更适应时代需求的方法论。
**含义:** SOMA是一种用于构建SOA应用的方法论,包括面向服务的建模、分析和设计活动。 **作用:** 定义SOA层次结构中的元素,并在每个层次做出关键的架构设计决策。 **途径:** 结合自顶向下和自底向上的设计思路...
**SOMA:结构化日志记录实用程序** 在IT行业中,日志记录是系统监控、故障排查和性能分析的关键部分。SOMA(Structured Output for ...如果你正在寻找一种改善日志记录和分析的方法,SOMA无疑是一个值得考虑的选择。
SOMA预订是一个轻量级的Web应用,主要面向开发人员和测试人员。项目采用Node.js作为后端环境,前端则利用JavaScript(可能包括其库如React或Vue)构建用户界面。要运行此项目,首先需要确保已安装Node.js和npm(Node...
- **服务实现方式**:包括服务包装、新服务开发和服务中介等方法。 - **服务组装**:通过组装不同的服务组件形成完整的业务流程。 4. **服务部署和管理** - 包括服务的部署、监控以及日常维护等方面的工作。 ##...
“创建使用”这部分描述可能暗示了Soma-DBD.JS的开发过程。开发者可能使用了一些特定的工具或框架,如Node.js,以支持JavaScript在服务器端运行,或者是其他前端开发库,如jQuery或React,来增强用户体验。然而,...
他介绍了SOMA方法(Semantic Object Modelling Approach),这是一种语义对象建模方法,旨在提高模型的精确性和一致性。Graham对web可用性的关注,反映了现代软件开发中用户体验的重要地位。他的著作《面向对象方法...
4. **用户界面开发**:了解如何使用Python的库(如Tkinter或PyQt)创建用户友好的界面。 5. **调试与测试**:学习编写和执行测试用例,确保代码的稳定性和准确性。 **进一步探索** 如果你对PySoma项目感兴趣,...
SOA(Service-Oriented Architecture,面向服务的架构)是一种设计复杂应用系统的方法论,它强调的是将应用程序的不同功能单元通过通信协议互相联系起来,这些不同的功能单元称为服务。这种架构模式允许不同系统之间...
Preiss撰写,他是加拿大SOMA Networks的一名软件工程师和架构师,拥有丰富的软件开发经验和深厚的理论基础。 #### 二、主要内容概述 ##### 1. 算法分析 - **渐进表示法**:用于描述算法性能的一种数学工具,能够...
JavaScript,一种广泛应用于Web开发的脚本语言,是学习网页动态功能和交互性的基础。它在浏览器环境中运行,为用户提供了一种高效、灵活的方式来操控网页元素。本教程将引导初学者逐步了解JavaScript的核心概念,...
- BREW是由美国高通公司推出的无线二进制运行环境,用于CDMA网络的增值服务开发。 16. **Web客户端与Web服务器**: - Web客户端与服务器的数据通路上,存在客户端截获器(CSI)和服务端截获器(SSI),用于增强通信的...