更好的支持流程
一个中心思想就是使得企业应用摆脱面向技术的解决方案的束缚,轻松应对不断膨胀,变化的需求。传统的体系架构只能通过不断开发新应用程序并扩展现有应用程序来艰难支撵其现有的业务需求,但是基于SOA的企业应用系统同业务流程结合在一起,通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的流程。其结果就是,能够更加精确地表示业务模型、更好地支持业务流程。
有利于业务的集成
传统的应用集成方法(点对点集成、企业消息总线或中间件集成,基于业务流程的集成)都很复杂,并且不灵活。这些集成方法难于快速适应基于企业现代业务变化不断产生的需求。基于SOA的企业系统具有一套完善的开发模式来帮助客户端应用连接到服务上。SOA帮助信息系统不用对现有的系统做修改的前提下,系统可对外提供web服务接口,这是因为它们已经被可以提供web服务接口的应用层做了一层封装,所以在不用修改现有系统架构的情况下。SOA可以将系统和应用迅速转换为服务。
在SOA中服务粒度的含义:服务是如何实现的,服务使用和返回了多少数据或多少消息。
细粒度服务执行了最小的功能,发送和接收少量的消息。粗粒度服务执行了较大的业务功能,并交换了更多的数据。细粒度服务是供粗粒度服务或组合服务使用的,而不是由终端应用直接使用的。粗粒度服务可以使用多个细粒度服务,它们不提供粒度级的安全和访问控制。组织服务可以使用粗粒度服务和细粒度服务进行组装。
作为面向服务的架构,简化了IT的计算环境,其兼容性、互通性以及最终实现的自主能力,满足了高度动态环境,实现了IT对业务从数月到分秒的响应。SOA的最终价值在于让IT和业务同步,在规划上以面向提供弹性的业务服务为目标。
基于SOA的系统的建立
1.选择成熟的标准和技术实现SOA
使用的标准很多,如CORBA、COM、J2EE等,但web服务协议创建和部署SOA架构到目前还是首选的标准。事实上,近年来SOA的发展和提倡,很大程度上得益于web服务技术的发展和成熟。选择成熟的应用技术和产品,对SOA的成功构建非常关键。
从开发人员的角度来说,开发人员的工作是面向服务的应用程序设计/开发(service-OrientedApplicationDesign/Development,SOAD),他们使用的-工具必须支撑开发人员有效地创建和使用SOA对象,并设计SOA模型、开发服务和服务对象以及测试SOA应用程序这些过程包括进来并组成一个整体。
2.构建服务的基本模块
我们可以从以下方式创建服务:
从头开始编写服务。这一种选择适合正在开发全新系统或者改写应用软件的企业,可以通过通盘考虑服务,让可重复使用机会最大化。
将现有代码改写成服务。对采用模块化方式开发但没有使用Web服务技术实施的定制应用,这种方法行得通。
对现有的应用或流程加以“封装”为它们提供web服务接口。
获得的服务。包括企业内部的套装应用和系统(如ERP、CRM)随带的web服务支持功能,或外部企业提供服务执行的功能。
3.分析和创建SOA应用时需采取的步骤
了解哪些流程可以转化为服务。
构建应用流程中心库。这些流程来自于被设计成一组服务的业务应用,这是一个日积月累的过程。
确定适当级别的服务粒度,以确保服务有效地重复使用。粒度过细会导致服务过于具体而无法使用,粒度过粗又会导致服务过于笼统而无法使用。
培育重复使用的服务。它使组织能够把流程作为定义明确的一组服务来交付,而且很容易把这些服务提供给开发人员。
4.构建SOA应用系统
实施SOA是个分步走的过程,也是分阶段的,具体到实施每个应用系统时也是这样。无论新建系统还是对原有系统的重构,都需要根据需求分析结果去构建、部署、整合和调用服务。
系统按不同的功能模块可以被分为7层:第1层是系统已经存在的程序资源,如营销系统、专卖系统等。第2层是组件层。在这层中用不同的组件把底层系统的功能封装起来。第3层是SOA系统中最重要的服务层,用底层功能组件来构建所需要的
不同功能的服务。总的来说,SOA中的服务可以被映射成具体系统中的任何功能模块。
5.SOA与SOI,走向面向服务的应用集成
以在SOA基础上,通过服务的交互来集成企业中的各种IT资源,是SOA实践发展到高级阶段的必然结果。
企业应用集成是为了避免企业内部信息系统各自为政、无法互通互联,实现对整体业务运行和流程的全面掌控,同时为了满足协同商务时代要求企业内部和企业之间协同,乃至整个供应链和供应链之间的协同目标。企业应用集成通过将不同系统中的数据和消息进行翻译、并指定数据传输的方向,实现充分、实时、多方、双向的集成,为信息互通架起了桥梁,实现互通互联。
以面向服务的体系结构集成应用系统,采用“关注点分离”(separation Concern)的方法规划企业集成的各种架构元素。同时从服务视角规划每种元素提供服务,以及服务如何被组合在一起完成某种类型的集成。
面向服务的体系结构构建和集成行业应用系统,其松散灵活,易于互通共享和企业集成的诸多优点,不仅提高了IT的效率,还弥合了IT与业务之间的距离,为实现“系统集成、资源整合、信息共享”提供了一种很好的基础和解决方案。随着SOA及相关技术的日渐成熟,SOA成为行业应用架构首选。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突