什么是soa?
soa的关键是“服务”的概念,w3c将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。 【相关文章:重庆大学城市科技学院构建和谐校园网络环境】
soa是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合与使用。服务层是soa的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 【扩展阅读:IP地址冲突很头痛问题解决有绝招】
【扩展信息:苏州工业园区无线覆盖案例】service-architecture.com将soa定义为:“本质上是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独立于其他服务所处环境与状态的函数。”
looselycoupled.com将soa定义为:“按需连接资源的系统。在soa中,资源被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。与传统的系统结构相比,soa规定了资源间更为灵活的松散耦合关系。”gartner则将soa描述为:“客户端/服务器的软件设计方法,一项应用由软件服务与软件服务使用者组成……soa与大多数通用的客户端/服务器模型的不同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。”
gartner相信bpm与soa的结合对所有类型的应用集成都大有助益??“soa极大的得益于bpm技术与方法论,但是soa面临的真正问题是确立正确的企业意识,即:强化战略化的soa计划(针对供应与使用)并鼓励重用。”
虽然不同厂商或个人对soa有着不同的理解,但是我们仍然可以从上述的定义中看到soa的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口与通讯模型。
需着重注意的是,soa并不是新生事物??大型it组织成功构建与部署soa应用已有多年的历史??这要比现有的xml与web服务长很多。ibm cics与bea tuxedo就是过去被用于构建soa应用的两种技术范例。重点说明的是soa并不是一种现成的技术,而是一种架构与组织it基础结构及业务功能的方法。soa是一种在计算环境中设计、开发、部署与管理离散逻辑单元(服务)的模型。这一定义阐明了soa的范围。
soa要求开发人员将应用设计为服务的集合。soa要求开发人员跳出应用本身进行思考,考虑现有服务的重用,或思索他们的服务如何能够被其他项目重用。“单独的”、“独立的”、“封装完善的”服务所具有的一个关键的好处是,可以采用多种不同方法将它们组合成较大型的服务,由此来实现重用。
... 下一页