Diagramme de l'architecture

Le diagramme suivant illustre l'architecture globale du produit et montre comment les différents composants interagissent en fonction du scénario d'utilisation :
Le cas d'utilisation de magasin de données repose sur le widget Diagram (ibm_ilog.diagram.widget.Diagram).
Le développeur crée un widget Diagram dans un balisage HTML. Un magasin de données Dojo fournit des données au widget pour afficher le graphe. Le développeur spécifie le magasin au moyen de l'attribut nodesStore, ainsi que la requête à utiliser pour l'extraction des données du magasin. Le widget crée ensuite le graphe et le renseigne automatiquement. Le widget Diagram accepte deux magasins de données : le magasin de données des noeuds et le magasin de données des liens.
Le magasin de données des noeuds (propriété nodesStore) est obligatoire et fournit les données devant être représentées comme des noeuds. Le magasin de données des liens (propriété linksStore) est obligatoire et fournit les données devant être représentées comme des liens.
Si aucun magasin de données de liens n'est fourni, des liens sont créés de manière implicite à partir des propriétés childBinding, parentBinding, predecessorsBinding et successorsBinding du widget. Ces propriétés indiquent les zones de l'élément de données qui définissent les relations entre les noeuds. Pour chaque élément du magasin de données de noeuds, une instance ibm_ilog.diagram.Node est créée et ajoutée au graphe interne. Les noeuds sont créés à partir d'un modèle de noeud spécifié (ou à partir d'un rappel lorsque plusieurs modèles sont utilisés).
Lorsque les noeuds ont été créés, les relations de noeud sont résolues en fonction des propriétés de liaison mentionnées précédemment et des instances ibm_ilog.diagram.Link sont créées. Le cas d'utilisation de programmation repose sur les composants de graphe, de noeud et de lien. Dans ce cas d'utilisation, le développeur construit le graphe explicitement via du code. Le modèle est un modèle graphique qui est basé sur dojox.gfx.API. Les formes sont les instances ibm_ilog.diagram.Node et ibm_ilog.diagram.Link. Dans un graphe, les noeuds peuvent être placés explicitement à des emplacements prédéfinis à l'aide de l'API gfx, ou organisés à l'aide d'un algorithme d'agencement de graphe qui calcule les emplacements de noeud en fonction de critères spécifiques.