1 / 25

.NET Web Service 設計從根札起及最佳經驗

.NET Web Service 設計從根札起及最佳經驗. 彭靖灝 微軟開發技術代言人 K2 大中華區技術總監. 課程內容. 設計 Web Service 的最佳經驗 Web Service Software Factory – Model Edition Security Guidance. 最佳經驗. 企業應用系統基礎架構. 通用考量. 只使用用得到的元件 儘可能以一致的方式設計,使用的設計模型越少越好 在決定實際的通訊邊界之前,先瞭解元件通訊的方式 確保在應用程式或服務內的交換訊息格式一致

dawn
Télécharger la présentation

.NET Web Service 設計從根札起及最佳經驗

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. .NET Web Service設計從根札起及最佳經驗 彭靖灝 微軟開發技術代言人 K2 大中華區技術總監

  2. 課程內容 • 設計Web Service的最佳經驗 • Web Service Software Factory – Model Edition • Security Guidance

  3. 最佳經驗

  4. 企業應用系統基礎架構

  5. 通用考量 • 只使用用得到的元件 • 儘可能以一致的方式設計,使用的設計模型越少越好 • 在決定實際的通訊邊界之前,先瞭解元件通訊的方式 • 確保在應用程式或服務內的交換訊息格式一致 • 儘可能讓一些設計原則(安全、管理…)從商務邏輯中抽離出來 • 一開始就確認您要採取的分層原則

  6. 商務元件互動

  7. 商務元件常用的設計樣式 • Pipeline : 循序執行作業程序 • Event : 特定商務條件成立時執行指定程式

  8. Pipeline設計樣式 • 適用時機 • 作業邏輯可以透過循序執行的步驟表現 • 每一個步驟都不需要等待非同步的回應 • 每一個下游作業元件都要根據上游提供的資 料採取得動(但沒有反向要求) • 優點 • 容易實做,也易於形成異動單位 • 缺點 • 無法處理太複雜的程序,也不易處理大量條件判斷的狀況

  9. Event設計樣式 • 適用時機 • 你想要某個功能能以獨立及隔離的方式實做 • 某個實做的回應不影響到其他實做的運作 • 所有的實做都是觸發即忘,商務作業回應的結果不依賴實做內部的內容 • 優點 • 提供維護能力,也允許平行處理,可提高效能,也易於形成異動單位,並允許以同步及非同步的方式執行 • 缺點 • 不易建立複雜的回應,元件也不能依賴其他元件中狀態進行處理作業

  10. Service的類型 • Entity/Capability • 以資料為基礎的,具體的作業對象 • 很明顯看到:資料庫資料服務 • Utility/Messaging • 提供和基礎作業有關的服務 • 例如:Content Router, Security Token… • Process/Activity • 涵蓋作業邏輯的 • 常是橫跨不同部門的

  11. Service的能力和成熟度

  12. 服務介面的考量 • 將服務介面視為你的應用程式的信任邊界 • 如果服務介面要公開給外部使用,必須確保改變內部實做方式時不影響外部的使用 • 服務中同一個商務邏輯可能會由不同前端取用,有可能要發佈多個服務介面 • 不同的服務介面可能定義了不同的通訊管道、訊息格式、驗證機制、服務等級和異動能力 • 服務介面本身不實做商務邏輯 • 提供最大程度的互通能力,避免使用平台特有的資料格式或驗證機制 • 服務介面很可處理自己的認證對象,卻無法傳遞,商務元件在設計時必須考慮這一點

  13. 影響執行效能的原因 • 錯誤的通訊機制 • 過多的呼叫 • 錯誤的參數安排 • 大量的序列化作業 • 選用不當的編碼格式 • 缺乏快取機制或使用效率差的快取 • 效率不佳的狀態管理 • 錯誤的執行緒應用 • 缺乏效率的Web method處理

  14. Microsoft Web Service Software Factory

  15. Software Factories • 協助您建立特定的應用程式 • 涵蓋不同的指導內容 • 架構和設計指引、設計樣式及how-to(以文件的形式) • 實做的參考模型(執行檔形式) • 應用程式建構材料(可重複使用) • 指導套件(提供行動作業) • 提供處理程序

  16. 指導套件 • 開放 • 透過文件描述操作步驟和自動化的工作 • 可配置 • 主要的配置設定可在Visual Studio取得 • 自動化的指導作業透過XML指示 • 可擴充 • 指導內容可調整配合特殊需要 • 可驗證 • 產生的程式碼可以驗證是否符合特定的標準或規範 • 業界經驗 • 微軟經驗 • Patterns & Practices • 組織單位內 • 解決方案 • 可添加的指引

  17. Web Service Software Factory – Model Edition • 從建構作業模型下手 • 適合架構設計師使用 • 產生的Web Service實做專案可再交給開發人員實做 • 結合測試作業環境

  18. Service Factory Contents • 設計訊息和服務合約 • 可套用例外隔離及處理 • 在領域模型中設計商務實體 • 轉譯訊息成為商務實體或反向作業 • 設計、建立和取用資料存取層 • 同時支援ASMX及WCF服務

  19. 發展方向 Entity/Capability Utility/Messaging Process/Activity Enterprise SOA Capabilities & Complexity Choreography Large Messages Deployment Distributed Transactions Metadata Mgmt. Discovery Svc Modeling Management Security Versioning Workflow Capability Interoperability Contract Design Data Access Validation Today Time

  20. 系統需求 • Windows XP Professional, Windows Server 2003, 或Windows Vista • Microsoft Visual Studio 2008 (Visual Studio Professional Edition或Visual Studio Team Suite) • Visual Studio 2008 SDK Version 1.0 • Microsoft .NET Framework 3.5 • Guidance Automation Extensions - February 2008 for Visual Studio 2005 and Visual Studio 2008

  21. 示範

  22. Security Guidance

  23. Web Service Security Guide • 討論以下主題相關設計樣式 • 身份驗證 • 訊息保護 • 傳輸層及訊息層實做 • 資源存取 • 服務部署 • 是WCF Security Guidange Package的基礎

  24. 資源 • Web Service Software Factory MSDN Page • http://msdn.microsoft.com/en-us/library/cc487895.aspx • Web Service Software Factory CodePlex Community • http://www.codeplex.com/servicefactory

  25. 資源 • Application Architecture for .NET Designing Applications and Services • http://msdn.microsoft.com/en-us/library/ms954595.aspx • Improving .NET Application Performance and Scalability • http://msdn.microsoft.com/en-us/library/ms998530.aspx • Web Service Security Guide • http://www.microsoft.com/downloads/details.aspx?FamilyId=3E02A6C8-128A-47C2-9F39-4082582F3FE1&displaylang=en

More Related