Spark Toolkit - Acelerador para interfaces do IBM BPM - LuminaMind
possa ser difundido entre os interessados e usuários dos produtos da IBM.
O toolkit foi desenvolvido pela Salient Process, uma empresa situada na Califórnia, com grande experiência em Business Process Management e Decision Management. Nós, da LuminaMind, tivemos a oportunidade de conversar com o CEO da companhia, Brian French, e fomos muito bem atendidos por ele, tendo todas as nossas dúvidas sanadas.
O Toolkit – Características Principais
O Spark possui mais de 90 coach views (componente gráfico do IBM BPM) que vão desde controles básicos (textboxes, radiobuttons, botões), gráficos e data-grids com uma performance excepcional, até componentes mais específicos para dispositivos móveis, como geolocalização. Além disso, a Saliente oferece mais dois componentes adicionais: o External Participant, que consegue disponibilizar atividades de um processo para usuários que não estejam inseridos no ecossistema do IBM BPM, e o Portal Builder, que facilita nas customizações do Process Portal (Componente do IBM BPM no qual os usuários do processo podem visualizar sua lista de tarefas, assim como os indicadores de performance de cada processo). Veja na figura abaixo alguns dos componentes disponibilizados pelo toolkit.
Exemplos de componentes do Spark Toolkit
O Toolkit – Impressões Sobre sua Utilização
Neste tópico irei abordar minhas impressões sobre a curva de aprendizado para utilização do Spark, bem como a aplicação efetiva de componentes comuns no dia a dia de desenvolvimento de soluções IBM BPM.
Começando com a curva de aprendizado, demora um pouco para se habituar com a utilização de alguns componentes, o que é muito normal para um framework poderoso como o Spark. Alguns componentes, como o Responsive Sensor, demandam um tempo a mais para o total entendimento de seu funcionamento. Ponto positivo para a documentação fornecida pela Salient Process, muito rica em detalhes de uso e funcionamento de cada componente, além do fórum de dúvidas que eles disponibilizam e sempre estão de olho nas questões dos desenvolvedores. De qualquer forma, mesmo com a dificuldade no início, não existiram grandes problemas que demandassem muito tempo para serem resolvidos em nenhum componente utilizado até agora, e as dúvidas foram sanadas rapidamente com as consultas nos materiais disponibilizados.
Quanto ao tempo de desenvolvimento, é grande o valor do aumento de produtividade que este toolkit dá ao desenvolvedor. Quando comecei o entendimento e pesquisa do framework uma das "propagandas" era que ele aumentava a velocidade de desenvolvimento em 3 vezes comparado aos coachs padrão do IBM BPM. Confesso que achei uma afirmação difícil de ser cumprida, visto que os componentes da IBM são muito bem construídos e nunca tive grandes problemas em construir interfaces de simples, média ou alta complexidade com eles. Porém, após o domínio do framework, houve realmente um aumento considerável na produtividade.
A liberdade que o Spark dá para validações, mudanças em visibilidades, implementações de interfaces responsivas e utilização de técnicas de User Experience é impressionante. Alguns componentes que antes eram necessários serem desenvolvidos do zero, como modals e alerts, são nativos e de fácil uso. A quantidade de configurações que podem ser feitas de forma fácil em cada componente é imensa e, além de tudo isso, ainda é possível utilizar funções desenvolvidas em Javascript de forma muito tranquila, pois houve o cuidado de se mapear os principais eventos para todos os componentes, conforme os exemplos das figuras abaixo:
Opções de configuração de um dos componentes do Spark Toolkit
Eventos mapeados que geram uma maior facilidade de utilização
Uma prática de organização de código que estou utilizando com o Spark é a criação de um Business Object de funções, inserindo todas as funções utilizadas neste objeto, o que possibilita centralizar o código e manter o mesmo organizado e limpo.
O ganho da utilização do Spark é bem grande. É muito válido que qualquer desenvolvedor comece a estudar o framework antes que ele efetivamente seja embarcado no produto para que seja possível uma produtividade ainda maior nos projetos envolvendo o IBM BPM.
Deixo aqui meus contatos para eventuais dúvidas sobre o mesmo, ou mesmo para troca de experiências na utilização deste novo toolkit.