Home > Services

Tools for Java Developers

webMethods MDM provides the Java Developer with tools that facilitate usage of webMethods MDM API and integration with development environments:

JSP TagLib

Installing the TagLib

In order to use webMethods MDM JSP TagLib in your Web application, you must include the file /WEB-INF/mdm.tld. This file is provided in directory webMethodsMDM.software/jsp-taglib/.

<mdm:display>

Display the formatted value of an adaptation node.

When the node of the adaptation model is an external resource, the tag displays the resource name (not the URL)

Syntax (examples)

  • <mdm:display name="MaximumAmount"/>
  • <mdm:display path="<%=DataPathInterface.dataPath%>"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true
format false  

Note : The value of name is an alias or a path in the adaptation model.

<mdm:label>

Displays the label of an adaptation node.

Syntax (examples)

  • <mdm:label name="tradeMarkLogo"/>
  • <mdm:label path="/domain/marketing/tradeMark/logo"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true

Note : The value of name is an alias or a path in the adaptation model.

<mdm:initAdaptation>

This tag provides a simple and predefined service that creates an adaptation instance and registers it in the page context. It verifies that the specified adaptation name refers to an existing and activable adaptation (see in Java API Adaptation.checkActivable()).

If those conditions are not fulfilled, it return a JspException.

Since this tag is very simple, we recommend to use it only for prototyping Web applications. A more specific program will require the use of Java API.

Syntax (examples)

  • <mdm:initAdaptation adaptation="F45-I52-24"/>
  • <mdm:initAdaptation adaptation="<%=request.getParameter("adaptationName")%>"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
adaptation false true

<mdm:description>

Display the description of an adaptation node.

Syntax (examples)

  • <mdm:description name="customerName"/>
  • <mdm:description name="<%=param%>"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true

Note : The value of name is an alias or a path in the adaptation model.

<mdm:nomenclatureItemLabel>

Displays the default label of a value in the nomenclature defined by an adaptation node.

Syntax (examples)

  • <mdm:nomenclatureItemLabel name="databaseTablePays"/>
  • <mdm:nomenclatureItemLabel path="/domain/parametrageTechnique/databaseTablePays"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true

Note : The value of name is an alias or a path in the adaptation model.

<mdm:url>

This tag displays the local URL to access external resource of a module. The returned path begin with a "/" and includes the specific path othe the Web application ("context path"). For example: /myWebAp pPublicPath/www/fr_FR/Images/logos/sample1.gif

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true

<mdm:debug>

Displays debug information, HTTP request and current adaptation. Display is activated only if the property "frontEnd.debugMode" of the file 'module.properties' or 'mdm.properties' has the value set to 'true'.

Syntax (examples)

  • <mdm:debug/>

Body Content

Empty

Attributes

none.

 

Developer Assistant

In developer mode, webMethods Master Data Manager provides development and configuration assistance features.

Activating the development mode

To activate development assistance features, you need to run webMethods MDM in "development" mode. It is specified in mdm.properties with the following property:
        backend.mode=development

Developer Bar

The Developer bar is displayed in development mode, only if the user has the Provider profile (not administrator profile). This bar gives access to the product documentation, javadoc and specific features such as Java generation or adaptation model synchronization.

Refresh model button

Typical scenario: The developer modifies its adaptation model (for example, he adds new nodes). He wants to see incrementally its change in webMethods Master Data Manager, without restarting the application server.

Generate Java button

It is possible to generate Java types specified by the adaptation model in webMethods Master Data Manager.

See Java generation (bindings).

Assistant for access to an adaptation node

For each adaptation terminal node, the button at the right side of the node label allows to select the absolute path to the node or a JSP tag. By selecting an element, you can copy/paste the code in your Java or JSP editor.

Using Ant

webMethods MDM provides an Ant task in order to generate Java types for accessing adaptations, as specified in Java Generation (bindings).

Note 1:
Ant execution is done outside J2EE containers. This means that you need to rebuild in your Ant script the equivalent environment (classpath, module registration). This task can be complex.

Note 2 :
The same generation feature is available in webMethods Master Data Manager, in development mode. (see Developer Assistant  : Button "Generate Java").

Below is a sample Ant script:

<?xml version="1.0"?>
  
<project name ="generateJavadefault ="generateAll">
       <!-- ======================================================= -->
       <property name ="target.dirvalue ="../source/"/>
       <property name ="mdm.libvalue ="../../270_mdmEAR/lib"/>
       <property name ="mdm.classpathvalue ="${mdm.lib}/mdm.jar:${mdm.lib}/activationFramework-1.0.1.jar:${mdm.lib}
/javamail-1.2.jar:${mdm.lib}/jsp-1.2.jar:${mdm.lib}/junit-3.8.1.jar:${mdm.lib}/servlet-2.3.jar
"/>
       <property name ="extra.classpathvalue ="../webApplication/WEB-INF/lib/anyLib.jar"/>
       <property name ="full.classpathvalue ="${mdm.classpath}:${extra.classpath}"/>
       <taskdef name ="mdm.batchclassname ="com.softwareag.mdm.tools.ant.MdmBatchTask
classpath 
="${full.classpath}"/>
       <!-- ======================================================= -->
       <target name ="generateAll">
              <mdm.batch>
                      <!-- Set System Properties for webMethods MDM -->
                      <sysproperty key ="mdm.propertiesfile ="../../270_mdm/webApplication/WEB-INF/mdm.properties"/>
                      <sysproperty key ="mdm.homefile ="../../mdm-run"/>
                      <!-- Register webMethods MDM modules -->
                      <moduleset dir ="../..">
                               <include name ="*/webApplication"/>
                      </ moduleset>
                      <!-- Generate Java path constants -->
                      <schema schemaModule ="myModuleNameschemaPathInModule ="/WEB-INF/mdm/dataModel.xsd">
                               <generateJava/>
                       </ schema>
                  </ mdm.batch>
          </ target>
</ project>

Preview

webMethods Master Data Manager allows users (Provider and Distributor profiles) to preview an application which uses an adaptation. This feature allows to launch an application with the current adaptation. This is useful in development in order to test an application on multiple adaptations.

To activate Preview, log into webMethods Master Data Manager (Provider profile) and select in the root adaptation the node Interface Configuration / Entry Policy /.

Edit node values:

  • Protocol, by default HTTP
  • Host name : if no value is defined, the default host name is used (see section URLs computing)
  • Port : if no value is defined, the default port is used (see section URLs computing)
  • Path : Path to the application (in our example, a JSP test page)
  • Name of parameter identifying adaptation : the name of the parameter that will be used in the application to identify the adaptation

The Preview feature can be used in the tab Preview in the Configure or Delegate menu in webMethods Master Data Manager.

 

Outils pour le développeur Java

webMethods MDM fournit au développeur Java des outils qui facilitent l'utilisation de l'API webMethods MDM et l'intégration avec les environnements de développement :

TagLib JSP


Installation de la TagLib

Pour que votre application web utilise la tagLib JSP MDM, il faut inclure le fichier /WEB-INF/mdm.tld. Ce fichier est fourni dans le répertoire webMethodsMDM.software/jsp-taglib/ du CD d'installation.

<mdm:display>

Display the formatted value of an adaptation node.

When the node of the adaptation model is an external resource, the tag displays the resource name (not the URL)

Syntax (examples)

  • <mdm:display name="MaximumAmount"/>
  • <mdm:display path="<%=DataPathInterface.dataPath%>"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true
format false  

Note : The value of name is an alias or a path in the adaptation model.

<mdm:label>

Displays the label of an adaptation node.

Syntax (examples)

  • <mdm:label name="tradeMarkLogo"/>
  • <mdm:label path=".domain.marketing.tradeMark.logo"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true

Note : The value of name is an alias or a path in the adaptation model.

<mdm:initAdaptation>

This tag provides a simple and predefined service that creates an adaptation instance and registers it in the page context. It verifies that the specified adaptation name refers to an existing and activable adaptation (see in Java API Adaptation.checkActivable()).

If those conditions are not fulfilled, it return a JspException.

Since this tag is very simple, we recommend to use it only for prototyping Web applications. A more specific program will require the use of Java API.

Syntax (examples)

  • <mdm:initAdaptation adaptation="F45-I52-24"/>
  • <mdm:initAdaptation adaptation="<%=request.getParameter("adaptationName")%>"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
adaptation false true

<mdm:description>

Display the description of an adaptation node.

Syntax (examples)

  • <mdm:description name="customerName"/>
  • <mdm:description name="<%=param%>"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true

Note : The value of name is an alias or a path in the adaptation model.

<mdm:nomenclatureItemLabel>

Displays the default label of a value in the nomenclature defined by an adaptation node.

Syntax (examples)

  • <mdm:nomenclatureItemLabel name="databaseTablePays"/>
  • <mdm:nomenclatureItemLabel path=".domain.parametrageTechnique.databaseTablePays"/>

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true

Note : The value of name is an alias or a path in the adaptation model.

<mdm:url>

This tag displays the local URL to access external resource of a module. The returned path begin with a "/" and includes the specific path othe the Web application ("context path"). For example: /myWebAp pPublicPath/www/fr_FR/Images/logos/sample1.gif

Body Content

Empty

Attributes

Name Required rtexprvalue
name false true
path false true

<mdm:debug>

Displays debug information, HTTP request and current adaptation. Display is activated only if the property "frontEnd.debugMode" of the file 'module.properties' or 'mdm.properties' has the value set to 'true'.

Syntax (examples)

  • <mdm:debug/>

Body Content

Empty

Attributes

none.

 

Assistant Développeur

webMethods Master Data Manager intègre des fonctions d'assistance au développement et à la configuration en mode développement.

Activation du mode développement

Afin d'activer les fonctions qui sont décrites ici, il est nécessaire de positionner la plate-forme en mode "développement". La plate-forme webMethods MDM est en mode développement si la propriété suivante est définie comme suit dans le fichier mdm.properties :
        backend.mode=development

Barre "Développeur"

La barre développeur n'est affichée qu'en mode développement, et si l'utilisateur est dans un profil fournisseur, non administrateur. Elle permet d'accéder au guide utilisateur complet, au javadoc et assiste le développement en proposant des actions telles que la génération Java ou la synchronisation avec le modèle d'adaptation.

Bouton "Rafraîchir modèle"

Scénario type : Le développeur fait évoluer le modèle de données (ajout d'un noeud par exemple). Il désire que cette évolution soit immédiatement visible dans webMethods Master Data Manager, sans redémarrer le serveur d'applications.

 

Bouton "Générer Java"

Il est désormais possible de générer les types Java spécifiés par le modèle d'adaptation à partir de webMethods Master Data Manager.

Voir Génération Java (bindings).

Assistant d'accès à un noeud d'adaptation

Pour chaque noeud terminal de l'adaptation racine, le bouton à droite du libellé du nœud permet de sélectionner soit le chemin absolu du nœud soit une balise JSP adéquate.En sélectionnant un élément, il suffit alors de le "copier/coller" dans l'éditeur Java ou JSP à l'emplacement voulu.

Intégration avec Ant

webMethods MDM fournit une tâche Ant qui permet de générer les interfaces Java telles que définies dans le modèle d'adaptation (voir Génération Java (bindings)).

Remarque 1 :
L'exécution de Ant a lieu en dehors des conteneurs J2EE, ce qui implique de reconstruire dans le script Ant l'environnement équivalent (classpath, enregistrement des modules). Cette tâche peut être assez complexe.

Remarque 2 :
La même fonctionnalité de génération est disponible d'office sous webMethods Master Data Manager en mode développement (voir Assistant développeur : Bouton "Générer Java").

Voici un script Ant à titre d'exemple :

<?xml version="1.0"?>
  
<project name ="generateJavadefault ="generateAll">
       <!-- ======================================================= -->
       <property name ="target.dirvalue ="../source/"/>
       <property name ="mdm.libvalue ="../../270_mdmEAR/lib"/>
       <property name ="mdm.classpathvalue ="${mdm.lib}/mdm.jar:${mdm.lib}/activationFramework-1.0.1.jar:${mdm.lib}
/javamail-1.2.jar:${mdm.lib}/jsp-1.2.jar:${mdm.lib}/junit-3.8.1.jar:${mdm.lib}/servlet-2.3.jar
"/>
       <property name ="extra.classpathvalue ="../webApplication/WEB-INF/lib/anyLib.jar"/>
       <property name ="full.classpathvalue ="${mdm.classpath}:${extra.classpath}"/>
       <taskdef name ="mdm.batchclassname ="com.softwareag.mdm.tools.ant.MdmBatchTask
classpath 
="${full.classpath}"/>
       <!-- ======================================================= -->
       <target name ="generateAll">
              <mdm.batch>
                      <!-- Set System Properties for webMethods MDM -->
                      <sysproperty key ="mdm.propertiesfile ="../../270_mdm/webApplication/WEB-INF/mdm.properties"/>
                      <sysproperty key ="mdm.homefile ="../../mdm-run"/>
                      <!-- Register webMethods MDM modules -->
                      <moduleset dir ="../..">
                               <include name ="*/webApplication"/>
                      </ moduleset>
                      <!-- Generate Java path constants -->
                      <schema schemaModule ="myModuleNameschemaPathInModule ="/WEB-INF/mdm/dataModel.xsd">
                               <generateJava/>
                       </ schema>
                  </ mdm.batch>
          </ target>
</ project>

Prévisualisation

L'outil webMethods Master Data Manager permet aux utilisateurs (en profils Fournisseur et Distributeur) de prévisualiser une application qui utilise une adaptation.

Cette fonction permet de lancer l'application utilisatrice sur l'adaptation courante, qu'elle appartienne ou non à un distributeur, et qu'elle soit ou non activée.

La prévisualisation est très utile en développement car elle permet de tester une application sur tous les niveaux de l'arbre d'adaptation.

Pour activer la prévisualisation, connectez-vous à webMethods Master Data Manager en profil Fournisseur (par défaut login=provider, mot de passe=provider) et sélectionnez dans adaptation racine le noeud Interface Configuration / Entry Policy /.

Editez les valeurs du noeud :

  • Protocol : par défaut HTTP
  • Host name : si la valeur n'est pas définie, le host name par défaut est pris en compte (voir Calcul des URLs dans mdm.properties )
  • Port : si la valeur n'est pas définie, le port par défaut est pris en compte (voir section Calcul des URLs dans mdm.properties )
  • Path : Chemin d'accès à l'application utilisatrice (dans notre exemple, nous appelons une page JSP de test)
  • Name of parameter identifying adaptation : le nom du paramètre qui sera utilisé dans l'application utilisatrice pour identifier l'adaptation appelée

La fonction de prévisualisation est accessible dans le menu Prévisualiser des menus CONFIGURER ou DELEGUER de webMethods Master Data Manager.

 

Home > Services