成功实施SOA九大方案
过去的一年对于面向服务的架构(SOA)来说是至关重要的一年,这一年,SOA蓬勃发展。毫无疑问,2008年,还将会有更多SOA工程被实施。 我们继续向前迈进的时候,不应该忘记过去的教训。我已经仔细回顾了2007年SOA的得与失,总结出十大SOA的成功要诀。
过去的一年对于面向服务的架构(SOA)来说是至关重要的一年,这一年,SOA蓬勃发展。毫无疑问,2008年,还将会有更多SOA工程被实施。
我们继续向前迈进的时候,不应该忘记过去的教训。我已经仔细回顾了2007年SOA的得与失,总结出十大SOA的成功要诀。
1.首先明确你的需求,然后再选择使用的技术。
这实际上是SOA倡导者David Linthicum的专业口头禅,通常,只要他一读到关于推荐适用于所有SOA技术解决方案的文章时,他都回不厌其烦的重复其口头禅。Linthicum的观点是:SOA是一种架构,而不是一种技术。
“在你想出要在解决方案中使用什么技术、标准和模式之前,架构需要进行一些分析和理解。”Linthicum在他最近的一篇文章中表示。
2. 找到一个合格的SOA顾问。
当你在企业内部部署SOA时,你不会找到所需要的所有专业知识。你仅仅是不能找到---当然,除非你为IBM、微软、SAP或其他一些大型厂商工作。在一篇名为“IT业务常见问题”的文章中, Linthicum建议当你部署SOA 时,你最好找一个合格的SOA架构师,他可以指导你的SOA实施。
他建议寻找一位经验丰富的非厂商认证(non-vendor certification)企业架构师---ZapThink和The Open Group都提供这种认证。其它企业架构框架包括Zackman Framework和国防部企业架构参考模型(Department of Defense Enterprise Architecture Reference Model)。
3. 将服务与业务流程相结合。
关于是否应该推广SOA或者同商业用户谈论这一转变时,甚至能不能使用SOA这个词,存在很多的争论。不要在乎其他人怎么想,做你想要做的。
但不要忘记,IT部门做任何改变都会影响企业业务---所以,你一定要考虑清楚,循序渐进以确保这种改变会带来积极影响。这意味着将服务捆绑在业务流程中。这样做的一个方法是通过业务流程管理来实现。
但是,SOA还提供了一个难得的机会,让你和商业用户能够反思一下并且改进业务流程。所以,让他们从一开始就参与进来。让他们知道,这是一个解决问题、修补错误的机会,并且可以使他们的工作更容易。然后你可以听取他们的意见。
在设计服务时,把开发者和商业用户摆在相同的位置上。在规划阶段,使用直观的SOA服务表示方法。
4.清楚什么时候使用服务。
并不是每件事都需要有一个服务。服务真正的伎俩,是确保他们的粒度不会太小或太大(太大的话就变成了应用)。而定义业务流程可以做到这一点,因为它可以帮助你确定哪些可以作为一个服务,哪些不行。
5.搭建SOA时,从大处规划,从小处着手。
关于搭建SOA时,你应该从底层、中间层还是上层开始,有很多的争论。自顶向下的方法存在的问题是,它可能太大、太具压倒性因而不能成功地交付政治上需要的小胜利。
从底层开始着手的话,当你扩展SOA时,你可能会发现在编写服务的时候范了很多错误,这些不容易被抽象到SOA的其它层次上。
这仅仅是一种猜测,自底向上的SOA项目可能非常类似于应用开发流程,所以我怀疑问题可能在于自底向上的方法会导致项目返工。关于自底向上的SOA搭建方法存在的问题,博客家Joe McKendrick写了一篇文章,有兴趣的话大家可以参考一下。
- 本文关键词:

