十步写Cartridge(一)

十步写Cartridge

这篇文章告诉你如何写一个AndroMDA cartridge10个不同的步骤中,使用一个简单的cartridgeUML开发模型中生成一个类似于Ant的构建脚本。这就是为什么教程cartridge被叫做“andromeda-deployment”。

 

新的cartridge作的任务

Written by Matthias Bohlen

Tuesday,21 March 2006

让我们看看cartridge要处理的测试模型:

 

在这张图上,你看到了四个重要的模型元素类型:

l         Node:工件能够被部署的方框(通常是机器,例如server

l         Component:带一个定义的接口的软件的逻辑块

l         Artifact:软件的物理块,例如符合组件接口的jar文件(用UML的话来讲就是:“manifest a”)

l         Package:一些类周围的壳。

隐藏在这个模型背后的思想是:工件包含包并且被部署在节点上。包中包括应该在打包进工件前要被编译的类。

你可以从这样一个模型中作的更多,但是对于一个教程来说这会使这个cartridge更复杂。从这个模型中,cartridge会生成两种类型的文件:

l         一种像ant的构建脚本(给每个节点)

l         简单的关于要被部署到节点的报告,组件,工件和包(每个模型一个报告)

从上面的模型中,这个新的cartridge将生成下面的输出:

build.xml:

 

<project name="org.andromda.cartridges.deployment.sampledeployment.AppServer1" default="deploy">

    <target name="compile">
      <javac package="org.andromda.cartridges.deployment.sampledeployment.mybackendservices" />
      <javac package="org.andromda.cartridges.deployment.sampledeployment.mywebapp" />
      <javac package="org.andromda.cartridges.deployment.sampledeployment.mywebapp2" />
    </target>

    <target name="deploy" depends="compile">
      <jar name="MyBackendComponents.jar">
          <package name="org.andromda.cartridges.deployment.sampledeployment.mybackendservices" />
      </jar>
      <jar name="MyWebComponents.jar">
          <package name="org.andromda.cartridges.deployment.sampledeployment.mywebapp" />
          <package name="org.andromda.cartridges.deployment.sampledeployment.mywebapp2" />
      </jar>
    </target>

</project>

 

 

你们中的ant专家现在会说这不是一个有效的ant文件,不,不是。这是个冒牌货!

下面是要生成的另外一个文件:

<deployment-report generation-date="Fri Feb 17 10:12:33 CET 2006">

    <node name="AppServer1">
        <component name="BackendComponent">
            <artifact name="MyBackendComponents.jar">
                <package name="org.andromda.cartridges.deployment.sampledeployment.mybackendservices">
                </package>
            </artifact>
        </component>
        <component name="WebComponent">
            <artifact name="MyWebComponents.jar">
                <package name="org.andromda.cartridges.deployment.sampledeployment.mywebapp">
                </package>
                <package name="org.andromda.cartridges.deployment.sampledeployment.mywebapp2">
                </package>
            </artifact>
        </component>
    </node>

</deployment-report>

下面我们会为你演示在cartridge开发流程中的每个步骤的设计。

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值