亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡,我們將竭誠為您提供優(yōu)質(zhì)的服務! 誠征網(wǎng)絡推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發(fā)消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

Apache Tuscany SCA Java架構1

添加時間:2011-3-13  添加: admin 

概述

  SCAJava運行時由core和extension組成。Core本質(zhì)上來說是一個多VM的wiring引擎。該引擎使用IOC(控制反轉)和DI(依賴注入)原則來連接組件。

  Core

 Core在性能方面是簡單而有限的。它將功能單元連接在一起,并提供可以和extension交互的SPI機制。例如象服務發(fā)現(xiàn),可靠性,對傳輸協(xié)議的支持等特性都是通過extension來做的。

  Extension

  Extension增強SCA運行時的功能。Extesion類型不是固定的。而core則是通過提供對extension模塊開放支持來使得設計盡量靈活。

  •   組件實現(xiàn)類型,例如:Spring, Groovy 和Java
  •   綁定類型,比如:Axis, CXF ,AMQP ,ActiveMQ, JXTA
  •   數(shù)據(jù)綁定類型,比如:JAXB, SDO ,XmlBean
  •   接口綁定類型,比如:WSDL, Java

  關于如何實現(xiàn)一個extension的詳細信息可以在Extensions Guide中查看。

  運行時

  Core是設計得可以嵌入于許多不同的主機環(huán)境下的。例如,core也許用于OSGI容器、單獨的運行時環(huán)境、serlvet引擎或J2EE應用服務器中。運行時的性能根據(jù)主機環(huán)境不同而不同。

  Java SCA運行時的高層概述:

  下圖是由關鍵的模塊/包組成的SCA運行時高層視圖

  1、 SCA Spec API:由SCA Java Client and Implementation定義的API

  2、 API:擴展了SCA Spec API的Tuscany API

  3、 Core:運行時實現(xiàn)和SPI擴展機制

  4、 Extension:

  1. Component(英文原版有錯誤) implementation – 擴展語言支持:例如 BPEL,Python,C++,Ruby等

  2. Binding – 擴展協(xié)議支持:例如 Axis2, CXF等

  3. Interface Binding – 擴展服務定義類型:比如SWDL, Java等

  4. Databinding – 擴展數(shù)據(jù)支持:比如SDO, JAXB等

  5、 Host platforms:Tuscany運行時的主機環(huán)境

  <!--[if !vml]--><!--[endif]-->

  內(nèi)部高層視圖

  參考下圖:

  <!--[if !vml]--><!--[endif]-->

  引導過程

  引導過程是由主機環(huán)境控制的。默認的實現(xiàn)是DefaultBootstrapper。運行時由某個成型的SCA Assembly XML文件序列化而來并處理服務裝配。

  •   裝載階段處理SCDL并創(chuàng)建一個內(nèi)存模型處理相應的運行時工件(例如組件componet,服務service,引用reference)
  •   連接階段將對服務的引用連接起來

  SCA裝配模型在Tuscany中是用一系列接口表示的。如下是些關鍵的元素。

  •   SCA component 是配置化的SCA實現(xiàn)的實例,它可以提供服務或消費服務。
  •   SCA service用于聲明實現(xiàn)的可以被外部訪問的服務
  •   SCA reference用于表示該實現(xiàn)對某些其他實現(xiàn)所提供的服務的依賴。該依賴的服務可以通過配置來指定。

  Implementation是用于描述軟件技術的概念,例如在面向服務的應用中實現(xiàn)了一個或多個服務的Java 類,BEPL,XSLT轉換,C++類。SCA composite也是implementaion。

  ComponentType涉及實現(xiàn)的可配置的方面。

  Interface定義了一個或多個業(yè)務功能。這些業(yè)務功能通過Service提供,通過Reference讓其他組件使用。服務是由實現(xiàn)的接口來定義的。現(xiàn)在SCA支持兩種接口類型系統(tǒng):Java接口、SWDL portType

  SCA composite是SCA域中的compositon的基礎單元。SCA Composite是組件的裝配,服務、應用和wire都互相連接。

  SCA wire將服務引用連接到服務上。

  Binding是被服務和引用所使用的。引用使用綁定來描述訪問機制,該機制用于訪問連接的服務。服務使用綁定來描述客戶程序調(diào)用服務的訪問機制。

  Property是考慮到有的實現(xiàn)配置需要顯式地設置數(shù)據(jù)值。該數(shù)據(jù)值由組件提供,當然也可能來源于容器composite的屬性。

  <!--[if !vml]--><!--[endif]-->

  Contribution

  Tuscany運行時提供了一個框架來支持SCA的contribution。框架可以通過下列的兩個擴展點來擴展:

  PackageProcessorExtensionPoint:它用于處理不同的包裝格式或歸檔的擴展,可以是目錄、Jar、OSGI bundle、EAR、War或Zip。

 ArtifactProcessorExtensionPoint:它用于處理特定工件類型的擴展,可以是SWDL,XSD,composite,java類后BEPL。

  <!--[if !vml]--><!--[endif]-->

  <!--[if !supportLists]-->l <!--[endif]-->包處理器會掃描安裝了的contribution,并產(chǎn)生需要處理的工件列表。當前有支持文件夾/文件系統(tǒng)和 Jar contribution包。為了讓contribution服務有效,包處理器要注冊自己給包處理extension 。

  <!--[if !supportLists]-->l <!--[endif]-->工件處理器用于處理contribution上的每個有效的工件。為了讓contribution服務有效,工件處理器要注冊自己給工件處理extension 。對于每個工件,工件處理器分兩個階段被調(diào)用。

  <!--[if !supportLists]-->? <!--[endif]-->讀階段:這里是你讀取工件(可以是一個文檔、XML元素或類等等)的地方,組裝描述工件的模型并返回它。SCA  contribution服務在所有注冊了工件處理器的工件上調(diào)用ArtifactProcessor.read()。假如你的模型引用了其他的模型,不需要立刻裝載那些模型,你只需要保持描述引用的信息,在resolve階段,你將會把該信息轉換成指向被引用模型的指針。注意:你沒有必要在這個時刻完全讀取并裝載模型,你可以在以后來完成這些工作

  <!--[if !supportLists]-->? <!--[endif]-->解析階段:這個階段讓你有機會解析對其他模型的引用。這個時刻,SCA contribution中所有的描述工件的模型都已經(jīng)讀取,并注冊了工件解析器,準備被解析。

  <!--[if !supportLists]-->l <!--[endif]-->所有可部署的composite應該在現(xiàn)在準備部署到SCA域中。

  包處理器會掃描安裝了的contribution,并產(chǎn)生需要處理的工件列表。當前有支持文件夾/文件系統(tǒng)和Jar contribution包。為了讓contribution服務有效,包處理器要注冊自己給包處理extension 。

  工件處理器用于處理contribution上的每個有效的工件。為了讓contribution服務有效,工件處理器要注冊自己給工件處理extension 。對于每個工件,工件處理器分兩個階段被調(diào)用。

  ? 讀階段:這里是你讀取工件(可以是一個文檔、XML元素或類等等)的地方,組裝描述工件的模型并返回它。SCA contribution服務在所有注冊了工件處理器的工件上調(diào)用ArtifactProcessor.read()。假如你的模型引用了其他的模型,不需要立刻裝載那些模型,你只需要保持描述引用的信息,在resolve階段,你將會把該信息轉換成指向被引用模型的指針。注意:你沒有必要在這個時刻完全讀取并裝載模型,你可以在以后來完成這些工作。

  ? 解析階段:這個階段讓你有機會解析對其他模型的引用。這個時刻,SCA contribution中所有的描述工件的模型都已經(jīng)讀取,并注冊了工件解析器,準備被解析。

  所有可部署的composite應該在現(xiàn)在準備部署到SCA域中。

  實現(xiàn)擴展

  實現(xiàn)擴展負責實現(xiàn)類型的支持,例如Java,和BEPL

  綁定擴展

  綁定擴展負責對綁定類型進行支持,例如web service,JMS,JSON-RPC和RMI

  接口擴展

  接口擴展負責接口類型的擴展,例如Java接口和WSDL 1.1 portType

  數(shù)據(jù)綁定擴展

關鍵字:Apache Tuscany SCA Java 架構

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網(wǎng)絡有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報有獎  警警  手機打開網(wǎng)站