服务的四大特点:可重用性、自治、无状态和可被发现性。
面向服务的开发过程主要包括以下六个步骤:
1.面向服务的分析
定义业务需求->明确已有的自动化系统->对候选系统的建模(服务建模)
服务建模主要有以下几个步骤:
- 分解业务流程:基于业务需求文档,将流程分解为许多粒度相对比较小的步骤。
- 确定候选操作:根据上一步的结果,进一步标记流程的步骤。可以将流程的步骤划分为手动步骤,已被系统支持的步骤,以用没有系统支持的步骤。
- 抽出流程控制逻辑:将控制逻辑独立抽象出来,可以满足不断出现的新变化。
- 建候选服务:根据上下文对相关的服务操作进行分组。每一组构成一个潜在的服务。
- 应用面向服务的原则修正候选服务:主要是检查是否满足可重用性及自治的原则。
- 确定服务的组合:即确定候选服务之间的关系。挑选流程的一条主要执行路径,依次检查哪些服务被调用。
- 调整操作的分组:在上一步结束后,可能出现某些操作需要重新分组。
- 分析应用级的处理需求:前面都是以业务为中心进行的。
- 确定应用级服务的操作:
- 构建候选的应用级服务:
- 修正服务的组合
- 再次调整振作的分组
2.面向服务的设计
- 设计服务的接口
- 确定需要支持的服务特征及使用的规范
服务可以分为三层:应用级服务层,业务级服务层和流程级服务层。
- 构建面向服务的架构
- 设计实体型服务
- 设计应用级服务
- 设计任务型服务
- 设计流程级服务
3.服务的开发
- 采用具体的开发平台和语言,按照设计好的服务接口,实现相应的服务
4.服务的测试
开发好的服务需要经过反复测试
5.服务的发布
把经过反复测试的服务发布到具体的运行环境中。
6.服务的管理
这一步负责运营、管理和维护服务
分享到:
相关推荐
软件开发从汇编语言、过程式语言、面向对象、面向组件发展到面向服务,这一进程不仅反映了编程技术的不断进步,更是软件工程哲学的深度演化,旨在提升软件的可维护性、可扩展性和重用性。每一步转变,都是对前一代...
面向对象软件开发过程 面向对象软件开发过程是当前主要应用的一种技术,它和面向过程形成了鲜明的对比。面向对象的软件开发就是将面向对象的思想应用于软件开发过程中的各个阶段,其主要过程为:首先从实际问题触发...
### 面向对象的软件开发过程 #### 5.1 软件开发过程 **软件开发过程**指的是为了创建或更新软件产品而执行的一系列有序活动。这些活动包括但不限于软件描述、软件开发、软件有效性验证以及软件演进。不同软件开发...
面向Agent的软件开发方法涉及一系列特定的设计原则和开发流程。为了开发出高效且可互操作的多Agent系统,研究者和开发者需要考虑如何定义和描述Agent以及系统中其他元素的概念和结构。在文献中可以找到大量的面向...
随着技术的不断发展,软件架构经历了从面向过程到面向对象,再到面向组件和服务的演进,每一步都是对软件开发模式的抽象和优化。 1. 面向过程(Procedural Programming) 面向过程编程是一种以过程为中心的编程...
面向对象开发方法相对于传统的面向过程开发方法,在多个方面展现了其独特的优势: 1. **封装性**:对象能够将其数据和行为封装在一起,对外界隐藏内部细节,仅通过定义好的接口进行交互,增强了系统的安全性和可...
在面向对象开发过程中,UML作为强大的建模工具,可以帮助开发者清晰地定义类和对象的关系,规划系统的行为,以及设计交互流程。通过类图确定类的结构,状态图和序列图描绘对象的行为,用例图描述系统功能,组件图和...
在本文中,我们将讨论 SOA 面向服务架构技术的应用,包括其概念、架构设计、开发技术和实际应用。 SOA 的概念 SOA 是一种软件架构风格,它将应用程序设计为一组服务,这些服务可以被发现、访问和组合,以满足业务...
在开发过程中,我们会用到Java的开发工具,如JDK(Java Development Kit),它包含了编译器javac、解释器java以及各种开发工具。 在实际开发中,我们还需要了解MVC(Model-View-Controller)设计模式,它常用于构建...
8. **测试与调试**:在开发过程中,单元测试和集成测试是必不可少的,确保每个模块的功能正常运行。开发者可能使用PHP内置的错误报告功能或第三方工具进行调试。 这个项目作为一个面向过程的练手作品,虽然可能没有...
同时,书中还介绍了如何通过版本控制系统来管理开发过程中的版本变更,保证代码的稳定性和可追溯性。 书中案例部分,通过一个名为PFM系统的设计与实现,向读者展示了从面向对象分析(OOA)到面向对象设计(OOD)的...
在微服务开发过程中,需求分析是一个关键环节。由于微服务粒度较小,需求分析需要更加精细化,识别出可以独立部署和管理的业务功能。常见的方法包括服务发现、服务拆分和业务流程建模。服务发现帮助确定现有系统中...
3. **详细设计文档**:这部分深入到每个模块的具体实现,包括流程图、伪代码、类图(虽然面向对象,但有时也会在过程编程中提及)以及数据结构设计,以确保开发人员对程序的每个部分有清晰的理解。 4. **编码规范**...
测试驱动的面向对象软件开发是一种将测试作为软件开发过程中核心组成部分的方法论。这种方法结合了测试驱动开发(TDD)和面向对象编程(OOP)的优势,旨在提高代码质量、增强可维护性和降低后期修复错误的成本。 ##...
软件开发过程与质量保证面向对象软件开发过程模型 软件开发过程与质量保证是软件开发的核心环节,该过程模型旨在确保软件开发的质量和可靠性。面向对象软件开发过程模型是软件开发过程中的一种重要模型,旨在通过...
总的来说,编程语言的发展反映了计算机科学的进步,从面向过程到面向对象,再到面向组件和服务,每一步都提高了软件开发的效率和质量。选择学习哪种语言,取决于具体的应用场景和个人兴趣,重要的是掌握编程的本质,...
SOAD)是一种融合了面向对象分析与设计(OOAD)、企业架构(Enterprise Architecture,EA)和业务流程建模(Business Process Modeling,BPM)原理的新兴软件开发方法,旨在更好地适应和服务于面向服务的体系结构...