??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩高清a**址,一区二区三区在线免费,国模一区二区三区白浆 http://www.aygfsteel.com/jie-java/category/15146.htmlzh-cn Mon, 14 May 2007 18:39:58 GMT Mon, 14 May 2007 18:39:58 GMT 60 什么是SOA http://www.aygfsteel.com/jie-java/articles/117261.htmljie_java jie_java Mon, 14 May 2007 02:22:00 GMT http://www.aygfsteel.com/jie-java/articles/117261.html http://www.aygfsteel.com/jie-java/comments/117261.html http://www.aygfsteel.com/jie-java/articles/117261.html#Feedback 0 http://www.aygfsteel.com/jie-java/comments/commentRss/117261.html http://www.aygfsteel.com/jie-java/services/trackbacks/117261.html 面向服务的体pȝ构(service-oriented architectureQSOAQ是一个组件模型,它将应用E序的不同功能单元(UCؓ(f)服务Q通过q些服务之间定义良好的接口和契约联系h。接口是采用中立的方式进行定义的Q它应该独立于实现服务的gq_、操作系l和~程语言。这使得构徏在各U这L(fng)pȝ中的服务可以以一U统一和通用的方式进行交互? q种h中立的接口定义(没有强制l定到特定的实现上)的特征称为服务之间的松耦合。松耦合pȝ的好处有两点Q一Ҏ(gu)它的灉|性,另一Ҏ(gu)Q当l成整个应用E序的每个服务的内部l构和实现逐渐地发生改变时Q它能够l箋存在。而另一斚wQ紧耦合意味着应用E序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某UŞ式的更改Ӟ它们显得非常脆弱? Ҏ(gu)耦合的系l的需要来源于业务应用E序需要根据业务的需要变得更加灵z,以适应不断变化的环境,比如l常改变的政{、业务别、业务重炏V合作伙伴关pR行业地位以?qing)其他与业务有关的因素,q些因素甚至?x)媄响业务的性质。我们称能够灉|地适应环境变化的业务ؓ(f)按需QOn demandQ业务,在按需业务中,一旦需要,可以对完成或执行Q务的方式q行必要的更攏V? 虽然面向服务的体pȝ构不是一个新鲜事物,但它却是更传l的面向对象的模型的替代模型Q面向对象的模型是紧耦合的,已经存在二十多年了。虽然基?SOA 的系lƈ不排除用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑Cpȝ内的对象Q所以虽?SOA 是基于对象的Q但是作Z个整体,它却不是面向对象的。不同之处在于接口本w。SOA pȝ原型的一个典型例子是通用对象h代理体系l构QCommon Object Request Broker ArchitectureQCORBAQ,它已l出现很长时间了Q其定义的概念与 SOA 怼? 然而,现在?SOA 已经有所不同了,因ؓ(f)它依赖于一些更新的q展Q这些进展是以可扩展标记语言QeXtensible Markup LanguageQXMLQؓ(f)基础的。通过使用Z XML 的语aQ称?Web 服务描述语言QWeb Services Definition LanguageQW(xu)SDLQ)来描q接口,服务已经转到更动态且更灵zȝ接口pȝ中,非以?CORBA 中的接口描述语言QInterface Definition LanguageQIDLQ可比了? Web 服务q不是实?SOA 的惟一方式。前面刚讲的 CORBA 是另一U方式,q样有了面向消息的中间ӞMessage-Oriented MiddlewareQ系l,比如 IBM ?MQseries。但是ؓ(f)了徏立体pȝ构模型,(zhn)所需要的q不只是服务描述。?zhn)需要定义整个应用程序如何在服务之间执行其工作流。?zhn)其需要找C务的操作和业务中所使用的Y件的操作之间的{换点。因此,SOA 应该能够业务的商业程与它们的技术流E联pv来,q且映射q两者之间的关系。例如,l供应商付款的操作是商业程Q而更新?zhn)的零件数据库Q以包括q新供应的货物却是技术流E。因而,工作还可以?SOA 的设计中扮演重要的角艌Ӏ? 此外Q动态业务的工作不仅可以包括部门之间的操作Q甚臌可以包括与不为?zhn)控制的外部合作伙伴进行的操作。因此,Z提高效率Q?zhn)需要定义应该如何得知服务之间的关系的策略,q种{略常常采用服务U协定和操作{略的Ş式? 最后,所有这些都必须处于一个信d可靠的环境之中,以同预期的一h据约定的条款来执行流E。因此,安全、信d可靠的消息传递应该在M SOA 中都L(fng)重要的作用? 我可以用面向服务的体pȝ构做什么? ?SOA 的需要来源于需要业务 IT pȝ变得更加灉|Q以适应业务中的改变。通过允许强定义的关系和依然灵zȝ特定实现QIT pȝ既可以利用现有系l的功能Q又可以准备在以后做一些改变来满它们之间交互的需要? 下面举一个具体的例子。一个服装零售组l拥?500 家国际连锁店Q它们常帔R要更改设计来赶上时尚的潮。这可能意味着不仅需要更Ҏ(gu)式和颜色Q甚臌可能需要更换布料、制造商和可交付的品。如果零售商和制造商之间的系l不兼容Q那么从一个供应商到另一个供应商的更换可能就是一个非常复杂的软g程。通过利用 WSDL 接口在操作方面的灉|性,每个公司都可以将它们的现有系l保持现Ӟ而仅仅匹?WSDL 接口q制订新的服务协定Q这样就不必完全重构它们的Y件系l了。这是业务的水^改变Q也是_(d)它们改变的是合作伙伴Q而所有的业务操作基本上都保持不变。这里,业务接口可以作少许改变,而内部操作却不需要改变,之所以这样做Q仅仅是Z能够与外部合作伙伴一起工作? 另一UŞ式是内部改变Q在q种改变中,零售l织现在军_它还把q锁零售商店内的一些地方出U给专卖行衣服的小商店Q这可以看作是采用店中店Qstore-in- storeQ的业务模型。这里,虽然公司的大多数业务操作都保持不变,但是它们现在需要新的内部Y件来处理q样的出U安排。尽在内部软gpȝ可以承受全面的检修,但是它们需要在q样做的同时不会(x)对与现有的供应商pȝ的交互生大的媄响。在q种情况下,SOA 模型保持原封不动Q而内部实现却发生了变化。虽然可以将新的斚wd?SOA 模型中来加入新的出租安排的职责,但是正常的零售管理系ll如往怸栗? Z延箋内部改变的观念,IT l理可能?x)发玎ͼ软g的新配置q可以以另外的一U方式加以用,比如出租_脓(chung)h的地方以供广告之用。这里,新的业务提议是通过在新的设计中重用灉|?SOA 模型得出的。这是来?SOA 模型的新成果Qƈ且还是一个新的机?x),而这L(fng)新机?x)在以前可能是不会(x)有的? 垂直改变也是可能的,在这U改变中Q零售商从销售他们自q服装完全转变C门通过店中店模型出U地斏V如果垂直改变完全从最底层开始的话,׃(x)带来 SOA 模型l构的显著改变,与之一h变的q可能有新的pȝ、Y件、流E以?qing)关pR在q种情况下,SOA 模型的好处是它从业务操作和流E的角度考虑问题而不是从应用E序和程序的角度考虑问题Q这使得业务理可以Ҏ(gu)业务的操作清楚地定什么需要添加、修Ҏ(gu)删除。然后可以将软gpȝ构造ؓ(f)适合业务处理的方式,而不是在许多现有的Y件^C常常看到的其他方式? 正如(zhn)可以看到的Q在q里Q改变和 SOA pȝ适应改变的能力是最重要的部分。对于开发h员来_(d)q样的改变无论是在他们工作的范围之内q是在他们工作的范围之外都有可能发生Q这取决于是否有改变需要知道接口是如何定义的以?qing)它们相互之间如何进行交互。与开发h员不同的是,架构师的作用是引v?SOA 模型大的改变。这U分工,是让开发h员集中精力于创徏作ؓ(f)服务定义的功能单元,而让架构师和建模人员集中_֊于如何将q些单元适当地组l在一P它已l有十多q的历史了,通常用统一建模语言QUniversal Modeling LanguageQUMLQ,q且描述成模型驱动的体系l构QModel-Driven ArchitectureQMDAQ?nbsp;
]]>
վ֩ģ壺
|
|
|
|
|
|
|
Ͻ |
ɽ |
Т |
ɽ |
ݸ |
|
Ȫ |
|
ʻ |
ൺ |
տ |
|
ƽ |
ޭ |
е |
|
|
|
ƽ |
|
ֵ |
|
|
|
|
ʡ |
|
|
|
üɽ |
|
|
|
ƽ |