【正文】
Dynamic Deployment。除此之外, JBoss實現(xiàn)了一個先進的類下載子系統(tǒng)和部署服務。因此我們提倡并將把用 JBoss 應用服務器設計的微內(nèi)核的應用服務器用作一個模型。它為 MDB管理消息目的以及基于查詢的 Java 連接器通過它的管理服務層去提供這種消息服務。 部署系統(tǒng)組件 對應用組件來說, J2EE 規(guī)范只是少了在部署和拆卸時的明確定義,而對系統(tǒng)服務來說,在這方面做的更糟。文檔可能包含用于執(zhí)行組件的 Java 類或者任何其它的所需組件。 部署 J2EE應用程序和系統(tǒng)服務 部署應用程序組件 部署和拆卸標準的 J2EE 組件還沒有統(tǒng)一的標準,因此每個應用服務的提供商對組件 的部署和拆卸提供了單獨的功能于 J2EE 規(guī)范中沒有定義標準組件的包,包的格式和包內(nèi)的基于 xml 部署解釋器的位置,因此這種包對于沒有所屬權變化的應用服務器不需要部署。在 Web 層,這種交互的例子是 servlet 到 servlet的請求轉發(fā)。 (4) 用在參考組件運行環(huán)境中的 JNDI 指引去指出綁定的參考 EJB 的能力 。因此我們的架構將使用簡化的途徑,它所依賴的特征在現(xiàn)在的 大多數(shù)的應用服務器上都可以得到。 (5) 部署指定的組件類 。 假設潛在的 應用服務器提供了所有的設備去控制部署過程的每一步,那么在兩個 J2EE 組件間確立一個連接需要涉及: (1) 部署目標組件類 。環(huán)境中的綁定在組件部署時由部署者進行初始化。 (2) Java 連結器的外部連接:同步消息接收,同步和異步消息發(fā)送,用連接工廠和連接接口進行數(shù)據(jù)庫查詢。這樣由于組件的事務行為通過他的描述者來定義而且全部用 EJB 容器來處理,因此作為一個隱式獨立的 EJB 提供潛在的事務管理服務。一個 J2EE 編程者明確編寫的項目只有 EJB 和 Web 組件。目錄被執(zhí)行的 JNDI 環(huán)境被獨立的由容器的每個組件加以維護。 . (3) 消息目的 。軟件組件是有一系列的具體的接口和明確的上下文環(huán)境構成。適用與商業(yè)的 J2EE 實現(xiàn)可以大量的從 BEA 系統(tǒng), IBM,Oracle 等贊助商得到。經(jīng)過初始化說明和第一個服務實現(xiàn)后,該技術,更顯著的說 EJB 技術,已經(jīng)明顯地從純粹的分布式計算模型轉向了本地交互。 企業(yè)信息系統(tǒng)或者數(shù)據(jù) 層 這一層指的就是企業(yè)信息系統(tǒng), 比如 關系數(shù)據(jù)庫, ERP 系統(tǒng),消息系統(tǒng)等。它們在調(diào)用風格(同步和異步,本地和遠程)與狀態(tài)(完全狀態(tài),不可持久狀態(tài),可持久)方面不同。這些組件提供了持久化機制和事務支持。這些組件負責把業(yè)務數(shù)據(jù)傳遞給終端用戶。屬于各層的 J2EE 組件在開發(fā)時遵守具體的 J2EE 標準。 (4) 各種各樣的人物角色 。 J2EE. J2EE 是開發(fā)多層企業(yè)應用JAVA 程序的綜合性的標準。應用組件被塞入這種確立它們運行環(huán)境和規(guī)定它們交互的框架中。第 4 部分更深入的描述了有關這種架構特別重要的和有趣的內(nèi)部機制。我們相信通過動態(tài)部署和拆卸系統(tǒng)服務來重構應用服務器對構建高效資源框架的動態(tài)分布部署的 J2EE應用程序來說是非常必要的。根據(jù)這些配置使先前部署的復制組件在新的路徑中得以匹配和復用的努力正在做出。一種靈活的系統(tǒng)類型用來定義組件接口和端口的兼容性。 (4) 能夠復用服務和組件從而高效的利用網(wǎng)路節(jié)點資源。在需要跨越多個節(jié)點服務器的廣域網(wǎng)配置中,這將更加復雜,因為更多的便利內(nèi)部節(jié)點通信的系統(tǒng)服務需要配置和啟動,而且多種配置數(shù)據(jù)比如 IP 地址,端口號, JNDI 名字和其他的數(shù)據(jù)在多 個節(jié)點的配置文件中 必須維持一致性。 應用智能監(jiān)視和人工智能規(guī)劃方法再結合那個研究得出的結論,我們看到通過動態(tài)布置基于動態(tài)監(jiān)視的額外的應用組件,在廣域網(wǎng)中符合工業(yè)標準基于組件的應用程序中動態(tài)的可 適應性是可以實現(xiàn)的。 (2) 廣域垂直層需要復制應用層組件而且需要維持和原組件間的一致性 。這種應用程序通常被部署在公司的內(nèi)部網(wǎng)或者是因特網(wǎng)上,以高 事務容量,大量的用戶和覆蓋范圍廣的訪問為特征,它通常會被部署在中央?yún)^(qū)域,采用服務器集群來均衡負載從而支持用戶下載?;?J2EE 在 分布式環(huán)境下 的 底層結構的 自動 動態(tài)配置的 應用 Anatoly Akkerman, Alexander Totok, and Vijay Karamcheti 摘要: 為了實現(xiàn)廣域網(wǎng)中符合工業(yè)標準基于組件的應用程序中動態(tài)的可適應性,我們需要一種框架來在這樣的環(huán)境里自動化地配置 J2EE 應用程序。但是這種平均負荷的方法被證明只對減少應用轉發(fā)的用戶可以察覺的反應時間有效,而對于減少網(wǎng)絡方面的延遲作用不大,垂直分割(例如 … 運行網(wǎng)絡層和事務層在不同的虛擬機)被用于錯誤分離和均衡負荷,但是它是不符合實際的由于遠程調(diào)運的大量使用顯著地增加了運行時時間。 (3) 新加的復制組件可以被動態(tài)配置以滿足新的需要 。然而,為了實現(xiàn)這種動態(tài)可適性,我們需要一種框架來在這樣的環(huán)境里自動化地配置 J2EE 應用程序。這種分布式配置框架必須滿足: (1) 聲明內(nèi)部組件一致性規(guī)范和定義它對組件配置部署的影響。 (5) 提供上述便利而不 會 增加 應用程序員的設計負擔。一種為配置組件屬性而開發(fā)的定義和表述語言允許內(nèi)部組件間獨立的規(guī)范和組件間屬性的繼承。我們把這種架 構作為 JBoss 開源 java 應用服務器的一部分加以實現(xiàn),在幾個 J2EE 樣本程序比如 Java PetStore,, RUB 和 TPC_W_NYU中進行測試。本文如下部分是這樣組織的。第五部分描述了如何實現(xiàn)這種架構,相關聯(lián)的工作將在第六部分介紹。這通常是通過容器,組件持有者來實現(xiàn)的。 J2EE 規(guī)范定義如下: (1) 組件編程模型 。 (5) 兼容性檢驗裝置和編譯測試程序 。 表現(xiàn)層或者網(wǎng)絡層 這一層實際上又被分為客戶端和服務器端。數(shù)據(jù)本身通常從業(yè)務層獲得有時也從企業(yè)信息系統(tǒng)層直接獲得。 EJB 中的組件通過 RMI 被調(diào)用。同步調(diào)用的 EJB 組件通過特定的工廠代理對象來表現(xiàn)自己。業(yè)務層和持久層在資源適配器的幫助下與該層進行通信。轉變的背后有合理的性能有關的原因,然而分布式的特征現(xiàn)在還存在。包括 JBoss 和 JOnAS 在 內(nèi)的開源實現(xiàn)據(jù)稱兼容性也不錯。它可以被獨立的部署而且易于被第三方重構。 (4) 數(shù)據(jù)源 。該種環(huán)境下的綁定機制通常由組件部署的解釋者加以配置。這些用戶編寫的組件彼此交互而且系統(tǒng)服務可以是明顯的也可以是隱含的。 組件間的鏈接 遠程交互 J2EE 僅定義了三種可以在不同應用服務器間傳遞的基本組件間連接類型。 (3) Java 連接器的內(nèi)部連接:異步消息傳遞進入消息驅動 Bean 只能使用 Activation Spec 對象。這些綁定被假設為是靜態(tài)的,因為規(guī)格中沒有提供任何的容器和組件間協(xié)議去提示綁定發(fā)生了變化。 (2) 創(chuàng)建一個特定的 Java 對象用作目標組件代理。 (6) 在主機的命名服務中,創(chuàng)建和進行指定組件的運行環(huán)境 。 (1) 動態(tài)部署消息目的和數(shù)據(jù)源的能力 。 在只有相同的應用服務器的架構中,上面的功能對通過簡單的部署控制解釋器方式來控件間的連接已經(jīng)足夠了。在 EJB 層,這種交互的例子是 CMP 實體關系和通過 EJB 本地接口的調(diào)用。具體變化的例子有: (1) 支持或者取代標準所有者解釋器的新的所有者解釋器的產(chǎn)生 。相應地,部 署解釋器也可以簡單地用 URL 來索引代碼。對系統(tǒng)服務來說不僅沒有具體的定義一個標準化的部署,實際上,這個規(guī)格甚至連沒有強調(diào)在生命周期屬性方面的要求,更不用手強調(diào)依賴也潛在的系統(tǒng)服務的應用組件的 明確規(guī)范了取而代之的是它定義了部署者的角色,這個角色負責確保像組件的本性和系統(tǒng)的解釋器所暗示的那樣,所需的服務是基于應用組件對系統(tǒng)服務依賴性的基礎之上??紤]到應用層可能通常只用到了應用服務器所提供的服務的一個子集,根據(jù)應 用層的需要允許遞增的配置服務的組件應用服務器允許更高效的利用多種資源。在該模型中,一個微型的服務包括了系統(tǒng)調(diào)用總線,一個穩(wěn)健的類下載子系統(tǒng),一些命名子系統(tǒng)和一個動態(tài)配置子系統(tǒng)。所有其它的 JBoss 是動態(tài)配置的,并外在的表現(xiàn)為具有良好機制和生命周期的 JMX 務外在利用應用組件去設計相關功能,并且只有需要的系統(tǒng)服務才會得到合理配置和部署! 參考文獻 [1] Matt Bishop. Computer Security: Art and Science. New York, 2020 [2] Matt Bishop. Vulnerabilities Analysis. Proceedings of the Second International Symposium on Recent Advances in Intrusion Detection. Los Angeles 2020 [3] Balasubra maniyan. Architecture for Intrusion Detection using Autonomous Agents[M]. Department of Computer Sciences, Purdue University, 1998. Infrastructure for Automatic Dynamic Deployment Of J2EE Application in Distributed Environments Anatoly Akkerman, Alexander Totok, and Vijay Karamcheti Abstract: in order to achieve such dynamic adaptation, we need an infrastructure for automating J2EE application deployment in such an environment. This need is quite evident to anyone who has ever tried deploying a J2EE application even on a single application server, which is a task that involves a great deal of configuration of both the system services and application ponents. Key words: j2ee。 1 Introduction In recent years, we have seen a significant growth in ponentbased enterprise application development. These applications are typically deployed on pany Intras or on the Inter and are characterized by high transaction volume, large numbers of users and wide area access. Traditionally they are deployed in a central location, using server clustering with load balancing (horizontal partitioning) to sustain user load. However, horizontal partitioning has been shown very efficient only in reducing applicationrelated overheads of userperceived response times, without having much effect on workinduced latencies. Vertical partitioning (., running web tier and business tier in separate VMs) has been used for fault isolation and load balancing but it is sometimes impractical due to significant runtime overheads (even if one would keep the tiers on a fast localarea work) related to heavy use of remote invocations. Recent work [14] in the context of J2EE ponent based applica