意见
计算应用 视图点

From前沿线:DOA与SOA

诊断不适应关键软件架构属性的症状,往往导致项目消散
贴上
  1. 条形图
  2. 写者
  3. 脚注
D.O.A.

似乎今天终于到来 我们大家都知道,这只是时间问题一辆救护车刚拉上拉走软件管理员Marty, 因为他老板未能实现成本节约、软件改良回用和缩短市场时间等诺言,所有事物本该如此不同和目前正在演化的救护假想相反 马蒂对未来的心理远见 曾是一辆布林克斯卡车加速到现场

有谁真的会感到惊讶吗归根结底,马蒂可能还在打网钩嘴里, 免得被VictorSOA捕鱼杆回收Marty吞下诱饵时所喷洒的hipe与produce一定已引起一种令人纳闷的欢乐感,导致商业和技术推理置之不理马蒂成功确信,他的项目是唯一一个没有兑现SOA银板boanza

尽管马蒂头部充电SOA竞技场, 他可能很难用同样方式描述三次许多人对SOA和SOA都不同概念幸好我有一个十几岁的女儿 家,所以不缺专家 对任何题目的意见出于好奇,我问她认为面向服务架构意味着什么她告诉我这是一个方法 搭建商店 在那里她购买时尚服装关于SOA可能是什么,肯定有不同观点,但这个可能有点极端

SOA探戈使用XML、WSDL、SOAP和UDDI技术其他人可能认为,如果他们使用工作流和课类无国籍,他们正敬重SOA旗杆现实中 SOA描述建筑风格 独立于使用特定技术架构风格包含服务广告 某种形式的注册用户可以发现、回溯、联通并自酌使用SOA使用技术,例如此处提到的技术,但CORBA和DCOM等其它技术多年来一直支持SOA

对某些软件组织来说,主要的两难点不在于决定采用SOA是否有助于实现它们的发展目标,而在于确定应使用哪些技术和设计策略实现这些目的。并非所有SOA用户或潜在用户都意识到,当他们如何使用SOA开发软件时,他们有选择权。可惜SOALIMINGs不考虑这些选项有可能实际对其软件架构造成负面影响,而不是利用SOA真正提供的一些好处。

究竟哪根稻草终于破解了马蒂SOAMarty软件员工是否泛化某些服务以致无法满足自身产品需求?开发分布式非定值服务的想法听上去不错,但远程进程调用性能效果简单增减数可能是SOA拉伸马蒂置身陷阱中, 许多项目似乎都掉进这些天里。 马蒂身陷陷阱中。 SOA特征显示SOA可发现性、无国籍性、可编译性、不依赖任何其他服务,设计设计决策与信标不相容 指向项目目标:质量属性a/取而代之的是,他任由肆无忌惮SOA高调宣传盲目结果,他看不出 坚持不懈地追求弹性 压倒性能和可用性在产品中的重要性

可能马蒂的不幸是解雇所有系统工程师的后遗症,因为人们相信采用SOA将传统软件生命周期转换为唯一相关活动即开发整合循环假设插件架构会冒出随机服务集合而不必投入时间和精力与传统软件工程方法相关联。

马蒂即将到来的救护车根上还可能有另一种可能性:他选择了错误抽象度执行SOA吗?而非服务用户直接插入二维层, 常有服务层封装这些根块有可能提高重要属性, 包括性能、可用性与生存性具体地说,如果请求的信息先前曾取出,则通过短路远程方法调用可提高性能。服务层在故障或SLA违规时联通替代服务提供方可提高可用性。可提高生存性,向服务用户提供某种忠诚响应,即使与实际服务提供商暂时无法连通。


并非所有SOA用户或潜在用户都意识到,当他们如何使用SOA开发软件时,他们有选择权。


正像刚才建议的那样,在选择最佳实施SOA策略时,不应忽略封装的好处即使在我女儿相当有趣的SOA定义方面,她也承认封装值, 即 : Dad,我可以享受衣物而不必知道细节编成过程 。 也许SOA使用策略应该听从这些智慧字面并同样隐藏服务用户应用实施细节用户使用极简单服务何必费心了解UDDI,例如,产生副作用时可能写出更多代码连接服务比执行服务本身需要多?从质量属性实现角度优先实施可能是隐藏UDDI从薄服务层下客户

SOA的采用无关开关可突然避免滚动袖子工程或出乎意料地有时间和钱可用使用业务流程分析正确识别服务开发活动可因重用某些组件或购买其他部件而缩短,但人们能多频繁实际购买原已存在的服务以提供产品核心“商业逻辑”有多少软件管理员实际愿意将风险加到开发调度中去,以了解如何立即需要某项服务广化以满足未知用户或未来用户的需要实现SOA的好处, 工程规划仍然是需要的, 而不是仅仅希望由工作流引擎粘合在一起的随机服务

可悲的是,马蒂没有赶到医院不论哪些误差商业决策与实施策略最终导致他消亡,Marty一到即死-和SOA项目一模一样。不必这样采纳SOA并不构成授权马蒂忽略最佳做法或蔑视常识马蒂架构灵活化,但在其他关键架构属性被忽视或篡改时,弹性值何为?

SOA健康状况如何假设SOA只能使用Web服务相信性能和抽象性等属性仅在老式架构中重要吗?SOA使用量是否与质量属性匹配密切注意你回答的方式,你不会想错过未来可能与SOA发生OA的警告信号

回顶

回顶

    a.非功能属性驱动软件架构拜斯大学lements,R.卡兹曼软件架构实践第二版EdisonWesley,2003年

    DOI: http://doi.acm.org/10.1145/1400181.1400191

加入讨论(0)

加入或签名发布注释

CACM最新消息

形状计算未来

ACM鼓励成员直接决定协会的未来有比以往更多方式参与

获取卷积

ACM通讯现为完全开放存取出版物

通过向世界开放CACM,我们希望加强广大计算机科学界的参与并鼓励非成员发现ACM提供的丰富资源

学习更多
Baidu
map