建設工程互聯網技術
2022-03-14 09:48
通過
互聯網在建設工程行業的發展,建設工程
互聯網公司技術也愈加成熟,
華春網絡公司成立以來,一直本著為
工程建設領域的信息化建設和新業務孵化提供有力支撐的執業使命,公司堅定:
以“統一技術支持平臺”為企業發展核心技術;
以“提高技術服務水平”為企業未來生存理念;
以“快速成長自我學習”為企業發展的源動力;
在此基礎上公司按照“統一技術支撐平臺”的核心能力建設思路,采取基礎平臺+產品應用的思路進行技術架構建設,在統一的基礎平臺上,支持未來所有的產品。
在公司的開發體系中采用前后端分離的開發模式,前后端分離的含義不只是前后端代碼的分離,而是系統級的分離。
前端采用一整套獨立的開發、線上服務與周邊保障體系,從而更全面地支撐用戶端業務的快速發展,并且實現跨業務線的技術資源橫向復用。
公共樣式庫有利于各業務線之間保持用戶體驗的一致性。各業務線在公共樣式庫的基礎之上做可復用的UI組件,促進效率提升。
公共功能庫包括常用的功能模塊,比如登陸、支付、數據統計等等,可以用自動化測試的覆蓋度來保障質量。
第三方庫的組織構成:
樣式框架:Bootstrap Material design
UI框架:React Vue
第三方功能庫:Fetch Modernizr Sentry GA
第三方基礎庫:jQuery Zetpo Underscore Lodash
后臺應用采用Linq作為主要開發語言。
公司通訊架構采取微軟的WCF架構,全稱是Windows Communication Foundation,是由微軟開發的基于Windows平臺下開發和部署的SDK,專門為SOA(Service Oriented Architecture)而設計的一套完整的技術框架。它為服務提供了運行環境,允許使用CLR類型調用其他服務。它是微軟對一系列行業標準規范的框架的實現。它整合了原有的Windows通訊的.NetRemoting,WebServices,Socket的機制,并融合有HTTP和FTP的相關技術。是Windows平臺上開發分布式應用最佳的實踐方法。
WCF是一個基于SOAP(Simple Object Access Protocol的首字母縮寫,即簡單對象訪問協議)消息的分布式編程平臺,我們可以使用現有技術(如HTTPS)、Windows集成安全性或對用戶進行身份驗證的用戶名和密碼生成安全的分布式應用程序。WCF基于現有安全性基礎結構和SOAP消息的經驗證的安全標準提供可互操作的安全消息交換通用平臺。通過使用WCF的安全機制,我們可以可以在Internet范圍內跨多個Windows域進行服務和客戶端的數據交互。
通常情況下,大量數據是保存在數據庫中的,而應用程序訪問數據庫是一項很費時的操作。如果先將數據庫中的數據緩存到緩存區中,當應用程序需要這些數據的時候,直接存緩存中提取,就可以減少系統開銷,大大提高了數據訪問的速度。同時,在ASP.NET中,通過類SQLCacheDependency建立起與新一代數據庫的SQL緩存依賴關系,這種關系可以使得數據庫能夠自動監視數據表的狀況,一旦數據表發生變化,立即啟動數據庫本身的觸發器將相應的緩存區中的數據變為無效,這樣就確保了緩存區中的數據和數據庫中的數據是適時匹配的。
Redis是一個開源(BSD許可的)的使用ANSIC語言編寫的、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫。它可以用作數據庫、緩存和消息中間件,它支持多種類型的數據結構,如字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sortedsets)與范圍查詢等。這些數據都支持Push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器。這使得Redis可執行單層樹復制。存盤可以有意無意的對數據進行寫操作。由于完全實現了發布/訂閱機制,使得從數據庫在任何地方同步樹時,可訂閱一個頻道并接收主服務器完整的消息發布記錄。同步對讀取操作的可擴展性和數據冗余很有幫助。
在公司技術研發中采用MVP模式搭建移動應用框架
View層通過Presenter層來獲取自己想要的數據,或者傳遞想發送的數據(此處數據為頁面抓取)。
Presenter通過View層指令來分發事件,是網絡請求還是頁面間數據傳遞等等來做相應的邏輯處理,此處會進行訪問model層的動作,對其進行賦值與獲取,處理完成之后回調(攜帶數據)view層,讓其進行界面更新。