<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    基于Tuscany的Web應用程序分析

    Tuscany下典型的Web架構:

    乍一看,平淡無奇,這不就是我們常用的Web目錄結構么?沒錯!

    但玄機出在Web.xml和Calculator.composite上,下面我們分別看下這兩個文件:

    Web.xml

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
    Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>

    <display-name>Apache Tuscany Calculator Web Service Sample</display-name>

    <filter>
    <filter-name>tuscany</filter-name>
    <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
    </filter>

    <filter-mapping>
    <filter-name>tuscany</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list id="WelcomeFileList">
    <welcome-file>calc.jsp</welcome-file>
    </welcome-file-list>

    </web-app>

    這里使用了TuscanyServletFilter過濾器,此過濾器的作用我們會在后文提到。

    Calculator.composite

    <?xml version="1.0" encoding="UTF-8"?>
    <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
    targetNamespace="http://sample"
    xmlns:sample="http://sample"
    name="Calculator">

    <component name="CalculatorServiceComponent">
    <implementation.java class="calculator.CalculatorServiceImpl"/>
    <reference name="addService" target="AddServiceComponent"></reference>
    <reference name="subtractService" target="SubtractServiceComponent"></reference>
    <reference name="multiplyService" target="MultiplyServiceComponent"></reference>
    <reference name="divideService" target="DivideServiceComponent"></reference>
    </component>

    <component name="AddServiceComponent">
    <implementation.java class="calculator.AddServiceImpl"/>
    </component>

    <component name="SubtractServiceComponent">
    <implementation.java class="calculator.SubtractServiceImpl"/>
    </component>

    <component name="MultiplyServiceComponent">
    <implementation.java class="calculator.MultiplyServiceImpl"/>
    </component>

    <component name="DivideServiceComponent">
    <implementation.java class="calculator.DivideServiceImpl"/>
    </component>

    </composite>
    此文件類似Spring,是Tuscany的服務配置文件,在此文件中提供了組件、實現的聲明及配置。

    下面,再結合調用時序圖,來詳述Tuscany在此應用中的位置及作用。

    由此時序圖可知,整個流程如下:

    1、應用服務器啟動;

    2、客戶端訪問calc.jsp頁面,服務器調用Web.xml中的配置TuscanyServletFilter過濾器;

    3、在TuscanyServletFilter過濾器中,首先得到一個WebAppServletHost實例,WebAppServletHost是在Web應用環境中使用的Tuscany功能提供者;

    4、在WebAppServletHost中,得到一個SCADomain實例,并將之放入ServletContext上下文中,以后可藉由相應的key得到此SCADomain實例;

    5、calc.jsp中成功取得SCADomain實例;

    6、通過SCADomain實例取得CalculatorServiceComponent組件;

    7、調用CalculatorServiceComponent組件的各種業務方法實施計算。

    這一個完整的過程,演示了Tuscany在一個Web應用中所充當的角色,在某種意義上Tuscany和Spring是相同的,只不過粒度不一樣,

    Spring注重的是bean的管理,是技術層面的,粒度相對較細;而Tuscany關注 則是業務組件的管理,是業務層面的,粒度相對較粗。

    從軟件重用角度講,業務重用比技術重用更加受歡迎,操作起來也更加容易。業務重用是趨勢。現在的SAAS熱潮更加證明,軟件即服務的

    時代已經到來。

    posted on 2008-04-27 21:35 gembin 閱讀(645) 評論(0)  編輯  收藏 所屬分類: SCASOA

    導航

    統計

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    free counters
    主站蜘蛛池模板: 精品无码无人网站免费视频| 国产免费观看黄AV片| 中文日韩亚洲欧美制服| 免费国产在线观看| 无码囯产精品一区二区免费| 亚洲乱码一二三四区麻豆| 亚洲成?v人片天堂网无码| 久久久久久成人毛片免费看| 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲成?Ⅴ人在线观看无码| 99re6在线视频精品免费下载| 亚洲中文精品久久久久久不卡| 亚洲国产精品成人| 99久久久国产精品免费牛牛四川 | 亚洲日本乱码卡2卡3卡新区| 亚洲国产精品一区二区第四页| 99在线免费观看视频| 国产亚洲成在线播放va| 亚洲综合一区二区国产精品| 国产成人无码免费视频97| 热re99久久6国产精品免费| 亚洲AV日韩AV无码污污网站| 亚洲av无码专区国产乱码在线观看 | 亚洲理论片在线中文字幕| 免费国产人做人视频在线观看| 无码中文字幕av免费放dvd| 精品久久久久亚洲| 亚洲国产精品xo在线观看| 国产亚洲美女精品久久久| 女人被弄到高潮的免费视频| 黄页免费在线观看| 四虎成人精品国产永久免费无码| 亚洲不卡在线观看| 亚洲成人中文字幕| 久久精品国产亚洲7777| 日本一线a视频免费观看| 亚洲视频在线免费看| 99久久国产精品免费一区二区 | 免费不卡中文字幕在线| 国产精品视频永久免费播放| 8x8×在线永久免费视频|