Leo Yeh's Blog

SAS 基本介紹 (24)

教學目標

初步了解 SAS 平台中服務相對應的 VMware 或開放原始碼相關工具。

重點概念

首先 SAS 平台主要提供平台即服務 (Platform-as-a-service,PaaS) 的架構,並且支援部署 SAS 本身軟體即服務 (Service-as-a-service,SaaS) 的應用程式和解決方案。其中主要是採用 Spring 的 Java 框架建立應用程式和管理 Java 應用程式生命周期,同時採用世界領導虛擬化軟體 VMware 的 Hyperic 進行企業等級的監控和效能管理,以及 Tomcat 伺服器搭配第三方工具取代 J2EE 伺服器的功能,其主要取代的服務,請參考下表。

J2EE 伺服器的功能 (Jboss/Weblogic/WebSphere) Tomcat 伺服器或第三方工具 (tc Server/3rd party tools)
Multicasting Gemfire
JMS ActiveMQ
JTA Atomikos
JNDI Tomcat
JDBC Tomcat
JAAS Tomcat
JavaMail Jar

接著 SAS 9.4 中間層的架構主要是由客戶端瀏覽器存取 Apache 的 vFabric Web Server 網站伺服器代理請求存取 Java Servlet 容器,主要以 war 檔為主,同時 Java Servlet 容器將會存取 SAS 中繼資料伺服器和 SAS 應用程式伺服器。至於 SAS 應用程式伺服器主要是以 tc Server 為主打包至 Tomcat Servlet 容器,其設計可以透過簡單的 Script 進行建立,以及支援 Spring Framework 啟用 Hyperic HQ 監控,以利收集更多有關功能和效能的資訊。此外還有有三個非常重要的第三方工具,分別為 PostgreSQL、Gemfire 和 ActiveMQ,其中 PostgreSQL 主要為物件關聯資料庫管理系統,被使用於內部資訊的儲存。Gemfire 主要進行廣播和資料庫第二層快取的功能,此外針對少數 SAS 解決方案能夠增強工作流程中物件與資料庫的溝通。ActiveMQ 主要是進行網站應用程式和服務之間的溝通,主要佇列和主題。 至於 SAS 相關服務對應 VMware 或開放原始碼,請參考下表。

VMware 或開放原始碼 服務
Hyperic HQ Server (Tomcat) SAS Environment Manager
Hyperic HQ Agent SAS Environment Manager Agent
vFabric Web Server (Apache) SAS Web Server
vFabric tc Server(Tomcat) SAS Web Application Server
PostgreSQL Server Web Infrastructure Platform Data Server
Gemfire SAS Cache Locator
ActiveMQ JMS Server SAS JMS Broker

其中 Vmware 或開放原始碼對應的版本,請參考下表。

VMware 或開放原始碼 版本
Hyperic 5.x
vFabric Web Server (Apache) 2.2.x
tc Server (Tomcat) 7.x
PostgreSQL 9.x
Gemfire 7.x
ActiveMQ 5.7.x
Java 7.x

再來有關 SAS 平台主要有三個部署工具進行安裝、設定和維護,請參考下表。

部署工具 功能
SAS Deployment Wizard 執行完整 SAS 安裝設定,自動設定代理伺服器、重直或水平叢集選項設定和 SSL 安全連線加密設定。
SAS Deployment Manager 執行維護作業,主要包括重新設定密碼、更新金鑰、重新建立網站應用程式、…等,請注意 SAS Metadata 伺服器必須啟動。
SAS Deployment Agent 執行新增叢集成員。

最後 SAS 平台中的網站應用程式伺服器主要皆透過集中驗證服務 (Central Authentication Service,CAS) 伺服器,進行單一登入,同時基於 Spring 框架中的 Spring Security 確保網站應用程式的安全。以及 SAS 平台中的網站伺服器直接內建 OpenSSL ,雖然有助於設定 SSL 安全連線,但同時又會造成弱點掃描的問題。

總結 SAS 平台主要以企業級 Oracle Java 為主進行應用程式的開發,並且搭配 VMware 的企業級 vFabric 網站伺服器,提供企業最有彈性和最完善的平台即服務架構,但是針對企業的不同需求可能會需要進行複雜設定或客製開發。

相關資源

⬅️ Go back