企业为什么要导入SOA?首先用一句话总结就是IT系统的现状已经无法满足敏捷的端到端的业务流程。原有的IT系统建设往往都是烟囱式的,根据业务部门进行建设,IT系统之间的协作都是通过点对点的接口进行数据和消息的传送,这一方面是IT系统难以适应业务的变化,一方面是各种接口重复开发导致的大量运维工作量和数据不一致的出现。因此我们必须要考虑:
- 如何更快响应商业需求?(灵活性,互操作性)
- 如何从 IT 投资中获取更多回报?(一方面是降低运营成本,一方面是以最小代价获得更多的功能)
- 如何管理 IT 结构的复杂性?(必须要考虑如何标准化和集中化)
端到端的流程往往会横跨多个业务部门和系统,如何实现业务部门或各个IT系统之间的协作,形成真正的IT和业务的匹配。如何将分散在各个子系统中的信息进行集中,形成一个整体;如何避免IT基础设施建设导致的IT孤岛都是我们需要考虑的问题。
对于一个全新的系统开发,如果基于SOA的思路,仍然是首先通过价值链分析,一级流程到二级,三级流程的分解从流程中发现关键的业务活动,然后分析业务活动间的关联关系和耦合程度。根据高内聚,松耦合的原则,充分考虑企业的业务和组织机构设置来考虑业务架构的建模。而该业务架构中最重要的就是业务的组件化,需要充分考虑业务和流程进行组件化而不是从设计实现的角度去考虑模块化,这是一个关键点。
在业务组件化后,接着要做的就是根据流程分析来考虑业务组件之间存在的关联关系,业务组件之间究竟存在什么样的关联,需要传输什么样的数据?这一步是重要的一个分析步骤,通过该步骤的分析后我们发现关联关系会转化到SOA业务建模中的服务视图,而传递的数据和信息转换为SOA业务建模中的数据视图,接着再详细描述服务信息和数据元的定义。
在通过流程分析后自顶朝下的得到了服务视图和数据视图,然后再返回去结合实际的业务流程来细化流程视图。通过BPM业务流程管理工具和模块进行流程的编排。这个时候编排和实现的流程就是完全由业务驱动的IT实现,接着在讲跨业务部门和系统的通过流程编排实现的IT应用集成到EIP门户中,这就完成了一个完整的SOA需求分析和实现的过程。
- 基于SOA的业务流程分析和设计
- SOA-业务建模
- 关于SOA需求分析的讨论-转载
- SOA治理流程-IBM
- SOA架构设计文档模板和基于服务的建模方法
- 基于TOGAF的SOA实施方法论
- 基于SOA的性能测试方法-转载
另外推荐几个资料库和电子文档下载网站,特别推荐IBM提供的SOA红皮书资料库。