近年來,“智慧地球”和“智慧城市”概念的出現(xiàn),引發(fā)了全球建設智慧城市的熱潮。智慧社區(qū)是智慧城市中非常重要的組成部分。智慧社區(qū)是一個綜合性的平臺,集物業(yè)管理、電子商務、智慧家居、社區(qū)報警、社區(qū)停車場管理等于一身。目前,智慧社區(qū)應用還處于初級階段。雖然出現(xiàn)了融合物聯(lián)網(wǎng)技術的智慧社區(qū)解決方案,但其應用大多還處于低級、試行階段,對于應用需求的挖掘還不充分。此外,還體現(xiàn)在智慧社區(qū)的發(fā)展很不平衡,因其成本和消費水平的原因,主要集中在一線大都市。但可以預見智慧社區(qū)的建設必將從大城市向周邊輻射。
在建設智慧社區(qū)時,除了需要硬件的配套之外,與之配套的軟件系統(tǒng)也非常重要。沒有復雜的軟件系統(tǒng)就無法充分利用硬件資源,達到智能化的水平。利用SOA(Service-Oriented Architecture,即面向服務的架構),來構架智慧社區(qū)管理平臺。可以充分地利用企業(yè)現(xiàn)有的資源,通過把原有的子系統(tǒng)封裝成為服務的方式提供給上層業(yè)務使用。不僅能夠加快項目的開發(fā),同時也節(jié)省了重新開發(fā)原有系統(tǒng)功能的成本。
SOA架構
什么是SOA架構在正式談論SOA之前,首先來看看2014年世界杯。在世界杯的賽場上每支球隊上場十一名球員,由十一名球員可以組成許多不同的陣形,如4-4-2,4-3-3。在球場上可以看到一個SOA架構的縮影,每名球員是一個獨立的組件或者說服務。使用球員們的不同組合可以快速組建不同的陣形以應對各種突發(fā)情況。甚至在必要的時候可以更換新的球員來適應賽場上的變化。足球的話題到此為止,接下來回歸到正題上來,看看SOA是如何定義的。
SOA (Service-Oriented Architecture),即面向服務的架構,最初由全球最具權威的IT研究與顧問咨詢公司Gartner于1996年提出,但由于當時的技術水平和市場環(huán)境尚不具備真正實施SOA的條件,SOA并未引起人們的真正關注,因此在接下來相當長一段時間內(nèi)歸于沉寂。進入21世紀之后,Internet風起云涌,越來越多的企業(yè)將業(yè)務轉移到互聯(lián)網(wǎng)領域,帶動了電子商務的蓬勃發(fā)展。為了能夠將公司業(yè)務打包成獨立的、具有強大伸縮性的可跨越Internet訪問的服務,人們提出了Web服務的概念,這是SOA實踐的真正發(fā)端。如今SOA備受矚目,展現(xiàn)其強大能力。
SOA架構的優(yōu)勢
正如之前足球隊的比喻一樣,面向服務的體系結構是一個組件模型,它將應用程序的不同功能單元(稱之為服務)通過這些服務間定義良好的接口聯(lián)系起來。當然SOA中有各種針對不同需求的服務,不止是擁有足球隊員,而是擁有各種技能的人員。所以如果當需要組成的不再是足球隊,而是一個籃球隊(需求改變后的系統(tǒng)),SOA也可以輕松選取新的人才組成新的隊伍。而不需要像傳統(tǒng)的方式一樣把原先的隊伍改造成新的隊伍,而當現(xiàn)有的人員無法找到合適的人才來勝任新的工作時,也可以重新培養(yǎng)新型的人才加入到現(xiàn)有的隊伍中來完成
新的工作,同時不影響原有的人員和隊伍。SOA最大的優(yōu)勢就是可以根據(jù)需求通過網(wǎng)絡對松散耦合的應用組件進行分布式部署、組合和使用。
SOA的系統(tǒng)能夠更加從容地面對業(yè)務的急劇變化。它可以輕易的融入新的組件以應對新的需求,也可以放棄不再需要的組件而不影響系統(tǒng)其他業(yè)務。
此外SOA是與平臺無關的。其組件可以通過網(wǎng)絡進行部署和使用的,任何可以訪問網(wǎng)絡的平臺都可以通過網(wǎng)絡使用系統(tǒng)的組件。
SOA通過建立可組合、可重用的組件來減少業(yè)務的冗余和耦合,允許企業(yè)高效地利用現(xiàn)有的資源,提高系統(tǒng)的開發(fā)效率。
SOA能做什么
SOA擁有如此多的優(yōu)勢,但它并不是一項具體的技術,而是一種設計模式一種解決方案。SOA提供了一種構建IT 組織的標準和方法,這套標準通過把一個復雜的系統(tǒng)劃分為一套套更為簡單的子系統(tǒng),這些子系統(tǒng)之間保持相互獨立,并且與整個系統(tǒng)保持一致。而對于每個子系統(tǒng)還可以繼續(xù)細分下去,直到達到形成一個個獨立組件。這里體現(xiàn)了SOA系統(tǒng)中服務粒度控制的重要性,是將系統(tǒng)的服務進行粗粒度的封裝,還是需要繼續(xù)細化進行細粒度的封裝,粒度細化雖然更加靈活但同時也使得服務極易改變。
通過封裝成服務的方式,SOA允許一個企業(yè)高效地平衡現(xiàn)有的資源和財產(chǎn),這種體系能夠使得IT 部門效率更高、開發(fā)周期更短、項目分發(fā)更快,在幫助IT技術和業(yè)務整合方面有著深遠的意義,它可以:
縮小業(yè)務和技術的鴻溝
SOA 改變了以往以技術為中心的信息系統(tǒng)建設模式,使得IT 技術重新回到業(yè)務支撐的角色。IT 技術的目標是為業(yè)務、應用服務,而不是IT 技術本身的發(fā)展。業(yè)務人員可以像組裝硬件一樣從業(yè)務角度即時構造應用,從而縮小業(yè)務和技術的鴻溝。
軟件資源的共享與重用
SOA提供了一種把原有的組件按一定的標準封裝為具有文檔形式接口描述的服務,從而使服務的使用者和服務之間是一種松耦合關系。這樣,一方面可以把遺留系統(tǒng)封裝為服務加以復用,提高了投資回報率;另一方面,可以直接調用外部服務提供商提供的服務從而起到復用的作用。
應用的隨需擴展
SOA的松耦合特性給應用帶來了極大的靈活性。服務使用者和服務提供者在保持接口契約一致性的情況下,可以獨立演化。基于SOA 的應用可以看成是一組服務以及服務之間松散耦合的集合。因此,一方面新的服務可以很容易地加入這個松散集合,另一方面也可以根據(jù)業(yè)務需求重新編排集合內(nèi)的服務,以生成新的復合服務。因此基于SOA的應用具有易于改變、易于擴展的特點,從而支持了業(yè)務的快速反應和敏捷性。
總之,SOA試圖將網(wǎng)絡上需要共享的各種資源統(tǒng)一以服務的形式進行封裝和接入,讓它們在物理上保持分布自治的同時實現(xiàn)以“虛擬信息中心”為基礎的邏輯上的一體化管理,以透明的方式進行資源的優(yōu)化選取、按需中介和有效訪問,并能夠支持用戶主動參與應用配置。
SOA在智慧社區(qū)的應用
智慧社區(qū)
隨著信息技術發(fā)展和人民生活水平的提高,智能小區(qū)和智能社區(qū)獲得了長足的發(fā)展,為了適應信息技術的發(fā)展和智慧城市的建設,提出了智慧社區(qū)的理念和建設智慧社區(qū)的需求。其特點主要表現(xiàn)在以下方面:
·智慧社區(qū)應具有完備的局域網(wǎng)和廣域網(wǎng)、國際互聯(lián)網(wǎng)接入。通過網(wǎng)絡可以實現(xiàn)社區(qū)機電設備和家庭電器的自動化、智能化監(jiān)控,實現(xiàn)一體化、聯(lián)動安防系統(tǒng)的自動化、智能化監(jiān)控。
·智慧社區(qū)應用現(xiàn)代數(shù)字技術,包括現(xiàn)代傳感技術,數(shù)字信息處理技術、數(shù)字通信技術、計算機技術、多媒體技術和網(wǎng)絡技術,加快了信息傳播的速度,提高了信息采集、傳播、處理、顯示的性能。
·智慧社區(qū)提高了系統(tǒng)的集成優(yōu)化程度,實現(xiàn)了信息和資源的共享。
·智慧社區(qū)是智慧城市的信息節(jié)點,智慧社區(qū)的建設為智慧城市的建設提供了條件,為電子政務、電子商務、物流等現(xiàn)代化技術的應用打下了基礎。
SOA的智慧社區(qū)管理系統(tǒng)
由智慧社區(qū)的理念和需求可以知道它是海量信息交匯的節(jié)點,因此需要一個綜合的信息管理平臺。該平臺應對能夠采集和存儲監(jiān)控信息并做相應計算分析,實時處理大量用戶的請求,并且具有良好的安全性和穩(wěn)定性。一個智慧社區(qū)管理系統(tǒng)通常包含以下子系統(tǒng):智能家居服務子系統(tǒng)、社區(qū)物業(yè)管理子系統(tǒng)、社區(qū)娛樂購物子系統(tǒng)、社區(qū)停車場子系統(tǒng)、社區(qū)報警運營子系統(tǒng)、社區(qū)監(jiān)控子系統(tǒng)。對于這些子系統(tǒng),企業(yè)很可能已經(jīng)開發(fā)了部分或者全部,并且對于單獨的子系統(tǒng)來說依然還適用于當前的需求。基于SOA的架構便可以充分利用現(xiàn)有的子系統(tǒng),而不需要將所有東西推倒重來。這樣無疑可以縮減系統(tǒng)開發(fā)時間和產(chǎn)品上線的時間。在重用現(xiàn)有資源的同時,也降低了面臨未知技術問題的風險,因為原有的系統(tǒng)是已知的可控的。技術風險應當是在系統(tǒng)需求設計階段就進行妥善考慮的問題。在開發(fā)階段遭遇技術問題,那么很可能讓大量開發(fā)人員不得不停下腳步等待技術問題的解決,這對于項目進度將造成致命的打擊。
由于SOA可以把業(yè)務與技術分離、實現(xiàn)軟件資源的共享與重用、隨需求擴展系統(tǒng),因此基于SOA的智慧社區(qū)管理平臺可以最大限度地避免開發(fā)過程中所遇到的風險。
在SOA模式下之下,原有的子系統(tǒng)都將進行獨立的封裝,外部通過系統(tǒng)提供的服務來訪問系統(tǒng)資源。各子系統(tǒng)從而與整個系統(tǒng)解耦,達到復用的目的以減少成本。在子系統(tǒng)的開發(fā)上無需考慮復雜的業(yè)務流程,集中完成子功能的實現(xiàn)即可。子系統(tǒng)進行分布式的部署,提高系統(tǒng)的并發(fā)性能。在某個服務出現(xiàn)故障之時,不會影響其他的服務,保證了系統(tǒng)的穩(wěn)定性。
在各個服務之上的業(yè)務流程層,由于服務完成了技術細節(jié)上的封裝,業(yè)務上無需關心技術上的問題,只需要根據(jù)用戶需求使用不同服務的組合完成復雜的業(yè)務流程,從而大大降低了系統(tǒng)整合集成的難度。在遇到暫時沒有條件解決或者需要花費大量時間和成本才能解決的技術難題時,也可以通過引入第三方的服務,保證不會因此而導致開發(fā)人員不得不等待問題的解決而導致項目的延期。對于那些在未來一定時間內(nèi)變化不大的服務,也可以開放給第三方使用。
結束語
基于SOA架構的智慧社區(qū)綜合管理平臺在可用性、性能、可重用性、可擴展性、經(jīng)濟性等方面都有不錯的表現(xiàn)。當然SOA并不是一個具體的技術,它不能幫助你解決系統(tǒng)開發(fā)時所遇到的技術難題,每一個技術難題依然需要具體的人員運用具體的技術去解決。SOA能做到指導系統(tǒng)的設計,讓系統(tǒng)能更從容地應對出現(xiàn)的問題。智慧社區(qū)目前還處于發(fā)展的初級階段,并且開始受到各大公司的矚目。可以預見在不久的將來智慧社區(qū)將會迅猛發(fā)展,需求也將日新月異,運用一個良好的設計架構來構建系統(tǒng)才能夠在劇烈的需求變化中處于不敗之地,SOA正能夠實現(xiàn)這個目標。