文/戴学君
一、地产企业级应用开发、实施中存在的问题
目前,国内不少地产企业的信息化开发和实施存在着一些问题,主要概括为两点。
从it架构的角度来看,地产企业各应用系统之间存在技术路线、系统建设分散,标准与规范不一致,系统架构与功能耦合度高,最终导致系统无法快速响应业务变化、集成和维护成本高问题。
从项目实施角度来看,无论是业务方案、技术架构还是开发项目管理都不同程度的依赖于软件服务提供商。这种局面一方面使得地产it部门制定的开发过程与规范难于落地,项目质量很大程度上取决于软件服务提供商的项目管理和实施人员水平,更重要的是导致地产企业信息部门无法实现对it的真正掌控。
二、赛普解决之道
为帮助地产企业的cio们解决这一困境,赛普软件提出的解决之道是通过技术架构与工具、开发与设计规范以及项目实施过程体系这三个方面的统一来协助地产企业it部门建立it实施掌控能力。
其中,架构与规范是应用开发管理体系的基础,它明确了应用的技术标准和架构,来确保技术架构的灵活性和扩展性。通过这种方法对地产企业应用的开发起到指导和规范作用。通过平台和工具的形式,固化技术架构、规范,屏蔽技术细节并支持敏捷开发方法,为it人员提供业务开发、运行、管理的统一手段,确保架构和规范的落地,实现业务与技术的统一。同时能够提高开发效率降低开发难度,这令开发过程对人员水平的依赖程度自然下降,提高系统的质量和稳定性。
如何建立一个能够解决如上问题的地产企业级应用架构?如何利用技术改变业务并组织技术来支持业务?而要实施和维护一个强健的企业架构,可适用的、()成为实现这二者的正路。
三、基于soa的地产企业级应用架构
1、什么是soa
在传统的软件开发中,系统和模块间互相的接口依赖性比较多,接口的耦合度比较高。当我们的企业软件从一个部门级单向功能发展到全企业应用的时候,互相之间的依赖性越来越强,往往牵一发而动全身。所以我们就需要一种体系能够把所有的软件的接口,通过一致的、开放的、互相之间松耦合、容易替换的标准方式来描述,这种方式就是与软件实现技术、平台、地点无关的软件服务体系,这就是soa(service-oriented architecture)。
在一个面向服务的体系中,一个应用模块可以轻易的被替换,也可以快速的被重新组合成新的模块。在soa相关的技术里面有几项比较重要的技术:
第一项是sca(service component architecture)标准,即服务构件标准。服务构件标准有两个层面,首先是怎么样通过更小颗粒的服务构件快速组装出软件服务,因为我们现在的系统开发中不可能大量的重新开发新的服务,而是希望这些服务能够快速的形成;第二个层面是一个服务构件组装的标准。通过服务构件的方法,能够组装成更大颗粒的服务,使得服务构件之间可以通过流程进行组装。
第二项关键技术是业务流程引擎,业务流程的转变在企业里面经常发生。以前业务流程的转变都是需要技术人员通过可视化的编程环境,通过技术人员进行配给和调整。现在我们通过业务的人员,就可以对这个业务的流程快速的进行转变。
soa是从结构编程方法、面向对象的可重用理论、uml建模理论、面向构件和架构的理论等逐步发展完善,且相互依托、相互补充、又各自适应不同范围。
soa作为以服务为组件的软件架构模式,将业务作为链接服务或可重复业务任务进行集成,可在需要时通过网络访问这些服务和任务。这个网络可以存在于一个地方,也可以分散于各地且采用不同的技术,通过对来自各地的服务进行组合,可让客户端在本地实现功能。这些服务是自包含的,具有定义良好的接口,允许这些服务的用户(客户机或使用者)了解如何与其进行交互。soa以其“松散耦合”的应用程序组件为开发带来了方便,将服务组合为各种需要的应用程序,通过约定好的“服务契约”来进行服务调用。
有了构件库,当服务不够的时候,可以通过构件库来组装服务;继而再用服务组装应用。这样用标准化流水线来实现it系统的搭建,可以称作是软件的“福特模式”。
soa从方法上改变了it建设的流程。当一个服务不是为某一个项目打造,而是为一个企业打造的。那么it人员就已经从项目执行的过程当中脱离出来,需要考虑的不仅仅是如何完成一个应用系统,而是要考虑和平台厂商、开发商以及和应用提供商之间的关系。如何将构件的价值提供给他的下游客户,然后他的客户再继承他上游的能力利用这些构件去提供服务和产品。这仍然是一个需要持续积累和改进的过程。
2、基于soa的地产企业级应用架构设计
在soa的地产企业级应用架构中,将企业的所有数据独立出来,基于数据架构,建设数据集成平台;将企业的所有应用组件分离出来,基于服务总线,建设应用集成平台;企业的业务基础平台由数据集成平台和应用集成平台共同组成,应用集成平台由企业服务总线(esb)和公共的业务组件组成。esb(enterprise service bus)将不同的组件互相衔接起来,在两个或更多的组件或系统之间实现无缝链接集成,使整个信息系统就如同一个整体一样。
通过统一开发或者封装已有的组件和系统建设公共服务组件,形成企业共享的公用服务平台,避免了“重复开发、重复购买、标准不一致”等问题,其中公共服务组件包括了工作流组件、业务组件、服务组件、统一认证组件、gis组件、bi组件、通用报表组件等。
soa的优点可概括为:可以更好更快地提供业务为核心服务流程、快速应变能力、业务的重用性。方法将功能方面涉及的对象、数据、组件、业务流程、界面等从服务提供者和服务消费者的角度进行层次化,与此同时,将安全架构、数据架构、集成架构、服务质量管理等共用的设施提取出来形成不同的层次,为所有的服务所共有。因此架构很好的契合了地产企业信息化过程中企业业务创新的需要,同时也可以使开发的业务重用,充分的降低了企业的成本。
3、 soa服务的规划和实施方法
关于soa服务规划和实施方法,赛普软件认为主要有以下五个环节:①业务蓝图;②流程梳理;③服务筛选;④服务定义;⑤服务设计。
四、soa企业级应用架构的价值
soa更强调信息技术与业务流程的紧密结合,因而能够更加精确地表示业务模型、更好地支持业务流程,从而轻松应对企业服务变化与发展需求。
基于服务的应用架构可以让 it 更加关注于业务流程而非底层 it 基础结构,从而获得竞争优势的更高级别的应用程序开发架构。soa提供了以下几方面的好服务:
1)效率:提高业务和 it 的生产效率、敏捷性和速度;
2)响应:使 it 更快地交付服务,更紧密地与业务联系,使业务更快地做出反应,提供最优化的用户体验;
3)复杂性:隐藏了 it 环境的内在的技术复杂性;
4)重用性:这使得新的和改进的业务服务能更快地被开发,更可靠地被交付,用作可重用服务的遗留应用程序降低了维护和集成的成本;
5)适应性:更高效地转入转出让整个业务变得复杂性和难度更小,达到节约时间和资金的目的。
五、soa实施路线
如何在组织内实施soa?关键在于建立合适的soa架构和找到合适的服务构件。只有同时注意三个层面的问题才能保证实施soa达到其目标和影响:
1) soa的技术层面:打破软件边界,解决系统互联,使得soa成为可能;
2) soa的服务层面:构造灵活的服务,使soa满足业务的需要;
3) soa的企业层面:从企业战略出发,制订长期的企业服务信息规划,完善企业管理,建立企业统一的构件库,使soa为企业,而不是为项目服务。
为有效实施soa,赛普软件总结出了三条路线作为最佳的切入点:
第一条路线:定制级实施soa。这种情况适用于地产企业的it应用系统数量众多,it组织庞大,需要根据自身地产企业差异化特色量身打造统一平台和工具,并建立相关的规范和方法体系。比如赛普软件会先基于地产企业的应用特征,建立应用的统一技术架构模型,包括业务组件模型、技术分层架构、系统部署模型以及系统集成模型等。然后围绕应用架构结合地产企业的组织模式和it建设模式,建立敏捷开发过程方法的模板。最后还会建立平台应用的保障体系,比如培训、共享知识库等,以确保部署后能更好的用起来。
第二条路线:规划级实施soa。对于地产企业it应用系统数量、it组织人员相对有限,同时it投入规模也有限的体系,更加适合这种方式。通过引入咨询的方式逐步建立统一的应用项目组织架构、项目管理规范和软件过程方法、开发规范;建立复用机制,积累技术构件库形成it资产;建立应用系统整合框架继而对整个体系形成统一。
第三条路线:项目级实施soa。是首先着眼于某一个具体的项目引入soa,逐渐扩大统一平台的采用范围。赛普软件的许多成功案例就是通过项目级引入统一平台,从控制风险的角度出发,启动了一个典型项目来进行试点,后来逐渐通过大规模的实施实现了规划级的统一平台。改变了过去架构发散、前台展现于后台业务逻辑混淆,逻辑与数据不分的难题。
总结
总的来说,soa的技术已趋于成熟,我们可以看到soa现在已在很多地产企业得到了成功实施。
相关研究报告表明,采用基于soa的构件技术、复用技术开发软件,利用构件化平台等系统性的重用方式,软件投放时间可以缩短为原来的20%-50%,同时产品的缺陷率降低为原来的10%-20%,维护成本降低为原来的10%-20%。因此基于soa的统一平台不仅帮助地产企业cio加强对it架构和开发管理的掌控能力,投资回报方面也会获得一定的收益。
基于soa建立统一的软件架构、开发运行和监控平台,通过规划级的大规模实施,地产企业可以由自身培养的精通统一平台的队伍;基于同一平台的软件架构,用统一的项目实施过程,按照统一的项目组织机构,遵循统一的设计和开发规范来继续建设地产企业更多的应用系统,同时也会从复用机制中积累更多的地产软件资产。
地产企业在经过规划级阶段的大规模应用后,通过对所规划内容的一段时间的实践,还需要进行一个阶段的优化和提升,利于更多业务组件的积累和复用、系统间的整合,最终实现地产业务服务能力的持续提升。