青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 181, 文章 - 2, 評論 - 85, 引用 - 0
數據加載中……

架構設計師與SOA, 第 1 部分

SOA(Service-Oriented Architecture),即面向服務的架構,這是最近一兩年出現在各種技術期刊上最多的詞匯了。現在有很多架構設計師和設計開發人員簡單的把SOA和Web Services技術等同起來,認為SOA就是Web Service的一種實現。本質上來說,SOA體現的是一種新的系統架構,SOA的出現,將為整個企業級軟件架構設計帶來巨大的影響。本系列兩部分文章將根據作者自己的理解來幫助大家分析和了解什么是SOA架構,SOA將怎樣對企業系統架構設計帶來積極的影響,什么是SOA架構設計師的角色,以及SOA架構師在設計SOA系統架構時有哪些應該特別注意的地方。

1. 什么是架構?什么是基于SOA的架構?

1.1 什么是架構

從架構設計師的角度來看,架構就是一套構建系統的準則。通過這套準則,我們可以把一個復雜的系統劃分為一套更簡單的子系統的集合,這些子系統之間應該保持相互獨立,并與整個系統保持一致。而且每一個子系統還可以繼續細分下去,從而構成一個復雜的企業級架構。

當一名架構設計師在構建某個企業級的軟件系統時,除了要考慮這個系統的架構以及其應具有的功能行為以外,還要關注整個架構的可用性,性能問題,容錯能力,可重用性,安全性,擴展性,可管理維護性,可靠性等各個相關方面。有的時候一名好的架構設計師甚至還需要考慮所構建的系統架構是否合乎美學要求。由此我們可以看到,我們衡量一個好的架構設計并不能只從功能角度出發,還要考慮很多其他的因素,對任何一個方面的欠缺考慮都有可能為整個系統的構建埋下隱患。

1.2 什么是基于SOA的架構

SOA本身就是一種面向企業級服務的系統架構,簡單來說,SOA就是一種進行系統開發的新的體系架構,在基于SOA架構的系統中,具體應用程序的功能是由一些松耦合并且具有統一接口定義方式的組件(也就是service)組合構建起來的。因此,基于SOA的架構也一定是從企業的具體需求開始構建的。但是,SOA和其它企業架構的不同之處就在于SOA提供的業務靈活性。業務靈活性是指企業能對業務變更快速和有效地進行響應、并且利用業務變更來得到競爭優勢的能力。對企業級架構設計師來說,創建一個業務靈活的架構意味著創建一個可以滿足當前還未知的業務需求的IT架構。

利用基于SOA的系統構建方法,如圖1中所示的一樣,一個基于SOA架構的系統中的所有的程序功能都被封裝在一些功能模塊中,我們就是利用這些已經封裝好的功能模塊組裝構建我們所需要的程序或者系統,而這些功能模塊就是SOA架構中的不同的服務(services)。


圖1
圖1

因此,SOA架構本質上來說體現了一種復合的概念:它不僅為一個企業中商業流程的組織和實現提供了一種指導模式,同時也為具體的底層service開發提供了指導。







2. SOA架構設計師的角色

2.1 SOA架構設計師應該具備什么?

談到SOA架構設計師的角色,我們首先要了解架構設計師應具有的能力。總體上來說,一個好的架構設計師不僅應該是一個成熟的,具有實際經驗的并具有快速學習能力的人,而且他還應該具有良好的管理能力和溝通能力。只有具備了必需的能力,架構設計師才能在關鍵的時刻作出困難的決定,這就是一名架構設計師應該承擔的責任。從角色上來看,SOA 架構師不僅會負責端到端的服務請求者和提供者的設計,并且會負責對系統中非功能服務請求的調研和表述。

對于任何一名經驗豐富的架構設計師來說,不論他是采用基于傳統的架構設計方法(基于J2EE架構或者.NET架構)還是采用基于SOA的架構設計方法來構建一個企業級的系統架構,具有相關商業領域的知識對于架構設計師來說都是必不可少的,架構設計師往往可以通過實際的工作經驗積累以及接受相關的專項培訓來獲得這些商業領域的知識。除了具有相關商業領域的知識以外,一名合格的架構設計師必須具有較廣泛的技術背景,這可能包括軟硬件,通信,安全等各個方面的知識。但這并不是意味著要成為一名架構設計師就必須熟悉每一門具體技術的細節,架構設計師必須至少能對各種技術有一個整體上的了解,能夠熟知每種技術的特點以及優缺點,只有這樣架構設計師才能在特定的應用場景下正確地選擇各種技術來設計企業整體架構。

2.2 什么是SOA架構設計師的職責?

那什么是企業級SOA架構設計師的具體角色呢?什么是SOA架構設計師與設計和開發人員之間的差別呢?相信這些都是使大家最容易產生迷惑的問題。舉個實際的例子來說,當構建一個基于SOA架構的系統的時候,針對一個具體的 service,系統設計人員主要應該關注的是這個service能夠為外部用戶提供什么樣的服務,也就是說系統設計人員關注的是這個service所提供的功能。而對于SOA架構設計師來說,他們更關心的可能是當有一千個用戶同時調用這個 service的時候,什么會發生?也就是說架構設計師關注的應該是一些商業需求和服務級別(service-level)需求。所有的架構設計師的角色都包含了在構建一個系統的一開始就應該盡量減少可能存在的技術風險。而技術風險一般指的是一切未知的、未經證明的或未經測試所帶來的風險。這些風險通常與服務級別(service-level)需求相關,偶爾也會與企業具體的業務需求相關。無論是哪種類型的風險,在項目初期設計整體系統架構的過程中更易于發掘這些風險,如果等到架構實施時再發覺這些風險,那么很可能會致使大量的開發人員等在那里,直到這些風險被妥善解決。如果進一步的細化,我們可以看到SOA架構設計師的主要任務包括對整個系統解決方案輪廓的構建,需求分析,對體系結構的整體決策,相關組件建模,相關操作建模,系統組件的邏輯和物理布局設計。

作為SOA架構設計師必須要能夠領導整個開發團隊,這樣才能保證設計和開發人員是按照構建好的系統架構來開發整個系統的,這一點十分的重要。這就要求一名架構設計師不僅要有很好的技術洞察力,同時還要具有一定的項目管理和項目實施的能力。在系統開發的過程中,架構設計師必須要有良好的溝通和表達能力,這就體現在由架構設計師構建的系統模型是否具有很好的可讀性和易理解性。如果由架構設計師構造出的系統模型不是很清晰的話,就可能會影響設計和開發人員對于整個系統架構的理解。為了避免這種情況的出現,定期由架構設計師主持的開發團隊內部討論是十分重要的。







3. 構建SOA架構時應該注意的問題

3.1 原有系統架構中的集成需求

當架構師基于SOA來構建一個企業級的系統架構的時候,一定要注意對原有系統架構中的集成需求進行細致的分析和整理。我們都知道,面向服務的體系結構是當前及未來應用程序系統開發的重點,面向服務的體系結構本質上來說是一種具有特殊性質的體系結構,它由具有互操作性和位置透明的組件集成構建并互連而成。基于SOA的企業系統架構通常都是在現有系統架構投資的基礎上發展起來的,我們并不需要徹底重新開發全部的子系統;SOA可以通過利用當前系統已有的資源(開發人員、軟件語言、硬件平臺、數據庫和應用程序)來重復利用系統中現有的系統和資源。SOA是一種可適應的、靈活的體系結構類型,基于SOA構建的系統架構可以在系統的開發和維護中縮短產品上市時間,因而可以降低企業系統開發的成本和風險。因此,當SOA架構師遇到一個十分復雜的企業系統時,首先考慮的應該是如何重用已有的投資而不是替換遺留系統,因為如果考慮到有限的預算,整體系統替換的成本是十分高昂的。

當SOA架構師分析原有系統中的集成需求的時候,不應該只限定為基于組件構建的已有應用程序的集成,真正的集成比這要寬泛得多。在分析和評估一個已有系統體系結構的集成需求時,我們必須考慮一些更加具體的集成的類型,這主要包括以下幾個方面:應用程序集成的需求,終端用戶界面集成的需求,流程集成的需求以及已有系統信息集成的需求。當SOA架構師分析和評估現有系統中所有可能的集成需求的時候,我們可以發現實際上所有集成方式在任何種類的企業中都有一定程度的體現。針對不同的企業類型,這些集成方式可能是簡化的,或者沒有明確地進行定義的。因而,SOA架構師在著手設計新的體系結構框架時,必須要全面的考慮所有可能的集成需求。例如,在一些類型的企業系統環境中可能只有很少的數據源類型,因此,系統中對消息集成的需求就可能會很簡單,但在一些特定的系統中,例如航運系統中的EDI(Electronic Data Interchange 電子數據交換)系統,會有大量的電子數據交換處理的需求,因此也就會存在很多不同的數據源類型,在這種情況下整個系統對于消息數據的集成需求就會比較復雜。因此,如果SOA架構師希望所構建的系統架構能夠隨著企業的成長和變化成功地繼續得以保持,則整個系統構架中的集成功能就應該由服務提供,而不是由特定的應用程序來完成。

3.2 服務粒度的控制以及無狀態服務的設計

當SOA架構師構建一個企業級的SOA系統架構的時候,關于系統中最重要的元素,也就是SOA系統中的服務的構建有兩點需要特別注意的地方:首先是對于服務粒度的控制,另外就是對于無狀態服務的設計。

服務粒度的控制

SOA系統中的服務粒度的控制是一項十分重要的設計任務。通常來說,對于將暴露在整個系統外部的服務推薦使用粗粒度的接口,而相對較細粒度的服務接口通常用于企業系統架構的內部。從技術上講,粗粒度的服務接口可能是一個特定服務的完整執行,而細粒度的服務接口可能是實現這個粗粒度服務接口的具體的內部操作。 舉個例子來說,對于一個基于SOA架構的網上商店來說,粗粒度的服務可能就是暴露給外部用戶使用的提交購買表單的操作,而系統內部的細粒度的服務可能就是實現這個提交購買表單服務的一系列的內部服務,比如說創建購買記錄,設置客戶地址,更新數據庫等一系列的操作。雖然細粒度的接口能為服務請求者提供了更加細化和更多的靈活性,但同時也意味著引入較難控制的交互模式易變性,也就是說服務的交互模式可能隨著不同的服務請求者而不同。如果我們暴露這些易于變化的服務接口給系統的外部用戶,就可能造成外部服務請求者難于支持不斷變化的服務提供者所暴露的細粒度服務接口。而粗粒度服務接口保證了服務請求者將以一致的方式使用系統中所暴露出的服務。雖然面向服務的體系結構(SOA)并不強制要求一定要使用粗粒度的服務接口,但是建議使用它們作為外部集成的接口。通常架構設計師可以使用BPEL來創建由細粒度操作組成的業務流程的粗粒度的服務接口。

無狀態服務的設計

SOA系統架構中的具體服務應該都是獨立的、自包含的請求,在實現這些服務的時候不需要前一個請求的狀態,也就是說服務不應該依賴于其他服務的上下文和狀態,即SOA架構中的服務應該是無狀態的服務。當某一個服務需要依賴時,我們最好把它定義成具體的業務流程(BPEL)。在服務的具體實現機制上,我們可以通過使用 EJB 組件來實現粗粒度的服務。我們通常會利用無狀態的Session Bean來實現具體的服務,如果基于Web Service技術,我們就可以將無狀態的Session Bean暴露為外部用戶可以調用的到的Web服務,也就是把傳統的Session Facade模型轉化為了 EJB 的Web服務端點,這樣,我們就可以向 Web 服務客戶提供粗粒度的服務。

如果我們要在 J2EE的環境下(基于WebSphere)構建Web服務,Web 服務客戶可以通過兩種方式訪問 J2EE 應用程序。客戶可以訪問用 JAX-RPC API 創建的 Web 服務(使用 Servlet 來實現);Web 服務客戶也可以通過 EJB的服務端點接口訪問無狀態的Session Bean,但Web 服務客戶不能訪問其他類型的企業Bean,如有狀態的Session Bean,實體Bean和消息驅動Bean。后一種選擇(公開無狀態 EJB 組件作為 Web 服務)有很多優勢,基于已有的EJB組件,我們可以利用現有的業務邏輯和流程。在許多企業中,現有的業務邏輯可能已經使用 EJB 組件編寫,通過 Web 服務公開它可能是實現從外界訪問這些服務的最佳選擇。EJB 端點是一種很好的選擇,因為它使業務邏輯和端點位于同一層上。另外EJB容器會自動提供對并發的支持,作為無狀態Session Bean實現的 EJB 服務端點不必擔心多線程訪問,因為 EJB 容器必須串行化對無狀態會話 bean 任何特定實例的請求。 由于EJB容器都會提供對于Security和Transaction的支持,因此Bean的開發人員可以不需要編寫安全代碼以及事務處理代碼。 性能問題對于Web服務來說一直都是一個問題,由于幾乎所有 EJB 容器都提供了對無狀態會話 Bean 群集的支持以及對無狀態Session Bean 池與資源管理的支持,因此當負載增加時,可以向群集中增加機器,Web 服務請求可以定向到這些不同的服務器,同時由于無狀態Session Bean 池改進了資源利用和內存管理,使 Web 服務能夠有效地響應多個客戶請求。由此我們可以看到,通過把 Web 服務模型化為 EJB 端點,可以使服務具有更強的可伸縮性,并增強了系統整體的可靠性。







4. 結束語

本文簡要介紹了有關架構設計師以及SOA架構的知識,分析了SOA架構師在設計SOA系統架構時有哪些應該特別注意的地方。

本文的第二部分將向您介紹在構建基于SOA架構的企業系統時應該怎樣保證所構建的系統架構能夠滿足系統中不同的服務級別需求。從架構設計師的角度,SOA是一種新的設計模式,方法學。因此,SOA本身涵蓋了很多的內容,也觸及到了系統整體架構設計、實現、維護等各個方面。本文的內容只是涉及到了有關于架構方面的一部分內容,希望能對廣大的SOA系統開發設計人員起到一定的幫助作用。

posted on 2006-04-17 04:03 wsdfsdf 閱讀(170) 評論(0)  編輯 收藏 引用 所屬分類: 技術文章

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国外成人网址| 老司机免费视频一区二区三区| 在线视频精品| 亚洲日本中文字幕| 亚洲美女福利视频网站| 亚洲精品一区二区网址| 日韩视频国产视频| 午夜精品久久久久久| 午夜精品在线| 乱人伦精品视频在线观看| 欧美sm极限捆绑bd| 亚洲麻豆av| 欧美一级日韩一级| 欧美国产三区| 国产亚洲精品久久久久久| 亚洲国产精品久久| 午夜久久福利| 亚洲高清资源| 一区二区三区免费网站| 欧美伊人久久| 欧美视频日韩视频在线观看| 国产一在线精品一区在线观看| 一区二区三区你懂的| 欧美日韩精品免费观看视一区二区 | 久久夜色撩人精品| 欧美日韩国产免费| 国外视频精品毛片| 亚洲一区精品电影| 嫩模写真一区二区三区三州| 国产精品99久久久久久久vr| 老鸭窝毛片一区二区三区| 国产精品户外野外| 亚洲人成网站在线观看播放| 欧美伊人久久大香线蕉综合69| 亚洲成人中文| 欧美一区二区视频在线观看2020| 欧美精品一区二区三区久久久竹菊| 国产精品一区二区黑丝| 一本色道久久加勒比88综合| 久久免费国产精品| 亚洲一区二区成人| 欧美久久久久中文字幕| 精品成人一区二区三区| 香蕉精品999视频一区二区| 亚洲人成毛片在线播放| 久久视频精品在线| 国产一区二区高清不卡| 亚洲永久免费精品| 日韩亚洲欧美在线观看| 欧美风情在线观看| 亚洲欧洲三级| 欧美成人国产| 久久久久国产精品一区三寸| 国产色产综合产在线视频| 亚洲综合日韩| 国产精品99久久99久久久二8| 欧美成人在线网站| 亚洲欧洲一区二区三区在线观看| 久色婷婷小香蕉久久| 久久av红桃一区二区小说| 国产日韩成人精品| 久久精品成人欧美大片古装| 欧美中文字幕在线观看| 狠狠色综合色综合网络| 久久婷婷综合激情| 久久一区二区三区超碰国产精品| 一区二区三区无毛| 欧美成人亚洲| 欧美区日韩区| 亚洲亚洲精品在线观看| 在线综合亚洲| 国产亚洲精品一区二区| 蜜乳av另类精品一区二区| 老巨人导航500精品| 99xxxx成人网| 亚洲欧美精品| 精久久久久久| 91久久久在线| 国产精品日本精品| 久久久www免费人成黑人精品| 欧美日韩一级黄| 欧美大片在线观看一区| 亚洲精品免费在线播放| 亚洲精品社区| 国产精品日韩一区二区| 久久九九99| 久久综合婷婷| 一区二区三区成人精品| 亚洲深夜福利在线| 国模吧视频一区| 欧美激情成人在线| 欧美日韩在线播放一区| 欧美在线视频不卡| 老司机午夜免费精品视频 | 裸体歌舞表演一区二区| 日韩视频精品在线观看| 午夜国产一区| 亚洲老板91色精品久久| 在线视频亚洲一区| 在线日韩中文字幕| 亚洲男人的天堂在线aⅴ视频| 亚洲国产综合在线| 亚洲欧美成人一区二区在线电影| 樱桃成人精品视频在线播放| 99re热这里只有精品免费视频| 国产综合精品一区| 一区二区三区精密机械公司 | 亚洲欧美久久久| 久久精品综合一区| 午夜精品久久久久久| 欧美国产日韩一区二区三区| 久久久久亚洲综合| 国产精品激情电影| 亚洲精品国产精品国自产观看| 国产视频欧美视频| 一区二区三区福利| 日韩网站在线观看| 免费观看成人| 麻豆精品91| 国产亚洲女人久久久久毛片| 一本高清dvd不卡在线观看| 影音先锋亚洲精品| 午夜精品一区二区三区在线视| 一区二区三区高清不卡| 欧美成人日韩| 亚洲大片av| 亚洲二区在线| 久久久99国产精品免费| 久久精品国产亚洲aⅴ| 国产精品拍天天在线| 亚洲一区免费| 久久xxxx精品视频| 国产一区二区成人久久免费影院| 亚洲欧美日韩国产综合| 久久国产一区| 在线成人av网站| 美女露胸一区二区三区| 免费欧美视频| 亚洲国产精品久久久久婷婷老年| 久久久av毛片精品| 久久综合伊人77777尤物| 激情成人av在线| 亚洲自拍高清| 欧美一二区视频| 欧美一区二区三区四区在线观看地址| 欧美性做爰猛烈叫床潮| 在线一区二区三区四区五区| 午夜影院日韩| 黄色日韩在线| 欧美成人在线影院| 99热免费精品在线观看| 亚洲欧美乱综合| 国产午夜久久久久| 老鸭窝亚洲一区二区三区| 亚洲国语精品自产拍在线观看| 9国产精品视频| 国产精品青草久久久久福利99| 亚洲欧美自拍偷拍| 欧美高清视频一二三区| 亚洲视频你懂的| 国产自产精品| 欧美日韩精品久久| 性欧美18~19sex高清播放| 另类人畜视频在线| 一级成人国产| 国产一区二区在线免费观看| 久久综合成人精品亚洲另类欧美| 亚洲国产日韩一级| 欧美一区二区在线免费观看| 影音先锋国产精品| 欧美性猛交xxxx乱大交蜜桃| 久久国产一区| 一本一本久久| 欧美成人精品不卡视频在线观看 | 99国产精品视频免费观看| 欧美一激情一区二区三区| 在线精品一区| 国产精品久久国产精品99gif | 久久久久久久999| 99亚洲精品| 伊人色综合久久天天| 欧美午夜不卡| 欧美激情亚洲自拍| 久久成人在线| 亚洲特色特黄| 亚洲日本在线观看| 老司机久久99久久精品播放免费| 一区二区三区高清在线 | 亚洲人体偷拍| 国产在线不卡精品| 国产精品久久久久久亚洲毛片| 久久综合九色综合网站| 午夜老司机精品| av成人国产| 亚洲精品一区在线| 亚洲丁香婷深爱综合| 噜噜噜躁狠狠躁狠狠精品视频 | 午夜一级久久| 这里只有视频精品| 亚洲精品你懂的|