良知公司致力於應用各項雲端技術,完成將資訊技術落實到實際應用的環節,協助客戶的資料管理、流程管理、電子商務需求及自動化的訊息傳遞通報等需求。
這項工作可稱為系統整合服務(System Integration;簡稱SI),但與傳統系統整合服務的差異之處,在於我們積極整合各項雲端化技術資源、完善資料庫數據的備份及備援策略、工程團隊擁有自行開發核心技術與應用功能模組的能力等。因此各樣功能均儘量提供客戶選擇「使用知名可信任的第三方技術功能模組」或「良知公司開發的技術功能模組」,以符合客戶日趨在意的程式原始碼提交與審查、程式碼設計的溯源、以及智慧財產權合法授權等細部需求。
近年主要協助客戶建立的系統應用流程,彙整如下圖所示,但實際專案可能只建立其中局部之功能。
在系統程式設計所使用的技術資源部分,良知公司主要採用的工具如下:
- 伺服器採用 Amazon AWS雲端伺服器主機,或客戶自行提供的本地端伺服器主機。
- 應用程式防火牆採用 Amazon AWS AWF系統功能、伺服器系統套件或客戶自行架設的防火牆系統。
- 作業系統採用 Linux Server,目前建議使用的版本有 Ubuntu 18.04/20.04或 Rocky Linux 8/9。
- 資料庫系統採用 MySQL或 MariaDB。
- 後端系統程式設計採用 Ruby on Rails語言,並藉由 RubyGems包裝與 API設計,達成快速部屬及版本管理。
- 前端系統程式設計採用符合 W3C規範的 HTML5、CSS3與 JavaScript 語言進行資料顯示與介面功能設計。
- 資料庫數據的介面顯示採用 Bootstrap table套件。
- 程式原始碼的版本控制採用 Git控制系統,達成 CICD持續整合及持續佈署的自動化管理需求。
- 自行建立機器數據監控工具,通過使用者介面監測、應用程式自動回報、伺服器自動回報與 log資料監測等多通道監測策略,並透過 Email或社群媒體工具自動通報異常狀態,達成 CICD持續整合及持續佈署的自動化管理需求。
- 於最重要的系統功能環節,導入自動化測試,達成系統功能的確校與計算校正需求。
- 系統資料庫與附件檔案等異地備援,可採用 Amazon AWS S3服務工具或自行建置管理的備份伺服器系統,並確保每個專案的備份頻率及備份數量足夠。
此外,我們非常重視智慧財產權,在執行程式設計與系統功能佈署之前,會依據以下事項確保客戶與自身沒有侵權或觸法疑慮。
- 不使用來源不明的第三方程式套件。
- 不使用缺乏合法授權文件的第三方程式套件。
- 不使用無法通過資訊安全檢測(例如黑箱測試與白箱測試)的程式套件。
- 不拒絕客戶要求提供程式原始碼、及原始碼檢測(例如 code review或白箱測試)等作業。
- 不公開與客戶應用系統相關的程式原始碼或設定參數於外部平台。
- 良知公司全體員工均簽屬條文完善的智慧財產權授權文件,確保可授權項目的完整性及合法性。