[入门系列]如何构建 SOA 系统
利用 SOA 的好处不仅是一个软件开发流程,而且还是一个业务开发流程。采用 SOA 有四个层次,您的实现可以跨越从创建特定的软件服务到将您的业务模型全面转换到按需系统的过程。要获得进一步的信息,您应该阅读这一部分的末尾列出的文章“The Four levels of SOA Adoption”。
第一个层次是最简单的,因为它只需创建单独的服务。在这一部分列出的“SOA 新手入门”中对此进行了详细解释,并且提供了更多的资源。
在第二个层次中,您不仅可以创建服务,而且可以开始将业务功能集成到 SOA 中。这涉及多个层次的集成,其中包括应用程序集成、信息集成、流程集成和整个系统集成。Migrating to a Service-Oriented Architecture 是一篇重要的文章,介绍了这个层次中的问题。
第三个层次涉及将您的企业 IT 基础设施转换到 SOA 模型,而采用 SOA 的第四个层次集中于转换您的业务模型,以使之成为按需就绪的模型。
从 IT 专业人员的角度来看(与业务层相比),要创建 SOA 应用程序,您通常将经历四个阶段:构建、部署、使用和管理。在构建阶段中,您可以定义业务模型或流程、软件模型和 SOA 模型。之后,您就可以创建一组服务,这组服务可以与已发布的通用接口一起重用。
在部署阶段,您提取创建的服务,并把它们放在一个可执行、可管理的环境之中。在使用阶段,您根据前面所讲的 SOA 和软件模型来装配应用程序,并且测试其软件质量以及非功能性需求,比如性能、可伸缩性等等。应用程序现在已经准备完毕并且可用于用户。最后的管理阶段是一个长期的过程,在这个阶段中,您可以监控并管理安全性和使用,以及在许多与您可能已经为 SOA 制订好的服务级协定或策略相对应的方面比较其性能。
这些是 SOA 的生命周期的概念阶段。为了使对应于这些阶段的实际工作角色具体化,有许多角色需要加入到 SOA 应用程序的创建之中。这些角色可能从事相同的工作,也可能跨多个团队成员甚至多个团队。在 Rational Unified Process(RUP)中所划分的角色非常好地表达了角色概念。
RUP 角色包括项目经理、分析员、架构师、建模人员、开发人员、测试人员以及部署和操作人员。SOA 几乎完全照搬了这种角色划分方法,惟一不同之处在于,SOA 建模人员角色的工作是提取概念性软件模型,并且根据 IT 基础设施的 SOA 模型和资源来对其进行测试。开发人员角色还可以包括二级角色像装配人员(在使用阶段),装配人员的角色是提取单独的服务,并且根据定义好的模型构建实际的 SOA 应用程序。不管是显式的还是隐式的,这些角色都存在于支持 SOA 的企业之中。