More Related Content Similar to 客服系統的軟體架設計分享 (20) 客服系統的軟體架設計分享1. Learn from the Expert
Software Architect Design For CTI
(Computer Telecommunication Integration)
客服系統的軟體架構設計分享
Johnson Gau
高榮章 2017.3
5. What Is Software Architecture?
軟體架構是:
關於定義一個結構性方案,用來滿足所有技術和
商業操作需求。
並最佳化品質因子:像是效能, 安全性, 可維護性
其決策基於很廣泛的因素。
是屬於較高階(High Level)的決策,往往在後面
就不能改變了。
9. 架構的型態(Styles)
可以
多個組合
• 服務導向(SOA)
• 訊息(Message Bus)
Communication
• 多層式/ 3層式(N-Tier / 3-Tier)
• 主從式(Client/Server)
• Web-Based
Deployment
• Domain驅動架構(DDD)
Domain
• 元件式(Component-Based)
• Object-Oriented
• 分層(Layered Architecture)
Structure
12. Domain Driven Design Architectural Style
優點
• 容易了解Domain
• 溝通容易
• 擴充性高
• 可測試性高
缺點
• 成本高
• 必須很懂domain
14. Message Bus Architectural Style
優點
• 可非同步, 減少等待時間
• 不同環境(公司)的整合
• 有兩類型態:
• Enterprise Service Bus (ESB).
• Internet Service Bus (ISB).-BPM
缺點
• 流程邏輯複雜
15. N-Tier / 3-Tier Architectural Style
優點
• scalability
• availability
• Manageability
• Availability(resource utilization)
缺點
• 部署比較複雜
• 程式必須同步到不同主機
Tier: 實體上切分, 部署不同主機切
Layer: 邏輯上切分, 以proj切
19. 設計步驟
• Identify Architecture Objects
功能性和非功能性目標
• Identify Key Scenarios
主流程是否適用、CRUD 有機敏資料?
介接其他系統?
• Create Application Overview
架構類型
• Identify Key Issues
Availability/Interoperability
/Manageability/Performance
/Reliability/Scalability/Security/Authentication
/Authorization/Caching/Communication/Confi
guration Management/Exception
Management/Logging
Instrumentation/Validation.
• Define Candidate Solutions
Cloud, CS vs Web
26. 替代方案選擇-多屬性決策分析
決策分析方法論:
• ELECTRE
• AHP
• MAVT
• TOPSIS
Window Form Browser(Web Form)
開發限制性 少。如需要Web功能,只要嵌入 Web browser控制項。 多。每一動作都需返回Web server處理。
整合性
直接在Windows Form裡呼叫。
*本項為主要決策因素
參考原廠的元件,透過TCP/IP與伺服器溝通,在web page只能透過
ActiveX來實現,ActiveX為了要跟原網頁互動,需加入Java Script與
之互動,增加Web Form複雜度和限制。
部署
需在每一Client端部署AP。
但Windows Form 允許以 ClickOnce 進行 「不需接觸」的
部署,您可在使用者電腦上直接下載、安裝並執行應用程
式,而不需變更登錄。
另外可以自行撰寫下載程式,達到自動更新機制。
Web Form 沒有用戶端部署。只要更伺服上的程式碼。
Performance
快。
用戶端電腦上完整執行 Windows Form;提供高度互動的
應用程式提供最快的回應速度。
慢。
除少部分的互動可透過Java script進行。大部分的處理 (包括與 UI
相關的工作,例如驗證) 需要往返於 Web 伺服器,而可能影響回應
性。
平台
Windows Form 需要用戶端電腦安裝執行 .NET Framework
版本。
用戶端只需要瀏覽器就能執行Web Form。
Web 伺服器必須執行 .NET Framework。
程式撰寫模式
Windows Form 是以用戶端、Win32 訊息幫浦模式為基礎,
其中元件的執行個體 (Instance) 是由開發人員建立、使用
和捨棄。
程式的控制較為單一。
Web Form 倚賴多數時間為非同步且中斷連接的模型,伺服器的元
件彈性地與應用程式前端結合。通常會透過 HTTP 叫用應用程式元
件。
程式的控制需有Client端間,Client-Server間交互控制。
安全性
Windows Form 會在程式碼存取安全性的實作上使用權限,
以保護電腦資源和機密資訊。這樣可謹慎地提供功能而同
時又能維持安全性。
本地端因需執行ActiveX需要降低IE安全型來滿足。
方案1: Browser Server
方案2: Window form
選擇 方案2: Window form
29. 參考文獻
• MI C R O S O F T AP P L I C AT I O N AR C H I T E C T U R E GU I D E 2nd Edition
• Genesys Core Applications Positioning and Architecture
Editor's Notes 架構型態的選擇這些架構型態只是對軟體設計者可以利用的小型子集合。
一旦需求工程揭開所要建造系統的特性與侷限時,最適合此特性與侷限的架構型態或型態的組合可被選擇。
許多情形中,超過一種以上的型態可能是較為恰當的,且可供選舉的方案可被設計與評估。例如,在許多資料庫的應用程式中,階層的型態(適用於大多數的系統)能結合以資料為中心的架構。
簡單的說可以選擇一個或結合多種架構
Domain Driven Design (DDD) is an object-oriented approach to designing software
based on the business domain, its elements and behaviors, and the relationships
between them A number of design patterns support the layered architectural style. For example,
Separated Presentation