ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>久久免费视频这里只有精品,欧美hdxxxx,国产精品综合久久久http://www.aygfsteel.com/szhswl/category/27816.html宋针˜q˜çš„个äh½Iºé—´zh-cnTue, 04 Dec 2007 08:57:26 GMTTue, 04 Dec 2007 08:57:26 GMT60架构设计师与SOAhttp://www.aygfsteel.com/szhswl/articles/165210.html宋针˜q?/dc:creator>宋针˜q?/author>Tue, 04 Dec 2007 07:20:00 GMThttp://www.aygfsteel.com/szhswl/articles/165210.htmlhttp://www.aygfsteel.com/szhswl/comments/165210.htmlhttp://www.aygfsteel.com/szhswl/articles/165210.html#Feedback0http://www.aygfsteel.com/szhswl/comments/commentRss/165210.htmlhttp://www.aygfsteel.com/szhswl/services/trackbacks/165210.htmlã€å¯¼è¯…R€‘Service-Oriented Architecture)åQŒå³é¢å‘æœåŠ¡çš„æž¶æž„ï¼Œ˜q™æ˜¯æœ€˜q‘一两年出现在儿UæŠ€æœ¯æœŸåˆŠä¸Šæœ€å¤šçš„è¯æ±‡äº†ã€‚本文简è¦ä»‹¾l了有关架构设计师以åŠSOA架构的知识,分æžäº†SOA架构师在设计SOA¾pÈ»Ÿæž¶æž„时有哪些应该特别注æ„的地æ–V€?br />  

Service-Oriented Architecture)åQŒå³é¢å‘æœåŠ¡çš„æž¶æž„ï¼Œ˜q™æ˜¯æœ€˜q‘一两年出现在儿UæŠ€æœ¯æœŸåˆŠä¸Šæœ€å¤šçš„è¯æ±‡äº†ã€‚现在有很多架构设计师和设计开å‘äh员简å•的把SOAå’ŒWeb Services技术等åŒè“væ¥ï¼Œè®¤äØ“SOAž®±æ˜¯Web Service的一¿U实现。本质上æ¥è¯´åQŒSOA体现的是一¿U新的系¾lŸæž¶æž„,SOA的出玎ͼŒž®†äؓ整个ä¼ä¸š¾U§èÊY件架构设计带æ¥å·¨å¤§çš„å½±å“ã€?

1. 什么是架构?什么是åŸÞZºŽSOA的架æž?

1.1 什么是架构

从架构设计师的角度æ¥çœ‹ï¼Œæž¶æž„ž®±æ˜¯ä¸€å¥—构建系¾lŸçš„准则。通过˜q™å¥—准则åQŒæˆ‘们å¯ä»¥æŠŠä¸€ä¸ªå¤æ‚çš„¾pÈ»Ÿåˆ’分ä¸ÞZ¸€å¥—æ›´½Ž€å•çš„å­ç³»¾lŸçš„集åˆåQŒè¿™äº›å­¾pÈ»Ÿä¹‹é—´åº”è¯¥ä¿æŒç›æ€º’独立åQŒåƈ与整个系¾lŸä¿æŒä¸€è‡´ã€‚而且æ¯ä¸€ä¸ªå­¾pÈ»Ÿ˜q˜å¯ä»¥ç‘ô¾l­ç»†åˆ†ä¸‹åŽ»ï¼Œä»Žè€Œæž„æˆä¸€ä¸ªå¤æ‚çš„ä¼ä¸š¾U§æž¶æž„ã€?/p>

å½“ä¸€åæž¶æž„设计师在构建æŸä¸ªä¼ä¸šçñ”çš„èÊYä»¶ç³»¾lŸæ—¶åQŒé™¤äº†è¦è€ƒè™‘˜q™ä¸ª¾pÈ»Ÿçš„æž¶æž„以åŠå…¶åº”å…·æœ‰çš„åŠŸèƒ½è¡ŒäØ“ä»¥å¤–åQŒè¿˜è¦å…³æ³¨æ•´ä¸ªæž¶æž„çš„å¯ç”¨æ€§ï¼Œæ€§èƒ½é—®é¢˜åQŒå®¹é”™èƒ½åŠ›ï¼Œå¯é‡ç”¨æ€§ï¼Œå®‰å…¨æ€§ï¼Œæ‰©å±•性,å¯ç®¡ç†ç»´æŠ¤æ€§ï¼Œå¯é æ€§ç­‰å„个相关斚w¢ã€‚有的时候一å好的架构设计师甚至˜q˜éœ€è¦è€ƒè™‘所构å¾çš„ç³»¾lŸæž¶æž„是å¦åˆä¹Žç¾Žå­¦è¦æ±‚。由此我们å¯ä»¥çœ‹åˆŽÍ¼Œæˆ‘们衡é‡ä¸€ä¸ªå¥½çš„æž¶æž„è®¾è®¡åÆˆä¸èƒ½åªä»ŽåŠŸèƒ½è§’åº¦å‡ºå‘åQŒè¿˜è¦è€ƒè™‘很多其他的因素,对ä“Q何一个方é¢çš„‹Æ ç¼ºè€ƒè™‘都有å¯èƒ½ä¸ºæ•´ä¸ªç³»¾lŸçš„æž„å¾åŸ‹ä¸‹éšæ‚£ã€?/p>

1.2 什么是åŸÞZºŽSOA的架æž?/strong>

SOA本èínž®±æ˜¯ä¸€¿Ué¢å‘ä¼ä¸šçñ”æœåŠ¡çš„ç³»¾lŸæž¶æž„,½Ž€å•æ¥è¯ß_¼ŒSOAž®±æ˜¯ä¸€¿U进行系¾lŸå¼€å‘的新的体系架构åQŒåœ¨åŸÞZºŽSOA架构的系¾lŸä¸­åQŒå…·ä½“应用程åºçš„功能是由一些æ¾è€¦åˆòq¶ä¸”å…ähœ‰¾lŸä¸€æŽ¥å£å®šä¹‰æ–¹å¼çš„组ä»?也就是service)¾l„åˆæž„å¾èµäh¥çš„。因此,åŸÞZºŽSOA的架构也一定是从ä¼ä¸šçš„具体需求开始构建的。但是,SOA和其它ä¼ä¸šæž¶æž„çš„ä¸åŒä¹‹å¤„ž®±åœ¨äºŽSOAæä¾›çš„业务絋zÀL€§ã€‚业务絋zÀL€§æ˜¯æŒ‡ä¼ä¸šèƒ½å¯¹ä¸šåŠ¡å˜æ›´å¿«é€Ÿå’Œæœ‰æ•ˆåœ°è¿›è¡Œå“应ã€åÆˆä¸”åˆ©ç”¨ä¸šåŠ¡å˜æ›´æ¥å¾—到竞争优势的能力。对ä¼ä¸š¾U§æž¶æž„设计师æ¥è¯´åQŒåˆ›å»ÞZ¸€ä¸ªä¸šåŠ¡çµ‹zÈš„æž¶æž„æ„味ç€åˆ›å¾ä¸€ä¸ªå¯ä»¥æ»¡­‘›_½“å‰è¿˜æœªçŸ¥çš„业务需求的ITæž¶æž„ã€?/p>

利用åŸÞZºŽSOA的系¾lŸæž„建方法,如图1中所½Cºçš„ä¸€æ øP¼Œä¸€ä¸ªåŸºäºŽSOA架构的系¾lŸä¸­çš„æ‰€æœ‰çš„½E‹åºåŠŸèƒ½éƒ½è¢«ž®è£…在一些功能模å—中åQŒæˆ‘们就是利用这些已¾lå°è£…好的功能模å—组装构建我们所需è¦çš„½E‹åºæˆ–者系¾lŸï¼Œè€Œè¿™äº›åŠŸèƒ½æ¨¡å—就是SOA架构中的ä¸åŒçš„æœåŠ?services)ã€?br />



å›?

å› æ­¤åQŒSOA架构本质上æ¥è¯´ä½“çŽîCº†ä¸€¿Uå¤åˆçš„æ¦‚念:它ä¸ä»…äØ“ä¸€ä¸ªä¼ä¸šä¸­å•†ä¸š‹¹ç¨‹çš„组¾l‡å’Œå®žçްæä¾›äº†ä¸€¿U指导模å¼ï¼ŒåŒæ—¶ä¹Ÿäؓ具体的底层serviceå¼€å‘æä¾›äº†æŒ‡å¯¼ã€?/p>

2. SOA架构设计师的角色

2.1 SOA架构设计师应该具备什�

谈到SOA架构设计师的角色åQŒæˆ‘们首先è¦äº†è§£æž¶æž„设计师应å…ähœ‰çš„能力。æ€ÖM½“上æ¥è¯ß_¼Œä¸€ä¸ªå¥½çš„æž¶æž„设计师ä¸ä»…应该是一个æˆç†Ÿçš„åQŒå…·æœ‰å®žé™…ç»éªŒçš„òq¶å…·æœ‰å¿«é€Ÿå­¦ä¹ èƒ½åŠ›çš„äººï¼Œè€Œä¸”ä»–è¿˜åº”è¯¥å…ähœ‰è‰¯å¥½çš„管ç†èƒ½åŠ›å’Œæ²Ÿé€šèƒ½åŠ›ã€‚åªæœ‰å…·å¤‡äº†å¿…需的能力,架构设计师æ‰èƒ½åœ¨å…³é”®çš„æ—¶åˆÖM½œå‡ºå›°éš„¡š„军_®šåQŒè¿™ž®±æ˜¯ä¸€å架构设计师应该承担的责仅R€‚从角色上æ¥çœ‹ï¼ŒSOA 架构师ä¸ä»…会负责端到端的æœåŠ¡è¯äh±‚者和æä¾›è€…的设计åQŒåƈ且会负责对系¾lŸä¸­éžåŠŸèƒ½æœåŠ¡è¯·æ±‚çš„è°ƒç ”å’Œè¡¨˜q°ã€?/p>

对于ä»ÖM½•一åç»éªŒä¸°å¯Œçš„æž¶æž„设计师æ¥è¯ß_¼Œä¸è®ºä»–是采用åŸÞZºŽä¼ ç»Ÿçš„æž¶æž„设计方æ³?åŸÞZºŽJ2EE架构或è€?NETæž¶æž„)˜q˜æ˜¯é‡‡ç”¨åŸÞZºŽSOAçš„æž¶æž„è®¾è®¡æ–¹æ³•æ¥æž„å¾ä¸€ä¸ªä¼ä¸šçñ”的系¾lŸæž¶æž„,å…ähœ‰ç›¸å…³å•†ä¸šé¢†åŸŸçš„知识对于架构设计师æ¥è¯´éƒ½æ˜¯å¿…ä¸å¯å°‘的,架构设计师往往å¯ä»¥é€šè¿‡å®žé™…的工作ç»éªŒç§¯ç´¯ä»¥åпޥå—相关的专项培训æ¥èŽ·å¾—è¿™äº›å•†ä¸šé¢†åŸŸçš„çŸ¥è¯†ã€‚é™¤äº†å…·æœ‰ç›¸å…›_•†ä¸šé¢†åŸŸçš„知识以外åQŒä¸€ååˆæ ¼çš„æž¶æž„设计师必™åÕd…·æœ‰è¾ƒòq¿æ³›çš„æŠ€æœ¯èƒŒæ™¯ï¼Œ˜q™å¯èƒ½åŒ…括èÊY¼‹¬äšgåQŒé€šä¿¡åQŒå®‰å…¨ç­‰å„个斚w¢çš„知识。但˜q™åÆˆä¸æ˜¯æ„味ç€è¦æˆä¸ÞZ¸€å架构设计师ž®±å¿…™åȆŸæ‚‰æ¯ä¸€é—¨å…·ä½“技术的¾l†èŠ‚åQŒæž¶æž„设计师必须臛_°‘能对å„ç§æŠ€æœ¯æœ‰ä¸€ä¸ªæ•´ä½“ä¸Šçš„äº†è§£ï¼Œèƒ½å¤Ÿç†ŸçŸ¥æ¯ç§æŠ€æœ¯çš„特点以åŠä¼˜ç¼ºç‚¹ï¼Œåªæœ‰˜q™æ ·æž¶æž„设计师æ‰èƒ½åœ¨ç‰¹å®šçš„应用场景下正确地选择å„ç§æŠ€æœ¯æ¥è®¾è®¡ä¼ä¸šæ•´ä½“æž¶æž„ã€?/p>

2.2 什么是SOA架构设计师的èŒè´£?

那什么是ä¼ä¸š¾U§SOA架构设计师的具体角色å‘?什么是SOA架构设计师与设计和开å‘äh员之间的差别å‘?ç›æ€¿¡˜q™äº›éƒ½æ˜¯ä½¿å¤§å®¶æœ€å®ÒŽ˜“产生˜qähƒ‘的问题。ä‹Dä¸ªå®žé™…çš„ä¾‹å­æ¥è¯´åQŒå½“æž„å¾ä¸€ä¸ªåŸºäºŽSOA架构的系¾lŸçš„æ—¶å€™ï¼Œé’ˆå¯¹ä¸€ä¸ªå…·ä½“çš„ serviceåQŒç³»¾lŸè®¾è®¡äh员主è¦åº”该关注的是这个service能够为外部用æˆäh供什么样的æœåŠ¡ï¼Œä¹Ÿå°±æ˜¯è¯´¾pÈ»Ÿè®¾è®¡äººå‘˜å…Ïx³¨çš„æ˜¯˜q™ä¸ªservice所æä¾›çš„功能。而对于SOA架构设计师æ¥è¯ß_¼Œä»–们更关心的å¯èƒ½æ˜¯å½“有一åƒä¸ªç”¨æˆ·åŒæ—¶è°ƒç”¨˜q™ä¸ª service的时候,什么会å‘生?也就是说架构设计师关注的应该是一些商业需求和æœåŠ¡¾U§åˆ«(service-level)需求。所有的架构设计师的角色都包å«äº†åœ¨æž„å»ÞZ¸€ä¸ªç³»¾lŸçš„一开始就应该ž®½é‡å‡å°‘å¯èƒ½å­˜åœ¨çš„æŠ€æœ¯é£Žé™©ã€‚è€ŒæŠ€æœ¯é£Žé™©ä¸€èˆ¬æŒ‡çš„æ˜¯ä¸€åˆ‡æœªçŸ¥çš„ã€æœª¾lè¯æ˜Žçš„æˆ–未¾l测试所带æ¥çš„风险。这些风险通常与æœåŠ¡çñ”åˆ?service-level)需求相养I¼Œå¶å°”也会与ä¼ä¸šå…·ä½“的业务需求相兟뀂无论是哪秾cÕdž‹çš„é£Žé™©ï¼Œåœ¨é¡¹ç›®åˆæœŸè®¾è®¡æ•´ä½“ç³»¾lŸæž¶æž„çš„˜q‡ç¨‹ä¸­æ›´æ˜“äºŽå‘æŽ˜˜q™äº›é£Žé™©åQŒå¦‚果等到架构实施时å†å‘觉这些风险,那么很å¯èƒ½ä¼šè‡´ä‹É大é‡çš„å¼€å‘äh员等在那里,直到˜q™äº›é£Žé™©è¢«å¦¥å–„解冟뀂如果进一步的¾l†åŒ–åQŒæˆ‘们å¯ä»¥çœ‹åˆ°SOA架构设计师的主è¦ä»ÕdŠ¡åŒ…æ‹¬å¯ÒŽ•´ä¸ªç³»¾lŸè§£å†Ïx–¹æ¡ˆè½®å»“的构å¾åQŒéœ€æ±‚分æžï¼Œå¯¹ä½“¾pÈ»“构的整体决策åQŒç›¸å…³ç»„件徿¨¡ï¼Œç›¸å…³æ“作建模åQŒç³»¾lŸç»„件的逻辑和物ç†å¸ƒå±€è®¾è®¡ã€?/p>

ä½œäØ“SOA架构设计师必™å»è¦èƒ½å¤Ÿé¢†å¯¼æ•´ä¸ªå¼€å‘团队,˜q™æ ·æ‰èƒ½ä¿è¯è®¾è®¡å’Œå¼€å‘äh员是按照构å¾å¥½çš„¾pÈ»Ÿæž¶æž„æ¥å¼€å‘整个系¾lŸçš„åQŒè¿™ä¸€ç‚¹å分的é‡è¦ã€‚è¿™ž®Þp¦æ±‚ä¸€åæž¶æž„设计师ä¸ä»…è¦æœ‰å¾ˆå¥½çš„æŠ€æœ¯æ´žå¯ŸåŠ›åQŒåŒæ—¶è¿˜è¦å…·æœ‰ä¸€å®šçš„™å¹ç›®½Ž¡ç†å’Œé¡¹ç›®å®žæ–½çš„能力。在¾pÈ»Ÿå¼€å‘çš„˜q‡ç¨‹ä¸­ï¼Œæž¶æž„设计师必™å»è¦æœ‰è‰¯å¥½çš„æ²Ÿé€šå’Œè¡¨è¾¾èƒ½åŠ›åQŒè¿™ž®×ƒ½“现在由架构设计师构å¾çš„ç³»¾lŸæ¨¡åž‹æ˜¯å¦å…·æœ‰å¾ˆå¥½çš„å¯è¯»æ€§å’Œæ˜“ç†è§£æ€§ã€‚如果由架构设计师构造出的系¾lŸæ¨¡åž‹ä¸æ˜¯å¾ˆæ¸…æ™°çš„è¯åQŒå°±å¯èƒ½ä¼šåª„å“设计和开å‘äh员对于整个系¾lŸæž¶æž„çš„ç†è§£ã€‚äØ“äº†é¿å…è¿™¿U情å†ëŠš„出现åQŒå®šæœŸç”±æž¶æž„设计师主æŒçš„å¼€å‘团队内部讨论是å分é‡è¦çš„ã€?/p>

3. æž„å¾SOA架构时应该注æ„的问题

3.1 原有¾pÈ»Ÿæž¶æž„中的集æˆéœ€æ±?/strong>

当架构师åŸÞZºŽSOAæ¥æž„å»ÞZ¸€ä¸ªä¼ä¸šçñ”的系¾lŸæž¶æž„çš„æ—¶å€™ï¼Œä¸€å®šè¦æ³¨æ„对原有系¾lŸæž¶æž„中的集æˆéœ€æ±‚进行细致的分æžå’Œæ•´ç†ã€‚我们都知é“åQŒé¢å‘æœåŠ¡çš„ä½“ç³»¾l“构是当å‰åŠæœªæ¥åº”用½E‹åº¾pÈ»Ÿå¼€å‘çš„é‡ç‚¹åQŒé¢å‘æœåŠ¡çš„ä½“ç³»¾l“构本质上æ¥è¯´æ˜¯ä¸€¿U具有特ŒDŠæ€§è´¨çš„体¾pÈ»“构,它由å…ähœ‰äº’æ“作性和ä½ç½®é€æ˜Žçš„组仉™›†æˆæž„å»ºåÆˆäº’è¿žè€Œæˆã€‚基于SOAçš„ä¼ä¸šç³»¾lŸæž¶æž„通常都是在现有系¾lŸæž¶æž„投资的基础上å‘展è“væ¥çš„åQŒæˆ‘ä»¬åÆˆä¸éœ€è¦å½»åº•釿–°å¼€å‘全部的å­ç³»¾l?SOAå¯ä»¥é€šè¿‡åˆ©ç”¨å½“剾pÈ»Ÿå·²æœ‰çš„资æº?å¼€å‘äh员ã€èÊY件语­a€ã€ç¡¬ä»¶åã^å°ã€æ•°æ®åº“和应用程åº?æ¥é‡å¤åˆ©ç”¨ç³»¾lŸä¸­çŽ°æœ‰çš„ç³»¾lŸå’Œèµ„æºã€‚SOA是一¿Uå¯é€‚应的ã€çµ‹zÈš„体系¾l“æž„¾cÕdž‹åQŒåŸºäºŽSOAæž„å¾çš„ç³»¾lŸæž¶æž„å¯ä»¥åœ¨¾pÈ»Ÿçš„å¼€å‘å’Œ¾l´æŠ¤ä¸­ç¾ƒçŸ­äñ”å“上市时é—ß_¼Œå› è€Œå¯ä»¥é™ä½Žä¼ä¸šç³»¾lŸå¼€å‘çš„æˆæœ¬å’Œé£Žé™©ã€‚因此,当SOA架构师é‡åˆîC¸€ä¸ªååˆ†å¤æ‚çš„ä¼ä¸š¾pÈ»Ÿæ—Óž¼Œé¦–先考虑的应该是如何é‡ç”¨å·²æœ‰çš„æŠ•èµ„è€Œä¸æ˜¯æ›¿æ¢é—留系¾lŸï¼Œå› äؓ如果考虑到有é™çš„预算åQŒæ•´ä½“ç³»¾lŸæ›¿æ¢çš„æˆæœ¬æ˜¯å分高昂的ã€?/p>

当SOA架构师分æžåŽŸæœ‰ç³»¾lŸä¸­çš„集æˆéœ€æ±‚的时候,ä¸åº”该åªé™å®šä¸ºåŸºäºŽç»„件构建的已有应用½E‹åºçš„集æˆï¼ŒçœŸæ­£çš„é›†æˆæ¯”˜q™è¦å®½æ³›å¾—多。在分æžå’Œè¯„ä¼îC¸€ä¸ªå·²æœ‰ç³»¾lŸä½“¾pÈ»“构的集æˆéœ€æ±‚æ—¶åQŒæˆ‘们必™å»è€ƒè™‘一些更加具体的集æˆçš„类型,˜q™ä¸»è¦åŒ…括以下几个方é?应用½E‹åºé›†æˆçš„需求,¾lˆç«¯ç”¨æˆ·ç•Œé¢é›†æˆçš„需求,‹¹ç¨‹é›†æˆçš„需求以åŠå·²æœ‰ç³»¾lŸä¿¡æ¯é›†æˆçš„需求。当SOA架构师分æžå’Œè¯„估现有¾pÈ»Ÿä¸­æ‰€æœ‰å¯èƒ½çš„集æˆéœ€æ±‚的时候,我们å¯ä»¥å‘çŽ°å®žé™…ä¸Šæ‰€æœ‰é›†æˆæ–¹å¼åœ¨ä»ÖM½•¿U类的ä¼ä¸šä¸­éƒ½æœ‰ä¸€å®šç¨‹åº¦çš„体现。针对ä¸åŒçš„ä¼ä¸š¾cÕdž‹åQŒè¿™äº›é›†æˆæ–¹å¼å¯èƒ½æ˜¯½Ž€åŒ–çš„åQŒæˆ–者没有明¼‹®åœ°˜q›è¡Œå®šä¹‰çš„。因而,SOAæž¶æž„å¸ˆåœ¨ç€æ‰‹è®¾è®¡æ–°çš„体¾pÈ»“构框架时åQŒå¿…™å»è¦å…¨é¢çš„考虑所有å¯èƒ½çš„集æˆéœ€æ±‚。例如,在一些类型的ä¼ä¸š¾pÈ»ŸçŽ¯å¢ƒä¸­å¯èƒ½åªæœ‰å¾ˆž®‘çš„æ•°æ®æºç±»åž‹ï¼Œå› æ­¤åQŒç³»¾lŸä¸­å¯Ò޶ˆæ¯é›†æˆçš„需求就å¯èƒ½ä¼šå¾ˆ½Ž€å•,但在一些特定的¾pÈ»Ÿä¸­ï¼Œä¾‹å¦‚航迾pÈ»Ÿä¸­çš„EDI(Electronic Data Interchange ç”µå­æ•°æ®äº¤æ¢)¾pÈ»ŸåQŒä¼šæœ‰å¤§é‡çš„ç”µå­æ•°æ®äº¤æ¢å¤„ç†çš„需求,因此也就会存在很多ä¸åŒçš„æ•°æ®æºç±»åž‹ï¼Œåœ¨è¿™¿U情况下整个¾pÈ»Ÿå¯¹äºŽæ¶ˆæ¯æ•°æ®çš„集æˆéœ€æ±‚å°±ä¼šæ¯”è¾ƒå¤æ‚。因此,如果SOA架构师希望所构å¾çš„ç³»¾lŸæž¶æž„能够éšç€ä¼ä¸šçš„æˆé•¿å’Œå˜åŒ–æˆåŠŸåœ°ç‘ô¾l­å¾—ä»¥ä¿æŒï¼Œåˆ™æ•´ä¸ªç³»¾lŸæž„架中的集æˆåŠŸèƒ½å°±åº”è¯¥ç”±æœåŠ¡æä¾›ï¼Œè€Œä¸æ˜¯ç”±ç‰¹å®šçš„åº”ç”¨ç¨‹åºæ¥å®Œæˆã€?/p>

3.2 æœåŠ¡¾_’åº¦çš„æŽ§åˆ¶ä»¥åŠæ— çŠ¶æ€æœåŠ¡çš„è®¾è®¡

当SOA架构师构å»ÞZ¸€ä¸ªä¼ä¸šçñ”çš„SOA¾pÈ»Ÿæž¶æž„的时候,关于¾pÈ»Ÿä¸­æœ€é‡è¦çš„元素,也就是SOA¾pÈ»Ÿä¸­çš„æœåŠ¡çš„æž„å»ºæœ‰ä¸¤ç‚¹éœ€è¦ç‰¹åˆ«æ³¨æ„的地方:首先是对于æœåŠ¡ç²’åº¦çš„æŽ§åˆ¶åQŒå¦å¤–å°±æ˜¯å¯¹äºŽæ— çŠ¶æ€æœåŠ¡çš„è®¾è®¡ã€?/p>

æœåŠ¡¾_’度的控åˆ?/strong>

SOA¾pÈ»Ÿä¸­çš„æœåŠ¡¾_’度的控制是一™å¹å分é‡è¦çš„设计ä»ÕdŠ¡ã€‚é€šå¸¸æ¥è¯´åQŒå¯¹äºŽå°†æš´éœ²åœ¨æ•´ä¸ªç³»¾lŸå¤–部的æœåŠ¡æŽ¨è使用¾_—粒度的接å£åQŒè€Œç›¸å¯¹è¾ƒ¾l†ç²’度的æœåŠ¡æŽ¥å£é€šå¸¸ç”¨äºŽä¼ä¸š¾pÈ»Ÿæž¶æž„的内部。从技术上è®ÔŒ¼Œ¾_—粒度的æœåŠ¡æŽ¥å£å¯èƒ½æ˜¯ä¸€ä¸ªç‰¹å®šæœåŠ¡çš„å®Œæ•´æ‰§è¡ŒåQŒè€Œç»†¾_’度的æœåŠ¡æŽ¥å£å¯èƒ½æ˜¯å®žçް˜q™ä¸ª¾_—粒度æœåŠ¡æŽ¥å£çš„具体的内部æ“作ã€?ä¸¾ä¸ªä¾‹å­æ¥è¯´åQŒå¯¹äºŽä¸€ä¸ªåŸºäºŽSOA架构的网上商店æ¥è¯ß_¼Œ¾_—粒度的æœåŠ¡å¯èƒ½ž®±æ˜¯æš´éœ²¾l™å¤–部用户ä‹É用的æäº¤è´­ä¹°è¡¨å•çš„æ“作,而系¾lŸå†…部的¾l†ç²’度的æœåŠ¡å¯èƒ½ž®±æ˜¯å®žçް˜q™ä¸ªæäº¤è´­ä¹°è¡¨å•æœåŠ¡çš„ä¸€¾pÕdˆ—的内部æœåŠ¡ï¼Œæ¯”å¦‚è¯´åˆ›å»ø™´­ä¹°è®°å½•,讄¡½®å®¢æˆ·åœ°å€åQŒæ›´æ–°æ•°æ®åº“½{‰ä¸€¾pÕdˆ—çš„æ“作。虽然细¾_’度的接å£èƒ½ä¸ºæœåŠ¡è¯·æ±‚è€…æä¾›äº†æ›´åŠ ¾l†åŒ–和更多的ç‰|´»æ€§ï¼Œä½†åŒæ—¶ä¹Ÿæ„味ç€å¼•å…¥è¾ƒéš¾æŽ§åˆ¶çš„äº¤äº’æ¨¡å¼æ˜“å˜æ€?也就是说æœåŠ¡çš„äº¤äº’æ¨¡å¼å¯èƒ½éšç€ä¸åŒçš„æœåŠ¡è¯·æ±‚è€…è€Œä¸åŒã€‚如果我们暴露这些易于å˜åŒ–çš„æœåŠ¡æŽ¥å£¾l™ç³»¾lŸçš„外部用户åQŒå°±å¯èƒ½é€ æˆå¤–部æœåŠ¡è¯äh±‚者难于支æŒä¸æ–­å˜åŒ–çš„æœåŠ¡æä¾›è€…所暴露的细¾_’度æœåŠ¡æŽ¥å£ã€‚而粗¾_’度æœåŠ¡æŽ¥å£ä¿è¯äº†æœåŠ¡è¯·æ±‚è€…å°†ä»¥ä¸€è‡´çš„æ–¹å¼ä½¿ç”¨¾pÈ»Ÿä¸­æ‰€æš´éœ²å‡ºçš„æœåŠ¡ã€‚è™½ç„‰™¢å‘æœåŠ¡çš„ä½“ç³»¾l“æž„(SOA)òq¶ä¸å¼ºåˆ¶è¦æ±‚一定è¦ä½¿ç”¨¾_—粒度的æœåŠ¡æŽ¥å£åQŒä½†æ˜¯å¾è®®ä‹É用它们作为外部集æˆçš„æŽ¥å£ã€‚通常架构设计师å¯ä»¥ä‹É用BPELæ¥åˆ›å»ºç”±¾l†ç²’度æ“作组æˆçš„业务‹¹ç¨‹çš„ç²—¾_’度的æœåŠ¡æŽ¥å£ã€?/p>

æ— çŠ¶æ€æœåŠ¡çš„è®¾è®¡

SOA¾pÈ»Ÿæž¶æž„中的具体æœåŠ¡åº”è¯¥éƒ½æ˜¯ç‹¬ç«‹çš„ã€è‡ªåŒ…å«çš„请求,在实现这些æœåŠ¡çš„æ—¶å€™ä¸éœ€è¦å‰ä¸€ä¸ªè¯·æ±‚的状æ€ï¼Œä¹Ÿå°±æ˜¯è¯´æœåŠ¡ä¸åº”该ä¾èµ–于其他æœåŠ¡çš„ä¸Šä¸‹æ–‡å’ŒçŠ¶æ€ï¼Œå³SOA架构中的æœåŠ¡åº”è¯¥æ˜¯æ— çŠ¶æ€çš„æœåŠ¡ã€‚å½“æŸä¸€ä¸ªæœåŠ¡éœ€è¦ä¾èµ–æ—¶åQŒæˆ‘们最好把它定义æˆå…·ä½“的业务浽E?BPEL)。在æœåŠ¡çš„å…·ä½“å®žçŽ°æœºåˆ¶ä¸ŠåQŒæˆ‘们å¯ä»¥é€šè¿‡ä½¿ç”¨ EJB ¾l„äšgæ¥å®žçŽ°ç²—¾_’度的æœåŠ¡ã€‚æˆ‘ä»¬é€šå¸¸ä¼šåˆ©ç”¨æ— çŠ¶æ€çš„Session Beanæ¥å®žçŽ°å…·ä½“çš„æœåŠ¡åQŒå¦‚果基于Web Service技术,我们ž®±å¯ä»¥å°†æ— çжæ€çš„Session Bean暴露为外部用户å¯ä»¥è°ƒç”¨çš„到的WebæœåŠ¡åQŒä¹Ÿž®±æ˜¯æŠŠä¼ ¾lŸçš„Session Facade模型转化ä¸ÞZº† EJB çš„WebæœåŠ¡ç«¯ç‚¹åQŒè¿™æ øP¼Œæˆ‘们ž®±å¯ä»¥å‘ Web æœåŠ¡å®¢æˆ·æä¾›¾_—粒度的æœåŠ¡ã€?/p>

如果我们è¦åœ¨ J2EE的环境下(åŸÞZºŽWebSphere)æž„å¾WebæœåŠ¡åQŒWeb æœåŠ¡å®¢æˆ·å¯ä»¥é€šè¿‡ä¸¤ç§æ–¹å¼è®‰K—® J2EE 应用½E‹åºã€‚客户å¯ä»¥è®¿é—®ç”¨ JAX-RPC API 创å¾çš?Web æœåŠ¡(使用 Servlet æ¥å®žçŽ?;Web æœåŠ¡å®¢æˆ·ä¹Ÿå¯ä»¥é€šè¿‡ EJBçš„æœåŠ¡ç«¯ç‚ÒŽŽ¥å£è®¿é—®æ— çжæ€çš„Session BeanåQŒä½†Web æœåŠ¡å®¢æˆ·ä¸èƒ½è®‰K—®å…¶ä»–¾cÕdž‹çš„ä¼ä¸šBeanåQŒå¦‚有状æ€çš„Session BeanåQŒå®žä½“Bean和消æ¯é©±åЍBean。åŽä¸€¿U选择(公开无状æ€?EJB ¾l„äšgä½œäØ“ Web æœåŠ¡)有很多优势,åŸÞZºŽå·²æœ‰çš„EJB¾l„äšgåQŒæˆ‘们å¯ä»¥åˆ©ç”¨çŽ°æœ‰çš„ä¸šåŠ¡é€»è¾‘å’Œæµ½E‹ã€‚在许多ä¼ä¸šä¸­ï¼ŒçŽ°æœ‰çš„ä¸šåŠ¡é€»è¾‘å¯èƒ½å·²ç»ä½¿ç”¨ EJB ¾l„äšg¾~–写åQŒé€šè¿‡ Web æœåŠ¡å…¬å¼€å®ƒå¯èƒ½æ˜¯å®žçŽ°ä»Žå¤–ç•Œè®¿é—®è¿™äº›æœåŠ¡çš„æœ€ä½³é€‰æ‹©ã€‚EJB 端点是一¿U很好的选择åQŒå› ä¸ºå®ƒä½¿ä¸šåŠ¡é€»è¾‘å’Œç«¯ç‚¹ä½äºŽåŒä¸€å±‚上。å¦å¤–EJB容器会自动æä¾›å¯¹òq¶å‘的支æŒï¼Œä½œäؓ无状æ€Session Bean实现çš?EJB æœåŠ¡ç«¯ç‚¹ä¸å¿…担心多线½E‹è®¿é—®ï¼Œå› äØ“ EJB 容器必须串行化对无状æ€ä¼šè¯?bean ä»ÖM½•特定实例的请求ã€?ç”׃ºŽEJB容器都会æä¾›å¯¹äºŽSecurityå’ŒTransaction的支æŒï¼Œå› æ­¤Bean的开å‘äh员å¯ä»¥ä¸éœ€è¦ç¼–写安全代ç ä»¥åŠäº‹åС处ç†ä»£ç ã€?性能问题对于WebæœåŠ¡æ¥è¯´ä¸€ç›´éƒ½æ˜¯ä¸€ä¸ªé—®é¢˜ï¼Œç”׃ºŽå‡ ä¹Žæ‰€æœ?EJB 容器都æä¾›äº†å¯ÒŽ— çжæ€ä¼šè¯?Bean ¾Ÿ¤é›†çš„æ”¯æŒä»¥åŠå¯¹æ— çжæ€Session Bean æ± ä¸Žèµ„æº½Ž¡ç†çš„æ”¯æŒï¼Œå› æ­¤å½“负载增加时åQŒå¯ä»¥å‘¾Ÿ¤é›†ä¸­å¢žåŠ æœºå™¨ï¼ŒWeb æœåŠ¡è¯äh±‚å¯ä»¥å®šå‘到这些ä¸åŒçš„æœåŠ¡å™¨ï¼ŒåŒæ—¶ç”׃ºŽæ— çжæ€Session Bean 池改˜q›äº†èµ„æºåˆ©ç”¨å’Œå†…存管ç†ï¼Œä½?Web æœåŠ¡èƒ½å¤Ÿæœ‰æ•ˆåœ°å“应多个客戯‚¯·æ±‚。由此我们å¯ä»¥çœ‹åˆŽÍ¼Œé€šè¿‡æŠ?Web æœåŠ¡æ¨¡åž‹åŒ–äØ“ EJB 端点åQŒå¯ä»¥ä‹ÉæœåŠ¡å…ähœ‰æ›´å¼ºçš„å¯ä¼¸ç¾ƒæ€§ï¼Œòq¶å¢žå¼ÞZº†¾pÈ»Ÿæ•´ä½“çš„å¯é æ€§ã€?/p> SOA ä¸ÞZ¼ä¸šçñ”架构设计带æ¥çš„媄å“,以åŠåœ¨æž„建基äº?SOA 架构的ä¼ä¸šç³»¾lŸæ—¶åº”该怎样ä¿è¯æ‰€æž„å¾çš„ç³»¾lŸæž¶æž„能够满­‘³ç³»¾lŸä¸­ä¸åŒçš„æœåŠ¡çñ”别需求ã€?

1. SOA ä¸ÞZ¼ä¸šçñ”架构设计带æ¥çš„媄å“?/strong>

1.1 SOA 的特点åŠå…¶ä‹É用范å›?/strong>

SOA æ—¢ä¸æ˜¯ä¸€¿U语­a€åQŒä¹Ÿä¸æ˜¯ä¸€¿U具体的技术,它是一¿Uæ–°çš„èÊYä»¶ç³»¾lŸæž¶æž„模型ã€?SOA 最主è¦çš„应用场åˆåœ¨äºŽè§£å†›_œ¨Internet环境下的ä¸åŒå•†ä¸šåº”用之间的业务集æˆé—®é¢˜ã€‚Internet环境区别于IntranetçŽ¯å¢ƒçš„å‡ ä¸ªç‰¹ç‚¹ä¸»è¦æ˜¯:

(a)大é‡å¼‚æž„¾pÈ»Ÿòq¶å­˜åQŒä¸åŒè®¡½Ž—机¼‹¬äšg工作方å¼ä¸åŒåQŒæ“作系¾lŸä¸åŒã€ç¼–½E‹è¯­­a€ä¹Ÿä¸å?

(b)大é‡ã€é¢‘¾J的数æ®ä¼ è¾“的速度ä»ç„¶ç›¸å¯¹è¾ƒç¼“æ…¢åÆˆä¸”ä¸½E›_®š;

(c)æ— æ³•å®ŒæˆæœåŠ¡(service)的版本凾U§ï¼Œç”šè‡³æ ÒŽœ¬ž®±æ— æ³•知é“互è”网上有哪些机器直接或者间接的使用æŸä¸ªæœåŠ¡ã€?/p>

SOA æž¶æž„å…ähœ‰ä¸€äº›å…¸åž‹ç‰¹æ€§ï¼Œä¸»è¦åŒ…括æ¾è€¦åˆæ€§ï¼Œä½ç½®é€æ˜Žæ€§ä»¥åŠå议无å…Ïx€§ã€‚æ¾è€¦åˆæ€§è¦æ±?SOA 架构中的ä¸åŒæœåŠ¡ä¹‹é—´åº”è¯¥ä¿æŒä¸€¿Uæ¾è€¦åˆçš„å…³¾p»ï¼Œä¹Ÿå°±æ˜¯åº”è¯¥ä¿æŒä¸€¿U相对独立无ä¾èµ–的关¾p?ä½ç½®é€æ˜Žæ€§è¦æ±?SOA ¾pÈ»Ÿä¸­çš„æ‰€æœ‰æœåŠ¡å¯¹äºŽä»–ä»¬çš„è°ƒç”¨è€…æ¥è¯´éƒ½æ˜¯ä½¾|®é€æ˜Žçš„,也就是说æ¯ä¸ªæœåŠ¡çš„è°ƒç”¨è€…åªéœ€è¦çŸ¥é“他们调用的是哪一个æœåŠ¡ï¼Œä½†åÆˆä¸éœ€è¦çŸ¥é“所调用æœåŠ¡çš„ç‰©ç†ä½¾|®åœ¨å“ªé‡Œ;而å议无å…Ïx€§è¦æ±‚æ¯ä¸€ä¸ªæœåŠ¡éƒ½å¯ä»¥é€šè¿‡ä¸åŒçš„åè®®æ¥è°ƒç”¨ã€‚通过˜q™äº› SOA 架构所å…ähœ‰çš„特性我们å¯ä»¥çœ‹åˆŽÍ¼ŒSOA 架构的出çŽîCØ“ä¼ä¸š¾pÈ»Ÿæž¶æž„æä¾›äº†æ›´åŠ çµ‹zÈš„æž„å¾æ–¹å¼åQŒå¦‚æžœä¼ä¸šæž¶æž„设计师åŸÞZºŽ SOA æ¥æž„建系¾lŸæž¶æž„,ž®±å¯ä»¥ä»Žåº•层架构的çñ”别æ¥ä¿è¯æ•´ä¸ª¾pÈ»Ÿçš„æ¾è€¦åˆæ€§ä»¥åŠçµ‹zÀL€§ï¼Œ˜q™éƒ½ä¸ºæœªæ¥ä¼ä¸šä¸šåŠ¡é€»è¾‘çš„æ‰©å±•æ‰“å¥½äº†åŸºç¡€ã€?/p>

1.2 SOA 架构的分层模�/strong>

接下æ¥ç®€è¦ä»‹¾l一ä¸?SOA ¾pÈ»Ÿä¸­çš„分层模型åQŒæ•´ä¸?SOA 架构的分层模型如å›?所½Cºã€?/p>

560)this.style.width=560;" border=0>

åœ?SOA ¾pÈ»Ÿä¸­ä¸åŒçš„功能模å—å¯ä»¥è¢«åˆ†ä¸?å±?½W¬ä¸€å±‚就是系¾lŸå·²¾l存在的½E‹åºèµ„æºåQŒä¾‹å¦‚ERP或者CRM¾pÈ»Ÿ½{‰ã€‚第2层就是组件层åQŒåœ¨˜q™ä¸€å±‚中我们用ä¸åŒçš„¾l„äšg把底层系¾lŸçš„功能ž®è£…èµäh¥ã€‚第3层就æ˜?SOA ¾pÈ»Ÿä¸­æœ€é‡è¦çš„æœåŠ¡å±‚åQŒåœ¨˜q™å±‚中我们è¦ç”¨åº•å±‚åŠŸèƒ½ç»„ä»¶æ¥æž„徿ˆ‘们所需è¦çš„ä¸åŒåŠŸèƒ½çš„æœåŠ¡ã€‚æ€Èš„æ¥è¯´åQŒSOA 中的æœåŠ¡å¯ä»¥è¢«æ˜ ž®„æˆå…·ä½“¾pÈ»Ÿä¸­çš„ä»ÖM½•功能模å—åQŒä½†æ˜¯ä»ŽåŠŸèƒ½æ€§æ–¹é¢å¯ä»¥å¤§è‡´åˆ’åˆ†äØ“ä»¥ä¸‹ä¸‰ç§¾cÕdž‹:(1)商业æœåŠ¡(business service) 或者是商业˜q‡ç¨‹(business process)。这一¾cÈš„æœåŠ¡æ˜¯ä¸€ä¸ªä¼ä¸šå¯ä»¥æš´éœ²ç»™å¤–部用户或者åˆä½œä¼™ä¼´ä‹É用的æœåŠ¡ã€‚æ¯”å¦‚è¯´æäº¤è´äh¬¾ç”Œ™¯·åQŒç”¨æˆ·ä¿¡ç”¨æ£€æŸ¥ï¼Œè´äh¬¾ä¿¡ç”¨æŸ¥è¯¢ã€?2)商业功能æœåŠ¡(business function service)åQ?˜q™ç±»æœåŠ¡ä¼šå®Œæˆä¸€äº›å…·ä½“的商业æ“作åQŒä¹Ÿä¼šè¢«æ›´ä¸Šå±‚的商业æœåŠ¡è°ƒç”¨åQŒä¸˜q‡å¤§å¤šæ•°æƒ…况下这¾cÀLœåŠ¡ä¸ä¼šæš´éœ²ç»™å¤–部用户直接调用åQŒæ¯”如说‹‚€ç´¢ç”¨æˆ·å¸æˆ·ä¿¡æ¯ï¼Œå­˜å‚¨ç”¨æˆ·ä¿¡æ¯½{‰ã€?3)技术功能æœåŠ?technical function service)åQŒè¿™¾cÀLœåС䏻è¦å®Œæˆä¸€äº›åº•层的技术功能,比如说日志æœåС以åŠå®‰å…¨æœåŠ¡ç­‰ã€‚åœ¨æœåŠ¡å±‚ä¹‹ä¸Šçš„½W?层就是商业浽E‹å±‚åQŒåœ¨˜q™ä¸€å±‚中我们利用已绞®è£…好的å„ç§æœåŠ¡æ¥æž„建商业系¾lŸä¸­çš„商业浽E‹ã€‚在商业‹¹ç¨‹å±‚之上的ž®±æ˜¯½W?层表½Cºå±‚了,我们利用表示层æ¥å‘用æˆäh供用æˆähޥ壿œåŠ¡ï¼Œ˜q™ä¸€å±‚å¯ä»¥ç”¨åŸÞZºŽportal的系¾lŸæ¥æž„å¾ã€‚以上这5å±‚éƒ½éœ€è¦æœ‰ä¸€ä¸ªé›†æˆçš„çŽ¯å¢ƒæ¥æ”¯æŒå®ƒä»¬çš„˜q行åQŒç¬¬6层中的ä¼ä¸šæœåŠ¡æ€Èº¿(ESB)æä¾›äº†è¿™ä¸ªåŠŸèƒ½ã€‚ç¬¬7层主è¦äؓ整个 SOA ¾pÈ»Ÿæä¾›ä¸€äº›è¾…助的功能åQŒä¾‹å¦‚æœåŠ¡è´¨é‡ç®¡ç†ï¼Œå®‰å…¨½Ž¡ç†˜q™ä¸€¾cÈš„辅助功能ã€?/p>

2. SOA 架构中的éžåŠŸèƒ½æ€§æœåŠ¡çñ”åˆ?service-level)需æ±?/strong>

除了¾pÈ»Ÿçš„业务需求,架构设计师还必须è¦ä¿è¯æž„建出æ¥çš„¾pÈ»Ÿæž¶æž„能够满èƒö¾pÈ»Ÿä¸­çš„éžåŠŸèƒ½æ€§æœåŠ¡çñ”åˆ?service-level)éœ€æ±‚ä»¥åŠæœåŠ¡è´¨é‡?QoS)æ–šw¢çš„需求。在™å¹ç›®åˆå§‹åŠç»†åŒ–阶ŒDµï¼Œæž¶æž„设计师应该与¾pÈ»Ÿæ‰€æœ‰æ¶‰åŠæ–¹(Stakeholders)ä¸€èµøP¼Œä¸ºæ¯ä¸€ä¸ªæœåŠ¡çñ”åˆ«éœ€æ±‚å®šä¹‰å…¶ç›¸å…³çš„è¡¡é‡æ ‡å‡†ã€‚构建出的系¾lŸæž¶æž„å¿…™å»è¦èƒ½æ»¡­‘³ä»¥ä¸‹å‡ æ–šw¢çš„æœåŠ¡æ°´å‡†è¦æ±?性能ã€å¯å‡çñ”性ã€å¯é æ€§ã€å¯ç”¨æ€§ã€å¯æ‰©å±•性ã€å¯¾l´æŠ¤æ€§ã€æ˜“½Ž¡ç†æ€§ä»¥åŠå®‰å…¨æ€§ã€‚架构设计师在设计架构过½E‹ä¸­éœ€è¦åã^衡所有的˜q™äº›æœåŠ¡¾U§åˆ«éœ€æ±‚。例如,如果æœåŠ¡¾U§åˆ«éœ€æ±‚中最é‡è¦çš„æ˜¯¾pÈ»Ÿæ€§èƒ½åQŒæž¶æž„设计师很有å¯èƒ½ä¸å¾—ä¸åœ¨ä¸€å®šç¨‹åº¦ä¸Šç‰ºç‰²¾pÈ»Ÿçš„対l´æŠ¤æ€§åŠå¯æ‰©å±•æ€§ï¼Œä»¥ç¡®ä¿æ»¡­‘³ç³»¾lŸæ€§èƒ½ä¸Šçš„è¦æ±‚。éšç€äº’蔾|‘çš„å‘展åQŒæ–°æž„å¾çš„ç³»¾lŸå¯¹äºŽæœåŠ¡çñ”别需求也å˜å¾—日益é‡è¦åQŒçŽ°åœ¨åŸºäºŽäº’è”网的ä¼ä¸šç³»¾lŸçš„用户已ç»ä¸ä»…ä»…å±€é™äºŽæ˜¯æœ¬ä¼ä¸šçš„雇员,ä¼ä¸šçš„外部客户也会æˆä¸ÞZ¼ä¸šç³»¾lŸçš„主è¦ç”¨æˆ·ã€?/p>

架构设计师的èŒè´£ä¹‹ä¸€ž®±æ˜¯è¦å°½å¯èƒ½åœîCØ“æé«˜¾pÈ»Ÿè®¾è®¡äººå‘˜å’Œç³»¾lŸå¼€å‘ähå‘˜çš„å·¥ä½œæ•ˆçŽ‡è€ƒè™‘ã€‚åœ¨æž„å¾æ•´ä¸ªä¼ä¸š¾pÈ»Ÿæž¶æž„的过½E‹ä¸­åQŒéœ€è¦å……分é‡è§†å„¿UæœåŠ¡çñ”别需求,从而é¿å…在¾pÈ»Ÿå¼€å‘å’Œ˜q行的时候出现é‡å¤§é—®é¢˜ã€‚一个ä¼ä¸šçñ”¾pÈ»Ÿä¸­çš„æœåŠ¡¾U§åˆ«éœ€æ±‚往往是å分错¾l¼å¤æ‚çš„åQ?SOA 架构设计师需è¦å‡­å€Ÿä¸°å¯Œçš„专业¾l验和扎实的ç†è®ºçŸ¥è¯†æ¥åˆ†¼›Õd’ŒæŠ½è±¡¾pÈ»Ÿä¸­ä¸åŒçš„æœåŠ¡¾U§åˆ«éœ€æ±‚,å›?展示了这¿U分æžçš„˜q‡ç¨‹ã€?/p>

560)this.style.width=560;" border=0>

å›?

¾l过 SOA 架构设计师分æžå’ŒæŠ½è±¡çš„æœåŠ¡çñ”别需求主è¦åˆ†ä¸ÞZ»¥ä¸‹å‡ ¾c?

性能是指¾pÈ»Ÿæä¾›çš„æœåŠ¡è¦æ»¡èƒöä¸€å®šçš„æ€§èƒ½è¡¡é‡æ ‡å‡†åQŒè¿™äº›æ ‡å‡†å¯èƒ½åŒ…括系¾lŸå应时间以åŠå¤„ç†äº¤æ˜“é‡çš„能力等;

å¯å‡¾U§æ€§æ˜¯æŒ‡å½“¾pÈ»Ÿè´Ÿè·åР大æ—Óž¼Œèƒ½å¤Ÿ¼‹®ä¿æ‰€éœ€çš„æœåŠ¡è´¨é‡ï¼Œè€Œä¸éœ€è¦æ›´æ”ÒŽ•´ä¸ªç³»¾lŸçš„æž¶æž„;

å¯é æ€§æ˜¯æŒ‡ç¡®ä¿å„应用åŠå…¶ç›¸å…³çš„æ‰€æœ‰äº¤æ˜“的完整性和一致性的能力;

å¯ç”¨æ€§æ˜¯æŒ‡ä¸€ä¸ªç³»¾lŸåº”¼‹®ä¿ä¸€™åÒŽœåŠ¡æˆ–è€…èµ„æºæ°¸˜qœéƒ½å¯ä»¥è¢«è®¿é—®åˆ°;

坿‰©å±•性是指在ä¸åª„å“现有系¾lŸåŠŸèƒ½çš„åŸºç¡€ä¸Šï¼Œä¸ºç³»¾lŸå¡«åŠ æ–°çš„åŠŸèƒ½æˆ–ä¿®æ”¹çŽ°æœ‰åŠŸèƒ½çš„èƒ½åŠ?

å¯ç»´æŠ¤æ€§æ˜¯æŒ‡åœ¨ä¸åª„å“ç³»¾lŸå…¶ä»–éƒ¨åˆ†çš„æƒ…å†µä¸‹ä¿®æ­£çŽ°æœ‰åŠŸèƒ½ä¸­é—®é¢˜æˆ–ç¼ºé™øP¼Œòq¶å¯¹æ•´ä¸ª¾pÈ»Ÿ˜q›è¡Œ¾l´æŠ¤çš„能åŠ?

å¯ç®¡ç†æ€§æ˜¯æŒ‡ç®¡ç†ç³»¾lŸä»¥¼‹®ä¿¾pÈ»Ÿçš„å¯å‡çñ”性ã€å¯é æ€§ã€å¯ç”¨æ€§ã€æ€§èƒ½å’Œå®‰å…¨æ€§çš„能力;

安全性是指确ä¿ç³»¾lŸå®‰å…¨ä¸ä¼šè¢«å±åŠçš„能力ã€?/p>

1) 性能

我们通常å¯ä»¥æ ÒŽ®æ¯ä¸ªç”¨æˆ·è®‰K—®çš„ç³»¾lŸå“应时间æ¥è¡¡é‡¾pÈ»Ÿçš„æ•´ä½“性能;å¦å¤–åQŒæˆ‘们也å¯ä»¥é€šè¿‡¾pÈ»Ÿèƒ½å¤Ÿå¤„ç†çš„交易é‡(æ¯ç§’)æ¥è¡¡é‡ç³»¾lŸçš„æ€§èƒ½ã€‚对于架构设计师æ¥è¯´åQŒæ— è®ºé‡‡å–哪¿Uè¡¡é‡ç³»¾lŸæ€§èƒ½çš„æ–¹æ³•æ¥æž„å¾¾pÈ»Ÿæž¶æž„åQŒè¿™äº›å¯¹äºŽæ€§èƒ½çš„考虑对系¾lŸè®¾è®¡å¼€å‘äh员æ¥è¯´éƒ½åº”è¯¥æ˜¯é€æ˜Žçš„,也就是说对于¾pÈ»Ÿæ•´ä½“æž¶æž„æ€§èƒ½çš„è€ƒè™‘åº”è¯¥æ˜¯æž¶æž„è®¾è®¡å¸ˆçš„å·¥ä½œï¼Œè€Œä¸æ˜¯ç³»¾lŸè®¾è®¡å¼€å‘äh员应该关注的事情。在较传¾lŸçš„åŸÞZºŽEJB或者XML-RPC的分布å¼è®¡ç®—模型中,它们的æœåŠ¡æä¾›éƒ½æ˜¯é€šè¿‡å‡½æ•°è°ƒç”¨çš„æ–¹å¼è¿›è¡Œçš„åQŒä¸€ä¸ªåŠŸèƒ½çš„å®Œæˆå¾€å¾€éœ€è¦é€šè¿‡å®¢æˆ·ç«¯å’ŒæœåС噍æ¥å›žå¾ˆå¤šæ¬¡çš„远½E‹å‡½æ•°è°ƒç”¨æ‰èƒ½å®Œæˆã€‚在Intranet的环境下åQŒè¿™äº›è°ƒç”¨ç»™¾pÈ»Ÿçš„å“应速度和稳定性带æ¥çš„å½±å“都å¯ä»¥å¿½ç•¥ä¸è®¡ï¼Œä½†å¦‚果我们在åŸÞZºŽ SOA 的架构中使用了很多Web Serviceæ¥ä½œä¸ºæœåŠ¡æä¾›ç‚¹çš„è¯åQŒæˆ‘们就需è¦è€ƒè™‘性能的媄å“,ž®¤å…¶æ˜¯åœ¨Internet环境下,˜q™äº›å¾€å¾€æ˜¯å†³å®šæ•´ä¸ªç³»¾lŸæ˜¯å¦èƒ½æ­£å¸¸å·¥ä½œçš„一个关键决定因素。因此在åŸÞZºŽ SOA 的系¾lŸä¸­åQŒæŽ¨è采用大数æ®é‡ä½Žé¢‘率讉K—®æ¨¡å¼åQŒä¹Ÿž®±æ˜¯ä»¥å¤§æ•°æ®é‡çš„æ–¹å¼ä¸€‹Æ¡æ€§è¿›è¡Œä¿¡æ¯äº¤æ¢ã€‚这样åšå¯ä»¥åœ¨ä¸€å®šç¨‹åº¦ä¸Šæé«˜¾pÈ»Ÿçš„æ•´ä½“性能ã€?/p>

2) å¯å‡¾U§æ€?/strong>

å¯å‡¾U§æ€§æ˜¯æŒ‡å½“¾pÈ»Ÿè´Ÿè·åР大æ—Óž¼Œä»èƒ½å¤Ÿç¡®ä¿æ‰€éœ€çš„æœåŠ¡è´¨é‡ï¼Œè€Œä¸éœ€è¦æ›´æ”ÒŽ•´ä¸ªç³»¾lŸçš„æž¶æž„。当åŸÞZºŽ SOA 的系¾lŸä¸­è´Ÿè·å¢žå¤§æ—Óž¼Œå¦‚æžœ¾pÈ»Ÿçš„å“应时间ä»èƒ½å¤Ÿåœ¨å¯æŽ¥å—çš„é™åº¦å†…åQŒé‚£ä¹ˆæˆ‘们就å¯ä»¥è®¤äØ“˜q™ä¸ª¾pÈ»Ÿæ˜¯å…·æœ‰å¯å‡çñ”æ€§çš„ã€‚è¦æƒ³ç†è§£å¯å‡çñ”性,我们必须首先了解¾pÈ»Ÿå®šw‡æˆ–ç³»¾lŸçš„æ‰¿å—能力åQŒä¹Ÿž®±æ˜¯ä¸€ä¸ªç³»¾lŸåœ¨ä¿è¯æ­£å¸¸˜q行质é‡çš„åŒæ—Óž¼Œæ‰€èƒ½å¤Ÿå¤„ç†çš„æœ€å¤§è¿›½E‹æ•°é‡æˆ–所能支æŒçš„æœ€å¤§ç”¨æˆäh•°é‡ã€‚如果系¾lŸè¿è½¬æ—¶å·²ç»ä¸èƒ½åœ¨å¯æŽ¥å—æ—‰™—´èŒƒå›´å†…å应,那么˜q™ä¸ª¾pÈ»Ÿå·²ç»åˆ°è¾¾äº†å®ƒçš„æœ€å¤§å¯å‡çñ”状æ€ã€‚è¦æƒ›_‡¾U§å·²è¾‘Öˆ°æœ€å¤§è´Ÿè½½èƒ½åŠ›çš„¾pÈ»ŸåQŒä½ å¿…须增加新的¼‹¬äšg。新æ·ÕdŠ çš„ç¡¬ä»¶å¯ä»¥ä»¥åž‚直或水òq³çš„æ–¹å¼åŠ å…¥ã€‚åž‚ç›´å‡¾U§åŒ…æ‹¬äØ“çŽ°åœ¨çš„æœºå™¨å¢žåŠ å¤„ç†å™¨ã€å†…存或¼‹¬ç›˜ã€‚æ°´òq›_‡¾U§åŒ…括在环境中添¾|®æ–°çš„æœºå™¨ï¼Œä»Žè€Œå¢žåŠ ç³»¾lŸçš„æ•´ä½“处ç†èƒ½åŠ›ã€‚ä½œä¸ÞZ¸€ä¸ªç³»¾lŸæž¶æž„设计师所设计出æ¥çš„æž¶æž„å¿…™å»èƒ½å¤Ÿå¤„ç†å¯¹¼‹¬äšg的垂直或者水òq›_‡¾U§ã€‚基äº?SOA 的系¾lŸæž¶æž„å¯ä»¥å¾ˆå¥½åœ°ä¿è¯æ•´ä½“¾pÈ»Ÿçš„å¯å‡çñ”性,˜q™ä¸»è¦æ˜¯å› äØ“¾pÈ»Ÿä¸­çš„功能模å—å·²ç»è¢«æŠ½è±¡æˆä¸åŒçš„æœåŠ¡ï¼Œæ‰€æœ‰çš„¼‹¬äšg以åŠåº•层òq›_°çš„ä¿¡æ¯éƒ½è¢«å±è”½åœ¨æœåС之䏋åQŒå› æ­¤ä¸½Ž¡æ˜¯å¯¹å·²æœ‰ç³»¾lŸçš„æ°´åã^å‡çñ”˜q˜æ˜¯åž‚ç›´å‡çñ”åQŒéƒ½ä¸ä¼šå½±å“到系¾lŸæ•´ä½“的架构ã€?/p>

3) å¯é æ€?/strong>

å¯é æ€§æ˜¯æŒ‡ç¡®ä¿å„应用åŠå…¶ç›¸å…³çš„æ‰€æœ‰äº¤æ˜“的完整性和一致性的能力。当¾pÈ»Ÿè´Ÿè·å¢žåŠ æ—Óž¼Œä½ çš„¾pÈ»Ÿå¿…须能够æŒç®‹å¤„ç†éœ€æ±‚访问,òq¶ç¡®ä¿ç³»¾lŸèƒ½å¤Ÿè±¡è´Ÿè·æœªå¢žåР以å‰ä¸€æ äh­£¼‹®åœ°å¤„ç†å„个˜q›ç¨‹ã€‚å¯é æ€§å¯èƒ½ä¼šåœ¨ä¸€å®šç¨‹åº¦ä¸Šé™åˆ¶¾pÈ»Ÿçš„å¯å‡çñ”性。如果系¾lŸè´Ÿè·å¢žåŠ æ—¶åQŒä¸èƒ½ç»´æŒå®ƒçš„å¯é æ€§ï¼Œé‚£ä¹ˆå®žé™…上这个系¾lŸä¹Ÿòq¶ä¸å…·å¤‡å¯å‡¾U§æ€§ã€‚因此,一个真正å¯å‡çñ”的系¾lŸå¿…™åÀL˜¯å¯é çš„ç³»¾lŸã€‚在åŸÞZºŽ SOA æ¥æž„建系¾lŸæž¶æž„的时候,å¯é æ€§ä¹Ÿæ˜¯å¿…™å»è¦ç€é‡è€ƒè™‘的问题。è¦åœ¨åŸºäº?SOA 架构的系¾lŸä¸­ä¿è¯ä¸€å®šçš„¾pÈ»Ÿå¯é æ€§ï¼Œž®±å¿…™å»è¦é¦–å…ˆä¿è¯åˆ†å¸ƒåœ¨ç³»¾lŸä¸­çš„ä¸åŒæœåŠ¡çš„å¯é æ€§ã€‚而ä¸åŒæœåŠ¡çš„å¯é æ€§ä¸€èˆ¬å¯ä»¥ç”±å…‰™ƒ¨¾|²çš„应用æœåŠ¡å™¨æˆ–WebæœåС噍æ¥ä¿è¯ã€‚åªæœ‰ç¡®ä¿æ¯ä¸€ä¸?SOA ¾pÈ»Ÿä¸­çš„æœåŠ¡éƒ½å…·æœ‰è¾ƒé«˜çš„å¯é æ€§ï¼Œæˆ‘们æ‰èƒ½ä¿è¯¾pÈ»Ÿæ•´ä½“çš„å¯é æ€§èƒ½å¤Ÿå¾—以ä¿éšœã€?/p>

4) å¯ç”¨æ€?/strong>

å¯ç”¨æ€§æ˜¯æŒ‡ä¸€ä¸ªç³»¾lŸåº”¼‹®ä¿ä¸€™åÒŽœåŠ¡æˆ–è€…èµ„æºåº”该æ€ÀL˜¯å¯è¢«è®‰K—®åˆ°çš„。å¯é æ€§å¯ä»¥å¢žåŠ ç³»¾lŸçš„æ•´ä½“å¯ç”¨æ€§ï¼Œä½†å³ä½¿ç³»¾lŸéƒ¨ä»¶å‡ºé”™ï¼Œæœ‰æ—¶å´åƈä¸ä¸€å®šä¼šå½±å“¾pÈ»Ÿçš„å¯ç”¨æ€§ã€‚通过在环境中讄¡½®å†—ä½™¾l„äšg和错误æ¢å¤æœºåˆÓž¼Œè™½ç„¶ä¸€ä¸ªå•独的¾l„äšg的错误会对系¾lŸçš„å¯é æ€§äñ”生ä¸è‰¯çš„å½±å“åQŒä½†ç”׃ºŽ¾pÈ»Ÿå†—余的存在,使得整个¾pÈ»ŸæœåŠ¡ä»ç„¶å¯ç”¨ã€‚在åŸÞZºŽ SOA æ¥æž„建系¾lŸæž¶æž„的时候,对于关键性的æœåŠ¡éœ€è¦æ›´å¤šåœ°è€ƒè™‘å…¶å¯ç”¨æ€§éœ€æ±‚,˜q™å¯ä»¥ç”±ä¸¤ä¸ªå±‚æ¬¡çš„æŠ€æœ¯å®žçŽ°æ¥æ”¯æŒåQŒç¬¬ä¸€¿U是利用ä¸åŒæœåŠ¡çš„å…·ä½“å†…éƒ¨å®žçŽ°å†…éƒ¨æ‰€åŸÞZºŽçš„æ¡†æž¶çš„定w”™æˆ–者冗余机制æ¥å®žçްå¯ÒŽœåŠ¡å¯ç”¨æ€§çš„æ”¯æŒ;½W¬äºŒ¿U是通过UDDI½{‰åŠ¨æ€æŸ¥æ‰‘ÖŒ¹é…æ–¹å¼æ¥æ”¯æŒ¾pÈ»Ÿæ•´ä½“的高å¯ç”¨æ€§ã€‚在 SOA 架构设计师构å»ÞZ¼ä¸šç³»¾lŸæž¶æž„的时候,应该¾l¼åˆè€ƒè™‘˜q™ä¸¤ä¸ªæ–¹é¢çš„内容åQŒå°½é‡ä¿è¯æ‰€æž„å¾çš?SOA ¾pÈ»Ÿæž¶æž„中的关键性业务能å…ähœ‰è¾ƒé«˜çš„å¯ç”¨æ€§ã€?/p>

5) 坿‰©å±•æ€?/strong>

坿‰©å±•性是指在ä¸åª„å“现有系¾lŸåŠŸèƒ½çš„åŸºç¡€ä¸Šï¼Œä¸ºç³»¾lŸæ·»åŠ æ–°çš„åŠŸèƒ½æˆ–ä¿®æ”¹çŽ°æœ‰åŠŸèƒ½çš„èƒ½åŠ›ã€‚å½“¾pÈ»Ÿåˆšé…¾|®å¥½çš„æ—¶å€™ï¼Œä½ å¾ˆéš¾è¡¡é‡å®ƒçš„坿‰©å±•性,直到½W¬ä¸€‹Æ¡ä½ å¿…é¡»åŽÀL‰©å±•ç³»¾lŸå·²æœ‰åŠŸèƒ½çš„æ—¶å€™ï¼Œä½ æ‰èƒ½çœŸæ­£åŽ»è¡¡é‡å’Œæ£€‹¹‹æ•´ä¸ªç³»¾lŸçš„坿‰©å±•性。ä“Q何一个架构设计师在构建系¾lŸæž¶æž„æ—¶åQŒäØ“äº†ç¡®ä¿æž¶æž„è®¾è®¡çš„å¯æ‰©å±•性,都应该考虑下é¢å‡ ä¸ªè¦ç´ :低耦åˆåQŒç•Œé?interfaces)以办®è£…。当架构设计师基äº?SOA æ¥æž„å»ÞZ¼ä¸šç³»¾lŸæž¶æž„æ—¶åQŒå°±å·²ç»éšå«åœ°è§£å†³äº†˜q™å‡ ä¸ªå¯æ‰©å±•性方é¢çš„è¦ç´ ã€‚这是因ä¸?SOA 架构中的ä¸åŒæœåŠ¡ä¹‹é—´æœ¬èínž®×ƒ¿æŒäº†ä¸€¿Uæ— ä¾èµ–的低耦åˆå…³ç³»;æœåŠ¡æœ¬èín是通过¾lŸä¸€çš„æŽ¥å£å®šä¹?å¯ä»¥æ˜¯WSDL)è¯­è¨€æ¥æ˜q°å…·ä½“çš„æœåС内容åQŒåƈ且很好地ž®è£…了底层的具体实现。在˜q™é‡Œæˆ‘们也å¯ä»¥ä»Žä¸€ä¸ªæ–¹é¢çœ‹åˆ°åŸºäº?SOA æ¥æž„æž¶ä¼ä¸šç³»¾lŸèƒ½ä¸ºæˆ‘们带æ¥çš„好处ã€?/p>

6) å¯ç»´æŠ¤æ€?/strong>

å¯ç»´æŠ¤æ€§æ˜¯æŒ‡åœ¨ä¸åª„å“ç³»¾lŸå…¶ä»–部分的情况下修改现有系¾lŸåŠŸèƒ½ä¸­é—®é¢˜æˆ–ç¼ºé™ïLš„能力。匾pÈ»Ÿçš„坿‰©å±•性相åŒï¼Œå½“ç³»¾lŸåˆšè¢«éƒ¨¾|²æ—¶åQŒä½ å¾ˆéš¾åˆ¤æ–­ä¸€ä¸ªç³»¾lŸæ˜¯å¦å·²¾l具备了很好的対l´æŠ¤æ€§ã€‚当创å¾å’Œè®¾è®¡ç³»¾lŸæž¶æž„æ—¶åQŒè¦æƒÏx高系¾lŸçš„å¯ç»´æŠ¤æ€§ï¼Œä½ å¿…™å»è€ƒè™‘下é¢å‡ ä¸ªè¦ç´ :低耦åˆã€æ¨¡å—性以åŠç³»¾lŸæ–‡æ¡£è®°å½•。在ä¼ä¸š¾pÈ»Ÿå¯æ‰©å±•æ€§ä¸­æˆ‘ä»¬å·²ç»æåˆ°äº?SOA æž¶æž„èƒ½äØ“¾pÈ»Ÿä¸­æš´éœ²å‡ºæ¥çš„å„个å­åŠŸèƒ½æ¨¡å—也ž®±æ˜¯æœåС另æ¥ä½Žè€¦åˆæ€§å’Œå¾ˆå¥½çš„æ¨¡å—性。关于系¾lŸæ–‡æ¡£çºªå½•,除了底层å­ç³»¾lŸçš„相关文档外,åŸÞZºŽ SOA 的系¾lŸè¿˜ä¼šå¼•用到许多¾pÈ»Ÿå¤–部的由½W¬ä¸‰æ–Ҏ供的æœåŠ¡åQŒå› æ­¤å¦‚æžœäh力资æºå‡†è®¸çš„è¯ï¼Œåº”该增加专èŒçš„æ–‡æ¡£ç®¡ç†å‘˜æ¥ä¸“门负责有å…Ïx•´ä¸ªä¼ä¸šç³»¾lŸæ‰€æ¶‰åŠçš„æ‰€æœ‰å¤–部æœåŠ¡ç›¸å…Ïx–‡æ¡£çš„æ”‰™›†ã€å½’¾cÕd’Œæ•´ç†åQŒè¿™äº›ç›¸å…³çš„æ–‡æ¡£å¯èƒ½æ¶‰åŠåˆ°ç¬¬ä¸‰æ–¹æœåŠ¡çš„æŽ¥å?å¯ä»¥æ˜¯WSDL)ã€æœåŠ¡çš„è´¨é‡å’Œçñ”别ã€å…·ä½“性能‹¹‹è¯•¾l“æžœ½{‰å„¿U相å…Ïx–‡æ¡£ã€‚基于这些文档,ž®±å¯ä»¥äØ“ SOA 架构设计师构å»ÞZ¼ä¸?SOA æž¶æž„æä¾›å¾ˆå¥½çš„æ–‡æ¡£å‚考和支æŒã€?/p>

7) å¯ç®¡ç†æ€?/strong>

å¯ç®¡ç†æ€§æ˜¯æŒ‡ç®¡ç†ç³»¾lŸä»¥¼‹®ä¿æ•´ä¸ª¾pÈ»Ÿçš„å¯å‡çñ”性ã€å¯é æ€§ã€å¯ç”¨æ€§ã€æ€§èƒ½å’Œå®‰å…¨æ€§çš„èƒ½åŠ›ã€‚å…·æœ‰å¯½Ž¡ç†æ€§çš„¾pÈ»ŸåQŒåº”具备å¯ÒŽœåŠ¡è´¨é‡éœ€æ±?QoS)的系¾lŸç›‘控能力,通过改嘾pÈ»Ÿçš„é…¾|®ä»Žè€Œå¯ä»¥åЍæ€åœ°æ”¹å–„æœåŠ¡è´¨é‡åQŒè€Œä¸ç”¨æ”¹å˜æ•´ä½“ç³»¾lŸæž¶æž„。一个好的系¾lŸæž¶æž„å¿…™å»èƒ½å¤Ÿç›‘控整个系¾lŸçš„˜q行情况òq¶å…·å¤‡åЍæ€ç³»¾lŸé…¾|®ç®¡ç†çš„åŠŸèƒ½ã€‚åœ¨å¯¹å¤æ‚ç³»¾lŸè¿›è¡Œç³»¾lŸæž¶æž„徿¨¡æ—¶åQ?SOA 架构设计师应该尽é‡è€ƒè™‘利用ž®†ç³»¾lŸæ•´ä½“架构构建在已有的æˆç†Ÿçš„底层¾pÈ»Ÿæ¡†æž¶(Framework)上。对äº?SOA 架构设计师æ¥è¯ß_¼Œå¯ä»¥é€‰æ‹©çš„底层系¾lŸæ¡†æž¶æœ‰å¾ˆå¤šåQŒå¯ä»¥é€‰ç”¨åŸÞZºŽMQ, MessageBorkeråQŒWebSphere Application Server½{‰äñ”哿¥æž„å¾ä¼ä¸šæœåŠ¡æ€Èº¿(Enterprise Service Bus)以支æŒä¼ä¸šçš„ SOA ¾pÈ»Ÿæž¶æž„åQŒä¹Ÿå¯ä»¥é€‰ç”¨è¾ƒæ–°çš„基于WebSphere Application Server 6中内嵌的Sibusæ¥æž„å»ÞZ¼ä¸šçš„ESB以支æŒ?SOA ¾pÈ»Ÿæž¶æž„。具体选择哪ç§åº•层框架æ¥å®žæ–?SOA ¾pÈ»Ÿæž¶æž„è¦æ ¹æ®æ¯ä¸ªç³»¾lŸå„自的特点æ¥å†³å®šï¼Œä½†è¿™äº›åº•层的框架都已¾læä¾›äº†è¾ƒé«˜çš„ç³»¾lŸå¯½Ž¡ç†æ€§ã€‚因此,分æžòq‰™€‰æ‹©ä¸åŒçš„äñ”哿ˆ–底层框架æ¥å®žçŽîC¼ä¸šç³»¾lŸæž¶æž„也是架构设计师的主è¦èŒè´£ä¹‹ä¸€ã€‚æœ‰å…³äºŽå¦‚ä½•åˆ©ç”¨å·²æœ‰åº•å±‚æž¶æž„æ¥æž„å»?SOA ¾pÈ»ŸåQŒä¸­å›?SOA 设计中心已ç»å‘表了一¾pÕdˆ—相关的文章,大家å¯ä»¥åœ¨DeveloperWorks中的 SOA 专æ çœ‹åˆ°å®ƒä»¬ã€?/p>

8) 安全�/strong>

安全性是指确ä¿ç³»¾lŸå®‰å…¨ä¸ä¼šè¢«å±åŠçš„能力。目å‰ï¼Œå®‰å…¨æ€§åº”该说是最困难的系¾lŸè´¨é‡æŽ§åˆ¶ç‚¹ã€‚这是因为安全性ä¸ä»…è¦æ±‚ç¡®ä¿ç³»¾lŸçš„ä¿å¯†å’Œå®Œæ•´æ€§ï¼Œè€Œä¸”˜q˜è¦é˜²æ­¢å½±å“å¯ç”¨æ€§çš„æœåŠ¡æ‹’ç»(Denial-of-Service)æ”Õd‡»ã€‚è¿™ž®Þp¦æ±‚当 SOA 架构设计师在构å¾ä¸€ä¸ªæž¶æž„æ—¶åQŒåº”该把整体¾pÈ»Ÿæž¶æž„ž®½å¯èƒ½åœ°åˆ†å‰²æˆå„个å­åŠŸèƒ½æ¨¡å—åQŒåœ¨ž®†ä¸€äº›å­åŠŸèƒ½æ¨¡å—æš´éœ²ä¸ºå¤–部用户å¯è§çš„æœåŠ¡çš„æ—¶å€™ï¼Œè¦å›´¾l•å„ä¸ªå­æ¨¡å—æž„å¾å„自的安全区åQŒè¿™æ äh›´ä¾¿äºŽä¿è¯æ•´ä½“¾pÈ»Ÿæž¶æž„çš„å®‰å…¨ã€‚å¦‚æžœä¸€ä¸ªå­æ¨¡å—å—到了安全攻击,也å¯ä»¥ä¿è¯å…¶ä»–模å—相对安全。如果ä¼ä¸?SOA 架构中的一些æœåŠ¡æ˜¯ç”±Web Service实现的,在考虑˜q™äº›æœåŠ¡å®‰å…¨æ€§çš„æ—¶å€™ä¹Ÿè¦åŒæ—¶è€ƒè™‘æ•ˆçŽ‡çš„é—®é¢˜ï¼Œå› äØ“WS-Securityä¼šäØ“Web Service带æ¥ä¸€å®šçš„æ‰§è¡Œæ•ˆçއæŸè€—ã€?/p>

3.¾l“æŸè¯?/strong>

本系列两部分介ç»äº†æœ‰å…Ïxž¶æž„è®¾è®¡å¸ˆä»¥åŠ SOA 架构的知识,分æžäº?SOA 架构师在设计 SOA ¾pÈ»Ÿæž¶æž„时有哪些应该特别注æ„çš„åœ°æ–¹åÆˆåœ¨æœ€åŽç®€è¦ä»‹¾l了在构建基äº?SOA 架构的ä¼ä¸šç³»¾lŸæ—¶åº”该怎样ä¿è¯æ‰€æž„å¾çš„ç³»¾lŸæž¶æž„能够满­‘³ç³»¾lŸä¸­ä¸åŒçš„æœåŠ¡çñ”别需求。从架构设计师的角度åQ?SOA 是一¿U新的设计模å¼ï¼Œæ–ÒŽ³•学。因此, SOA 本èínæ¶ëŠ›–了很多的内容åQŒä¹Ÿè§¦åŠåˆîCº†¾pÈ»Ÿæ•´ä½“架构设计ã€å®žçްã€ç»´æŠ¤ç­‰å„个斚w¢ã€‚æœ¬æ–‡çš„å†…å®¹åªæ˜¯æ¶‰åŠåˆîCº†æœ‰å…³äºŽæž¶æž„æ–¹é¢çš„一部分内容åQŒå¸Œæœ›èƒ½å¯¹å¹¿å¤§çš„ SOA ¾pÈ»Ÿå¼€å‘设计äh员è“våˆîC¸€å®šçš„帮助作用ã€?/p>

]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ÈêÑôÏØ| ÉÏÈÄÊÐ| º×±ÚÊÐ| ÜþÑôÊÐ| ¶«ÁÉÏØ| ÓÀ¶¨ÏØ| ½òÊÐÊÐ| ÁÉÖÐÏØ| ºþÖÝÊÐ| ¹ðÁÖÊÐ| ¾Å½­ÊÐ| °ÍÖÐÊÐ| ËàÄþÏØ| º×¸ÚÊÐ| ºÕÕÂÏØ| »¥Öú| ÇúÎÖÏØ| »ñ¼ÎÏØ| ʯ³ÇÏØ| Áê´¨ÏØ| ò£ÉÏÏØ| иÉÏØ| ÄÎÂüÆì| ×óÔÆÏØ| ÄÇÇúÏØ| ±±íÕÇø| ÒæÑôÊÐ| ´ó³§| ÄÒÇ«ÏØ| ÄÏÖ£ÏØ| µ¤½­¿ÚÊÐ| ÄþÏçÏØ| Ó¢³¬| ʯÃÞÏØ| ²ªÀûÏØ| ³¤ÄþÏØ| ¸ÓÓÜÏØ| °²»¯ÏØ| ²¨ÃÜÏØ| ʯ¾°É½Çø| Àû´¨ÊÐ|