Metodologia de Desenvolvimento
Capítulo 4. Análise de Ferramentas 68 Componentes da DIF2
3. Interface de Desenho: A terceira interface a destacar e possivelmente a mais importante ao nível dos resultados que permite obter, é a interface de desenho baseada em ferramentas de WYSIWYG
(“what-you-see-is-what-you-get”) e que, ao contrário do que acontece em ferramentas como o Eclipse ou o Visual Studio, não permite acesso à fonte de código em HTML e em que todo o desenho é controlado via CSS. Usar esta interface de desenho (Figura 17), é no fundo fazer uso das suas capacidades de “drag-and-drop”, ou seja fazer uso de arrastamento de componentes para as páginas e dessa forma ir construindo a aplicação que se pretende. Sempre que o desenvolvedor se encontra dentro de uma página relacionada com uma base de dados, tem acesso às entidades desta através da árvore exploratória acessível do lado direito, e pode assim criar campos que manipulam as mesmas, bastando arrastar os atributos para o interior da página, resultando na criação automática de campos de acordo com os atributos dos mesmos na base de dados (como exemplo típico, arrastar uma entidade com relação de um para muitos resulta na criação automática de uma drop-down box para escolha).
Figura 17: Implementação de uma página através da Interface de Desenho da Plataforma OutSystems
É indiscutível que este tipo de interfaces e respectivas tarefas, permitem aumentar de forma substancial a eficiência e simplicidade do desenvolvimento de aplicações. No entanto, para além de não ser possível o acesso directo ao HTML, a principal falha ao nível deste sistema, é o facto das páginas não se basearam num sistema em que todas as páginas podem herdar as mesmas características de um mesmo template, obrigando o desenvolvedor a especificar em todas a mesma estrutura visual.
Também o facto de não ser escrito qualquer pedaço de código, requer alguma habituação e aprendizagem por parte de desenvolvedores habituados a outro tipo de plataformas, sendo que o mais próximo que se fica de programar é ao escrever condições ao nível da interface de modelação de processos.
Implantação de Uma Plataforma Integradora de Trabalho e Desenvolvimento para a FCUL
Capítulo 4. Análise de Ferramentas 81
De realçar a forma característica como toda a relação entre campos da aplicação e campos de bases de dados ser feita através de simples mapeamento ao nível da interface gráfica, não havendo qualquer configuração manual para fazer corresponder atributos a atributos, ou formatos de dados a formatos de dados. Sempre que um campo ligado a uma base de dados é modificado a um dos níveis, as necessárias alterações são automaticamente reflectidas no outro nível, evitando assim qualquer inconsistência ao nível dos dados, e consequentemente qualquer erro ao nível da aplicação relacionado com o mapeamento de informação em bases de dados.
Ao nível do Service Studio, é sempre possível de verificar que uma aplicação irá compilar correctamente, no entanto a existência de um outro sistema designado “TrueChange” permite saber em tempo real quando poderá ocorrer um problema, tal como se encarrega de forma automática de propagar alterações em variáveis a toda a aplicação, isto é, se o tipo de uma variável é modificado, todas as referências a essa variável são também modificadas, e são indicados erros que possam ter resultado dessa modificação.
Outro dos pontos mais simples da plataforma, e que já foi várias vezes referidos na descrição da mesma, é o sistema de produção de uma aplicação que através de um simples clique permite que a aplicação seja produzida em .Net ou Java.
Como forma de demonstrar possíveis produtos resultantes do desenvolvimento nesta plataforma temos os casos típicos dos sítios Web do “Turismo de Portugal” e da “TNT” (Figura 18):
Figura 18: Aspecto de dois sítios Web desenvolvidos com a Plataforma Ágil da OutSystems
Assim, e concluindo sobre a sua utilização, o Service Studio da plataforma de desenvolvimento da OutSystems é uma ferramenta muito fácil e poderosa de usar e representa um passo revolucionário no que diz respeito a plataformas rápidas de desenvolvimento, ao excluir por completo a programação do desenvolvimento de aplicações e serviços Web. Sobre as vantagens do seu uso no CI-FCUL relativamente à plataforma adoptada, reflecte-se no capítulo seguinte.
Implantação de Uma Plataforma Integradora de Trabalho e Desenvolvimento para a FCUL
Capítulo 4. Análise de Ferramentas 82
4.2.3 Discussão sobre Adopção da DIF2.0 como Plataforma de
Desenvolvimento no CI-FCUL
Após a exposição das características e da demonstração do funcionamento da plataforma de desenvolvimento DIF2.0 adoptada pelo CI-FCUL, bem como das plataformas que lhe serviriam de alternativa, procede-se agora com a explicação pormenorizada das razões que levaram à adopção da Plataforma de Desenvolvimento DIF2.0, para depois se concluir sobre as vantagens e desvantagens da adopção de cada uma das plataformas de desenvolvimento estudadas como alternativa, relativamente a esta plataforma da Digitalis.
Razões de Adopção da DIF2.0 no CI
Após descrição de toda a plataforma DIF2.0 e depois de ser possível ter uma ideia das suas componentes e características, emerge a necessidade de justificar a sua adopção pelo Centro de Informática da FCUL.
Características Técnicas Importantes
Naturalmente que as suas características são o principal impulsionador desta mesma opção, no entanto e para uma ideia mais exacta da forma como estas representam mais-valias para o CI convém realçar as que mais importam. Assim sendo, destacam-se as seguintes características:
Organização hierárquica de funcionalidades por entidades: Ao implementar funcionalidades e
serviços a partir de uma estrutura hierárquica de classes definida desde o início do desenvolvimento, possibilita-se:
• Uma maior organização estrutural da informação e divisão desta por diversos níveis informativos, sendo possível separar funcionalidades, de serviços e de simples funções acessórias.
• Acesso mais facilitado a código que implementa diferentes serviços e funcionalidades e consequente reutilização destes em outros projectos evitando esforço e tempo de implementação.
Geração Automática de Código: Ao resumir algum do desenvolvimento de funcionalidades à
escrita de pequenos pedaços de texto que possibilitam a geração automática do código que as implementa, permite-se:
• Uma poupança de esforço no desenvolvimento de funcionalidades mais exigentes e uma diminuição da complexidade programática de uma funcionalidade ou mesmo serviço/aplicação.
Implantação de Uma Plataforma Integradora de Trabalho e Desenvolvimento para a FCUL
Capítulo 4. Análise de Ferramentas 83
• Um aumento de eficácia e de facilidade na implementação, não só acelerando o processo como também evitando e reduzindo erros na implementação de funcionalidades automaticamente geradas.
• Maior uniformidade na implementação de funcionalidades semelhantes em diferentes projectos.
Implementações Modulares e Uso de componentes Web 2.0: O facto de toda a arquitectura desta
plataforma se basear na existência de diversos módulos integrados numa base geral, reflecte-se também numa implementação baseada em módulos de funções que implementam diferentes funcionalidades ou na integração e uso de componentes Web 2.0, permitindo:
• Uma maior reutilização de componentes e funcionalidades, uma vez que é escusado desenvolver novamente uma funcionalidade quando esta já existe sobre a forma de um módulo facilmente integrável.
• Diminuição de esforço e de erros no desenvolvimento, com a possibilidade de integração de funcionalidades já desenvolvidas e que exigiriam grande esforço de implementação.
• Maior uniformidade na implementação de funcionalidades semelhantes em diferentes projectos.
Factores Institucionais
Para além de factores relacionados com as características da plataforma de desenvolvimento, existem outros que jogaram a favor da sua adopção, e que se prendem essencialmente com características das ferramentas já utilizadas e desenvolvidas para a instituição. Assim destacam-se os seguintes pontos:
• Grande número de aplicações e serviços desenvolvidos pela empresa Digitalis para a faculdade (sistemas de inscrições, sistema de gestão de alunos, professores, disciplinas, exames, calendários, etc.) e sua possibilidade de integração com a plataforma DIF2.0 desenvolvida pela mesma empresa, confere maior fiabilidade ao produto aos olhos da FCUL.
• Essa mesma fidelização com a empresa, e satisfação ao nível de suporte oferecido durante anos de utilização dos seus produtos, faz antever um suporte idêntico ao nível de utilização da plataforma de desenvolvimento. Sendo grande a vantagem de um suporte constante, isso jogou em grande medida a favor da adopção da ferramenta.
• Contactos exploratórios com a empresa no âmbito de adopção da plataforma desencadearam a possibilidade de uma formação inicial da equipa de desenvolvimento do CI na mesma, oferecendo a possibilidade de experimentar a plataforma e de diminuir a curva de aprendizagem típica neste tipo de sistemas. Mais uma vez, a disponibilidade desta empresa para uma formação deste género, deixou antever um suporte eficaz e constante por parte da mesma, no uso da plataforma. Este foi também um ponto que pesou muito a favor da adopção da DIF2.0 2.0.
Destes dois conjuntos de factores destaca-se como mais importante o segundo, porque na realidade foram os factores institucionais que ditaram a adopção da DIF2.0 como plataforma de desenvolvimento
Implantação de Uma Plataforma Integradora de Trabalho e Desenvolvimento para a FCUL
Capítulo 4. Análise de Ferramentas 84
para o CI-FCUL. Essa grande ligação entre a empresa desenvolvedora da plataforma e todos os mecanismos usados pela Faculdade, foi o principal factor responsável pela não execução de um estudo mais elaborado sobre alternativas a esta ferramenta de forma prévia à sua adopção, e é com origem nesta situação, que se desencadeia uma relevante discussão sobre alternativas futuras de desenvolvimento no Centro de Informática, com base na utilização ou não da plataforma em causa (discussão esta que pode ser encontrada no penúltimo capítulo deste documento).
Problemas Identificados na Adopção da Plataforma
Da análise desta Plataforma de Desenvolvimento resulta naturalmente a identificação de problemas verificados com a adopção da ferramenta por parte do CI-FCUL, que convém passar a enumerar antes mesmo de se partir para o estudo das vantagens de adopção de alternativas a esta ferramenta:
• Sabendo-se que as principais razões para adopção desta Plataforma, estiveram relacionados mais com ligações institucionais entre a FCUL e a empresa desenvolvedora da Plataforma, e que a mesma Plataforma não foi alvo de atenta experimentação antes de ser de facto adoptada (o período de uma semana de treino realizado sobre plataforma, marcou já o início da sua adopção e não um teste para verificação das suas qualidades), percebe-se que não houve qualquer comparação com outras plataformas existentes de forma gratuita (ou semi-gratuita) na Web, e que por isso se confiou cegamente numa plataforma que na realidade não se conhecia suficientemente bem, para se optar pela sua adopção.
• O facto da plataforma DIF2.0 ser um produto open-source e portanto não estar completamente finalizado, e sempre propenso a novas extensões, ou à descoberta de problemas originalmente não identificados, representa um ponto negativo da sua adopção. Este tipo de problemas ocorreria com qualquer ferramenta open-source que fosse adoptada.
• O facto de não haver grande comunidade de utilizadores que utilizam a plataforma e o facto do sítio oficial não conter grande informação de suporte ao desenvolvimento - a informação existente é claramente insuficiente para a aprendizagem da plataforma sem suporte directo da equipa que a desenvolveu – fazem com que a aprendizagem da plataforma seja muito difícil e muito demorada, e baseada num constante pedido de esclarecimento de dúvidas à equipa responsável pelo desenvolvimento da mesma.
CakePHP - Vantagens e Desvantagens na Adopção Relativamente à DIF2.0
A melhor forma de perceber se esta plataforma seria ou não uma alternativa válida à Digitalis Internal Framework é identificar os pontos a favor e os pontos contra a adopção da mesma no Centro de Informática da FCUL, evidenciando se esses pontos representam vantagens ou desvantagens sobre a plataforma da Digitalis.
Implantação de Uma Plataforma Integradora de Trabalho e Desenvolvimento para a FCUL
Capítulo 4. Análise de Ferramentas 85