開放架構的意義
採用開放架構的軟體產品指宣稱,使用並符合各種開放技術, 標準, 提供各種開放介面, 能夠與符合同樣開放標準的產品互操作的產品. 有些產品直接採用開源軟體實現各種開放介面. 開放架構和標準的出現是軟體業對大型企業壟斷市場的一種反應. 採用開放架構對樹立企業和產品市場形象, 吸引客戶, 減小技術風險和產品開發成本有很大作用.
採用開放架構可以快速實現產品進入比較成熟的市場, 使企業產品站在較高的起點. 採用現成的標準介面和經過驗證的開源**, 可以使使用者比較快地熟悉產品使用, 減小設計和實現**的潛在問題, 提高開發效率和質量. 目前很多軟體企業採用開放架構使新產品以低成本快速進入市場, 參與市場競爭.
開放架構的設計
當確定採用開放架構實現產品的策略後, 架構師首先需要根據產品目標尋找開放標準和開源軟體. 如欲開發乙個可以和企業資訊系統緊密整合的開放的企業文件編輯器軟體產品. 首先找到開源的openoffice軟體和開放文件標準opendocument. 為了提供企業特別的文件與其他系統資料整合需要, 可以找到eclipse外掛程式框架或者web門戶框架.
設計開放架構的軟體產品主要根據開放技術和標準設計. 具體方法是在尋找相關開源軟體,根據本產品需求進行整合, 在整合的架構中再加入自己特定功能處理模組. 在設計過程中可以考慮參與和增強現有開放技術和標準的制定與改進.
加入的模組需要符合開放標準,並根據標準要求公開相應介面和資料格式. 這些公開的介面和格式可能成為新的開放標準的一部分.
開放標準測試
採用開放架構的軟體產品需要符合相關的公開標準. 由於各個企業和個人對標準的理解和採用的開源軟體對標準的實現不一定一致, 在完成軟體產品手, 需要測試軟體產品對標準的符合度, 以及與其他聲稱符合相關標準和架構的產品的相容性.
在軟體產品測試過程中可能發現多種對標準理解不同和不相容情況. 需要逐個分析判斷原因, 制定解決方案. 可以選擇修改補充開源**, 開發特別處理模組, 在文件中說明特殊情況和建議的處理方法.
成本和收益
採用開放技術和架構可能減小成本和風險. 但給人以低成本的印象. 而在企業內部和外部被要求低**. 由於開放技術和標準的公開, 容易得到, 進入門檻低, 競爭激烈. 也使產品的**不能過高.
採用開放架構的實現產品的成本比封閉架構甚至更高. 主要增加的工作包括對符合標準的額外處理, 處理開放技術本身**的問題, 維持對多個版本標準的相容性, 解決額外**帶來的效能和維護問題. 還有考慮與開放標準和**社群進行交流的成本.
開放架構的問題
開放標準和開源軟體對智財權要求較小, 但基於這些開放標準和軟體的產品可能遇到嚴重的智財權問題. 在設計開放架構時需要與相關法律人員一起分析相關的資料, 制定對應的產品市場和銷售策略.對某些特定**和標準的智財權, 在確定商業戰略後, 可以考慮自己開發.
在開發開放架構時經常發現現有標準和開源軟體不完全符合產品使用者和市場的要求. 這時需要考慮是推動擴充套件標準介面還是開發不相容的介面. 由於推動標準一般需要較長的時間和精力, 典型的方法是在保持支援現有標準的基礎上, 開發並公開擴充套件介面, 經過市場驗證後, 努力將擴充套件功能納入未來標準.
企業需要保持開放架構的穩定性.當產品改進時需要保持對原來公開的介面和格式的相容性. 也要考慮對開放標準的多個版本的相容性. 這些要求有時限制了產品的改進.可以考慮在大版本中為了新功能和架構去掉對舊介面和標準的相容性.
開放性也可能帶來安全問題. 採用開源軟體和開放自己的架構和**使任何人都可以了解軟體的內部執行機制和資料格式, 給編寫病毒, 入侵程式和非法訪問提供了更多可能性. 產品架構師需要考慮和處理開放性帶來的潛在安全問題及其對客戶和企業的影響.可以在開放架構中加入特別的訪問控制, 審計等安全機制.
在開放架構中使用封閉技術
在設計開放架構產品時應該隨時考慮是否應該從技術, 市場, 支援服務等角度需要採用封閉架構, 包括不開放的介面, 格式, 處理**等等. 需要保證產品中的封閉技術與開放架構能夠較好的整合, 在保證產品整體功能的前提下, 保證不影響開放的介面格式等要求.
Google Map 在產品中的應用
一 呼叫google map api 無法出現周邊生活設施 當我們使用google api 提供的方法,將google map 載入到自己的html表單中。此時在地圖上只能看見目標地點,並不能看見目標地點的周邊生活設定,比如周邊的銀行 學校 超市等。此功能google未提供在api中直接呼叫。截圖如...
flash廣告在產品營銷中的必要性
flash廣告在產品營銷中的必要性 flash廣告製作可以簡潔直觀地表現產品特色,增加顧客對產品的理解和記憶,在短時間內達到宣傳營銷的效果。flash廣告製作已廣泛應用於企業的產品研發 測試 宣傳 展示等工作,具有獨特的價值。下面大家一起來看下flash廣告在產品營銷中的必要性。flash廣告製作在...
如何在IOS平台下搭建PhoneGap開發環境
由於在下最近在做基於html5的跨平台移植,搭建環境的時候著實費了不少勁。現在空閒下來順便整理一下,給大家分享。首先介紹一下phonegap。phonegap是一款基於html5標準的跨平台開源手機web應用開發框架。它允許使用者通過web技術訪問移動裝置的本地應用 api介面及應用程式等。這裡說一...