Diagrama de implantação (deployment)

March 21, 2008

(0) Comments

Diagrama de implantação (deploy):

“Um diagrama que mostra a configuração dos nós de processamento em tempo de execução e os componentes, processos e objetos que neles vivem.” (tradução livre de UML v1.4, página B-7)

Um dos diagramas que acredito ser um dos mais importantes é também um dos menos vistos nos projetos de sistemas de informação. O diagrama de implantação representa como é realizada a distribuição do sistema através de nós de hardware, componentes e dependências de software e as suas devidas relações de comunicação.

O diagrama de implantação pode ser representado de duas formas: como descritor, onde mostra o configuração básica do hardware; ou como uma instância, onde mostra as reais características de configuração de hardware.

Como exemplo podemos ver em seguida um simples diagrama. Ele mostra como uma máquina de um vendedor de uma loja se comunica com um servidor, utilizando HTTP sobre TCP/IP. E como a mesma máquina se comunica com um nó de hardware, no caso uma impressora qualquer, através de uma porta serial. O servidor de aplicações, identificado como sendo o Glassfish, através de um protocolo SSL, troca informações com o banco de dados. Também podemos notar as relações de dependência do servidor de aplicações para com o banco de dados, e dos clientes para com o servidor de aplicaçoes.

Diagrama de implantação (deploy)

Os diagramas de implantação são empregados para modelagem da visão estática de implantação de um sistema. Com essa visão podemos analisar qual a real necessidade do projeto para a aquisição, por exemplo, de máquinas e pacotes de softwares adicionais. Ou seja, a importância do diagrama de implantação não está somente na possibilidade de visualizar e especificar fisicamente os sistemas, mas sim como um auxilílo no gerenciamento de projetos sistemas de informação.

Abraços.

Popularity: 100% [?]

Daniel Tamiosso

, ,

Principais elementos da BPMN (Business Process Modeling Notation)

March 15, 2008

(3) Comments

Ainda falando sobre a BPMN, veremos logo em seguida os principais elementos que definem essa notação gráfica para a modelagem de processos. Espero que seja uma boa leitura e possível referência a todos interessados ou não.

A BPMN define quatro categorias principais de notações gráficas: objetos de fluxo, objetos de conexão, partições e artefatos. Analisando esses elementos chegaremos a conclusão que a BPMN disponibiliza um mecanismo simples e de rápida aprendizagem, mas que ao mesmo tempo oferece toda a possibilidade para o desenho de complexos processos inerentes as mais variadas organizações.

Partições (swinlanes):

  • Participante (pool): representa um participante do processo. Dentro de um pool podemos ter um ou vários processos, dentro de um diagrama podemos ter vários pools. Um pool pode ser abstrato quando representamos, por exemplo, um sub-processo de um fornecedor, no qual não temos o seu total conhecimento;
  • Raia (lane): As lanes são utilizadas para organizar e categorizar os objetos do fluxo.

Elementos de eventos:

Identificam algum evento realizado/esperado durante o fluxo do processo desenhado. Como por exemplo um evento de serviço, o recebimento de uma mensagem de outro sistema, uma rotina a ser executada pelo sistema…

Elementos de eventos de início:

Iniciam um processo, podendo ser representado por uma causa. Não recebe nenhum tipo de conexão e deve gerar uma ou mais conexões.

Podem ser divididos em:

  • Mensagem: por exemplo, a chamada de um WebService ou um envio de um e-mail;
  • Timer: regra de tempo ou um “clico” de tempo;
  • Regra: algoritmo/rotina qualquer do sistema inerente ao processo;
  • Link: usado para conectar o final de um processo com o início de outro processo. Por exemplo, dois sub-processos de um mesmo processo pai;
  • Múltiplos: se uma das condições descritas nele for verdadeira, o processo inicia.

Elementos intermediários:

Utilizado para mostrar onde mensagens são enviadas ou esperadas. Utilizado, também, para mostrar tempo de espera ou mudar o curso normal do fluxo através do tratamento de exceções.

São dividas em:

  • Padrão: indica alguma mudança no status do processo, não pode ser anexado a uma atividade;
  • Mensagem: em uma atividade, representa uma exceção que é lançada ao recebimento de uma mensagem, dentro do fluxo normal, pode significar o “aguarde” pelo recebimento de uma mensagem;
  • Timer: dentro do fluxo normal, é utilizado como um mecanismo de espera do fluxo, anexado representa uma exceção;
  • Erro: no fluxo normal, significa o lançamento de uma exceção (throw exception), anexado a um nó, representa o tratamento de uma exceção (catch);
  • Cancelamento: utilizado somente em sub-processos transacionais, para quando ser executado, todas as tarefas referentes serão canceladas automáticamente;
  • Compensação: identifica uma operação-extra que será executada para compensar a ação realizada em um determinado nó.

Elementos de fim:

Um processo pode ter nenhum, um ou mais eventos de fim. Se possuir um início, então pelo menos um fim é obrigatório. O processo só é finalizado quando todas as atividades pendentes alcançam algum evento de fim. Seu objeto é simples: finalizar um processo, podendo ser representado pelo seu motivo:

  • Mensagem: envio de mensagem ao fim do processo;
  • Erro: um erro que foi gerado e deve ser tratado;
  • Cancelamento: utilizado em transações, espécie de roolback;
  • Compensação: identifica uma operação-extra que será executada para compensar o processo executado.
  • Link: indica o fim desse processo com o início de outro;
  • Término: todos os processos devem ser terminados imediatamente, mesmo que estejam em execução;
  • Múltiplos: representa que o processo que poderá gerar mais de uma conseqüência. As mesmas devem ser descritas com a documentação de atributos do elemento;
  • Conexão: pode receber uma ou mais seqüências, não pode receber conexões de mensagens, mas pode dar origem a uma seqüência de mensagem.

Transação

Determina que todas as atividades dentro deles sejam completadas com sucesso ou canceladas;

Compensação

Conjunto de atividades necessárias para cancelar o que foi realizada em determinado nó;

Loop padrão:

Atividade realizada até a condição ser falsa;

Multi-instância:

Utilizado no caso de atividade ter uma condição aonde exista a quantidade de vezes que a tarefa será executada;

Gateways

Controlam (convergem e divergem) o fluxo.

Gateway de decisão exclusiva (XOR);
Dá origem a duas ou mais conexões (cada uma com uma condição associada). As condição são avaliadas em uma determinada ordem, ao achar uma verdadeira as demais são ignoradas e o processo segue o fluxo normal. Ele parte do princípio que pelo menos uma condição é verdadeira (senão o fluxo foi modelado errado).
Podemos ter uma condição padrão (default - sempre verdadeira);

Gateway de decisão inclusiva:

Mais de uma condição pode ser verdadeira, originando fluxos paralelos;

Gateway complexo:

Para o analista de processo determinar uma regra de negócio customizada;

Gateway paralelo:

Criam fluxos paralelos e/ou sincronizam totalmente fluxos que estão em paralelo;

Artefatos:

Oferecem maiores informações sobre o processo;

Artefatos padrões:

  • Dados: documento eletrônico ou não;
  • Anotações: são textos e informações genéricas sobre o processo ou um elemento do processo;
  • Grupos: modo informal de agrupar atividades, para melhorar o entendimento geral do fluxograma.

Conexões:

  • Seqüência: determina a ordem do fluxo. Pode ser default (onde sempre é verdadeira a condição) e condicional (existe uma condição lógica intrinsecamente relacionada à conexão);
  • Mensagem: troca de mensagens entre diferentes pools;
  • Associação: conectar artefatos a objetos do fluxo e conectar atividades a outras atividades de compensação.

Um abraço a todos.

Popularity: 81% [?]

Daniel Tamiosso

,

O básico de BPMN (Business Process Modeling Notation)

March 9, 2008

(0) Comments

Introdução

Cada vez mais as organizações precisam de processos de negócios bem definidos e, ao mesmo tempo, totalmente flexíveis. E os sistemas de informação precisam acompanhar o seu progresso.

Através da BPMN podemos alcançar esses objetivos, através de uma notação gráfica padronizada para modelagem de processos de negócios que funciona como o meio-campo entre as áreas interessadas no planejamento estratégico da organização.

Um diagrama desenhado com base na BPMN é de fácil entendimento geral. Claro que todos os envolvidos precisam ter uma breve idéia do que se trata a BPMN e suas várias notações gráficas. Uma boa documentação da forma como ela será utilizada e modelos de documentação são requisitos básicos para o bom andamento dos desenhos dos processos.

Enfim, a BPMN tende a se tornar o tradutor oficial de diferentes perfis nessa conhecida jornada que coloca de um lado os famosos (e temidos por muitos) usuários e do outro lado, nós, os desenvolvedores de sistemas.

Observação

Muitas pessoas comentam sobre uma possível concorrência entre a UML e a BPMN, o que não é verdade. Pois, muito pelo contrário, a tendência é uma fusão entre as duas. Até porque, eu pelo menos, não consigo encontrar um ponto de comparação entre as duas, cada uma tem os seus fundamentos e objetivos.

Dicas de ferramentas

Para os desenvolvedores JAVA, a dica fica por conta do Jboss Tools, que traz consigo por padrão, ferramentas para edição e implantação de diagramas. Há também o ILOG JViews BPMN Modeler, de fácil utilização para a realização de desenhos de diagramas BPMN. Existem também boas indicações da ferramenta DIA.

Resumo dos principais conceitos da BPMN

Processo

É um conjunto de atividades, tarefas, práticas realizadas por uma organização e composta por uma série de etapas, definições e controles. Eles são divididos em:

  • Processos internos: processos realizados unicamente dentro de uma organização;
  • Processos abstratos: processos que são realizados fora do âmbito de uma organização, na qual não possuímos controle;
  • Processos de colaboração: dois ou mais processos independentes e reutilizáveis se comunicam dentro do nosso escopo de visão;

Sub-processo

É composto por uma série de atividades e tarefas que formam um novo fluxo. Esse fluxo pode ser aberto (apresentado no mesmo diagrama do processo pai) ou fechado (podendo ser desvendado em um processo mapeado em outro diagrama). Ou seja, podem ser dependentes e desenhados dentro do mesmo diagrama ou independentes (reutilizáveis) e possuem um diagrama próprio. Normalmente utilizados para:

  • Para representar processos reutilizáveis;
  • Para controle e tratamento de erros em processos;
  • Para ações de compensação em processos;
  • Para controle de transações de processos.

Eventos:

Algo que acontece durante o andamento de um processo de negócio. Geralmente possuem uma causa e um resultado. São opcionais, mas altamente recomendáveis. Se não existir um início no diagrama, todas as tarefas que não possuem conectores que chegam nelas são iniciadas. Se existe um elemento de fim, o de início é obrigatório.

Atividades:

Trabalho realizado dentro de um processo de negócio. Pode ser atômica (isolada), ou não-atômica (composta). Podem ser um sub-processo ou uma tarefa.

Tarefas:

É o objeto que não pode ser quebrado em mais objetos. Geralmente executada por uma pessoa ou sistema. Ela pode ser bloqueante (a execução da instância do processo continua somente após a tarefa ser executada) ou não.

Bom, em breve estarei colocando aqui uma descrição dos diversos objetos definidos pela BPMN e mais informações que acho válidas para todos que querem conhececer um pouco mais sobre a BPMN. Abraços a todos.

Popularity: 76% [?]

Daniel Tamiosso

,

Pontapé inicial

March 5, 2008

(5) Comments

Realmente o primeiro post não é algo muito fácil. Começar ou recomeçar é sempre algo desafiador. Porém, extremamente motivador. Essa é a vida real. Espero poder compartilhar com todos vocês experiências e conhecimentos que sejam válidos para pelo menos uma pessoa.

Também pretendo utilizar esse “canal” para me manter informado sobre alguma coisa bacana (ou nem tanto) pela qual eu já passei ou talvez vi alguem passar. E que normalmente, com o decorrer do tempo, acaba se perdendo por aí.

Ah! E aproveitando “a deixa”, na hora de escolher a hospedagem normalmente perdemos muito tempo até escolher a empresa e o serviço certo. Gostaria de indicar (não estou ganhando nenhum trocado com isso) a eapps. Que além de disponibilizar uma conta root pra você usar da maneira que bem entende, oferecem um excelente suporte (em inglês), e muitos serviços pré-instalados e atualizados.

Bom, por enquanto é isso.

Abraços!

Popularity: 59% [?]

Daniel Tamiosso

,