乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      MyEclipse 中開(kāi)發(fā)SCA應(yīng)用入門 - 好高悟遠(yuǎn) - ItEye技術(shù)網(wǎng)站

       gyb98 2011-04-03

      MyEclipse 中開(kāi)發(fā)SCA應(yīng)用入門

      SCA:service component architectur
      這是一種面向服務(wù)的基礎(chǔ)架構(gòu)設(shè)計(jì),方便了在此基礎(chǔ)上實(shí)現(xiàn)SOA的應(yīng)用。SCA只是一個(gè)規(guī)范,對(duì)這個(gè)規(guī)范的實(shí)現(xiàn)有多種,其中Apache的Tuscany SCA就是其中一種。
      首先,我只是結(jié)合我自己的理解簡(jiǎn)單介紹一下SCA,然后在把我自己寫的一個(gè)最簡(jiǎn)單的HelloWorld如何搭建起來(lái)的做一個(gè)描述。
      借助Tuscany的實(shí)現(xiàn)描述SCA 運(yùn)行時(shí):
      首先是運(yùn)行環(huán)境:包括操作系統(tǒng),虛擬機(jī),容器等等。誠(chéng)摯為Hosting Platforms
      在此之上是運(yùn)行時(shí)的Core 和Extension部分,這個(gè)設(shè)計(jì)是微內(nèi)核的,Core就是這個(gè)核,Core提供的功能,運(yùn)行時(shí)實(shí)現(xiàn),以及提供Extension的機(jī)制。
      在Core之外提供Extension:比如Apache tuscany 提供的SDO,DAS都是這種Extension。 這樣一種相當(dāng)于插件機(jī)制的設(shè)計(jì)增加了靈活性。
      在Core和extension之上就是:Tuscany API,提供給開(kāi)發(fā)者更多的方便。

      在SCA中有幾個(gè)很重要的概念:
      Component:具有獨(dú)立功能的程序模塊。
      Service:component提供給外部的服務(wù)。
      Referrence:對(duì)其他服務(wù)的引用。
      Composite:多個(gè)component的高一層次封裝。
      Wire:鏈接Referrence和component。
      Promote:同一個(gè)composite內(nèi)多個(gè)component之間的鏈接。
      Domain: 一個(gè)composite是一個(gè)最簡(jiǎn)單的Domain。Domain是對(duì)n個(gè)composite組織的高一層次封裝。

      基本的概念就只描述這些了,下面看看如何把最簡(jiǎn)單的SCA HelloWorld運(yùn)行起來(lái)。

      1,到Apache官方網(wǎng)站下載Tuscany SCA binary package 和對(duì)應(yīng)源碼。
      2,在MyEclipse中新建UserLibrary,把binary package下的jar包全部加入到其中,并關(guān)聯(lián)下載的源代碼到sca-all.jar
      3,新建工程,并引入剛才建立的UserLibrary。
      4,其實(shí)運(yùn)行HelloWorld很簡(jiǎn)單:
      建立接口:


      Java代碼 復(fù)制代碼 收藏代碼
      1. package Hello;
      2. import org.osoa.sca.annotations.Remotable;
      3. public interface IHello {
      4. public String show(String name);
      5. }


      然后實(shí)現(xiàn)接口:
      Java代碼 復(fù)制代碼 收藏代碼
      1. package Hello;
      2. public class HelloImpl implements IHello{
      3. public String show(String name)
      4. {
      5. return "Hello"+name;
      6. }
      7. }


      接下來(lái)就是要寫一個(gè)Hello.composite 配置文件:
      Xml代碼 復(fù)制代碼 收藏代碼
      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <composite xmlns="http://www./xmlns/sca/1.0" name="hello">
      3. <component name="Hello"
      4. <implementation.java class="Hello.HelloImpl"/>
      5. <service name="Hello"
      6. <binding.ws uri="hello-there"/>
      7. <t:binding.jsonrpc uri="hello-nicer"/>
      8. </service>
      9. </component>
      10. </composite>

      這個(gè)文件其實(shí)就對(duì)應(yīng)了Composite ,component,service 等概念。比較容易明白。

      還需要一個(gè)Client來(lái)調(diào)用這個(gè)composite:

      Java代碼 復(fù)制代碼 收藏代碼
      1. package Hello;
      2. import org.apache.tuscany.sca.host.embedded.SCADomain;
      3. public class HelloClient {
      4. public static void main(String[] args)
      5. {
      6. SCADomain domain=SCADomain.newInstance("hello.composite");
      7. IHello ihello= domain.getService(IHello.class, "Hello");
      8. if(ihello!=null)
      9. ihello.show("ccx");
      10. domain.close();
      11. }
      12. }


      這個(gè)HelloClient從配置文件Hello.composite讀取配置并建立了domain,然后或得Hello服務(wù)接口,并完成對(duì)服務(wù)的調(diào)用。

      這個(gè)例子很簡(jiǎn)單,但也可以對(duì)SCA中一些最基本的概念有所了解。有了這個(gè)的基礎(chǔ)上,可以再深入學(xué)習(xí)更多的東西了。

      將持續(xù)關(guān)注SCA。and OSGI

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多