A. java框架有哪些常用框架
十大常用框架:
一、SpringMVC
二、Spring
三、Mybatis
四、Dubbo
五、Maven
六、RabbitMQ
七、Log4j
八、Ehcache
九、Redis
十、Shiro
B. 在軟體項目開發過程中,都有哪些常見的軟體架構
軟體產品的架構,通常都是隨著業務的發展而不斷演變的;我從事軟體開發行業也有十餘年了,遇到過的軟體(企業級應用,我是從事Java開發)架構主要有這么幾種:
單體架構架構
總的概括來說,單體架構就是應用所有的功能,只有一個代碼包,開發和部署都在一起,這是一種比較傳統的架構風格;當然,單體架構也有著諸多的缺點:
SOA架構
因為單體應用架構的種種缺點,已經不能再滿足業務需求的時候,於是就出現了SOA架構。
SOA架構的主要思想是把應用程序的模塊化組件,通過介面聯系起來(介面可以獨立於語言、框架、硬體、操作系統);在SOA架構中,有兩個主流實現方式:
微服務架構
微服務的產生,也是由於SOA架構的一些缺點,這里再次印證了這句話,【應用架構的演進的過程通常是被業務逼出來的】。
我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。
C. 什麼是SOA架構圖
SOA的核心主體是服務。所謂「服務(Service)」 ,從業務角度而言,服務是一個可重復的經過標准封裝的任務,例如: 檢查帳號余額;開新帳戶 等等…。SOA的目標是通過服務的流程化來實現業務的靈活性,所謂流程(Process)是由一系列相互關聯的任務所組成,實現一個具體的業務功能。一個流程可以由一系列服務來實現。
標准架構圖如下:
耦合關系
SOA架構在松耦合解耦過程也發展到了最後的境界。傳統軟體將軟體之中核心三部分網路連接、數據轉換、業務邏輯全部耦合在一個整體之中,形成「鐵板一塊」的軟體,「牽一發而動全身」,軟體就難以適應變化。分布式對象技術將連接邏輯進行分離,消息中間件將連接邏輯進行非同步處理,增加了更大的靈活性。消息代理和一些分布式對象中間件將數據轉換也進行了分離。而SOA架構,通過服務的封裝,實現了業務邏輯與網路連接、數據轉換等進行完全的解耦。
總之,從科學哲學的角度來看,SOA是一個不斷解構的過程,傳統軟體強調系統性,耦合度過高,所以需要松耦合(解耦);SOA也是一個組件粒度的平衡,集成電路趨勢是集成度越來越高,軟體發展的趨勢是相反的過程;SOA是架構,更是方法,反映了人們對哲學思想的追求的原動力。
按照這個特性,SOA基本上來說與WebService並不是同一個概念,SOA並不一定需要WebService實現,理論上可以在其他技術體系下,實現SOA。但事實上,到目前為止,能夠實現SOA架構風格的技術就是WebService,因為它的特性和廠商的支持力度,使得WebService成為了實現SOA實現技術的事實標准。也正因為WebService技術的成熟,才使得已經提出10多年了的SOA思想和概念,得以能夠實現落地,成為一種可以使用的技術。這也就是回答了SOA和WebService的關系。