2011-02-03 125 views
0

我的客戶有一箇舊網站,它是使用MySQL數據庫(MyISAM)在傳統ASP中編寫的。它是由過去10年不同經驗的開發人員撰寫的。該系統的一些方面是一團糟。舊網站遷移選項

它沒有CMS,有一個購物籃,還有一個相當複雜的我的帳戶和管理員區域。 網站的一些(更簡單)區域已被轉換爲ASP.NET(使用MySQL .NET連接器)。

從頭開始重寫系統永遠不會被預算有限的客戶批准。但是可以逐漸將其變成更容易維護的形式。

的計劃是:

  1. 安裝一個第三方O/S CMS(如一把umbraco),遷移的內容頁面,集成的自定義用戶身份驗證和鏈接我的賬戶和管理領域。
  2. 升級數據庫以支持外鍵。
  3. 升級經典ASP網站和ASP.NET組件,以支持上述變化
  4. 請更改爲經典ASP網站到最小,並寫入新的東西,在ASP.NET

所以問題是:

  1. 這是一個合理的計劃嗎?還是以後會咬我們?
  2. 要使用什麼數據庫系統? MS SQL or MySQL Inno DB?
    • 我個人比較喜歡MS SQL。幸運的是,經典ASP的東西已經寫入了一個處理所有通信的數據庫管理器類,這將使升級到MS SQL變得相對容易。但這是值得的努力?

回答

2

我覺得你剛纔所描述的完美的客戶端運行遠離。你有一個網站已經用膠帶和釣魚線拼湊起來,你想添加一些領帶和一層油漆。你可能會得到它的工作,但它永遠不會是正確的,你將永遠得不到需要完成的工作量。

古老的諺語的變體在這裏適用 - 如果你不能在第一次做正確的事情,你將如何負擔得起再做一次。您的客戶需要儲蓄,以便他們可以預算適當的金額,以便第一次完成此項目。

0

這是有點太低的細節給一個完整的建議(我也懷疑你已經處理這種情況,因爲這是一個老問題,但不過......)。

如果您的客戶真的無法負擔替代解決方案,那麼我認爲您的升級計劃是最好的不良選擇。但我有以下預約:

  • 如果內容頁面和商店之間的集成度低,步驟1可行。否則,你可能會遇到問題。我注意到你已經考慮過用戶認證。還有其他什麼?
  • 我相信步驟3-4在實踐中可能不可行,完全依賴於我對設計不當的軟件的經驗。小的變化通常會導致連鎖反應,您不會輕易將其隔離開來。您的成功機會取決於能夠分而治之 - 我的意思是讓舊部件保持完好(除了緊急修理之外)。如果可以,請將解決方案外化。
  • 參考以上內容,更換底層數據庫可能代價高昂。根據數據和查詢的複雜性,這裏可能會有很多隱藏的驚喜。
  • 這是基於您對有限預算的陳述。試圖隨着時間的推移改進這樣的東西有點懷疑它會比全面更換更便宜。這實際上取決於客戶的規模......如果它是一個大型網站,那麼對一個複雜的軟件進行全面重寫將需要很長時間。如果這是一個小型項目,也許是一個小團隊的幾個月,那麼我認爲一次完成這個項目會更便宜。

無論如何,這是我以前做這些事情時的經驗。您的里程可能會有所不同。