作为非IT人员我对SOA没有太深入的研究,但是就ERP或企业信息化应用角度来看,现在企业经常遇到的有普遍性问题是:
1 如何快速应对业务流程变化或业务范围的变化。
2 如何快速满足企业管理的个性化需求。
3 如何实现企业内、外不同架构应用系统之间的信息集成,消除信息孤岛。
因此需要有一种全新的软件技术,能够非常方便的解决业务流程的变化需求、和异构应用系统之间的信息集成。目前普遍的解决办法是二次开发和中间件技术,但缺点是费时费工。
很早以前,业内就已经提出“基于组件的开发技术(component-based development)”,后来又出现“企业建模(enterprise modeling”的概念和功能,这些和业务流程管理(business process management)一起,都应该是SOA的前期铺垫,SOA的诞生是业务流程不断优化发展的需要。
SOA是一种在业务流程分析基础上的构件化开发技术,不同行业有不同的业务流程,同一行业不同企业除了共性的基本流程外,也有不同的特殊业务流程。随着企业管理创新和改革,市场竞争和内外环境的变化,业务流程会不断地变化和优化。如何设计这些基本的构件单元,是一件需要认真研究的工作,各个构件之间的接口,也需要实现标准化。
一个可行的SOA架构,应当是能够满足各种业务流程变化的需要。因此,需要有具备IT技能和业务实践经验的复合型人才,才能完成此重任,不能脱离业务流程来谈SOA,对业务流程不熟悉是不可能开发出一个简洁实用的SOA,可能会弄得很复杂,但不一定实用。
一个软件商开发的SOA架构产品,是仅仅解决本公司产品的问题,还是能够解决跨系统产品的问题,同时满足上述三项需求,是不一样的。可以都叫SOA产品,但是内容深度却大相径庭,要能够解决国际上不同公司产品之间的集成,还要有一个公认的国际标准,包括流程构件的标准和接口的标准,因为涉及的流程类型非常广,所以难度很大,而且需要在实践中不断完善,不是短期能够实现的。
开发SOA技术应当是IT公司和IT行业的工作,作为企业,似乎没有必要也不大可能有力量能够从事SOA的开发。
外行人说外行话,言多必失,仅供参考。
网友评论