??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲日本中文字幕区,亚洲XX00视频,777亚洲精品乱码久久久久久http://www.tkk7.com/libin2722/category/27239.htmlLuckyStarzh-cnSat, 10 Nov 2007 21:03:24 GMTSat, 10 Nov 2007 21:03:24 GMT60SOA概念与基http://www.tkk7.com/libin2722/articles/159554.htmlC物C物Sat, 10 Nov 2007 07:16:00 GMThttp://www.tkk7.com/libin2722/articles/159554.htmlhttp://www.tkk7.com/libin2722/comments/159554.htmlhttp://www.tkk7.com/libin2722/articles/159554.html#Feedback0http://www.tkk7.com/libin2722/comments/commentRss/159554.htmlhttp://www.tkk7.com/libin2722/services/trackbacks/159554.htmlSOA (service-oriented architecture)Q面向服务的架构Q恐怕是q一D|间以来最热门的话题之一。在2004q中国Y件业评出?0大热点名词中QSOA名列榜首。ZapThink调研公司在最q发表的一份报告中也预,?006q_ZSOA架构的中间g产品成为网l化商业pȝ的主要设计思\。Gartner集团的分析师也指出,今年QSOA架构下的中间件品将q入L应用之中。Gartner q预aQ?#8220;C 2008 q_臛_ 60% 的企业将使用 SOA 作ؓ创徏d苛刻的应用程序和q程?#8216;指导原则’”?

本组报道讨论SOA的基本概念和基本架构特点Q主要包括以下几文章:


1、认清SOA的本来面?

2、SOA应用pȝM框架及相x?

3、实现SOA的相x?

4、SOA的不?

      

认清SOA的本来面?/font>

 



SOA架构是一场革命,其实质就是将pȝ模型与系l实现分R?

软g业从最初的面向q程、面向对象,到后来的面向lg、面向集成,直到现在的面向服务,走过了一条螺旋上升的曲线。其实,自从上世U?0q代提出“软g危机”Q诞生Y件工E学U以来,软g业ؓ了彻底摆pY件系l开发惔潭,一直也没有攑ּ努力?

在经典Y件工E理ZQ不是瀑布Ҏq是原型ҎQ都是从需求分析做P一步一步构v形Ş色色的Y件系l。但是,需求变更像一个挥之不ȝ阴媄Q时M随着pȝ左右。每一个实际应用系l的开发者都饱尝了在pȝq入开发阶Dc测试阶D,甚至上线阶段遭遇应接不暇的需求变更的极端痛苦。客户将变更的需求视为bug(错误Q,也是试上现阶段的主要问题?

如何解决q一问题Q能否来一Y件开发和架构的革命?SOA架构的提出,是被h看成q样的一场革命。其实质是要将pȝ模型与系l实现分割开来?

1Q定?

SOAq不是一个新概念Q有人就CORBA和DCOM{组件模型看成SOA架构的前w。早?996q_Gartner Group已l提ZSOA的预a。不q那个时候仅仅是一?#8220;预言”Q当时的软g发展水^和信息化E度q不以支撑q样的概念走q实质性应用阶Dc到了近一两年QSOA的技术实现手D|渐成熟了。在BEA、HP{Y件巨头的极力推动下,才得以慢慢风行v来。Gartner为SOA描述的愿景目标是实现实时企业QReal-Time EnterpriseQ?

关于SOAQ目前尚未有一个统一的、业界广泛接受的定义。一般认为:SOAQ面向服务的架构是一个组件模型,它将应用E序的不同功能单元——服务(serviceQ,通过服务间定义良好的接口和契U(contractQ联pv来。接口采用中立的方式定义Q独立于具体实现服务的硬件^台、操作系l和~程语言Q得构建在q样的系l中的服务可以用统一和标准的方式q行通信。这U具有中立接口的定义Q没有强制绑定到特定的实CQ的特征被称为服务之间的松耦合?

从这个定义中Q我们看C面两点:

?它是一UY件系l架构?SOA不是一U语aQ也不是一U具体的技术,更不是一U品,而是一UY件系l架构。它试l出在特定环境下推荐采用的一U架构,从这个角度上来说Q它其实更像一U架构模?Pattern)Q是一U理忉|构,是h们面向应用服务的解决Ҏ框架?

?服务QserviceQ是整个SOA实现的核心。SOA架构的基本元素是服务QSOA 指定一l实体(服务提供者、服务消费者、服务注册表、服务条ƾ、服务代理和服务契约Q,q些实体详细说明了如何提供和消费服务。遵?SOA 观点的系l必要有服务,q些服务是可互操作的、独立的、模块化的、位|明的、松耦合的,q且可以通过|络查找其地址?

2QSOA三种角色的关p?

?是W3Cl出的SOA模型中三U不同角色的关系C意图。其中:

服务是一个自包含的、无状态(statelessQ的实体Q可以由多个lgl成。它通过事先定义的界面响应服务请求。它也可以执行诸如编辑和处理事务QtransactionQ等L性Q务。服务本wƈ不依赖于其他函数和过E的状态。用什么技术实现服务,q不在其定义中加以限制?

服务提供者(service providerQ提供符合契U(contractQ的服务Qƈ它们发布到服务代理?

服务h者(service consumerQ也叫服务用者,它发现ƈ调用其他的Y件服务来提供商业解决Ҏ。从概念上来_SOA 本质上是网l、传输协议和安全l节留给特定的实现来处理。服务请求者通常UCؓ客户端,但是Q也可以是终端用户应用程序或别的服务?

服务代理者(service brokerQ作为储存库、电话黄|据交换所Q生由服务提供者发布的软g接口?

q三U?SOA 参与者:服务提供者、服务代理者以及服务请求者通过3个基本操作:发布QpublishQ、查找(findQ、绑定(bindQ相互作用。服务提供者向服务代理者发布服务。服务请求者通过服务代理者查找所需的服务,q绑定到q些服务上。服务提供者和服务h者之间可以交互?

所谓服务的无状态,是指服务不依赖于M事先讑֮的条Ӟ是状态无关的Qstate-freeQ。在SOA架构中,一个服务不会依赖于其他服务的状态?它们从客L接受服务h。因为服务是无状态的Q它们可以被~排(orchestrated)和序列化QsequencedQ成多个序列 (有时q采用流水线机制) Q以执行商业逻辑。编排指的是序列化服务ƈ提供数据处理逻辑。但不包括数据的展现功能?

3QSOA的特?

Z上面的讨论,我们l出SOA的下面一些特征:

?服务的封装(encapsulationQ。将服务装成用于业务流E的可重用组件的应用E序函数。它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变。封装隐藏了复杂性。服务的API保持不变Q得用戯d体实施上的变更?

?服务的重用(reuseQ。服务的可重用性设计显著地降低了成本。ؓ了实现可重用性,服务只工作在特定处理q程的上下文QcontextQ中Q独立于底层实现和客户需求的变更?

?服务的互操作(interoperability)。互操作q不是一个新概念。在CORBA、DCOM、web service中就已经采用互操作技术。在SOA中,通过服务之间既定的通信协议q行互操作。主要有同步和异步两U通信机制。SOA提供服务的互操作Ҏ更有利于其在多U场合被重用?

?服务是自ȝQAutonomousQ功能实体。服务是q件组成的l合模块Q是自包含和模块化的?

SOA非常架构中提供服务的功能实体的完全独立自ȝ能力。传l的lg技术,?NET Remoting、EJB、COM或者CORBAQ都需要有一个宿?Host或者Server)来存攑֒理q些功能实体Q当q些宿主q行l束Ӟq些lg的寿命也随之l束。这样当宿主本n或者其他功能部分出现问题的时候,在该宿主上运行的其他应用服务׃受到影响?

SOA架构中非常强调实体自我管理和恢复能力。常见的用来q行自我恢复的技术,比如事务处理(Transaction)、消息队?Message Queue)冗余部v(Redundant Deployment)和集系l?Cluster)在SOA中都起到臛_重要的作用?

?服务之间的松耦合?Loosly CoupledQ。服务请求者到服务提供者的l定与服务之间应该是松耦合的。这意味着Q服务请求者不知道提供者实现的技术细节,比如E序设计语言、部|^収ͼ{等。服务请求者往往通过消息调用操作Q请求消息和响应Q而不是通过使用 API 和文件格式?

q个松耦合使会话一端的软g可以在不影响另一端的情况下发生改变,前提是消息模式保持不变。在一个极端的情况下,服务提供者可以将以前Z遗留代码Q如COBOLQ的实现完全用基于Java语言的新代码取代Q同时又不对服务h者造成M影响。这U情冉|真实的,只要C码支持相同的通信协议?

?服务是位|透明?location transparencyQ。服务是针对业务需求设计的。需要反映需求的变化Q即所谓敏PagilityQ设计。要想真正实C务与服务的分,必M得服务的设计和部|对用户来说是完全透明的。也是_用户完全不必知道响应自己需求的服务的位|,甚至不必知道具体是哪个服务参与了响应?

4Q三个抽象?

从概念上ԌSOA 中有三个主要的抽象别:

?操作Q代表单个逻辑工作单元QLUWQ的事务。执行操作通常会导致读、写或修改一个或多个持久性数据。SOA 操作可以直接与面向对?(OO) 的方法相比。它们都有特定的l构化接口,q且q回l构化的响应。同Ҏ一P特定操作的执行可能涉及调用附加的操作?

?服务Q代表操作的逻辑分组。服务可以分层,以降低耦合度和复杂性。一个服务的_度QgranularityQ大也与系l的性能息息相关。粒度太,会增加服务间互操作通信的开销Q粒度太大,又会影响服务面对需求变化的敏捷性?

?业务程Qؓ实现特定业务目标而执行的一l长期运行的动作或活动。业务流E通常包括多个业务调用?

在SOA中,业务程包括依据一l业务规则按照有序序列执行的一pd操作。操作的排序、选择和执行称为服务或程~排。典型的情况是调用已~排服务来响应业务事件。从建模的观Ҏ看,由此带来的挑战是如何描述设计良好的操作、服务和程抽象的特征,以及如何pȝ地构造它们。这些涉及服务徏模、特征抽取的问题已经成ؓ现阶Dh们关注的焦点?

SOA应用pȝM框架及相x?/font>





看到SOA的一堆名词,读者可能会感到qhQ有必要l合实际的应用环境进一步阐释SOA的相xc?

M框架

?所C的是一个SOA应用pȝ的大体框架结构。它大体上可以分Z个部分:

?展现层(presentationQ:??区,通过portal{技术徏立展现^収ͼ方便用户在这个界面上提出服务h?

?业务处理建模Qbusiness process modelingQ:?中的4区,SOA元模型从MDA中承了q_无关模型来对业务处理q程建模。这一部分独立于服务设计和部v层。模型驱动架构MDAQModel Driven ArchitectureQ的主要~陷是在模型设计阶段对需求有完整的描qͼ而且没有需求变更的反馈机制。SOA通过d敏捷ҎAM来应寚w求变更的情况?

?服务?Services): ?中的3区,整个SOA的核心层Q它承上启下Q对上响应业务模型,对下调用相关lg完成业务需?形成“业务驱动服务、服务驱动技?#8221;的SOA事务处理格局。服务可以根据粒度分层。虽然细_度提供了更多的灉|性,但同时也意味着交互的模式可能更为复杂。粗_度降低了交互复杂性,但敏h却下降?

?企业lg层(enterprise componentsQ:?中的2区,q里是相关组件发挥作用的场所。这些组件是q_相关的。因为到了这一层,许多底层软硬件^台的Ҏ已l不再透明了?

?pȝ软g?Operational System):?中的1区,q一层包括操作系l、数据库理pȝ、CRM、ERP、商业智?BI){异构系l,是一个集成的q_?

除此之外Q诸如QoS、安全性等(???也是SOA架构的组成部分?

在上面的介绍中,自上而下有一条线Q如?所C,׃务徏模开始,通过定义业务q程Q得到服务模型,它是q_无关的,实现了模型与实现的分R再通过设计lg,得到q_相关的组件模型?

实施原则

Jason Bloomberg在其《Principles of SOA》中指出QSOA的实践必遵循以下原则:

?业务驱动服务Q服务驱动技术。从本质上说Q在抽象层次上,服务位于业务和技术中间。面向服务的架构设计师一斚w必须理解在业务需求和可以提供的服务之间的动态关p?另一斚wQ同栯理解服务与提供这些服务的底层技术之间的关系?

?业务敏捷是基本的业务需求。SOA考虑的是下一个抽象层ơ:提供响应变化需求的能力是新?#8220;元需?#8221;Q而不是处理一些业务上的固定不变的需求。从gpȝ以上的整个架构都必须满业务敏捷的需求,因ؓQ在SOA中Q何的瓉都会影响到整个IT环境的灵zL?

?一个成功的SOAd变化之中。SOA工作的场景,更像是一个活的生物体Q而不是像传统所说的“盖一栋房?#8221;。IT环境惟一不变的就是变化,因此面向服务架构设计师的工作永远不会l束。对于习惯于盖房子的设计师来_要{向设计一个活的生物体要求有崭新的思维方式。SOA的基q是一些类似的架构准则?

与其他概늚关系

1. SOA与Web Services的关p?

SOA构架是独立于技术实现的。SOAq不必用Web Services来实玎ͼ相反QWeb Services也ƈ不一定遵循SOA标准?

不过QWeb Services的特性十分适合用来实现SOA架构。Web Services 之间能够交换带结构的文档Q比如XMLQ,q些文档可能包含完全异构的数据信息。这些文档可以同旉带关于数据的数据Q元数据QmetadataQ。换句话_Web Services可以有较_的_度Q这栯_的_度正好可以构成SOA中服务的_度?

说到底,两者是怺的圆QSOA服务和Web Services之间的区别还在于设计。SOA概念q没有确切地定义服务具体如何交互Q而仅仅定义了服务如何怺理解。其中的区别也就是定义如何执行流E的战略与如何执行流E的战术之间的区别。而另一斚wQWeb Services在需要交互的服务之间如何传递消息有具体的指导原则;从战术上实现SOA模型是通过 HTTP传递的SOAP消息中最常见的SOA模型。因而,从本质上ԌWeb Services是实?SOA的具体方式之一?

2. SOA中的服务与组件对象(Components ObjectsQ的关系

怼之处在于Q都有一个或多个接口Qƈ且,服务发布者和使用者都遵守q些接口?

不同之处在于QSOA是关于模式(schemasQ的Q组件对象是关于对象cdQobject typesQ的QSOA通过像SOAPq样的标准消息机ӞmessagesQ来实现通信Q而组件对象通过Ҏ调用Qmethod callsQ来交互。与CORBA 中的接口定义语言IDL (Interface Definition Language)相比QSOA 在WSDL (Web Services Definition Language) 中采用XMLQ会昑־更加普遍和通用?

联系之处在于Q服务最l还是通过cdlg对象来实现的?

SOA被认为是传统紧耦合的、面向对象的模型的替代者。像通用对象代理架构CORBA (Common Object Request Broker Architecture)和分布式lg对象模型DCOM (Distributed Component Object Model)。在SOA 中,单个服务可以用面向对象方法来设计Q但是,整个SOA的设计却是面向服务的。下面的表格中给ZSOA与分布式lg架构的不同点?

3. SOA与网D(Grid ComputingQ的关系

|格计算QGrid ComputingQ是利用互联|技术,把分散在不同地理位置的计机l成一台虚拟超U计机。每一台参与的计算机就是其中的一?#8220;节点”Q所有的计算机就l成了一张节点网——网根{从实质上来?#8220;|格计算”是一U分布式应用Q网g的每一台计机只是完成工作的一个小部分Q虽然单台计机的运能力有限,但成千上万台计算机组合v来的计算能力可以和计算机相比了?

|格计算Z因特|,提供了资源整合和׃n的^台。十分适合作ؓSOA架构的实施^台?

我们来具体地看一下:

SOA 的构建策略:创徏一个面向服务的计算SOCQservice-based computingQ环境;可以用类gweb services的技术来设计服务Q用SOAP通信机制Q采用XML数据格式Q强调服务的重用和互操作Q最大化的应用现有资源;希望有一个类g|格计算环境的基q_?

|格作ؓq_的基本特点:|格被视Z个由各种计算资源l成的统一环境Q其理软g网格整合成一个完整而协调的透明计算整体Q网格是一个虚拟的应用服务?是一个应用实现和数据处理的理惛_^収ͼ服务在网g部v和调用执行;商业逻辑和服务调用被当成|格E序一样在q_上运行;|格为SOC计算的有效性、快速性、灵zL、׾~性和计算环境的管理提供便利?

SOA带给企业什么?

作ؓ需要构建SOA应用的企业来_I竟有些什么好处呢Q我们来看一下:

?集成现有pȝQ不必另L灶。面向服务的体系l构可以Z现有的系l投资来发展Q而不需要彻底重新创建系l。通过使用适当?SOA 框架q其用于整个企业,可以业务服务构造成现有lg的集合。用这U新的服务只需要知道它的接口和名称。服务的内部l节以及在组成服务的lg之间传送的数据的复杂性都对外界隐藏了。这U组件的匿名性ɾl织能够利用现有的投资,从而可以通过合ƈ构徏在不同的机器上、运行在不同的操作系l中、用不同的编E语a开发的lg来创建服务。遗留系l可以通过 Web 服务接口来封装和讉K?

?服务设计松耦合Q?带来多方面优炏V服务是位置透明的,服务不必与特定的pȝ和特定的|络相连接。服务是协议独立的,服务间的通信框架使得服务重用成ؓ可能。对于业务需求变化,SOA能够方便l合松耦合的服务,以提供更Z质和快速的响应Q允许服务用者自动发现和q接可用的服务。松耦合pȝ架构使得服务更容易被应用所集成Q或l成其他服务Q同时提供了良好的应用开发、运行时服务部属和服务管理能力。提供对服务使用者的验证QauthenticationQ?授权QauthorizationQ,来加强安全性保障,q一点也优于其他紧耦合架构?

?l一了业务架构,可扩展性增强。在所有不同的企业应用E序之间Q基架构的开发和部v变得更加一致。现有的lg、新开发的lg和从厂商购买的组件可以合q在一个定义良好的 SOA 框架内。这Llg集合被作ؓ服务部v在现有的基础构架中,从而得可以更多地基架构作ؓ一U商品化元素来加以考虑Q增Z可扩展性。又׃面向服务的敏捯计,在应对业务变更时Q有了更强的“容变?#8221;?

?加快了开发速度Q减了开发成本。组l的 Web 服务库将成ؓ采用 SOA 框架的组l的核心资。用这?Web 服务库来构徏和部|服务将显著地加快品的上市速度Q因为对现有服务和组件的新的创造性重用羃短了设计、开发、测试和部v产品的时间?SOA 减少了开发成本,提高了开发h员的工作效率?

研究表明Q一般系l的接口的开发费用占到整个开发费用的33%Q最高的竟达C70%。在SOA中,接口的重用会节省费用60%。而且节省的费用不是一ơ性的Q而是每年。随着业务需求的发展和新的需求的引入Q通过采用 SOA 框架和服务库Qؓ现有的和新的应用E序增强和创建新的服务的成本大大地减了。同P开发团队的学习隑ֺ也降低了Q因Z们可能已l熟悉了现有的组件?

?持箋改进业务q程Q降低激变风险。SOA允许清晰地表C流E流Q这些流E流通过在特定业务服务中使用的组件的序来标识。这l商业用h供了监视业务操作的理想环境。业务徏模反映在业务服务中。流E操U|以一定的模式重组部gQ构成业务服务的lgQ来实现的。这进一步允许更ҎE流Q而同时监视生的l果Q因此促q了持箋改进。重用现有的lg降低了在增强或创建新的业务服务过E中带来的风险,也减了l护和管理支持服务基架构的风险?


实现SOA的相x?/font>





?是一张SOA技术实施的C意图,其中涉及的主要技术包括以下几个:

1QXML

XML 1.0 (可扩展标记语aQExtensible Markup Language) 标准是一个基于文本的 World Wide Web l织 (W3C) 规范的标记语a。与 HTML 使用标签来描q外观和数据不同QXML 严格地定义了可移植的l构化数据。它可以作ؓ定义数据描述语言的语aQ如标记语法或词汇、交换格式和通信协议?

2QSOAP

单对象访问协?(Simple Object Access Protocol) 是一个基于XML的,用于在分布式环境下交换信息的轻量U协议。SOAP 在请求者和提供者对象之间定义了一个通信协议Q这P在面向对象编E流行的环境中,该请求对象可以在提供的对象上执行q程Ҏ调用。因为SOAP是^台无兛_厂商无关的标准,因此管SOAq不必须使用SOAPQ但在带有单?IT基础架构的合作伙伴之间的松耦合互操作中QSOAP仍然是支持服务调用的最好方法?

W3C SOAP 1.2规范在服务请求者和服务提供者之间定义用XML格式的消息进行通信。将应用E序hQ在XML中)攑օ SOAP 信封中(也是 XML Q,q从h者到提供者发送应用程序请求,提供者发回的响应也采用相同的形式。最q?SOAP 被称为面向服务的架构协议 (Services-Oriented Architecture Protocol)?

SOAP的优点在于它完全和厂商无养I相对于^台、操作系l、目标模型和~程语言可以独立实现。另外,传输和语al定以及数据~码的参数选择都是由实现决定的?

3QWSDL

Web服务描述语言 WSDL (Web Services Description Language) 是一个提供描q服务IDL标准Ҏ的XML词汇。Web 服务描述语言QWSDLQ规范定义了一?XML词汇表,该词汇表依照h和响应消息,在服务请求者和服务提供者之间定义了一U契U。我们能够将Web服务定义YӞq个软g通过描述SOAP消息接口?WSDL文档来提供可重用的应用程序功能,q用标准的传输协议来进行传递?

WSDL描述包含必要的细?以便服务h者能够用特定服务:

?h消息格式

?响应消息格式

?向何处发送消息?

WSDL 是基?XML 的,因此 WSDL 文档是计机可读的(machine-readableQ。这样开发环境用WSDL集成服务的程自动处理到请求者应用程序。例?WebSphere Studio产生一个Java的代理对象,它能够像本地对象一样实现服务,但是实际上代理对象仅仅处理请求的创徏和响应消息的解析。不服务是否用Java、C#或者其他的语言实现Q生成的Java代理对象都能够从WSDL描述中调用Q何的Web服务。实际上QWSDL不能像编E语a那样描述实现l节?

4QUDDI

l一描述、发现和集成 (Universal Description, Discovery and Integration) 规范提供了一l公用的 SOAP APIQ得服务代理得以实现。UDDI为发布服务的可用性和发现所需服务定义了一个标准接口(Z SOAP 消息Q。UDDI 实现发布和发现服务?SOAP h解释为用于基本数据存储的数据理功能调用?

Z发布和发现其他SOA服务QUDDI 通过定义标准?SOAP 消息来实现服务注册(Service RegistryQ。注册是一U服务代理,它是?UDDI 上需要发现服务的h者和发布服务的提供者之间的中介。一旦请求者决定用特定的服务Q开发者通常借助于开发工P如Microsoft Visual Studio .NETQƈ通过创徏以发送请求ƈ处理响应的方式访问服务的代码来绑定服务?

SOA不需要用UDDIQ但׃ UDDI 是徏立在SOA上来完成自n工作的,所以UDDI是服务发现的一个好的解x案?

5QESB

如图2所C,企业服务ȝESBQEnterprise Service BusQ是SOA架构的一个支柱技术?作ؓ一U消息代理架构它提供消息队列pȝQ用诸如SOAP或JMS (Java Message Service){标准技术来实现?

有h把ESB描述成一U开攄、基于标准的消息机制Q通过单的标准适配器和接口Q来完成_粒度应用(比如服务Q和其他lg之间的互操作?

ESB的主要功能有Q通信和消息处理、服务交互和安全性控制、服务质量和服务U别理、徏模、管理和自治、基架构{?


SOA的不?/font>





作ؓ一个具有发展前景的应用pȝ架构QSOA处在不断发展中Q肯定存在许多有待改q的地方。随着标准和实施技术的不断完善Q这些问题将q刃而解QSOA应用更加广泛?

~憾之一 : 可靠?ReliabilityQ?

SOAq没有完全ؓ事务的最高可靠性——不可否认?nonrepudiation)、消息一定会被传送且仅传送一ơ(once-and-only-once deliveryQ以及事务撤回(rollbackQ——做好准备,不过{标准和实施技术成熟到可以满q一需求的E度q不遥远?

~憾之二 : 安全性(SecurityQ?

在过去,讉K控制只需要登录和验证Q而在SOA环境中,׃一个应用Y件的lg很容易去与属于不同域的其他组件进行对话,所以确保E然不同又怺q接的系l之间的安全性就复杂得多了?

~憾之三:~排 (Orchestration)

l一协调分布式Y件组件以便构建有意义的业务流E是最复杂的,但它同时也最适合面向服务cd的集成,原因很显Ӟ建立在SOA上面的应用Y件被设计成可以按需要拆散、重新组装的服务。作为目前业务流E管理(BPMQ解x案的核心Q编排功能IT理人员能够通过已经部v的套装或自己开发的应用软g的功能,把新的元应用软gQmeta-applicationQ连接v来?事实上,最大的N不是建立模块化的应用软gQ而是改变q些pȝ表示所处理数据的方法?

~憾之四:遗留pȝ处理QLegacy supportQ?

SOA中提供集成遗留系l的适配器, 遗留应用适配器屏蔽了许多专用性API的复杂性和晦ӆ性。一个设计良好的适配器的作用好比是一个设计良好的SOA服务Q它提供了一个抽象层Q把应用基础设施的其余部分与各种手问题隔离开来。一些厂商就专门把遗留应用Y?#8220;语义集成”到基于XML的集成构架中?但是集成遗留pȝ的工作始l是一U挑战?

~憾之五 : 语义 Semantics

定义事务和数据的业务含义Q一直是IT理人员面的最手的问题。语义关pL设计良好SOA架构的核心要素?q前而言Q没有哪一Ҏ术或软g产品能够真正解决语义问题。ؓ针对特定行业和功能的程定义q实施功能和数据模型是一繁重的dQ它最l必ȝ业务和IT理人员共同承担。不q,预制lg和经q实践证明的咨询技能可以简化许多难题?

采用XML技术也许是一个不错的L。许多公司越来越认识到制定本行业XML标准的重要性。譬如,会计行业已提议用可扩展业务报告语aQXBRLQ来描述及审查总̎cd的记录?

重要的是学会如何以服务来表示基本的业务流E。改变开发方式需要文化变q,相比之下Q解x术难题只是一U智力操l?

性能QperformanceQ:SOA的第六个~憾Q?

批评SOA的h士经怼提到性能是阻其采用的一个障,但技术的标准化总需要在速度斚w有一些牺牌Ӏ这U怀疑观炚w常针对两个斚wQSOA的分布性质和Web服务协议的开销?

不可否认QQ何分布式pȝ的执行速度都不如独立式pȝQ这完全是因为网l的制约作用造成的。当Ӟ有些应用软g无法容忍|络引v的gq,例如那些对实时性要求很高的应用软g。所以在应用SOA架构之前Q搞清楚它的适用范围显得很重要了?

除了上述几点之外Q笔者认有两点也颇值得xQ?

松耦合和敏h要求之间的权衡N:

服务松耦合设计其实是一把双刃剑Q在带来应变敏捷性的同时Q也l业务徏模和服务划分带来N。这是Z么在SOA讨论中,业务建模的争论L最多的原因?

跨系l集成难题:

面向服务的体pȝ构设计将跨越计算机系l,q且q可能跨企业边界。我们不得不考虑在?Internet 时安全性功能和需求,以及如何链接伙伴的安全域。Internet 协议q不是ؓ可靠性(有保证的提交和提交的序Q而设计的Q但是我们需要确保消息被提交q被处理一ơ。当q不可能Ӟh者必ȝ道请求ƈ没有被处理?



C物 2007-11-10 15:16 发表评论
]]>
վ֩ģ壺 һһëƬѲ| ߲| ۺһ| AëƬѹۿAVվ| ޹˾þۺ3d | Ůۺһ| 99þ޾ƷѶ| 91avƵ| ̼aƬվ| ҹƵ߹ۿ| һëƬѹۿ| ޾Ʒ͵벻av| þþþùɫavѿ| þþƷҹɫAVվ| һƬƵ| ֻˬ͵ëƬ| ޹պa߲| ëƬŮAPP| ޼Ƶվ| ձѾƷһ| ˾þۺӰԺ| þù| ޾Ʒþþþþ | ɫվ| aɻ߹ۿ| þùѾƷ| ޾ƷۺҰ| Ƶ߹ۿ | ޾Ʒa vС˵| ޼ƵͼƬ| ߹ۿΪƵ| ޹ŷۺһ| ҹһƵ| 鵺̳߹ۿ| ߹ۿĻɫַ| ʮ˽Ļվ| þþƷ޾Ʒ| Ʒվ| ޾ƷƷ벻99| 9ᆱƷƵ| ޹˳վߵӰ |