近年来,“智慧地球”和“智慧城市”概念的出现,引发了全球建设智慧城市的热潮。智慧社区是智慧城市中非常重要的组成部分。智慧社区是一个综合性的平台,集物业管理、电子商务、智慧家居、社区报警、社区停车场管理等于一身。目前,智慧社区应用还处于初级阶段。虽然出现了融合物联网技术的智慧社区解决方案,但其应用大多还处于低级、试行阶段,对于应用需求的挖掘还不充分。此外,还体现在智慧社区的发展很不平衡,因其成本和消费水平的原因,主要集中在一线大都市。但可以预见智慧社区的建设必将从大城市向周边辐射。
在建设智慧社区时,除了需要硬件的配套之外,与之配套的软件系统也非常重要。没有复杂的软件系统就无法充分利用硬件资源,达到智能化的水平。利用SOA(Service-Oriented Architecture,即面向服务的架构),来构架智慧社区管理平台。可以充分地利用企业现有的资源,通过把原有的子系统封装成为服务的方式提供给上层业务使用。不仅能够加快项目的开发,同时也节省了重新开发原有系统功能的成本。
SOA架构
什么是SOA架构在正式谈论SOA之前,首先来看看2014年世界杯。在世界杯的赛场上每支球队上场十一名球员,由十一名球员可以组成许多不同的阵形,如4-4-2,4-3-3。在球场上可以看到一个SOA架构的缩影,每名球员是一个独立的组件或者说服务。使用球员们的不同组合可以快速组建不同的阵形以应对各种突发情况。甚至在必要的时候可以更换新的球员来适应赛场上的变化。足球的话题到此为止,接下来回归到正题上来,看看SOA是如何定义的。
SOA (Service-Oriented Architecture),即面向服务的架构,最初由全球最具权威的IT研究与顾问咨询公司Gartner于1996年提出,但由于当时的技术水平和市场环境尚不具备真正实施SOA的条件,SOA并未引起人们的真正关注,因此在接下来相当长一段时间内归于沉寂。进入21世纪之后,Internet风起云涌,越来越多的企业将业务转移到互联网领域,带动了电子商务的蓬勃发展。为了能够将公司业务打包成独立的、具有强大伸缩性的可跨越Internet访问的服务,人们提出了Web服务的概念,这是SOA实践的真正发端。如今SOA备受瞩目,展现其强大能力。
SOA架构的优势
正如之前足球队的比喻一样,面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称之为服务)通过这些服务间定义良好的接口联系起来。当然SOA中有各种针对不同需求的服务,不止是拥有足球队员,而是拥有各种技能的人员。所以如果当需要组成的不再是足球队,而是一个篮球队(需求改变后的系统),SOA也可以轻松选取新的人才组成新的队伍。而不需要像传统的方式一样把原先的队伍改造成新的队伍,而当现有的人员无法找到合适的人才来胜任新的工作时,也可以重新培养新型的人才加入到现有的队伍中来完成
新的工作,同时不影响原有的人员和队伍。SOA最大的优势就是可以根据需求通过网络对松散耦合的应用组件进行分布式部署、组合和使用。
SOA的系统能够更加从容地面对业务的急剧变化。它可以轻易的融入新的组件以应对新的需求,也可以放弃不再需要的组件而不影响系统其他业务。
此外SOA是与平台无关的。其组件可以通过网络进行部署和使用的,任何可以访问网络的平台都可以通过网络使用系统的组件。
SOA通过建立可组合、可重用的组件来减少业务的冗余和耦合,允许企业高效地利用现有的资源,提高系统的开发效率。
SOA能做什么
SOA拥有如此多的优势,但它并不是一项具体的技术,而是一种设计模式一种解决方案。SOA提供了一种构建IT 组织的标准和方法,这套标准通过把一个复杂的系统划分为一套套更为简单的子系统,这些子系统之间保持相互独立,并且与整个系统保持一致。而对于每个子系统还可以继续细分下去,直到达到形成一个个独立组件。这里体现了SOA系统中服务粒度控制的重要性,是将系统的服务进行粗粒度的封装,还是需要继续细化进行细粒度的封装,粒度细化虽然更加灵活但同时也使得服务极易改变。
通过封装成服务的方式,SOA允许一个企业高效地平衡现有的资源和财产,这种体系能够使得IT 部门效率更高、开发周期更短、项目分发更快,在帮助IT技术和业务整合方面有着深远的意义,它可以:
缩小业务和技术的鸿沟
SOA 改变了以往以技术为中心的信息系统建设模式,使得IT 技术重新回到业务支撑的角色。IT 技术的目标是为业务、应用服务,而不是IT 技术本身的发展。业务人员可以像组装硬件一样从业务角度即时构造应用,从而缩小业务和技术的鸿沟。
软件资源的共享与重用
SOA提供了一种把原有的组件按一定的标准封装为具有文档形式接口描述的服务,从而使服务的使用者和服务之间是一种松耦合关系。这样,一方面可以把遗留系统封装为服务加以复用,提高了投资回报率;另一方面,可以直接调用外部服务提供商提供的服务从而起到复用的作用。
应用的随需扩展
SOA的松耦合特性给应用带来了极大的灵活性。服务使用者和服务提供者在保持接口契约一致性的情况下,可以独立演化。基于SOA 的应用可以看成是一组服务以及服务之间松散耦合的集合。因此,一方面新的服务可以很容易地加入这个松散集合,另一方面也可以根据业务需求重新编排集合内的服务,以生成新的复合服务。因此基于SOA的应用具有易于改变、易于扩展的特点,从而支持了业务的快速反应和敏捷性。
总之,SOA试图将网络上需要共享的各种资源统一以服务的形式进行封装和接入,让它们在物理上保持分布自治的同时实现以“虚拟信息中心”为基础的逻辑上的一体化管理,以透明的方式进行资源的优化选取、按需中介和有效访问,并能够支持用户主动参与应用配置。
SOA在智慧社区的应用
智慧社区
随着信息技术发展和人民生活水平的提高,智能小区和智能社区获得了长足的发展,为了适应信息技术的发展和智慧城市的建设,提出了智慧社区的理念和建设智慧社区的需求。其特点主要表现在以下方面:
·智慧社区应具有完备的局域网和广域网、国际互联网接入。通过网络可以实现社区机电设备和家庭电器的自动化、智能化监控,实现一体化、联动安防系统的自动化、智能化监控。
·智慧社区应用现代数字技术,包括现代传感技术,数字信息处理技术、数字通信技术、计算机技术、多媒体技术和网络技术,加快了信息传播的速度,提高了信息采集、传播、处理、显示的性能。
·智慧社区提高了系统的集成优化程度,实现了信息和资源的共享。
·智慧社区是智慧城市的信息节点,智慧社区的建设为智慧城市的建设提供了条件,为电子政务、电子商务、物流等现代化技术的应用打下了基础。
SOA的智慧社区管理系统
由智慧社区的理念和需求可以知道它是海量信息交汇的节点,因此需要一个综合的信息管理平台。该平台应对能够采集和存储监控信息并做相应计算分析,实时处理大量用户的请求,并且具有良好的安全性和稳定性。一个智慧社区管理系统通常包含以下子系统:智能家居服务子系统、社区物业管理子系统、社区娱乐购物子系统、社区停车场子系统、社区报警运营子系统、社区监控子系统。对于这些子系统,企业很可能已经开发了部分或者全部,并且对于单独的子系统来说依然还适用于当前的需求。基于SOA的架构便可以充分利用现有的子系统,而不需要将所有东西推倒重来。这样无疑可以缩减系统开发时间和产品上线的时间。在重用现有资源的同时,也降低了面临未知技术问题的风险,因为原有的系统是已知的可控的。技术风险应当是在系统需求设计阶段就进行妥善考虑的问题。在开发阶段遭遇技术问题,那么很可能让大量开发人员不得不停下脚步等待技术问题的解决,这对于项目进度将造成致命的打击。
由于SOA可以把业务与技术分离、实现软件资源的共享与重用、随需求扩展系统,因此基于SOA的智慧社区管理平台可以最大限度地避免开发过程中所遇到的风险。
在SOA模式下之下,原有的子系统都将进行独立的封装,外部通过系统提供的服务来访问系统资源。各子系统从而与整个系统解耦,达到复用的目的以减少成本。在子系统的开发上无需考虑复杂的业务流程,集中完成子功能的实现即可。子系统进行分布式的部署,提高系统的并发性能。在某个服务出现故障之时,不会影响其他的服务,保证了系统的稳定性。
在各个服务之上的业务流程层,由于服务完成了技术细节上的封装,业务上无需关心技术上的问题,只需要根据用户需求使用不同服务的组合完成复杂的业务流程,从而大大降低了系统整合集成的难度。在遇到暂时没有条件解决或者需要花费大量时间和成本才能解决的技术难题时,也可以通过引入第三方的服务,保证不会因此而导致开发人员不得不等待问题的解决而导致项目的延期。对于那些在未来一定时间内变化不大的服务,也可以开放给第三方使用。
结束语
基于SOA架构的智慧社区综合管理平台在可用性、性能、可重用性、可扩展性、经济性等方面都有不错的表现。当然SOA并不是一个具体的技术,它不能帮助你解决系统开发时所遇到的技术难题,每一个技术难题依然需要具体的人员运用具体的技术去解决。SOA能做到指导系统的设计,让系统能更从容地应对出现的问题。智慧社区目前还处于发展的初级阶段,并且开始受到各大公司的瞩目。可以预见在不久的将来智慧社区将会迅猛发展,需求也将日新月异,运用一个良好的设计架构来构建系统才能够在剧烈的需求变化中处于不败之地,SOA正能够实现这个目标。