soa架构:构建下一代软件Software架构SOA

  Web服务种作为炙手可热技术应用到企业IT系统和商业流程的中并给企业带来直接经济效益直以来得到了国内外企业管理者推崇而在近两年伴随着企业需求不断变化种被誉为下代Web服务技术架构次引起业内关注这就是SOA(Service-Oriented Architecture面向服务架构)

  早在1996年Gartner最早提出SOA预言2002年12月Gartner又提出了SOA是“现代应用开发领域最重要课题”并预计到2008年SOA将成为占有绝对优势软件Software工程实战思路方法主流企业现在就应该在理解和应用SOA开发技能方面进行投资

  更好地支持商业流程

  SOA并不是个新事物IT组织已经成功建立并实施SOA应用软件Software很多年了BEA、IBM等厂商看到了它价值并且纷纷跟进SOA目标在于让IT变得更有弹性以更快地响应业务单位需求实现实时企业(Real-Time Enterprise这是Gartner为SOA描述远景目标)而BEACIO Rhonda早在2001年6月就提出要将BEAIT基础架构转变为SOA并且从对整个企业架构控制能力提升开发效率、加快开发速度、降低在客户化和人员技能投入等方面取得了不错成绩

  由于SOA是在计算环境下设计、开发、应用、管理分散逻辑(服务)单元种规范标准这就决定了SOA广泛性SOA要求开发者从服务集成角度来设计应用软件Software即使这么做利益不会马上显现SOA要求开发者超越应用软件Software来研究并考虑复用现有服务或者检查如何让服务被重复利用SOA鼓励使用可替代技术和思路方法(例如消息机制)通过把服务联系在起而非编写新代码来构架应用经过适当构建的后这种消息机制应用允许公司仅通过调整原有服务模式而非被迫进行大规模应用代码开发使得在商业环境许可时间内对变化市场条件做出快速响应

  SOA也不仅仅是种开发思路方法论它还包含管理例如应用SOA后管理者可以方便地管理这些搭建在服务平台上企业应用而不是管理单应用模块其原理是通过分析服务的间相互SOA使得公司管理人员方便地获取什么时候、什么原因、哪些商业逻辑被执行数据信息这样就帮助了企业管理人员或应用架构师迭代地优化他们企业业务流程、应用系统

  SOA个中心思想就是让企业应用彻底摆脱面向技术解决方案束缚轻松应对企业商业服务变化、发展需要企业IT架构环境中单个应用是无法包容业务用户(各种)需求即使是个大型ERP解决方案仍然不能满足这个需求在不断膨胀、变化缺口对市场快速做出反应商业用户只能通过不断开发新应用、扩展现有应用来艰难地支撑其现有业务需求通过将注意力放在服务上应用能够集中起来提供更加丰富、目性更强商业流程其结果就是基于SOA企业应用系统通常会更加真实地反映出和业务模型结合

  服务是从业务流程角度来看待技术——这是从上向下看这种角度同从可用技术所驱动商业视角是相反服务优势很清楚它们会同业务流程结合在能够更加精确地表示业务模型、更好地支持业务流程相反我们可以看到以应用为中心企业应用模型迫使业务用户将其能力局限为应用能力

  企业流程(Enterprise Process)是流经企业框架空气它赋予业务模型里组件以生命并更加清晰地定义了它们的间关系流程定义了同业务模型进行交互操作专门思路方法例如会计可能是企业服务系统个组件但是将发票寄给客户却是个业务流程服务被定义用来支持业务流程因而自始至终地贯穿整个流程:各种服务组件在流程和逻辑实现过程中装配操作理解业务流程是定制服务关键所在

  有利于企业业务集成

  传统应用集成思路方法如:点对点集成、企业消息总线或EAI、基于业务流程集成等都很复杂、昂贵而且不灵活这些集成思路方法难于快速适应基于企业现代业务变化不断产生需求

  基于SOA应用开发和集成可以很好地解决其中许多问题它描述了套完善开发模式来帮助客户端应用连接到服务上这些模式定制了系列机制用于描述服务、通知及发现服务、和服务进行通信

  区别于传统应用集成思路方法在SOA中围绕服务所有模式都是以基于标准技术实现大部分通信中间件系统如RPC、CORBA、DCOM、EJB和RMI也同样如此可是它们实现都不是很完美在权衡交互性以及标准定制可接受性方面总是存在问题SOA试图排除这些缺陷几乎所有通信中间件系统都有固定处理模式如RPC功能、CORBA对象等等然而服务既可以定义为功能又可同时对外定义为对象、应用等等这使得SOA可适应于任何现有系统并使得系统在集成时不必刻意遵循任何特殊定制

  SOA帮助企业信息系统迁移到“leave-and-layer”架构的上这就意味着在不用对现有企业系统做修改前提下系统可对外提供Web服务接口它们已经被可以提供Web服务接口应用层做了层封装SOA可以将系统和应用迅速转换为服务SOA不仅覆盖来自于打包应用、定制应用和遗留系统中信息而且还覆盖来自于如安全、内容管理、搜索等IT架构中功能和数据基于SOA应用能很容易地从这些基础服务架构中添加功能所以基于SOA应用能更快地应对市场变化使企业业务部门设计开发出新功能应用

  和传统企业应用集成架构主要区别在于基于SOA企业应用系统使用基于标准服务并包括过程/数据服务、编排和组合基于标准服务成了应用间集成点服务编排和组合增加了服务灵活性、重用性和集成性

  两种粒度实现SOA服务

  可以按基于服务功能及发送和接收数据数量来定义服务如细粒度服务、粗粒度服务或组合服务

  在SOA中服务粒度有两种相关意思即服务是如何实现服务使用和返回了多少数据或多少消息细粒度服务执行了最小功能发送和接收少量数据粗粒度服务执行了较大业务功能并交换了更多数据

  细粒度服务是供粗粒度服务或组合服务使用而不是由终端应用直接使用如果应用是使用细粒度服务建立则应用将不得不网络上多个服务并且发生在每个服务上数据量较少因而会对对系统整体性带来影响所以粗粒度服务用户不能直接他所使用细粒度服务然而由于粗粒度服务可能使用多个细粒度服务因此它们不能提供粒度级安全和访问控制

  组合服务可以使用粗粒度服务和细粒度服务进行组装数据数量不是粗粒度服务和组合服务的间区别粗粒度服务例子如创建新客户在这过程操作是:需要通过些外部服务验证对客户进行验证并在CRM应用系统中创建客户记录组合服务例子可以是提供个新DSL线这需要个服务来验证订单、创建或验证客户确认产品库存及为数据线分配资源

  通过组有效设计和组合粗粒度服务业务专家就能够有效地组合出新业务流程和应用

  成就商务自主

  作为面向服务计算架构SOA简化了IT计算环境其兼容性、互通性以及最终实现商务自主能力满足了高度动态商务环境(Dynamic Business)实现了IT对业务从数月到分秒响应专家指出SOA最终价值在于让IT和业务同步在规划上以面向提供弹性业务服务为目标从CIO到负责规划架构设计师都需要和业务部门的间有充分沟通因此SOA建立将会是个为期数年承诺基础建设和标准必需逐步实施



  在中间件领域SOA架构日益成为中间件软件Software供应商争夺新焦点谁都希望自己能够先于竞争对手提供最优SOA技术实现平台BEA也不例外从技术上来说Web服务、组件技术采用将有助于SOA步普及;从业务上来说企业用户要求性价比更高应用系统SOA恰恰适应了这样趋势

  5月底在美国旧金山举办BEA第 9届技术年会eWorld 2004上来自全球BEA技术精英将会在现场尽情体验到BEA技术专家在现场带来在BEA WebLogic Platform 8.1上SOA系统设计模式和最佳实战即有关如何构建SOA系统技术准则BEA要让全球企业用户信息系统都能够最大化地享受到SOA带来商业价值

  GartnerGroup预计到2008年SOA将成为占有绝对优势软件Software工程实战思路方法它将结束传统整体软件Software体系架构长达40年统治地位(可能性:70%)Gartner建议主流企业现在就应该在理解和应用SOA开发技能方面进行投资总的如何把握如何运用到自身企业建设中SOA已经给出了个很好基础



Tags:  软件架构设计 软件架构 什么是soa架构 soa架构

延伸阅读

最新评论

发表评论