個人門戶系統技術架構
來自專欄 程序員技術分享
技術架構圖
個人用戶門戶是完全由用戶自己定製的純個性化信息「窗口」,以用戶為中心,為用戶提供一個單一頁面的入口,整合系統中或其他系統的多方面的業務應用。打通系統內外部、各部門或業務系統之間的數據呈現,能實時從系統外部、內部子信息化系統主動獲取相應的信息,並根據職能或崗位職責的不同有針對性、主動性的推送,使大量信息自動推送到用戶面前。通過信息實時獲取、統一集中化、主動推送性、應用個性化來實現對信息內容的有效利用。
現狀
系統中的功能模塊眾多,缺少統一個用戶信息門戶系統以方便用戶使用。
1、各應用子系統相對獨立,自成體系;
2、信息更新不及時,各級用戶查找信息困難;
目標
1、構建完整全面的安全體系,實現統一用戶信息生命周期管理、統一許可權管理、統一認證管理及單點登錄;
2、構建隨需應變的工作場所基礎,基本實現一個集成的、基於用戶和角色可配置的,個性化可定製的、隨時隨地可由不同種類和級別的用戶使用的工作環境。
3、構建隨需應變的整合框架基礎,實現對現有應用子系統的無縫、靈活的整合,並為新業務系統的建設提供組織級的介面和標準,使用戶門戶成為企業信息化的基礎標準;
4、構建隨需應變的組織運維模型基礎,實現鑽錄測井下等子系統的數據採集、資料提交等工作流程的整合,實現各個子系統數據快速方便的展現,提高工作效率;
意義
以用戶為中心、功能板塊化定製、頁面風格可定製、功能聚合。根據用戶類型和使用習慣生成個性化門戶頁面,與改用戶無關的信息、功能菜單將屏蔽,緊密和相關內容優先顯示。
1、信息聚合到統一門戶中展示;
2、大大提高獲取信息及信息處理的效率;
3、統一的展現方式、風格;
門戶系統提供統一的主題和皮膚設置
4、個性化定製;
用戶可靈活定製門口中的內容個顯示風格
5、不同系統整合;
可以將現有的子系統,資源通過門戶來進行封裝,提供給用戶使用。比如:有些子系統都是彼此分離的,使用和界面並不統一,通過Portal可以很容易地將這些系統提供的服務封裝並呈給用戶使用。
個性化訪問
個性化門戶定製
1、導航和菜單定製
不同專業系統用戶可根據許可權選擇定製個人門戶的導航和菜單
2、容器頁面布局
提供多種布局供用戶選擇
3、Themes主題和Skin皮膚;
4、統一的展現方式、風格
5、個性化定製。
設計原則
1、安全性原則
建立許可權管理和安全機制,便於各級用戶行使不同的職能和許可權,強化個性化門戶的安全管理。
2、穩定
支持一定規模的並發用戶訪問請求
防止單點故障
門戶系統不得對其他子系統的正常運行造成不利影響
3、可擴展原則
滿足門戶持續性發展的要求,可以靈活方便的擴展。
門戶的整體規劃及框架設計需要具備可擴充性,前台頁面設計能保證在增加widget容器後不會破壞網站的整體結構。後台設計也需要方便靈活修改。
核心功能模塊
功能
描述
內容聚合
能夠把各種不同應用的內容聚合到一個統一的頁面呈現給用戶。
基於角色的視圖定製
能夠基於組織機構中不同的用戶的角色生成不同的視圖內容。例如,人力資源總監和財務經理登錄後所看到的頁面也是不同的。
個性化
用戶能夠根據個人喜好定製符合自己風格的頁面和內容。例如,小王喜歡淡藍色的格調,並且投資股票,則他可以選擇一個淡藍色風格的主題,並且使用一個已經定製好的股票portlet,允許小王設定此portlet的自動刷新時間和自選股等。
單點登錄
只需登錄Portal伺服器一次就可以訪問所有其它的應用,這意味著你無需再分別登錄每一個應用。
協作功能
一些Portal框架可能會提供複雜的portlets用於聊天,應用程序共享,白板,在線會議,論壇等。
國際化
根據locale的不同呈現不同國家的文字。
工作流
這裡主要指支持跨越不同數據源和應用的工作流。
支持不同的客戶端
包括主流web瀏覽器,PDA等。
1、用戶應用
用戶單點登錄,更加用戶身份顯示用戶自定義的門戶。
主題皮膚布局設置
業務功能快捷方式:通過有效的用戶行為,對用戶的的行為屬性進行分析歸納,動態 生成用戶常用業務的快捷菜單和個性化業務導航。
個性化工作台:為了增加用戶對個性化門戶門戶的依賴性和便捷性,實現我的工作台功能。用戶可將經常訪問的功能菜單地址添加到我的工作台。
內容定製功能:用戶可以根據自己工作內容、常用習慣,通過滑鼠拖拽的方式定製個性化門戶頁面。可以靈活設定頁面展示風格,避免審美疲勞。可根據實際情況,個性化設置資源的顯示屬性,例如信息內容的列表條數,標題顯示長度,顯示欄位,自動刷新時間間隔等。
統一搜索功能:用戶可集成搜索引擎,實現整個門戶資源統一搜索服務。
2、後台管理
內容模塊管理
個性化屬性管理
安全管理
系統管理
Widget開發工具
模塊分類和存儲管理
3、服務支撐
模塊容器開發介面
頁面布局管理服務
模塊頁面聚合引擎等
基於於JQuery技術開發的純前端輕量級的門戶框架
由於web widget技術的迅速發展,widget概念是將Portlet從伺服器端複雜配置管理轉移到瀏覽器中用JS腳本配置實現,使用Js這樣面向界面的DSL語言極大提高系統松耦合設計,結合使用Ajax技術,使易於擴展和定製功能帶來了幾乎無限的可能性,使用REST風格API可以很好的與伺服器集成。純前端JS代碼跨平台支持集成Java、Net、Php等主流web應用系統。
此類技術開源產品有,jpolite2、jQueryUI Portlet等。
主要特點:
更小的核心只有3K的最小化。
jQuery UI集成控制+主題。
RESTful資源表示。
更好的用戶體驗–基於網格系統的布局主題和持久性支持。
更好的開發者支持-以及有組織的代碼結構和行為的抽象,分離的關注,定製的易用性。
無限的可擴展性-插件和小部件從各方面。
關注點分離內容但HTML +內容+獨立的CSS框架的JavaScript。
事件和消息處理
各種模塊類型和模板
布局持久性和主題支持
技術方案-基於JQuery輕量級的門戶框架
Portal作為前端門戶集成系統,需要集成後端業務子系統,將後端各個業務子系統的內容和業務整合在統一的門戶頁面上,供用戶在統一的界面上獲取各種來源的信息,而不會意識到信息的真正來源。
Widget是門戶中提供特定服務或信息(例如:提供日曆、天氣預報、公司新聞、即時消息通知等)的窗口,可通過Portal提供的Widget容器處理請求、載入並生成動態內容。一個門戶主頁可以有多個Widget,通過不同的Widget可以在一個界面上分別顯示來自不同來源的信息。
Portal提供了頁面集成的柔性框架,通過載入Widget支持內容集成,並通過Widget對外進行數據提供、發出事件、接收外部應用的數據、響應外部事件,實現交互需要。
技術方案- Widget容器
主要包括以下內容:
1、容器布局Layout;
2、聚合機制;
3、持久化;
4、緩存機制;
5、底層AJAX機制
請關注作者公眾號:程序你好
推薦閱讀:
※藍圖系列(一):高並發、高可用、高性能、分散式系統架構
※舊系統改造所該遵循的原則
※成為1個架構師的入門到進階之路(學習路線圖)
※互聯網架構中的負載均衡
※互聯網架構的本質