基于敏捷测试驱动的遗留系统向服务化架构转型
1. 服务导向架构与遗留系统概述
服务导向架构(SOA)是一组相互通信、传递数据或协调活动的自包含服务集合。每个服务有提供者和一个或多个消费者,其主要目的是支持业务流程,是交付敏捷系统以支持业务的手段。SOA有一系列通用原则,如服务应有明确边界、基于模式和有线格式、策略驱动、自主、面向文档、松耦合、符合标准、独立于供应商和元数据驱动等。然而,这些标准很难应用于遗留系统的接口,遗留系统的边界和耦合可能存在问题。不过,服务在遗留系统中的价值在于,服务不一定是全新的,可以是旧应用的片段经过调整和包装,或者是新旧代码的组合。
2. 敏捷方法与服务导向架构的冲突与融合
服务导向架构和敏捷方法在架构、团队组织和反馈等方面可能存在冲突。服务导向鼓励前期架构设计,而敏捷方法则不然;服务导向方法鼓励按功能划分团队,而敏捷方法鼓励跨职能团队;服务导向方法在技术和个人层面上对频繁反馈的关注不如敏捷方法。此外,不同类型软件开发所需的仪式感也可能存在紧张关系。主流敏捷方法侧重于正向工程新系统,集成遗留系统和服务可能需要更正式的方法。处理实时外部服务时,敏捷方法关于每次迭代结束时交付可发布代码的假设也会受到挑战。
尽管存在这些问题,但敏捷方法的灵活性有助于向敏捷服务导向方法转变,以适应不断变化的市场和客户期望。测试驱动开发可以为遗留系统、服务导向架构和敏捷方法之间的整合提供关键支持。它驱动设计,提供单元测试,能定义服务和遗留系统之间的接口,使客户端和服务开发者共享测试,有效开发和维护两层代码。服务的内部设计也可以在定义外部接口后以敏捷方式进行。
3. 处理遗留代码的策略
遗留系统在软件支持行业很常
敏捷测试驱动下遗留系统向服务化架构转型
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



