记得在以前的文章研究一个领域,了解其架构是基础 中,介绍过不同行业对物联 平台有不同的分类:
通讯行业分类:设备管理平台(DMP),连接管理平台(CMP),业务使能平台(AEP),业务分析平台(BAP);
企业应用软件分类:个性化定制电商平台,智能制造云平台,应用开发平台,一体化办公平台;
互联 企业的分类:在API和消息队列的基础上提供物体目录,数据服务、商业服务。
物联 发展过程中,2C的商业模式领先于2B的商业模式,所以在商业应用上,对2C的物联 产品管理的需求,在很大程度上代表了物联 平台的需求。但是2B的物联 产品提供服务的平台上,设备与设备之间、设备与流程之间的关联的复杂性非常大,往往一个2B的物联 平台软件的开发都是非常复杂的。随着国内企业在工业4.0落地项目的增加,越来越多的企业开始意识到物联 平台中,与开发相关的管理越来越重要。
(说明:无论2C还是2B的物联 平台,其客户都是企业,但重点在物联 平台的用户是谁。比如智能家居的物联 平台,其平台客户是智能家居供应商,但智能家居产品的用户是终端消费者,所以物联 平台的用户是终端消费者,这样的平台就是2C的;工业的物联 平台,平台的客户是设备供应商,设备用在企业,这样的平台就是2B的平台。)
开发工具是物联 平台的重要功能
软件开发流程一直被忽视
开发工具是物联 平台的重要功能,但却是一直被忽视的。研究过很多物联 平台的功能,都没有将软件开发流程管理的功能作为重点提出来。
猜测物联 平台缺乏软件开发流程管理有两个原因:早期的物联 平台因为连接数量不多,所以平台提供的软件的复杂度不高,软件开发流程的重要度不高;早期的物联 平台提供商多是通讯行业、互联 行业出身,更加强调的是连接、连接管理、大数据。
设备数据被融入企业管理软件
最近几年比较流行的企业应用软件MES,EAM等企业应用软件,都是在企业管理的流程中,融入设备的管理、监控数据。而企业应用软件相对复杂,对软件的开发管理、开发环境、测试环境的管理、版本控制、协同开发等工具都相对完善。但在现有的开发环境中,如何增加对设备的管理、设备连接的管理,是开发工具需要提供的功能。
传统的企业应用软件是以提供解决方案的模式,将已经测试通过的程序部署到一个运行环境中。但按照工业4.0的蓝图描述,未来很多软件是运行在CPS(我认为是工业的物联 平台),是SaaS化的软件,运行在PaaS环境下,那么PaaS环境下的软件如何开发?有没有软件开发工具支持PaaS环境下软件的开发?将PaaS环境下开发的程序自动部署到测试环境测试?并将测试成功的程序自动发不到运行环境中,提供正式的SaaS服务?
如何对软件版本管理?传统的解决方案形式的软件开发的版本控制,如果对A客户做了定制,部署在A的系统上,只有一个版本,相对简单。
但如果A企业的某款产品,第一批产品,使用一个版本的软件;因为产品升级,第二批产品使用另外一个版本的软件。那么这家企业对不同硬件产品的软件版本如何管理?
对于不同版本软件的装载如何动态负载均衡?比如A产品使用第一个版本的产品3万台,使用第二个版本的产品2万台,如何在应用环境中,动态加载软件实例,保证这些产品通讯的性能?
以上问题,都是未来物联 PaaS平台供应商需要解决的问题。但现在物联 平台供应商可能还没有意识到的问题。
PaaS功能框架
看一下IBM的图片
在图中,灰蓝部分是平台供应商提供的服务,蓝色部分是客户维护的功能。对于PaaS平台而言,PaaS平台的客户维护应用程序和数据。而PaaS平台供应商提供以下功能:运行环境、中间件、操作系统、Virtualization、服务器、存贮、 络。
从IBM的架构中,软件开发工具这部分功能,包含在了中间件中;IBM的中间件主要是WebSphere,是IBM的软件平台,包含编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。
开发工具需要借鉴WebSphere功能
从软件开发工具而言,最值得借鉴的是IBM websphere的功能。包括:开发工具、交互功能、流程集成、基础设施集成等方面的功能。
IBM早期推出的J2EE的开发工具是Visual Age,后来IBM弃用Visual Age,支持了一个开源的开发项目Eclipse,基于Eclipse框架,IBM发展了开发工具WebSphere,早期的Webshpere是一个包含J2EE的运行环境的开发工具,后来逐步发展出现在的功能。
Websphere的发展,一方面是因为B/S架构框架的流行,以及J2EE在企业应用占据主流位置,另外一方面也是因为SOA架构的普及。在这个发展过程中,IBM完善了传统架构下的软件开发。
而在未来云计算普及之后,在PaaS平台下,PaaS平台供应商必须提供一套好的工具,帮助企业开发者快速开发、部署一款新的产品。
PaaS平台供应商提供的开发工具的易用性,便捷性会是未来平台的一个竞争要素。
AbleCloud案例
第一次了解AbleCloud,是在CSDN组织的MDCC 2015年大会上,在智能硬件专场,我是主持人,Ablecloud的创始人陈鹏介绍《IOT的挑战与AbleCloud应对之道》,听了陈鹏的演讲,很多案例还是通过源代码来介绍的。我当时的感觉是,AbleCloud应该提供更好的软件开发的工具。(因为早期经历过用edit plus开发j2ee程序,曾经用程序实现负载均衡,后来J2EEserver,实现了动态负载均衡,然后又出现了集成开发环境,集成开发环境中增强了版本控制等功能,当时感觉AbleCloud应该有完善的开发工具)。
第二次与AbleCloud创始人李海磊交流时,李总一直强调AbleCloud的性能,因为AbleCloud团队,有百度最早一批做云计算的技术大拿,所以云计算的大规模并发能力是其核心竞争力。但我却一直引导李总关注开发工具,我在谈中间件的问题。
当9月28日与Ablecloud另外一位创始人孙文现交流时,终于听到了AbleCloud重视这个领域的问题。
AbleCloud遇到客户的一个问题:他们的客户提供的硬件的服务软件有多个版本,而每个版本管理的硬件的数量都非常大。
如何管理程序性能,包括更好的为所有硬件服务动态加载计算资源?哪些计算资源配置那个版本的软件最优?如何将硬件与对应的软件版本连接?AbleCloud的客户如何管理自己软件的版本(运行状态的软件版本控制)?
这里的版本控制远比软件开发的版本控制复杂,一方面软件有不同的版本?不同版本的软件需要对应不同的运行态程序(软件包)?运行态程序部署在服务器位置对应关系?根据动态的运行对资源的需求,这些运行态的软件包需要加载在哪些服务器上?硬件设备还要能够找到相应状态的程序。
这一系列复杂问题,AbleCloud帮助一家客户,用程序自动完成,帮助客户降低了运营管理成本。从这个客户,AbleCloud意识到软件开发相关的一系列管理的重要性,开始重视开发工具。
期待未来AbleCloud的核心竞争力能够加上便捷的开发工具这一项。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!