基於架構的軟件開發方法:基於架構的軟件設計(Architecture-Based Software Design,ABSD),這個開發方法是架構驅動。
架構驅動介紹如下:
事件驅動架構(Event Driven Architecture,EDA)壹個事件驅動框架(EDA)定義了壹個設計和實現壹個應用系統的方法學,在這個系統裏事件可傳輸於松散耦合的組件和服務之間。壹個事件驅動系統典型地由事件消費者和事件產生者組成。
事件消費者向事件管理器訂閱事件,事件產生者向事件管理器發布事件。當事件管理器從事件產生者那接收到壹個事件時,事件管理把這個事件轉送給相應的事件消費者。
如果這個事件消費者是不可用的,事件管理者將保留這個事件,壹段間隔之後再次轉送該事件消費者。這種事件傳送方法在基於消息的系統裏就是:儲存(store)和轉送(forward)。
架構特點介紹如下:
構建壹個包含事件驅動構架的應用程序和系統,會使這些應用程序和系統響應更靈敏,因為事件驅動的系統更適合應用在不可預知的和異步的環境裏。
事件驅動架構在具體實現中是指由壹系列相關組件構成的應用,而組件之間通過事件機制完成壹定的業務功能。
由於在壹個EDA系統中各個組件都只專註於處理輸入的消息與發布輸出的消息,因而EDA系統能夠更有加效地對管道化(pipelined)的、由多軟件模塊鏈接而成的並發事件流concurrent processing of events進行處理。
架構優勢介紹如下:
EDA提高了對不斷變化的業務需求的響應,最大限度地減少了對現有業務應用的影響,也常消除了對新打包應用的需要。如果采用特有的粗顆粒服務模型可以基於業務目標快速確定可控的業務變更,並直接、迅速、有效地實施變更以達到業務敏捷性和完整性。