解读软件无代码开发的兴起

2015-07-03 16:00:25

 曾经,信息系统作为高科技的代名词,占据各大科技媒体的重要位置,不倦地诉说着业界的新鲜事,如今,虽然还有“在找死与等死中选一种活法”的用户彷徨,也不缺“让世界没有难做的软件系统”的狂人呐喊,任凭谁说?

  一边是中国股市的“六月变局”和以京东618店庆为代表的中国电商“六月年中大促”,一边是管理软件业界平静如水,坚持以固执的节奏进行“和平演变”。相比TMT行业或互联网公司的高曝光,企业管理信息化徘徊在科技的边缘,渐渐被打入历史的胡同,幸运的是,总有一些人在这个“传统领域”做着梦想颠覆传统的事。

  如同王玮冰撰文指出的一样,软件技术架构的格局如同欧亚大陆的板块一样在不断变动,在这些碰撞挤压中,总会有些新的市场缝隙产生,也总会有一些公司如新的山峰一般隆起。二十多年的中国企业管理信息化进程先后发生了多次巨大的“地壳运动”,前几次是由技术驱动的,这次则由需求驱动的,如同中国的经济形态一样,从计划经济走向市场经济。

  企业信息系统建设初期,业务的标准化与管理流程化成为主要的诉求,作为软件厂商多是提供功能复用的软件,为软件商品化开拓了巨大的空间市场。在供方主导的市场里,软件服务厂商只需组织一大批编程人员尽可能多地开发功能模块,而应用企业根据“病情”进行外科嫁接与整合手术,一些成长型企业甚至与业务模型成熟的企业通用一套软件,造成“我和世界500强只差一套数据”的假象。

  这种削足适履的做法完全掩盖了企业管理业务的特点,其后果大体有两个。一是信息系统固化繁冗的流程不但没有提高管理水平,甚至降低了业务效率;二是频繁的“头痛医头脚痛医脚”的软件实践造成条块分割的IT系统林立、管理断层、数据孤岛。为了解决以上问题,业界不得进行一些探索与微创新,一方面针对已有企业信息化建设局面探寻系统集成的方法,另一方面开创新的系统建设方法。此时,系统集成平台、企业软件平台、业务建模平台等一大批平台技术在商业应用中推广。

  平台是什么?开发者从技术架构理解已作出了专业的解读。操作系统平台(Windows、UnixLinux等)解决了应用软件系统与硬件之间的交互与管理问题,软件基础架构平台(WebLogic、WebSphere等)解决了应用软件系统与操作系统平台之间的交互与管理问题,而业务基础管理软件(上文所指的企业软件平台、业务建模平台等)则是解决了管理软件的业务描述与操作系统平台、软件基础架构平台之间的交互与管理问题。

  厂方强调这种产品(管理软件平台)是一个具有独立技术架构的应用软件包,与传统的功能性产品相比,它除了已具备完整的应用功能外,还具有一套技术架构、业务对象和先进的定制工具,易于实现快速的、低成本的、深度的产品扩展和增值服务。他们认为,软件平台是按照以客户为中心的理念,构建管理信息系统的工具和运行管理信息系统的环境,它包括完整的基础组件、业务框架和应用框架,可以实现技术无关性和数据无关性,并具备快速适应业务变化、深度满足用户需求的能力。

  有人评论这只是乙方的软件开发技术向甲方应用的转移,以增加客户在系统调整与二次开发过程中的任务;甚至明确地批评这种做法是软件厂商向客户转移负资产。

  平台应用如何?当前平台是否实现了其初衷?必须回归问题的本质去探寻答案。

  当前中国管理软件产业的主要矛盾是“用户需求的个性化与软件产品的通用性之间的矛盾”。然而,如果不解决软件产业的基本矛盾,即“增长的社会需求与落后的软件生产力之间的矛盾”,供需方市场关系将不可调和。中国市场是目前世界上变化最快、增长最快的市场,企业正面临着前所未有的机遇和挑战,竞争日趋激烈,新的业务和交易渠道不断涌现,企业需要不断快速交付和适应性调整。客户经常发出慨叹 “业务的变化速度10倍于应用系统的变化速度”。

  如何消除业务与技术语言的差别成为解决问题的关键。如果企业业务人员还不能完全掌控应用系统的开发,同时软件技术人员又不能深入理解业务系统的需求,甚至面对面也无法理解对方,那么系统建设的过程与周期将变得不可控,其结局就是当前70%的项目失败率。

  而纵观市场平台产品,一是这种产品如出一辙地都是面向技术人员的,如果不掌握计算机编程技术,基本对于系统建设也是束手无策;二是产品提供的业务功能或者称之为模板都是有限的,只能在已有的架构下选择最可能与之接近的,而不能衍生出新的功能,使得客户在快速迭代的互联网商业模式面前望洋欣叹、止步不前!(相对管理信息化代表着企业内部资源的运作效率,互联网则代表着企业运作外部资源的效率)

  如果开发一套应用系统和使用office套件解决所有的办公文档一样简单,那么,这种方式应该是可以接受的!这就是“无代码开发”理念的源泉。

  什么是无代码开发技术?无代码开发技术当前实现了多大程度上“无需手工编码”?其应用如何?

  就直观意义而言,无代码开发就是无需通过手工编码的软件开发方式。基于这种思想的厂商实践无独有偶、前赴后继,有媒体报道十年前在经济发达的美国、日本就进行了相关项目的研发,而至今较少有宣传其相关科技成果的转化,国内的快速开发工具则在应用层面响应了这种潮流,如以上所提的软件平台,其实质是辅助软件工程工具,它降低了程序员对重复功能代码编写的任务量。

  有学者专家指出,软件平台是降低程序编码的一种方法,也是“无代码开发”的一种尝试,而真正实现无代码开发还要追溯至以Yigo为代表的第五代计算机语言的提出(较之相似的有IBM EGL(Enterprise Generation Language Community Edition)商业编程语言,鉴于EGL语言在商业推广中没有具体的成功项目介绍,因此选择Yigo进行展开)。


  Yigo是面向业务人员进行管理信息系统开发的特定领域语言,这种语言无需编写程序代码,只需在图形化界面上进行选择、拖拽等动作进行管理业务建模,通过建立对系统需求的描述模型由计算机自动生成运行代码。业内人士应该还清楚的记得之前这种技术也称为“Yigo平台”,这或许跟当时的商业环境相关,2003年前后“平台”如日中天,如同今天的“互联网+”、“大数据”、“云计算”等技术理念。据了解,Yigo的前身Open9000平台于1998年正式发布,起初该平台只提供各种控件和业务逻辑的API封装,为帮助用户更方便,更快捷地搭建系统,2003年才开始启动以无代码开发为目标的Yigo项目,2005年推出第一个版本,也许那时Yigo尚未形成完整的语言体系。如今,Yigo语言包括语法语义、可视化工具和运行时环境三个部分组成,其语法语义采用XSD(XMLSchemasDefinition,XML结构定义)文件描述,为方便Yigo语言的应用,可视化工具帮助用户在图形化界面选择、拖拽和描述即可快速创建管理软件原型,运行时环境只需加载已设计好的系统原型,便可自动生成满足需求的管理软件。

  因此,Yigo语言是无代码开发技术的创新实践,可以减少管理信息系统的建设95%的代码编写。科技界一针见血的指出Yigo就是“一种用软件生产软件的方法”,也有人更钟爱“平台”的说法,认为“Yigo还是一个拥有独特语言的软件平台”,支持者特别强调较之传统的软件平台,首先,Yigo核心是计算机编程语言,业务人员(而非技术人员)可以轻松掌控软件开发过程,可以摆脱其他高级语言的约束,创造一种新的人机交互方式:这种软件开发方法规避了维护过程中文档与代码的一致性问题,最大限度简化了知识转移和软件工程控制过程,为系统维护提供了巨大的便利,针对需求变更,可直接通过图形化工具修改系统原型;其次,Yigo作为计算机编程语言,其本身并不提供功能实现或者业务解决方案,只帮助生态合作者提供统一的技术架构和极简的开发方法,用户可以在Yigo应用市场根据自己的特点选择合适的系统甚至完全定制一套个性化的系统。

  系统建设是一项持续性的投资,不应因为业务变更导致系统废弃,也不应因为人员流失导致系统维护困难,Yigo无代码开发技术为其提供了解决之道。

  公开资料显示,基于Yigo语言建设成功的企业管理信息系统项目有中石化的物流管理信息系统、中石油的物流供应链智能系统、中国移动大区物流资源集中运营系统、中国银联设备管理系统、中航工业供应链采购和物流服务平台、华山医院医院资源管理系统等。

  Yigo能否秉承开放的互联网精神,实现业内合作、多方共赢的局面,引领无代码开发的潮流,赋予传统IT市场新的生命,唱出企业管理信息化的最强音,让时间去说明一切.

下一篇:软件开发的流程