Diagrama de Arquitetura

O diagrama a seguir mostra a arquitetura geral do produto e como as diferentes partes interagem dependendo do caso de uso:
O caso de uso de armazenamento de dados se baseia no widget Diagrama (ibm_ilog.diagram.widget.Diagram).
O desenvolvedor cria um widget Diagrama na marcação HTML. Um armazenamento de dados Dojo fornece dados para o widget exibir o gráfico. O desenvolvedor especifica o armazenamento através do atributo nodesStore e também a consulta que será usada para buscar os itens no armazenamento. O widget, então, cria o gráfico e o preenche automaticamente. O widget Diagrama aceita dois armazenamentos de dados: o armazenamento de dados de nós e o armazenamento de dados de links.
O armazenamento de dados de nós (propriedade nodesStore) é obrigatório e fornece dados que serão representados como Nós. O armazenamento de dados de links (propriedade linkStore) é opcional e fornece dados que serão representados como Links.
Se nenhum armazenamento de dados de links for fornecido, os links são criados implicitamente a partir das propriedades
childBinding, parentBinding, predecessorsBinding e successorsBinding
do widget. Essas propriedades especificam os campos no item de dados que define os relacionamentos entre os nós. Para cada item no armazenamento de nós, uma instância ibm_ilog.diagram.Node é criada e incluída no gráfico interno. Os nós são criados a partir de um modelo de nó especificado (ou a partir de um retorno de chamada, no caso de vários modelos serem usados).
Depois dos nós serem criados, os relacionamentos de nós são resolvidos de acordo com as propriedades de ligação mencionadas previamente e as instâncias ibm_ilog.diagram.Link
são criadas. O caso de uso programático se baseia nos componentes de Gráfico, Nó e Link. Neste caso de uso, o desenvolvedor constrói o gráfico de maneira explícita pelo código. O modelo é um modelo gráfico que é baseado na dojox.gfx.API. Os formatos são as instâncias ibm_ilog.diagram.Node
e ibm_ilog.diagram.Link. Em um gráfico, os nós podem ser explicitamente posicionados nas posições predefinidas usando a API gfx ou eles podem ser organizados usando um algoritmo de layout de gráfico que calcula as posições de nós de acordo com critérios específicos.