从2012年11月份实习开始,到如今2013年9月已经算是工做将近一年时间了,我的是从工做中学到了很多东西的。刚进公司的时候主要是负责平台服务器开发,后来因为我对前端的一些偏向,全部年后不久就转到公司前台业务的Web开发。由于我从公司开放平台服务的开发,而后到公司web产品的开发这2个部分都有参与,因此本身对公司的这个架构设计上和业务层面的一些设计也是有了本身比较深入的感觉。其中开发过程当中发现公司开发平台设计中,因为一些不合理的设计,形成了公司以后的一些依赖开放平台服务器的项目的开发成本严重的增长,并影响了整个开放平台的生态和布局。仅此写文总结,并没有他意,但愿对本身以后的工做有帮助。下面让我细细讲解个人一些理解。前端
开放平台简而言之便是一个可提供数据接口的服务器,什么样的数据就要根据具体的业务了。现在各大公司都有本身相应的开放平台,例如新浪微博的开放平台,百度开放平台等等。开放平台主要是给开发者提供了丰富的数据接口,让开发者在利用已有的开放平台的基础上能够轻松的开发出知足本身业务设计的程序。全部一个开放平台的设计若是不合理会直接致使开发者的开发成本直接翻倍。开放平台自己是为了简化并下降开发者的开发成本的,若是因为设计的不合理,返回会形成帮倒忙状况。web
公司开放平台的主要功能是为开发者和公司用户提供数据支持,其中主要存贮处理的是从远程硬件设备上面采集过来的传感器数据,并支持对相应的设备进行远程控制。固然,平台支持开发者注册接入本身的传感器和控制设备的,并提供公司项目和产品的支持。起初,这个平台包含的内容比较少,只是对简单的传感器,控制设备进行的管理和数据处理。后来因为公司在开发一些项目时候,因为业务的需求,逐渐抽象了一些新的概念,例如:场景,权限。当时平台团队为了适应更多的项目,而且为了知足公司web项目组和手机项目组的接口需求,在没有慎重考虑的状况下,决定把业务性的东西给设计到了开发平台当中,可是当时只是迎合了当前的项目,对普遍的需求欠缺了考虑。然后果是可想而知的。下面是平台对外数据支持的一个结构图:服务器
在平台为了适应项目上的一些需求的同时,因为融入了相应的业务概念后,当为了知足公司移动端和web产品更多的项目开发须要的时候,平台组不得不为了避免断的需求变更对平台的设计再三的更改,同时也须要提供愈来愈多的接口。因为平台在业务上过多的设计,致使的一个很明显的结果就是,发现开放平台老是不能知足新项目的需求,而平台开发团队总是要从新的设计和开发。具体后遗症我总结的有下面几条:架构
因为整个平台支撑着公司全部产品与项目的运营,同时目标是对外开放,全部因为这些设计上的失误,对公司的整个产品线的影响是至关大的。我的体会是前期对这种开发平台的设计时必定要慎重考虑,否则后果是至关的麻烦的。布局