`
ekumen
  • 浏览: 108100 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

商业斗争下的蛋----SOA业务开发平台(四)

阅读更多
我查了一下百度百科中关于SOA的描述


 面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。




1 是一个组件模型
2 把不同功能单元,通过定义良好的接口和契约联系起来。记住,关键是功能单元、契约、接口这三个词。
3 接口是独立于实现服务的硬件平台、操作系统和编程语言


我们知道,webservice是独立于实现具体功能的硬件平台、操作系统和编程语言的。而且我们定义接口也是按照契约的原则来持续改进的。


但从上面三个关键点来看,webservice就差了一个,那就是组件模型。


组件模型?Corba有Corba的组件模型,JAVA有EJB组件模型,微软有COM+/.net组件模型。但现实中的结果如何呢?微软的组件模型和WINDOWS系统结合太紧密,这就不中立了,显然,制定SOA标准规范的BEA、IBM、ORACLE不想上这条船。EJB模型,经过多年发展,各个厂商利益的纠缠,使EJB的发展道路上异常艰难,并且复杂,反EJB、without EJB的呼声越来越高。而且EJB与JAVA绑定太死,也不中立。那就剩下CORBA的组件模型了。CORBA一向以复杂著称,它的标准领导厂商,依然是BEA、IBM、ORACLE之类的。但CORBA确实与硬件平台、与操作系统、与编程语言无关。


这就很奇怪了,既然CORBA最符合SOA的思想定义,那干嘛还要创建SCA/SDO这些规范?


当然,CORBA就是由于复杂,所以真正在商业市场上落实的市场份额并不高,虽然IBM等公司大力在市场上推广CORBA,但仍然被EJB和COM+抢了风头,人家两个才是事实上的标准。


怎么办?IBM已经动了多年的脑筋,想主导J2EE的发展,虽然已经达到了一定的目的,但是里面总有许多历史遗留包袱,让IBM很不爽,这种沉重,如何能走向未来的10年呢?业界都说EJB已死,中间件热潮已过(BEA被收购就是一例),下一个十年怎么过?微软自创一套体系,J2EE承担不起来未来10年,CORBA推广一直艰难,新的开发语言层出不群(PHP、PYTHON、RUBY)。显然,IBM看到的是未来10年,看到的是大同世界,让我想起了IBM的一个广告:四海一家的解决之道。


那就超越J2EE,超越微软,超越这些遗留的语言(如C++),也超越这些新兴的语言(如PHP),来它个大同世界。


于是,SCA/SDO在IBM的领导下产生了。看看主导厂商,IBM、BEA、ORACLE,都是中间件的事实厂商,注意,他们也都是CORBA标准的主要领导厂商,他们也是J2EE标准的主要领导厂商,从这些关系中大家可能就明白了它们为什么有了CORBA,有了J2EE,还要有SCA/SDO。他们在为下一个10年的中间件市场谋取出路。这个主导厂商里,没有SUN。J2EE规范中有SUN,所以IBM总是不爽。我们都知道,这些厂商的中间件技术都是J2EE规范的,IBM是看透了,只要继续努力J2EE,就摆脱不了SUN这个讨厌鬼,每次改进标准的时候,磨蹭多年,最后的标准规范还是一个和了稀泥的东西。


需要一个不丢弃现在的中间件产品,又能顺利过渡到踢走SUN也无妨的技术。于是,SCA/SDO产生。这个标准,是可以很好与现在的J2EE结合不损失现有商业利益的,但又不属于SUN起源的东西,也比COBRA简单的东西,也不属于微软的东西。


跨平台的开发语言有多种,有JAVA,有C++,有PHP,有PYTHON,有RUBY。但现实中,还是JAVA/C++/PHP占主流,让EJB再加一个套,变成SCA,让没有组件模型的C++和PHP加个套,也变成SCA,这就是大同世界。只要有了这个套,大力投入人力和资金在PYTHON、RUBY等领域的SCA实现,那天下真的大同了。当年制定和推广CORBA没有经验,让CORBA这个标准英雄气短。现在有了J2EE的经历,从标准制定到标准推广,都有了丰富的经验,不成功都难。过去我们争着抢着说我们是三层结构的,我们是J2EE的,我们是COM+ WINDOWS DNA的,现在我们又可以说,我们是SOA的。似乎你用JSP写的,就不能称作是企业用产品。


各位看到这里,会发现,现在每个开源产品或组织的背后,幕后推手都是这些商业大佬。一流的企业是制定游戏规则的企业,这句话大家都知道。制定了行业的游戏规则,不遵守怎么办?那就推动让他落实。自己的企业实现这个游戏规则还不说,还必须让开源产品和组织也遵守这个规则。这样,不管是商业产品,还是开源产品,都在这个规则之下。现在开源产品发展的如火如荼,不理会是不行的。所以你看,IBM自己也做自己的商业产品,也派自己的人,也发放资金给开源组织。开源产品和组织成了一个看似中立,全世界人都能参与的,但是主导参与与控制的还是商业大佬的东西。你作为客户,不管你选择哪个,都在游戏规则中。


人说开源是自由的,是开放的,是中立的,是不带商业色彩的。


但大家记住我的一句话:一流的企业是制定游戏规则的企业。控制了游戏规则,商业产品和开源产品都是规则的傀儡。
分享到:
评论

相关推荐

    SOA实践 -- 使用IoC和AOP重构SOA应用

    SOA是一种软件设计范式,它提倡将复杂的系统拆分为一系列可复用的服务,每个服务都专注于一个特定的业务功能。IoC和AOP则是提升代码可维护性和灵活性的重要工具。 **描述解析:** 虽然描述部分为空,但我们可以...

    Business-process-driven gray-box SOA testing.pdf

    在IT领域,特别是服务导向架构(SOA)的测试中,一种新兴的、结合业务流程驱动与灰盒测试策略的方法正逐渐受到关注。这一方法旨在应对SOA系统中由组合性、松耦合以及无图形用户界面代码所带来的新挑战。传统测试方法...

    行业分类-设备装置-一种基于SOA的应用系统平台架构的系统及设计方法.zip

    标题中的“行业分类-设备装置-一种基于SOA的应用系统平台架构的系统及设计方法”表明,这个压缩包文件包含了关于设备装置行业的信息技术应用,特别是使用面向服务架构(Service-Oriented Architecture,简称SOA)...

    some-hints-on-how-to-encure-deadlock-in-SOA-and-Cloud-Computing

    根据提供的文件信息,本文将对“如何在SOA及云计算环境中预防死锁”这一主题进行深入探讨,并结合《分布式服务导向架构中的死锁避免》这篇硕士论文中的相关内容,阐述死锁的基本概念、产生的原因以及在服务导向架构...

    dubbo-user-book.rar_SOA_dubbo_dubbo-user-book_分布式

    而Apache Dubbo,作为一个开源的服务治理框架,正是实现SOA理念的重要工具,它专为Java平台设计,旨在简化分布式服务的开发和管理。 Dubbo的核心特性包括服务治理、高性能通信、服务监控和容错机制。首先,服务治理...

    SOAOperation_soa开发_SOA_teamcenter_TeamcenterSOA_

    SOA开发意味着创建、管理和维护这些服务,以支持业务流程并提高系统集成的灵活性。 描述中提到的"Teamcenter软件SOA服务端开发,封装很多方法的工具类(创建item、folder,查询属性等)",这表明在Teamcenter中,...

    HXZNKJ-ISMS-A-30信息安全适用性声明soa(1)[定义].pdf

    HXZNKJ-ISMS-A-30信息安全适用性声明soa(1)[定义].pdf

    U9SOA开发流程体系.pdf

    ### U9SOA开发流程体系知识点详解 #### 一、U9SOA概念与特点 - **U9SOA**:U9SOA是用友软件针对企业级应用提出的一种面向服务的架构(Service-Oriented Architecture)开发体系。该体系旨在通过模块化和服务化的...

    AWS Certified SysOps Administrator – Associate (SOA-C02) 考试指南

    AWS Certified SysOps Administrator – Associate (SOA-C02) 考试指南

    解读SOA :SOA实践方法论

    解读SOA Interpret SOA SOA越来越被企业接受,很多公司都准备规划SOA。但具体怎么上,没有一套很好的方法论是不行的。资料是IBM在长期的摸索中总结的一套SOMA方法论,由于是内部培训资料,所以比较难得。 内容 ...

    AWS SysOps Administrator(SOA-C02)认证考试资料整理中文-系列一

    AWS SysOps Administrator(SOA-C02)认证考试是AWS提供的一种认证考试,旨在考察候选人的云计算知识和技能,特别是在AWS云平台上的系统运维和管理能力。以下是该考试的一些重要知识点和概念: CloudWatch Cloud...

    SOA 概述-中文版

    SOA是一种软件设计和集成的架构风格,其核心思想是将复杂的业务逻辑拆分为独立、可重用的服务,这些服务通过标准接口进行交互,以实现灵活的系统集成和业务流程编排。在SOA中,服务是业务功能的抽象,它们可以跨组织...

    TeamCenter SOA开发基础

    TeamCenter二次开发,SOA开发基础知识,适用于新手学习。

    基于SOA中间件的应用开发平台在中国落地

    在此背景下,基于SOA方法论的中间件或平台产品应运而生,为解决企业需求调整、系统整合、业务梳理及功能优化等问题提供了新的思路与工具。 #### 业务驱动与敏捷应用:SOA视角下的企业信息化转型 相较于传统IT架构...

    下一代软件架构--SOA.doc

    面向服务架构(Service-Oriented Architecture,简称SOA)是一种软件设计和开发的策略,旨在构建灵活、可重用的服务集合,以支持企业的商业流程。SOA的核心思想是将业务功能分解为独立的服务,这些服务可以通过标准...

    Laravel开发-soa-sentinel

    【Laravel开发与SOA架构】 在现代软件开发中,Laravel作为一个强大的PHP框架,以其优雅的语法和丰富的生态系统,成为构建Web应用的首选工具。SOA(Service-Oriented Architecture,面向服务架构)则是一种设计模式...

    sap的soa开发白皮书

    ### SAP的SOA开发白皮书关键知识点解析 #### 一、引言 SAP的SOA(Service-Oriented Architecture)开发白皮书是一份综合性的指导手册,旨在为开发者提供一套完整的SOA开发流程指南。该文档基于客户及SAP的最佳实践...

    SOA开发环境安装

    ### SOA 开发环境安装详解 #### 一、概述 在现代企业级应用开发中,服务导向架构(Service-Oriented Architecture,简称 SOA)已成为一种重要的开发模式。通过将业务功能实现为服务,可以更好地实现系统之间的集成...

Global site tag (gtag.js) - Google Analytics