我们做的软件类型很多,包含了Android系统和App,还有网络后台服务和单片机程序。
使用的开发语言也不尽相同。同样是开发网络后台,可以使用JAVA,也可以使用Python,使用C#、php都可以,运行环境可以是Windows也可以是Linux。
如果要集成在一起,是不是意味着要统一开发语言和运行环境。
我的观点是不需要。
我们要集成的不是语言和环境,而是功能和服务。
功能就是软件的用途,可以的话,在设计时要考虑一定的通用性,做成独立的功能模块。这样就可以形成库,方便其他人进行使用。
服务不局限网络后台服务,App同样可以为其他App提供运行时的服务调用,串口通讯又何尝不是一种服务的调用。
同一系统的App之间、通过串口相连的两个独立模块之间、PC和外部设备之间,都是一种服务的形式彼此调用。
在设计这些诸如此类的功能时,要考虑做好数据封装,形成标准接口,写好文档发布出去。
不只是涉及到通讯的场景,涉及到存储时,良好的数据结构设计,同样是我提出的软件集成的概念。
这些用心的设计,将会让软件集成变的成本降到最低。
网络后台服务是一个系统解决方案的核心,为App提供API,做到系统和App之间的集成是最基本的。
除此之外,为其他的系统和设备提供API则是不同系统之间集成的途径之一。
虽然大部分是不同的项目需求解决方案,但是作为一种数据来源,软件的复用价值终会得到体现。
|