SAP大中华区CTO张侠博士曾说,一个CIO如果不能够接受SOA,那么只有两种可能。一种可能是这个CIO根本不真正了解什么是SOA,另外一种可能就是这个CIO不是一个称职的CIO。虽然可能有些人对这个说法不理解,但是笔者认为这个说法是有其依据的。
对于SOA来说,它是关于松散耦合,它是关于敏捷性以及重用性,这些都是SOA技术层面的特性。那么对于企业来说,它的真正意义在哪里,怎么去衡量相对于传统的IT架构,SOA能够为企业多带来些什么样的价值。
我们来举一个实际的每一个CIO都应该遇到过的情况。某企业某业务部门由于业务的增长,需要CIO为业务部门进行IT系统建设,将新业务也纳入到系统中,为业务发展提供支持。于是CIO立项选型之后开始项目,实施商为这个业务部门做业务分析,确定业务流程然后根据业务流程确认实施方法。项目如火如荼的进行,CIO对项目的进展非常满意,一切似乎都在朝好的方向发展。
但是,在项目实施到一半的时候(也经常会发生在项目结束之后),由于业务的突然拓展或者其他的原因,业务部门决定修改当时确定好的业务流程。IT必须服从业务,于是对于需要修改的业务流程整个开发过程需要基本重新来过。毫无疑问,不管是项目中发生还是项目后发生,这都将使CIO陷入压力当中。
相信每一个企业IT部门对这样的情况都不陌生,这是每一天都在发生的事情。于是,我们希望SOA的松散耦合,SOA的敏捷性以及重用性来帮助我们克服这些问题。的确对于SOA的描述,它的确能够帮助我们从这样的窘境当中解脱出来。然而随之而来的就是到底如何实现SOA的问题了。
对于现在大多数的CIO们而言,SOA与其说是治病良药,倒不如说是巴比伦的空中花园。它有着美丽的外表,也有着致命的诱惑力,但是却显得有些虚无缥缈。那么如何让SOA不再是大家空谈的空中楼阁,而是能够实实在在的落地,为企业IT部门所接受,同时给企业业务带来价值。这就必须有一套成熟的方法论和实施步骤的支持。
要谈实施SOA,我们要先弄清楚SOA的实施应该从哪里入手。相信SOA,愿意接受SOA的CIO们的第一个障碍,往往是面对企业内部如此之多的系统,如此复杂的架构,根本不知道SOA应该在哪里下手。到底从哪儿入手才合适?这儿,必须要说明的是SOA的确是一个IT系统架构的新方式,但是当我们实施SOA的时候,我们没有必要把整个企业的IT全部推倒重来。而是可以按部就班的一步一步去实现SOA的空中花园。我们可以从四个方面入手。
1.从复合应用入手:在现今的企业竞争中被经常提到的词就是差异化竞争。当我们引入差异化竞争的时候,就是需要把我们企业内部的业务流程做修改,使之有别于其他竞争对手和标准化的行业业务流程。而这些差异化的地方,显然不是ERP产品能够覆盖的。而且也是要求最高,最可能随时发生变化的地方。那么这些“特殊”业务流程就是我们SOA实施的一个切入点。当这些流程以松散耦合的形势建立起来之后,我们能够想象得到,对于企业业务将会有多么大的帮助。
2.从业务流程的变化入手: 在上面提到了,业务流程的改变每天都在企业中发生着。那么能不能在新的一次业务流程发生改变的时间点上,开始我们SOA的实施呢?那些经常需要改变的业务流程,能不能通过这样的方式实现SOA,然后再慢慢普及到每一条业务流程,进而在整个企业普及呢?
3.从提高用户生产率的角度入手:企业内部的系统用户层次也不同,从仓库的收货员到财务部门的专业用户,他们对于界面的要求不尽相同。我们不能要求仓库的收货员能够使用专业的系统界面,同样对于关键的财务用户我们不能只提供简单功能的界面。所以我们通过更简单的数据访问及流程控制,从而实现更高的生产效率。那么在这样的需求发生的时候,也是SOA能够切入的另一个地方。比如,使用PDF form调用后台web servie来显示输入收货单等。
4.集成及自动化:当在B2B/A2A场景当中,一个人可能负责有多项职责,如果发现问题,必须以人工方式定位并处问题的环节我们可以通过SOA实施,把人工的方式自动化。
从上面四个方面入手,我们就能够找到SOA实施的切入点,然后再根据事实的方法来把SOA这条道路继续走下去。那么说到实施方法,首先我们要来看一下一般SOA项目所要经过的周期。简单来说就是三个步骤,商业需求设计、业务模型建立 、开发和交付。不同于传统的IT项目, SOA项目对于每一个步骤需要做的工作以及需要交付的产品都有不同的要求。
1.需求设计阶段:业务场景需求,方案设计及技术布局, 在这个阶段,分成3个步骤。
业务需求描述:确认业务需求、理解用户的期望。
场景及流程描述:定义业务流程所需步骤(概要)。
技术布局:构建方案所需的技术布局。
需要交付的成果包括了:
● 商业用例及背景描述。
● 概要性业务流程及角色描述。
● IT系统架构及方案的技术布局。
2 .业务模型的建立:业务流程模型及其与服务的映射,这个阶段,主要分成4个步骤。
消费模型:定义具体的业务流程步骤,动作,用户界面及角色。其中包括具体的技术细节。
确定流程组件及业务对象: 确认每一个流程步骤当中所需的流程组件及业务对象。
将消费模型映射至供应模型: 基于确定的业务对象及流程组件:确认每一个流程步骤所需的服务(已存在)及所需服务(供应模型)。
服务接口定义:为所需服务进行接口设计。
需要交付的成果包括了:
● 数据消费模型及所需结构。
● 现存服务、流程模型及数据类型列表。
● 服务的接口定义及数据模型。
3.开发和交付:组合应用的实施及流程组合,分为5个步骤。
服务供应端的实现:实现缺失的服务,将现有功能模块进行服务使能化。
服务消费端的实现: 建立模型并实现服务消费方程序(用户界面, 自动化的整合流程)。
流程组合:将服务及界面进行合理组合/编排,从而构成所需的业务流程。
可选项: 开发、定制其它的所需功能(数据库调整, 后台编码, 程序/服务的配置及定制, 程序集成)。测试及发布。
需要交付的成果包括:
针对所需业务流程场景的组合应用方案。
可以看到SOA的实施没有想象中的复杂,它有切切实实地实施的一套方法和步骤,还有更多的如风险管理,人员需求以及管理,项目质量管理以及进度监控等,我就不在这儿一一描述了。
对于实施SOA项目的时候,切忌一口吃一个胖子的心理,企业不可能在一朝一夕之间就全面实现SOA。企业CIO必须有足够的信心以及保持循序渐进的心态,一步一步坚定不移的走下去。而作为软件厂商则必须在旁边为那些敢于走在前端的企业保驾护航,为他们在SOA的道路上扫除障碍。各方一起努力,才能真正使SOA落到实处。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
任意云 | 戴尔搭“云梯” 助中企通信上云端
新经济环境下,企业面临着激烈市场竞争所带来的压力,迫切需要“给力”的企业IT架构和数据中心,能够“快速响应”业务需求。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。