何時採用SOA,何時不採用SOA

2021-04-18 13:18:57 字數 1747 閱讀 3036

不可輕易決定實現soa。這與改變生活方式有些類似,因為開發和操作團隊遵循的 it 控制模式將完全不同。——holt adams

soa 能夠優化業務需求與 it 的一致性,能夠將業務流程活動從服務實現中分離出來,還能夠降低操作成本。只有在不固定**商的情況下才能真正實現這些功能,此時面向 soa 實現的技術可以無縫整合(考慮:「開放標準」),以構造全面的端到端解決方案。

當考慮了策略業務目標和活動時,理論上的 soa 概念非常具有吸引力,更加容易得到支援。不過,不可輕易決定要實現 soa。這與改變生活方式有些類似,因為開發和操作團隊遵循的 it 控制模式將完全不同。我提倡進行業務驅動開發。此過程涉及到將業務需求細化為 it 要求,然後將 it 要求細化為 it 功能,以確定滿足這些需求所需的技術。根據我過去四年開發基於 web 服務的解決方案和更為成熟的基於 soa 的解決方案的經驗,以下這些相關因素通常會讓我建議採用面向服務的體系結構:

何時採用 soa

整合成本持續增長,而並未因為可提供真正投資回報 (roi)的新業務機會而得到緩解。

兼併和收購是您公司擴大市場份額和獲得新發展機會的業務模式的核心。

解決方案要求對來自異構系統和程式設計模型的業務功能進行整合。

業務的生存依賴於根據市場變化快速調整或即時響應競爭威脅的能力。

全球經濟的影響要求您的公司事半功倍地開展業務,而且有必要依賴業務合作夥伴提供非核心業務功能。

就提高收益而言,與業務合作夥伴協作的效率對您的公司十分關鍵。

您公司業務資產的價值在減少,因為不能對其進行評估,以在最初用途之外的其他地方使用。

您公司員工的效率出現了問題,因為他們的大部分時間並沒有花在提供公司業務模型的核心功能和服務上。

您公司的業務充滿了機會型的業務工作。

您公司從頭開始開發新應用程式。(我認為 soa 應當作為定位將來的新應用程式的預設體系結構樣式,業務條件有其他限制時除外。)

在理想情況下,您和您的業務合作夥伴間沒有預算限制、計畫期限、技能差距和優先順序差異,我想,此時完全可以說每個人都會採用 soa,或者至少會考慮採用 soa。不過,我們的選擇實際上經常受到過去的決策的影響和限制(例如,技術投資、程式設計模型採用、服務的合同協定等)。因此,我們並不能總是自由地採用看 起來能滿足某個業務需求或技術要求的最佳選項。以下的注意事項會讓我不建議採用面向服務的體系結構或說明現在實現 soa 的邊際收益:

何時不採用 soa

您公司只將小部分it 預算用於整合活動。

您公司的大部分流程都是手動的或以文件為中心的,自動化的機會幾乎為零。

您公司的大部分應用程式開發都使用相同的程式設計模型。

您公司的操作由乙個或兩個客戶關係管理 (crm)和企業資源規劃 (erp)應用程式管理,幾乎沒有整合要求。

您公司的現有技能庫與實現支援 soa 的基礎結構所需的技能庫之間存在重大差異。

未發現可從 soa 提供的功能受益的業務需求或機會。

新業務服務的可用性將對現有的收益流帶來負面影響。

您公司依賴的業務合作夥伴對公司間流程的自動化採用了不同的優先順序。

您公司的主要業務的開展涉及到海量且同步性和實時性要求非常高的事務。

前面的列表只是乙個示例,用以說明 soa 是否是您公司最佳選擇的原因。當然,每個合同或專案都具有唯一的要求,因此關於何時採用 soa 的決策取決於您公司的業務狀況。soa 的價值主張十分誘人,但選擇何時讓您的公司採用 soa 必須考慮業務環境的實際情況。採用 soa 不一定要跨一大步,而通常是採用循序漸進的方式進行的。首先找到可以利用 soa 概念和原則的專案,然後使用主要效能指標測定其價值,這是一種讓大家受益的好方法。

貨訊通採用TIBCO面向服務架構 SOA

為客戶提供先進的貨運追蹤及業務流程優化 全新軟體平台助貨訊通提公升 鏈可視性 增強發貨人 收貨人及物流服務提供商間的協作 8月7日訊息,tibco軟體公司 納斯達克 tibx 宣布以軟體即服務 software as a service,簡稱saas 形式提供物流服務的全球領先供貨商貨訊通 carg...

CAS採用http方式不採用https方式配置

cas3一下的版本網上介紹說比較複雜,本人未測試。本文是在cas server3.4版本上測試成功的,記錄在此以供以後查詢 主要有以下步驟 1.web inf spring configuration ticketgrantingticketcookiegenerator.xml中將p cookie...

採用to excel儲存檔案不覆蓋原有的sheet

在python中用pandas中的to excel儲存檔案時,會將原檔案的sheet進行覆蓋,無法將處理後的結果儲存在讀取的檔案中,採用openpyxl模組可以解決這個問題,方法如下 例子import openpyxl import pandas as pd path r c users john ...