深入了解SOA(莫淘)

2021-04-12 14:06:54 字數 3028 閱讀 1920

課程內容安排

soa概覽

構建服務

wcf概覽

架構soa

的原則

wcf架構

wcf行為特徵

服務流程

soa的設計模式和「反模式」

服務管理

第一部分:

soa概覽

1

、soa

由於大多數的

soa研究人員和分析人員是技術導向的,這導致「架構」在服務開發的過程中被忽略了 「

a」代表了你如何開發,部署,訪問和管理你的服務,如果沒有「

a」,「

soa」系統的構建將是災難

2、服務「

s」和基於「

soa」的系統是不同的

乙個服務是通過資訊交換,進而產生互動的程式。它具有以下特點: 「

built to last」

可用性和穩定性是至關重要的

乙個「系統」是一系列的已經部署的服務和任務的總合。它具有以下特點: 「

built to change」

系統的柔性是至關重要的

3、面向服務的業務流程

粗粒度的業務服務操作(客戶程式與業務流程)

中等粒度的內部服務操作(業務流程與

businesscompoent)

細粒度的物件和資料庫呼叫(

businesscomponent

與資料庫)

4、組合應用程式

應用應該是有多個服務組成的 強調

composed

,而不是

built

跨越原有的功能

可以增加業務邏輯。暴露額外的介面

portal

、devices

、office

、other

————

composition platform

5、soa包括的內容:

工具:使用者互動、業務流程、資料、訪問管理、服務和資訊

服務的管理:構建無縫的、豐富的使用者體驗、組合和整合業務流程、提供針對多種資料的無縫的訪問能力、提供整合的安全性、針對多種系統的連線能力

第二部分:構建服務

1、microsoft soa框架

首先,如何決定應該暴露什麼服務

這點在soa的設計中是最難的

幾乎沒有人有豐富的經驗

核心:為將來使用這些服務的應用定義正確的用例圖

一些建議:

通過服務包裝器定義業務邏輯

不要直接暴漏物件

不要讓開發人員決定暴露何種服務

2、top—down

方法:

工作模式:首先定義邏輯框架 使用

microsoft』s motion

方**

發現哪些服務是必須的

建立針對服務的應用程式

優點:這些服務清晰、乾淨

缺點:在很多組織內,做到這點很難

做到基於業務的靈活性也是很難的

3、bottom up

方法:

language constructs

—language libraries

—object modules

—distributed objects

—service models

工作模式:

構建面向服務的應用

集中精力解決

soa的問題——

e.g.,security and management

優點:在許多組織內部,便於執行

缺點:對於定位服務來說,這種方法並不優美

面臨「無用服務」的問題,

這些通常導致無法制定乙個良好的計畫

4、面向服務分析中通常面臨的問題:

實體的辨別

實體的工廠化

服務的辨別

服務的工廠化

處理的規範

「觸點」的選擇

規則對映

slas

...

5、面向服務設計中通常面臨的問題:

schema定義

message定義

contract定義

訊息截獲

流程管理

事務模式

操作的相容性

異常管理

訊息到物件的對映

refinement of analysis …

windows communication foundation architecture 是

service model

之間的通訊的設計

第三部分:

soa的設計模式和「反模式」

1

、活動服務模式

單元工作應該是盡可能合理的盡快執行

同步業務元件

跨越多個實體交易的「偽同步」機制

單一介面:針對文件型別的

rpc

通常會被多種

user case

來呼叫

從可重用性中獲得

roi

購買和構建的組合

2、處理的服務模式

為實現業務處理的工作流提供控制介面

針對每個介面的不同許可權

維護流程的狀態

允許跨組組織的過程的執行

為每乙個業務流程的控制點提供介面

非同步觸點

多層的策略

有一些流程會被跨越用例的呼叫

需要保持「主流程」和用例的統一性

從「非居間化」中獲得

roi

通常需要構建,而且最好在乙個翻譯器中進行

基礎架構服務模式

滿足水平操作性的需求

實現和操作由公共標準定義的協約和實體

從系統服務商處購買

有時處於效能的要求,進行部署上的重新配置

否則,從其它模式,例如:處理、活動或實體服務模式中衍生

從管理過程的標準化中獲得

roi,並在高度依賴於應用組合

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...

深入了解Dojo Data

譯自http www.sitepen.com blog 2010 10 13 dive into dojo data 使用dojo data有助於快速建立web應用的介面,且易於嵌入各種資料來源。它在使用者介面與底層資料之間提供了一層抽象層,使得使用者介面開發人員能夠專注於ui的開發,而無需擔心資料...