Main DSL: World and CDML

Introduction

When you are using a SOA platform, you need to specify two things:

CDML

CDML (Component Description Markup Language) describes the inputs and the outputs of a service. It also describes many properties of the service, which are useful for building it (see generate a component).

<component name="chemist" type="chemist" extends="abstractContainer" ns="chemist" doc="Chemist">

 <containerclass name="ChemistContainer" />

 <facadeclass name="ChemistFacade" userclassname="ChemistApp"/>

 <input name="getMolecule" doc="getMolecule" method="getMoleculeInput">
  <attribute name="message" ns="chemist" doc="Text for label" javatype="java.lang.String"/>
 </input>

 <output name="getMolecule" method="getMoleculeOutput" doc="getMolecule">
  <arg name="message" doc="" javatype="java.lang.String" />
 </output>

</component>

World

A World file describes the instances of components, which will be started, and how they will be connected. It is like describing a composition of services and where this assembly makes your final application built up.

<world>
 <connectTo id_src="ComponentsManager" type_dest="worldStateGraph" id_dest="graphContainer" />

 <connectTo id_src="ComponentsManager" type_dest="glayout" id_dest="glayout">
  <attribute name="docRef" value="resources:inria/smarttools/componentsmanager/resources/lml/test.lml"/>
  <attribute name="xslTransform" value="resources:lml/resources/xsl/lml2bml.xsl"/>
  <attribute name="behaviors" value="resources:inria/smarttools/view/resources/behaviors/bootbehav.xml"/>
  <message name="initData">
   <attribute name="inits">
    <collection>
     <item name="behavior" value="resources:inria/smarttools/componentsmanager/resources/cmbehaviors.xml"/>
    </collection>
   </attribute>
  </message>
 </connectTo>

</world>

Next: SmartTools is a generator of components / plugins / bundles

Last modified: $Date: 2008-08-25 11:25:14 +0200 (Mon, 25 Aug 2008) $