• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    一種基于 SOA 的應用程序的動態實現框架

    發布: 2008-1-29 11:05 | 作者: Arun Candadai | 來源: 不詳 | 查看: 11次 | 進入軟件測試論壇討論

    領測軟件測試網 --未來 SOA 軟件和企業應用程序的關鍵

      當今 IT 環境的特點是:異構而復雜的應用程序、進度緊張、受預算約束,以及一個不斷變化的業務需求前景。幾乎沒有企業能夠以一種高效率的方式,靈活而有效地增強其現有的基礎架構,來迎接和克服這些挑戰。即便如此,為了快速而經濟高效的處理源源不斷的高度復雜而動態的業務需求,企業需要一種靈活而動態的方法來自動化、構建和管理關鍵業務流程。

      解決方案

      面向服務架構(SOA)常常被奉為解決上述業務挑戰的一種可行的解決方案。SOA 是一種通過使用和組裝構建模塊來概念化、設計和構建應用程序的方法,每個構建模塊通常被表示為一個可重用的服務。目前使用的許多 SOA 方法只是簡單地封裝一些業務功能,然后是用在應用程序中,而且采用了一種臨時、靜態和不靈活的方法。開發未來應用程序和業務流程的推薦方法是采用正式的 SOA 實現框架,該框架是動態的、靈活的和可伸縮的,足以滿足變化的和復雜的業務需求。不管您是否為 SOA 實現購買或構建了一個框架,該框架的功能必須要保證有利于您的解決方案。

      SOA 實現框架概覽

      SOA 實現框架是一種允許利用 SOA 原理高效構建應用程序和業務流程的技術。它為架構師、開發人員和管理員提供了一個操作框架和工具,允許他們配置、使用和管理企業服務,這些企業服務構成了應用程序和業務流程的構建模塊。這個框架在實現流程的各個級別和階段中使用了一種以服務為中心的方法,并具有以下普遍特征:

      ※ 利用高度安全的、獨立于協議的方法來動態連接客戶機和服務的能力。
      ※ 可靠的處理服務執行的同步和異步模式的能力。
      ※ 以聲明方式定義和處理事件的能力。
      ※ 在客戶機和服務之間動態轉換數據格式的能力。
      ※ 以集中方式管理分布式 SOA 資源(服務、配置、策略等)的能力。
      ※ 在服務執行過程中捕獲和處理異常的能力。
      ※ 記錄和監控在客戶服務交易期間出現的不同事件并進行度量的能力。
      ※ 提供統一的可重用服務調用代碼庫,用于企業中所有應用程序。
      ※ 支持 Web 服務標準堆棧,以促進大規模的采納和互操作性。

      框架組件

      服務注冊

      服務注冊是企業啟用 SOA 解決方案的一個基礎部分。它用于定義、配置和實施業務服務,這些服務以集中方式使用在應用程序中。因為缺乏一個精心設計和管理的服務注冊,許多公司無法實現 SOA 全部的潛力。這包括用于定義和配置服務到服務、提供者、消費者、服務交互、策略和所有相關配置所需的重要信息。服務注冊駐留在一個高性能數據存儲中,并可使用服務管理器來查看和管理,這將會在稍后予以說明。

      服務總線

      服務總線是一個在客戶機應用程序與服務之間進行協調的高性能組件,它通過代表客戶機以及旨在提高統一而又可重用的技術性功能的服務來提供功能的公共部件,從而提高了其價值,這就是 SOA 真正實現的關鍵所在。它通過提供一種標準機制來連接服務并封裝服務實現細節,使客戶機可以集中關注業務邏輯。

      服務總線使用了一種流水線的方法,即把總線看作一系列的部件 — 一條流水線。流水線的每個階段本質上都是一個增值的部件,從前一個階段接收一系列的輸入,然后處理數據,并把輸出傳輸到下一個階段。

      服務總線的特點如下:

      ※ 動態連接性和路由:動態連接性是指不需要為每一個服務使用一個分離的靜態 API 或者代理就可以動態連接到網絡服務,F在的大多數企業應用程序都是運行在一種靜態連接方式上,并且每個服務都需要一些靜態代碼片段。動態服務連接性是企業靈活性的關鍵。動態連接性 API 也是如此,如果不考慮服務實現協議(Web 服務、JMS、EJB/RMI、POJO 等等)?蛻舳藨贸绦蚩梢酝ㄟ^ URI 接口訪問服務,該接口要么直接映射到服務上,要么根據服務請求的環境或者內容被路由到服務上。
     
      ※ 可靠的消息傳輸:可靠的消息傳輸是指把服務需求消息進行排序并確保這些消息被傳輸到目的地的能力。如果需要,它還包括將響應消息回饋給請求方的響應能力。這種能力主要用于處理事件,這對以異步方式響應客戶和成功的 SOA 實現至關重要。它主要是通過使用可靠的 JMS 排序與存儲、發送和確保交付的能力實現的。

      ※ 安全:一般來說,處理和加強安全是 SOA 實現的一個關鍵成功因素。主要考慮以下問題:
        - 聯合驗證:這個特性截取服務請求并添加適當的用戶名和憑證。它還可以在發送服務執行請求之前驗證服務請求。
        - 授權:驗證每一個服務請求并發放授權,來確保發送方具有訪問服務的正確權限。
        - 加密/解密:在元素層加密請求和響應信息的 XML 內容,并且解密相反的腳本。

      ※ 轉換:在客戶端和服務使用不同的數據格式時需要進行轉換,即根據規定的轉換規則把數據的既有格式轉換成目標格式的能力。

      ※ 高速緩存和性能策略:對提高服務的性能和質量,以及最終增強提高整體顧客服務來說非常重要。它可以在不同的層次上執行,包括服務配置,服務響應數據的服務和其他 SOA 資源,取決于如何通過優化來獲得高性能。整體性能還可以通過壓縮在節點間傳輸的基于 XML 的消息來獲得提高,這樣可以降低帶寬利用率。為了達到這個目標,壓縮和解壓縮代理被安裝在 SOA 柵格的邊緣。

      ※ 日志:在出于審計、問題診斷和監控等目的而需要跟蹤系統執行和性能?梢詾槿魏畏⻊沼涗浫罩,還可以在各種不同的層中記錄日志。

      ※ 監控:是指跟蹤通過總線發生的服務活動,并提供可見的度量標準和統計數據的能力。監控的特殊意義是指能夠發現業務流程中出現的問題和異常情況,并且快速采取行動來解決問題。

      ※ 服務水平協議(SLA):SLA 定義了與 Web 服務操作和業務流程相關的性能擔!T如響應時間和服務可用性等——性能擔保對業務關鍵的操作來說很重要。服務提供商可以使用 SLA 來推廣和創建服務水平協議。這可以幫助他們提供適當數量的資源和優先提供維護服務。

      ※ 版本控制:是指版本化 Web 服務和前攝性地幫助客戶開展客戶端應用程序遷移工作,Web 服務的最新版本一經推出,就立即幫助客戶把客戶端應用程序遷移到最新版本中。版本控制支持包括能夠注冊同一服務的不同版本,根據需要向客戶端提供所有版本的 API 和庫,以及幫助把客戶端遷移到新版本中。版本控制組件使用基于 XLST 的轉換規則把對舊版本服務的請求轉換成對新版本的請求。

      ※ 異常管理:是指在客戶訪問業務服務時跟蹤和處理出現的異常的能力。異常細節包括捕獲和日志記錄的異常代碼、名稱、原因和描述?梢酝ㄟ^按照預先定義的次數嘗試重復連接,路由到一個替代服務中,或者簡單地返回執行失敗的原因來處理異常。
     
      ※ 定制業務邏輯處理:為在服務處理過程中插入定制的業務邏輯提供靈活性。舉例來說,一個具體的業務邏輯要么先于提交服務執行請求之前在服務請求上執行,要么先于發送服務響應到客戶端之前在服務請求上執行。

      服務總線本身是作為一種服務實現的,使用了 Web 服務或者 EJB 技術。這種服務被部署到服務器池或者群集中,并可以橫向擴展。上述組件必須符合相應的 Web 服務標準。

    服務管理器:

      服務管理器是一種基于 UI 的管理工具,它可以授權管理員和業務經理來定義、配置、管理和監控業務服務以及應用程序中使用的相關資源。它可以被看作是 SOA 實現的控制中心,主要用于供應和監控服務。服務管理器的兩個關鍵功能如下:

      ※ 服務配置管理:使用這個功能,管理員可以隨時隨地配置服務注冊中存放的服務。用戶可以定義服務、位置、綁定信息和服務配置設定(如安全性、高速緩存、轉換、日志和監控)。他們還可以定義服務提供商和消費者以及相關的服務契約。

      ※ 服務活動監控:為業務經理和管理員提供一個查看通過總線發生的服務活動相關的主要性能數據和統計指示板。用戶可以查看和監控服務使用、響應時間、服務異常、行為日志、信息等等。服務管理器就像一種基于 Web 的應用程序,可以在沒有任何客戶端安裝需求的情況下訪問。

      客戶端 SDK

      客戶端 SDK 是一種連接服務總線時所需的軟件。SDK 被以 API 的形式包裝和提供,可以從服務管理器中下載這個軟件。它是一種易于使用的庫,開發人員可以用來在應用程序和業務流程中發現、訪問和利用業務服務。這樣可以顯著的提高了開發人員的生產力,因為它把開發人員從信息調查工作中解放出來,而由服務總線來執行?蛻舳 API 不使用服務位置依賴的、硬連線的代理和調用存根來訪問服務。相反,它使用一種動態機制來通過總線連接到服務。

      SOA 實現框架使用

      SOA 實現框架可以用來開發強大的應用程序和業務流程。圖2展示了一個使用場景,使用 SOA實現框架來構造客戶自我服務的應用程序,其中包括訂單管理和客戶支持功能。應用程序使用客戶端 SDK 通過總線來連接訂單和支持流程中的核心業務,諸如提交購買訂單、第三方信用驗證、訂單狀態、支持案例條目和支持案例狀態等。這些功能要么作為 Web 服務,要么作為其他 Java API 發布,通過在現有應用程序中包裝業務邏輯 —— SAP 訂單管理和定制的客戶支持應用程序。進一步說,信用服務是一種駐留在合作伙伴站點中的 Web 服務。

      這個例子闡述了客戶端應用程序輕松地以一種統一的、獨立于服務邏輯的方式連接異構服務的能力。

      SOA 實現的最佳實踐

      除了使用強大而靈活的 SOA 實現框架之外,任何成功的 SOA 實現都需要一系列在開發周期不同階段中的指導和最佳實踐。一組核心的指導如下:

      ※ 使用新服務的流程必須是受配置和發現流程驅動的,這與實現一種冗長的手工流程周期相對。這樣可以確保整個系統能夠以最少的投入來滿足未來需求。

      ※ 一次 SOA 實現就像用來設計業務服務的方法一樣成功,每一服務必須被抽象為一種粗粒度的業務功能,并按照可以在企業之間耦合和重用的方式進行設計。

      ※ 在可以縮短響應時間和提高整體用戶體驗的地方,服務必須設計成異步的。
     
      ※ 客戶端應用程序必須使用統一的服務訪問機制,以一種獨立于協議的方式,而且不必考慮服務是本地還是遠程。此外,客戶必須關注業務邏輯,而業務連接性邏輯必須從客戶端 SDK 中抽象出來。這樣確保了集中式管道邏輯、更高的應用程序開放人員生產力以及易于維護。

      ※ SOA 實現框架中的普通組件必須以一種標準方式發布,來促進代碼的統一和重用。

      ※ 在可能的地方使用配置,而不是基于定制和代碼的業務邏輯。這樣可以提高以最少的投入和最短的時間來滿足未來業務需求的能力。

      ※ 重用和包裝現有業務應用程序邏輯和更加粗粒度的業務水平服務。避免重寫原有實現邏輯。

      結束語

      這篇文章提出了一種靈活的、動態的 SOA 實現框架來構建未來面向服務應用程序和業務流程。這種方法旨在提供給企業一個高度可擴展的、動態的框架,以便定義、配置、訪問和管理企業服務。

      原文出處:http://www.sys-con.com/story/?storyid=46307&DE=1

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: soa SOA


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>