【详细讲述中国茶叶的分类】详细讲述SOA的发展历史与标准规范

JAVA认证交流指导 2021-07-10 网络整理 可可

【shitiku.jxxyjl.com--JAVA认证交流指导】

        1. soa发展回顾

    soa的概念最初由gartner公司提出,由于当时的技术水平和市场环境尚不具备真正实施soa的条件,因此当时soa并未引起人们的广泛关注,soa在当时沉寂了一段时间。伴随着互联网的浪潮,越来越多的企业将业务转移到互联网领域,带动了电子商务的蓬勃发展。为了能够将公司的业务打包成独立的、具有很强伸缩性的基于互联网的服务,人们提出了web服务的概念,这可以说是soa的发端。

    web服务开始流行以后,互联网迅速出现了大量的基于不同平台和语言开发的web服务组件。为了能够有效地对这些为数众多的组件进行管理,人们迫切需要找到一种新的面向服务的分布式web计算架构。该架构要能够使这些由不同组织开发的web服务能够相互学习和交互,保障安全以及兼顾复用性和可管理性。由此,人们重新找回面向服务的架构(service-oriented architecture,soa),并赋予其时代的特征。需求推动技术进步,正是这种强烈的市场需求,使得soa再次成为人们关注的焦点。回顾soa发展历程,我们把其大致分为了三个阶段。下面将分别介绍每个阶段的重要标准和规范。

    1.1 孕育阶段

    这一阶段以xml技术为标志,时间大致从上世纪九十年代末到本世纪初。虽然这段时期很少提到soa,但xml的出现无疑为soa的兴起奠定了稳固的基石。

    可扩展标记语言(extensibl markup language,xml)系w3c所创建,源自流行的标准通用标记语言(standard generalised markup language,sgml),它在上世纪60年代后期就已存在。这种广泛使用的元语言,允许组织定义文档的元数据,实现企业内部和企业之间的电子数据交换。由于sgml比较复杂,实施成本很高,因此很长时间里只用于大公司之间,限制了它的推广和普及。

    通过xml,开发人员摆脱了html语言的限制,可以将任何文档转换成xml格式,然后跨越互联网协议传输。借助xml转换语言(extensible stylesheet language transformation,xslt),接受方可以很容易地解析和抽取xml的数据。这使得企业既能够将数据能够以一种统一的格式描述和交换,同时又不必负担sgml那样高的成本。事实上,xml实施成本几乎和html一样。

    xml是soa的基石。xml规定了服务之间以及服务内部数据交换的格式和结构。xsd schemas 保障了消息数据的完整性和有效性,而xslt使得不同的数据表达能沟通过schema映射而互相通信。

    1.2 发轫之初

    2000年以后,人们普遍认识到基于公共——专有互联网之上的电子商务具有极大的发展潜力,因此需要创建一套全新的基于互联网的开放通信框架,以满足企业对电子商务中各分立系统之间通信的要求。于是,人们提出了web服务的概念,希望通过将企业对外服务封装为基于统一标准的web服务,实现异构系统之间的简单交互。这一时期,出现了三个著名的web服务标准和规范:

? 简单对象访问协议(simple object access protocal,soap)
? web服务描述语言(web services description language,wsdl)
? 通用服务发现和集成协议(universal discovery description and integration,uudi)

    这三个标准可谓web服务三剑客,极大地推动了web服务的普及和发展。短短几年之间,互联网上出现了大量的web服务,越来越多的网站和公司将其对外服务或业务接口封装成web服务,有力地推动了电子商务和互联网的发展。web服务也是互联网web 2.0时代的一项重要特征。

    1.3 成长阶段

    从2005年开始,soa推广和普及工作开始加速。不仅专家学者,几乎所有关心软件
行业发展的人士都开始把目光投向soa。一时间,soa频频出现在各种技术媒体、新产品发布会和技术交流会上。

    各大厂商也逐渐放弃成见,通过建立厂商间的协作组织共同努力制定中立的soa标准。这一努力最重要的成果体现在3个重量级规范上:sca/sdo/ws-policy。sca和sdo构成了soa编程模型的基础,而ws-policy建立了soa组件之间安全交互的规范。这三个规范的发布,标志着soa进入了实施阶段。

    从整体架构角度看,人们已经把关注点从简单的web服务拓展到面向服务体系架构的各个方面,包括安全、业务流程和事务处理等。 
    2. 标准与规范

    2.1 标准与规范的区别

    大多数人习惯上把“标准”与“规范”这两个术语交替使用,这样做基本没有问题。但严格地讲,二者还是有一定差异的。规范是标准的建议文档。这就意味着,标准一般是由业界公认的标准化组织制定和发布。而规范要灵活的多,多为厂商或非标准化组织发布。事实上,很多规范并不是标准,比如sdo和sca,而是由某些厂商或厂商联盟制定发布。但是凭借这些厂商强大的市场地位,这些规范往往会成为事实上的标准。

    我们大体上可以把soa标准分为xml标准集、web服务标准集和soa参考模型,下面我将分别介绍,为叙述方便,不再严格区分标准和规范,统一称作标准。

    2.2 xml标准集

    2001年10月,w3c发布了xml信息集(xml information set,xml infoset)。
infoset是一个抽象的数据模型,它兼容基于文本的xml 1.0,也是所有最新xml规范(xml schema、xml query和xslt 2.0)的基础。由于web服务架构是以xml infoset为基础,而不是以某一特定的表现形式为基础,使得该架构及其核心协议组件可与各种编码技术兼容。

    除了基于纯文本的infoset编码技术以外,web服务架构还需要支持另外一种编码技术——即允许不透明的二进制数据与传统的基于文本的标记交织在一起。由于xml infoset仅支持基于文本的xml,w3c于2005年初发布了xml二进制优化封装协议(xml-binary optimized packaging,xop)。xop格式使用mime将原始二进制数据引入到xml 1.0文档中,而不采用base64编码。通过其配套规范——soap 消息(transmission optimization method,mtom)实现将二进制xop格式绑定到soap。xop和mtom是将原始二进制数据与基于文本的xml混合在一起的首选方法,它们取代了目前普遍遭到反对的soap with attachments(swa)和ws-attachments/dime。

    2.3 web服务标准集

    经过几年的努力,web服务标准集已经初具规模,内容涵盖传输层、消息机制、编程模型、服务发现和描述、可靠性、事务处理、安全和管理等方面。尽管其中部分内容还处于规范级别,但由于受到广泛的关注和支持,成为正式标准只是时间上的问题。

        2.4 soa参考模型

    soa参考模型由结构化信息标准促进组织制定和发布。事实上,它并不是一个标准,而是soa架构的一个抽象框架,统一了soa相关术语用法并且定义了这些术语的涵义,同时还明确定义了soa各组件之间的关系。soa架构师或系统设计人员可以根据这个模型指导自己的soa实践,下图说明了soa参考模型与soa实践之间的关系。

        从上图可以看出,参考模型位于抽象级别的顶部,也就是说参考模型提供了soa实现的抽象基础。每个soa架构设计者都要考虑参考架构、模式、模型以及由参考架构派生出的概念架构,审慎思考实际环境(需求、动机和目标等)对实现架构的影响,同时利用已有的标准和协议,这样就形成了一个比较完整的soa设计方法论。总而言之,soa参考模型使得我们能够系统地考虑soa架构的实现,并给出最基本的概念和设计模式。

   3. 标准化组织对标准的贡献

    3.1结构化信息标准促进组织(organization for the advancement of structured information standards,oasis)

    oasis是一个非赢利的国际协会,致力于电子商务相关标准的制定和推广,也是目前制定web服务标准最多的一个组织。除了制定通用的电子商务、web服务和安全标准之外,oasis还制定了很多针对行业的电子标准。oasis理事会成员几乎全部来自微软、ibm、bea system、oracle、sun、sap ag、诺基亚等业界大公司。

    oasis为soa专门成立了六个技术委员会(technical committees),分别负责制定电子商务、web service开发和部署、服务质量以及面向服务架构等方面的标准。

    3.2 开放soa合作组织(open soa collaboration,osoa)

    osoa是一个非正式的厂商联盟,使得各厂商能够共同开发一个语言中立的编程模型。该编程模型帮助企业软件开发人员能够最大限度的发挥soa架构的特性和优势。目前加入osoa的厂商包括ibm、bea、sap、oracle等。尽管osoa不是一个标准化组织,但由于有ibm、bea等业界厂商的支持,它制定的规范很可能会成为事实上的标准。因此,我们可以把它看作一个准标准化组织。osoa成立了两个项目组,分别负责制定sca和sdo规范。

    3.3万维网联盟(world wide web consortium,w3c)

    w3c成立于1994年,主要负责制定web相关标准和规范,比如html、css等。w3c专门成立了web服务专区,下辖六个工作组,负责制定web服务相关的标准。w3c对web服务的发展可谓功不可没,像非常著名的soap和wsdl皆出自于w3c。

    3.4 web服务互操作组织(web services interoperability organization,ws-i)

    ws-i是一个开放的厂商联盟,鼓励任何对web服务有兴趣的厂商加盟并贡献自己的力量。 它主要致力于提升web服务基于平台、操作系统和编程语言中立的互操作能力,其成员几乎覆盖了所有重量级厂商,如ibm、微软、sun、oracle和bea等。

    3.5 互联网工程任务组(internet engineering task force,ietf)

    the ietf(因特网工程工作小组)是定义标准因特网操作协议(像tcp/ip)的团体,ietf接受国际互联网协会internet架构委员会(internet architecture board,iab)的监督管理。ietf的成员分别来自于互联网协会的个人或者组织成员。

    4.厂商之间的博弈

    谁控制了标准,谁就控制了游戏规则,就能够在未来的软件行业立于不败之地。因此,几乎当前所有的主要工具供应商和平台提供商都参与了soa标准的制定,包括微软、ibm、bea、oracle、sun、sap ag、诺基亚、iona、xcalia、zend 、sonic software。

    表面上,标准化组织都声称自己独立于任何厂商,强调其独立性和自主性。但如果观察这些组织理事会的成员构成,就会发现大部分成员都来自上面提到的业界寡头,来自欧美发达国家,可以说是“大国俱乐部”和“大厂俱乐部”。

    在参与制定标准的同时,各大厂还开始并购优秀的行业soa解决方案提供商,积累针对特定行业标准的实施经验,以期获取竞争优势。2006年8月,ibm宣布成功收购了一家专门提供面向行业的 soa软件与服务的私有企业——webify解决方案公司。webify公司专注于提供帮助企业加速开发和部署应用的软件产品,以及数以百计的针对特定行业的基于标准的预置加速器、工具和框架,用于解决特定行业的业务问题,如帮助医疗保健行业符合《健康保险便携性及责任性法案》(hipaa)的要求、帮助保险行业满足《国际保险业数据标准》(acord)等。此次收购将进一步增强ibm在soa领域的领导地位。 webify在语义方面的专业技术与ibm在开放标准开发利用丰富经验的结合,能够更好地解决特定垂直行业的常见业务问题。

    5.标准的发展趋势

    2007年将有三个重量级的标准问世,它们目前都属于规范级别。它们就是sca、sdo、ws-policy。sca和sdo构成了soa组件开发的核心,而ws-policy则成为soa组件间安全通讯的标准,其作用类似于安全套接层在浏览器与服务器通讯中的重用。事实上,ws-policy的基本原理与ssl是一致的。

    今后标准开发将具有一个共同的特点,就是标准与soa架构的协调性。也就是说,无论是已有的标准还是正在开发的标准,都必须符合soa架构的要求,同时要考虑单个标准与其它soa标准之间的协调一致。

    2007年将会有许多soa的规范升级为标准。sca和sdo计划于2007年由oasis审核通过,而ws-policy也将于2007年8月正式成为w3c标准。

    基于市场的强劲需求,各标准化组织将继续加大在制定soa相关标准上的投入力度,标准的制定和发布周期将大大缩短。比如对ws-policy,w3c制定了精密的时间表。目前ws-policy的发布时间表是这样安排的,2007年3月发布候选推荐版本(candidate recommendation drafts),2007年7月发布提议推荐版本(proposed recommendation drafts),2007年8月发布w3c推荐版本(w3c recommendations)。w3c历来以严谨和审慎著称,发布一个标准平均需要3至5年的时间。但就ws-policy而言,从2006年4月 ibm和微软公司将ws-policy规范提交给w3c算起,按照目前的时间表,整个标准发布周期仅为16个月。

本文来源:https://shitiku.jxxyjl.com/javarenzhengjiaoliuzhidao/6247.html

  • 【我的安全经验谈】经验谈:我学习使用java的一点体会

    2002年初,因为公司的业务需要而学习java,并应用java开发项目。由于项目时间紧,没有充裕的时间系统学习java,对java的学习只能是项目需要用什么,就学什么,这种学习方法的上手快,但不扎实,在以后的工作中,因为java学的不扎实,吃了不少苦头。现在我学习应用java已经有一...

    发布于:2021-07-10

    详细阅读
  • 【j2ee学习路线】J2EE建议的学习路线

    网络上、书店都提供了很多资料,很多方式都可以得到j2ee方面的资料。如何系统的、高效的学习j2ee这个问题摆在我们面前。比如, 有些人在看完一大堆书后,动起手来时还是不知道怎么开始。等等这些问题是我们最难处理的。如何寻找到一条很好的方式方法呢?   其实, 换一个角度来看,比如,学英...

    发布于:2021-07-10

    详细阅读
  • 【eclipse osgi环境搭建】基于OSGi搭建动态化的系统

    搭建动态化的系统是作为java开发人员一直就非常追求的目标,一个系统能够动态化就意味着:★ 添加新功能时不需要重启系统;★ 修改已存在的功能时不需要重启系统;★ 删除一些不需要的功能时不需要重启系统;★ 修改系统中的配置时可以不需要重启系统即刻生效;★ 系统的业务行为可动态的改变。...

    发布于:2021-07-10

    详细阅读
  • java语言初学者书籍_对于初学者学习Java语言的建议

    初学者的任务是掌握java的语言规则和养成良好的编程习惯,其次才谈到对类库使用的熟练程度,再其次是oo思想的掌握与应用,再其次就是design pattern的问题了。   在这里我只想介绍几个对成功完成第一个阶段很有用的资料。   以下按照循序渐进的顺序进行:   1 the ja...

    发布于:2021-07-09

    详细阅读
  • 在java中_java中LinkedList集合类实现栈和队列

    栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表。 linkedlist数据结构是一种双向的链式结构,每一个对象除了数据本身外,还有两个引用,分别指向前一个元素和后一个元素,和数组的顺序存储结构(如:arr...

    发布于:2021-07-09

    详细阅读
  • [苹果授权店sun]Sun授权ASEC-Java培训中心名录

    北京   中软总公司计算机培训中心   010-62179898     清华大学java培训中心   010-62773618     北京大学java培训中心   010-62755660     神州数码(中国)有限公司(北京)   010-68428888     北京新东方...

    发布于:2021-07-09

    详细阅读
  • 学java的心得_技巧心得:java学习体悟

    java 出现在我们眼前,时间还很短,当他还只是一个半成品的时候,我们就被告知,java将成为软件发展的规范和希望 然后,java出现了,jdk的出现,我们发现其实java并不习惯,因为我们已经适应了window下的visual编程,对于jdk这种编程方法已经很不喜欢,即使visu...

    发布于:2021-07-09

    详细阅读
  • scjp怎么考|考SCJP的失败经历总结

    终于在上个星期六过了scjp,可惜只有69%!还是说说我准备考试的过程吧。  本人没有java的实际开发经验(但有三五年的c++和delphi开发经验,对oop比较熟悉),为了考这试,准备了一个月左右,但之前看了《thinking in java》和《java2核心技术卷1:基础知识》...

    发布于:2021-07-08

    详细阅读
  • java四本圣经_Java行业的圣经-四本最重要的个人藏书

    java行业的圣经 四本最重要的个人藏书,他们的书名都不含java     作者 thomas e davis   译者     摘要     thomas davis 推荐了四本书,它们可以让你在java开发中受益非浅。这些书扩展了java的基本语法和语义,使你能更全面地理解面...

    发布于:2021-07-08

    详细阅读
  • 【走向共和】走向J2EE,漫长的道路

    初次涉及java领域,感觉到java入门是好像没有c,c++入门快,工具也没有什么turbo c,visual c++好用(自己的破机器实在陪不起jbuilder,贪婪的家伙,以后一定要收拾她)。什么java_home,classpath,虚拟机等概念都是初次基础,旁边的人都很少用ja...

    发布于:2021-07-08

    详细阅读

Copyright @ 2011- 考试题库网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计