面向服务开发的七项原则

未来的软件结构要求有一套新的开发方法。你们公司做好准备了吗?
by Jason Bloomberg
当今关于Web服务(web services)的描述主要是关于集成的。走出不景气阶段的企业都把降低集成成本作为一个明显的目标。运用公开的、基于标准的、松散藕合的Web服务技术就给企业提供了一个不是很昂贵的集成方法。然而,Web服务不仅仅是使集成简单化了,它们的用处更多。实际上,它们将注定要从根本上改变人们创建和使用软件的方式。

为了摆脱老式的思考方式,软件专家必须要了解Web服务的技术,并且要了解Web服务可以给我们带来怎样的前景。下面的面向服务开发的七项原则——它们是随着老式思考方式转变到新的思考方式而产生的——为你形成这种新层次的观念提供了指南。

1. 动态的服务替代了静态的组件
构建一个Web服务不仅仅是像传统的组件开发期望的那样创建具有特殊功能的软件。一个Web服务的Web服务描述语言(WSDL)文件动态地描述了Web服务的功能。所以,开发人员只需要指出在哪里找到WSDL文件,这样调用Web服务的软件在运行时就可以找到对服务功能的描述。该原则要求在运用Web服务的系统中显示逻辑层同商业逻辑层和持久(persistence)逻辑层分离开。当开发人员构建一个Web服务时,他们可能不知道那个服务是如何被调用的、或者Web服务使用者的用户界面将是怎样的。一个Web服务架构师不能将商业逻辑和显示逻辑结合起来。

2. 服务呈现(Exposure)和响应(Reflection)替代了传统的系统集成
当今的系统架构师根据系统级的需求来集成项目。架构师计划各种组件应该如何集成。作为这种top-down方法的替代,面向服务的开发采用了一种bottom-up的方法。在任何系统结构形成前,系统中的每个组件都呈现成一个Web服务。然后,每个服务(查询一个服务自己的功能)给外部系统提供它们访问服务所需要的信息。

在构建一个系统时,Web服务架构师首先考虑系统的需求,并进行服务装配。在服务装配过程中,架构师访问服务的动态描述,它们只代表了实际的API的一部分。然后,架构师确定系统的结构,即使在运行前,单独的组件及其接口并没有被完全地描述。

3. 为广泛的适用性编写代码替代了为可重用性编写代码
为可重用性编写代码是面向对象编程的一个重要的特点。实际上,对开发人员来说,编写可重用的代码可能比为单独用途的应用程序编写代码更具挑战性。因此,灵活的软件方法(如Extreme Programming(XP))就避开了可重用性。在XP中,如果外来的功能进入到代码中,那么开发人员就重新编写、或重构(refactor)代码,直到它尽可能地简单。

虽然重构可以形成一些重用的方法,因为最终代码满足很多情况,但这种方法同传统的为可重用性编写的代码不同,因为它的目的是创建灵活的和广泛适用的代码。重用性和广泛适用性的代码的区别是很小的,但它们却是面向服务的开发过程的本质。最好的方法就是把面向服务开发的结构性原则同灵活的开发原则结合起来。

时间: 2024-11-02 18:18:54

面向服务开发的七项原则的相关文章

用消费者驱动的契约进行面向服务开发

向SOA过渡给软件开发生命周期带来了许多新的挑战:机构只有形成一种明确面向服务的开发能力,才能战胜这些挑战. SOA给开发带来的挑战 面向服务(service orientation)不仅仅是采纳一种新的架构这么简单.若机构仅使其架构变得更加面向服务.而不对其开发技术作相应改变的话,那么SOA行动肯定要失败. 在启动.构建及运营服务方面的一些挑战包括: 在启动阶段,服务功能的描述必须能在多种场合下被重用:粒度既不能粗到仅在一种特定场合下能被重用,也不能细到要做大量补充工作方可在不同场合下被重用.

安全技术:服务器安全设置技巧七项原则

安全技术:服务器安全设置技巧七项原则.你的服务器上是否存有一些不能随意公开的重要数据呢?当然有吧?而最近,偏偏服务器遭受的风险又特别大,越来越多的病毒.心怀不轨的黑客,以及那些商业间谍都将服务器当作目标.很显然,服务器的安全问题一刻都忽视不得. 不可能在一篇文章中谈遍电脑安全问题,毕竟,市面上的已有许多这方面的书籍,不过,我倒是可以告诉你七个维护服务器安全的技巧. 技巧一:从基本做起 从基本做起是最保险的方式.你必须将服务器上含有机密数据的区域通通转换成NTFS格式;同理,防毒程序也必须按时更新

使用WCF实现SOA面向服务编程—— 架构设计

本文转载:http://kb.cnblogs.com/page/96479/   SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就是一种进行系统开发的新的体系架构,在基于SOA架构的系统中,具体应用程序的功 能是由 一些松耦合并且具有统一接口定义方式的组件(也就是service)组合构建起来的.因此,基于SOA的架构也一定是从企业的具体需求开始构建的.但 是,SOA和其它企业架构的不同之处就在于SOA提供的业务灵活性.业务灵活性是指企业能对业务变更快速和有效地进行响应.并且利用业务

使用WCF实现SOA面向服务编程“.NET研究”—— 架构设计

SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就是一种进行系统开发的新的体系架构,在基于SOA架构的系统上海企业网站制作中,具体应用程序的功能是由 一些松耦合并且具有统一接口定义方式的组件(也就是service)组合构建起来的.因此,基于SOA的架构也一定是从企业的具体需求开始构建的.但是,SOA和其它企业架构的不同之处就在于SOA提供的业务灵活性.业务灵活性是指企业能对业务变更快速和有效地进行响应.并且利用业务变更来得到竞争优势的能力.对企业级架构设计师来说,创建一个业务灵活的架

“.NET技术”使用WCF实现SOA面向服务编程—— 架构设计

SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就是一种进行系统开发的新的体系架构,在基于SOA架构的系统中,具体应用程序的功能是由 一些松耦合并且具有统一接口定义方式的组件(也就是service)组合构建起来的.因此,基于SOA的架构也一定是从企业的具体需求开始构建的.但是,SOA和其它企业架构的不同之处就在于SOA提供的业务灵活性.业务灵活性是指企业能对业务变更快速和有效地进行响应.并且利用业务变更来得到竞争优势的能力.对企业级架构设计师来说,创建一个业务灵活的架构意味着创建一个

面向服务架构(SOA)的原则

架构 分布式计算将网络上分布的软件资源看作是各种服务.面向服务架构是一种不错的解决方案.但这种架构不是什么新思想:CORBA和DCOM就很类似,但是,这些过去的面向服务架构都受到一些难题的困扰:首先,它们是紧密耦合的,这就意味着如分布计算连接的两端都必须遵循同样API的约束.打比方说,如果一个COM对象的代码有了更改,那么访问该对象的代码也必须作出相应更改.其二,这些面向服务架构受到厂商的约束.Microsoft控制DCOM自不必说,CORBA也只是一个伪装的标准化努力,事实上,实现一个CORB

运营开发中需要考虑的16项原则

可能需要考虑的16项原则 1,你不可能满足所有的用户. 2,如果一个蠢方法有效,那它就不是一个蠢方法. 3,别忘了你的产品是由最年轻的程序员在最短的时间内开发出来的,所以,问题总是无法避免. 4,如果某个产品创意,只有你一家这么做,那一定是错误的方向. 5,没有任何产品开发,运营计划在实践中能继续顺利执行. 6,所有预期5个月才会到来的瓶颈总是3个月内就会遇到. 7,重要的事总是简单的. 8,简单的事总是难以做到. 9,一般情况下,你除了时间外什么都不缺. 10,关键用户的意志应该获得优先考虑.

《WCF技术内幕》翻译11:第1部分_第2章_面向服务:面向服务的4个原则

面向服务的4个原则 目前为止,我们已经了解过了面向服务的概念,看过了面向服务的消息结构 ,检查了消息地址的需求,并且讨论了消息地址的工业标准.如果你理解SO消息 里标准地址结构的动机,那么明白面向服务的原则就不会困难.每个面向服务的 设计都遵循以下4个院子(经常被称为4原则). 边界清晰 在面向服务里,服务可以与每个其它的服务通过消息交互.换句话说,服务 可以穿越边界发送消息给其它服务.服务可以发送和接收消息,并且能被发送和 接受的消息形状定义了服务的边界.这些边界被良好地定义,清晰地表示,并且

宏杉科技的“存储七项式”方法论

<企业网D1Net>4月14日(北京)昨日,宏杉科技在北京盛大召开发布会,并同时拉开"知深行远存储宏论--宏杉科技创新为你·2017"巡展帷幕.宏杉科技针对用户数据存储需求重磅推出了首创的"存储七项式". 上图为:宏杉科技总裁李治 存储七项式 宏杉科技总裁李治说:"IT界每一项成功的创新都源自于对用户需求的正确理解.基于此,宏杉科技在经过了7年的专注.探索与实践后,树立了业务定义IT的理念,并以用户需求为核心,建立了一套完整的存储理论体系,即宏