曾經自己一直覺得企業級開發是神聖的,是不容質疑的。雖然有時候自己也認可
「多大屁股穿多大褲衩
」的道理,可是那種重量級的開發模式在自己心目中占領的位置一直是不容侵犯的。直到近期公司打算要做個東西的時候才發現企業級真的非常重,重到90%以上的情況用不到。
之前考慮過ejb和spring。自己一直覺得僅僅有ejb才是親生的。至於spring僅僅只是算是乙個長得非常壯的野草而已。可是近期工作中遇到的問題改變了我以往的觀點。
在乙個純ejb的系統中毋庸置疑得使用jpa來持久化,可是因為系統公升級的須要我們不得不去更改資料庫。加欄位批量更新等等都非經常見,起初打算在系統啟動之前直接使用jdbc來執行sql完畢昇級。可是因為entitymanager有屬於自己的一套管理體系,所以會導致死鎖,並且這個死鎖的問題是在資料庫級別的,更加可怕的是使用jdbc就以為著放棄了entitymanager的事務,那麼公升級這個操作就僅僅能成功不能失敗,否則事務回滾之後系統會起不來。權衡利弊之後決定使用jpa直接執行原生sql,在這個過程中的感受可謂難受至極啊。
這就像拿著一把ak47去當錘子用。能敲釘子嗎?能。能砸死敵人嗎?也能,可是它正確的用法是裝子彈上膛然後射擊。也就是說當前的使用方式不是這個工具設計之初所定義的那樣。
jpa是用來持久化的,直接執行原生的sql雖然也能夠可是這不是它的優勢。所以怎麼用怎麼蹩腳。
近期公司打算要進軍p2p了,客戶是有的那麼下乙個任務就是迅速開發出乙個原型出來,最起碼要能讓客戶大致的了解一下介面和功能吧。
那麼問題來了技術選型用什麼呢?ejb的那一套?要客戶等一兩個月?預計那時候客戶早就跑了。終於公司決定臨時用spring的東西把原型搞出來,等客戶拿下之後再去依據客戶要做的規模去權衡究竟是ejb還是spring。ejb固然能夠分布式。固然能夠用集群來解決效能的問題可是在速度方面它的確是不如spring,要不怎麼叫重量級呢。
難道就沒有一種既能高速又能擴充套件成為重量級的東西麼?相似於
「出將入相
」的感覺那該多好。
企業級開發從業感受
做企業級開發也有段時間了,基本上該了解的都了解了。做為乙個行業來說,這個行業的企業家不是很好過啊。不管哪個行業都在一步步的壓縮成本。而且還是發包方一廂情願式的,物價 專案的收入反而降低了。開發人員的收入就沒有以前那麼多了 另外,付款模式上面不管是 的二三三二式付款方式還是銀行的八二式付款方式,20 ...
OSGI 企業級開發系列
2 osgi 平台選型 目前我接觸到的是eclipse採用equinox 和 apache的felix 個人感覺felix更流行一些,參考的幾本書籍的 都是基於此平台的,加上眾多子專案 ipojo aries 貌似是不錯的選擇。equinox 平台有較多的中文參孝資料,osgi原理與最佳實踐 中的專...
企業級開發框架 Django 一
這次學習python世界中應用最廣泛的 發展最成熟的django web框架。因為django足夠完整,所以使用django自身就可以開發出非常完整的web應用,並不需要借助像sqlalchemy之類的其他資料訪問元件,本節我講介紹django的歷史 特點 總體架構,並在時間中安裝django框架。...