從2012年11月份實習開始,到如今2013年9月已經算是工做將近一年時間了,我的是從工做中學到了很多東西的。剛進公司的時候主要是負責平臺服務器開發,後來因爲我對前端的一些偏向,全部年後不久就轉到公司前臺業務的Web開發。由於我從公司開放平臺服務的開發,而後到公司web產品的開發這2個部分都有參與,因此本身對公司的這個架構設計上和業務層面的一些設計也是有了本身比較深入的感覺。其中開發過程當中發現公司開發平臺設計中,因爲一些不合理的設計,形成了公司以後的一些依賴開放平臺服務器的項目的開發成本嚴重的增長,並影響了整個開放平臺的生態和佈局。僅此寫文總結,並沒有他意,但願對本身以後的工做有幫助。下面讓我細細講解個人一些理解。前端
開放平臺簡而言之便是一個可提供數據接口的服務器,什麼樣的數據就要根據具體的業務了。現在各大公司都有本身相應的開放平臺,例如新浪微博的開放平臺,百度開放平臺等等。開放平臺主要是給開發者提供了豐富的數據接口,讓開發者在利用已有的開放平臺的基礎上能夠輕鬆的開發出知足本身業務設計的程序。全部一個開放平臺的設計若是不合理會直接致使開發者的開發成本直接翻倍。開放平臺自己是爲了簡化並下降開發者的開發成本的,若是因爲設計的不合理,返回會形成幫倒忙狀況。web
公司開放平臺的主要功能是爲開發者和公司用戶提供數據支持,其中主要存貯處理的是從遠程硬件設備上面採集過來的傳感器數據,並支持對相應的設備進行遠程控制。固然,平臺支持開發者註冊接入本身的傳感器和控制設備的,並提供公司項目和產品的支持。起初,這個平臺包含的內容比較少,只是對簡單的傳感器,控制設備進行的管理和數據處理。後來因爲公司在開發一些項目時候,因爲業務的需求,逐漸抽象了一些新的概念,例如:場景,權限。當時平臺團隊爲了適應更多的項目,而且爲了知足公司web項目組和手機項目組的接口需求,在沒有慎重考慮的狀況下,決定把業務性的東西給設計到了開發平臺當中,可是當時只是迎合了當前的項目,對普遍的需求欠缺了考慮。然後果是可想而知的。下面是平臺對外數據支持的一個結構圖:服務器
在平臺爲了適應項目上的一些需求的同時,因爲融入了相應的業務概念後,當爲了知足公司移動端和web產品更多的項目開發須要的時候,平臺組不得不爲了避免斷的需求變更對平臺的設計再三的更改,同時也須要提供愈來愈多的接口。因爲平臺在業務上過多的設計,致使的一個很明顯的結果就是,發現開放平臺老是不能知足新項目的需求,而平臺開發團隊總是要從新的設計和開發。具體後遺症我總結的有下面幾條:架構
因爲整個平臺支撐着公司全部產品與項目的運營,同時目標是對外開放,全部因爲這些設計上的失誤,對公司的整個產品線的影響是至關大的。我的體會是前期對這種開發平臺的設計時必定要慎重考慮,否則後果是至關的麻煩的。佈局