Análise De Frameworks De Desenvolvimento Web Para a Conversão De Uma Aplicação Desktop
Total Page:16
File Type:pdf, Size:1020Kb
ANÁLISE DE FRAMEWORKS DE DESENVOLVIMENTO WEB PARA A CONVERSÃO DE UMA APLICAÇÃO DESKTOP José António Vieira Lacerda Escola Superior de Tecnol ogia e Gestão José António Vieira Lacerda Análise de frameworks de desenvolvimento web para a conversão de uma aplicação desktop Mestrado em Tecnologia e Gestão de Sistemas de Informação Trabalho de Projeto efetuado sob a orientação de Doutor António Miguel Cruz e Doutor Pedro Miguel Castro Dezembro de 2013 AGRADECIMENTOS Aos meus orientadores, Doutor Miguel Cruz e Doutor Pedro Castro, pela sua grande disponibilidade, boa vontade, orientação e pelos sábios conselhos que me deram ao longo do trabalho. Ao João Cruz e ao Jorge Silva, administradores da Macwin, S. A., por terem permitido e facilitado a conciliação do meu tempo de trabalho com as minhas atividades académicas e por terem colocado à minha disposição a infraestrutura da empresa para a realização dos testes. Por fim, e ao mesmo tempo o mais sentido, um agradecimento muito especial ao meu filho Daniel e à minha esposa Sílvia pelo enorme e constante apoio prestado e pela infindável compreensão para com os meus últimos tempos de ausência. RESUMO As aplicações web têm vindo a ganhar uma preponderância muito grande, especialmente na área do software de gestão. Durante vários anos, este tipo de software apenas era disponibilizado aos utilizadores na plataforma desktop mas esta tendência tem vindo a ser contrariada. Atualmente, os grandes produtores de software de gestão nacionais já disponibilizam aos seus clientes soluções de gestão totalmente baseadas na web como uma alternativa viável à sua linha de produtos para o desktop . Este processo tem sido lento e difícil atendendo às caraterísticas do software e também a alguma resistência por parte dos utilizadores que temem perder a experiência e rapidez de utilização a que estavam habituados. O processo de criação de uma aplicação web pode revelar-se bastante complexo logo na fase de seleção da plataforma de desenvolvimento uma vez que existem várias opções disponíveis (p. ex. .NET, PHP, Python , Ruby , Java e Perl ) e, para cada uma, identificam-se diversos frameworks . Com este trabalho efetua-se uma análise a algumas das plataformas (.NET, Java e PHP) e frameworks de desenvolvimento de aplicações web e seleciona-se aquela que melhor se adequará para a conversão de um software que, no presente, apenas está disponível na plataforma desktop . Neste processo, também são analisados frameworks mais vocacionados para o desenvolvimento das interfaces do utilizador, com o objetivo de selecionar aquele que permitirá uma melhor experiência de utilização. Esta análise passa pelo estudo das caraterísticas e funcionalidades de cada um dos frameworks e pela realização de testes de desempenho às plataformas. ABSTRACT Web applications have been gaining great importance, particularly in the development of management software. For several years, this type of software was only available in the desktop but this trend has been inverted. Currently, the largest Portuguese producers of management software already offer to their clients fully web based management solutions as a viable alternative to its desktop product line. This process has been slow and difficult given the characteristics of the software and also due to some resistance from users who fear losing the experience and speed of use to which they were accustomed. Creating a web application can be a complex task early in the selection phase of the platform development since there are several available options (e.g. .NET, PHP, Python, Ruby, Java and Perl) and, for each, there are several frameworks. In this project we made an analysis of some platforms (.NET, Java and PHP) and frameworks used to develop web applications and have selected the framework that will more adequate to convert a software which, at present, is only available for desktop. In this process, we also analysed some frameworks that are more oriented to the user interface in order to select the one that will provide a better user experience. In this analysis we made a study of the characteristics and functionalities of each of the frameworks and executed platforms performance testing. CONTEÚDO 1. Introdução ........................................................................................................................................................... 1 2. Apresentação do software GM Macwin .................................................................................................... 3 2.1. Recursos Humanos ................................................................................................................................. 5 2.2. Contabilidade ............................................................................................................................................ 8 2.3. Tesouraria .................................................................................................................................................. 9 2.4. Imobilizado .............................................................................................................................................. 10 2.5. Faturação .................................................................................................................................................. 11 2.6. Stocks .......................................................................................................................................................... 12 2.7. Gestão de traduções ............................................................................................................................. 12 2.8. Gestão de rotulagens ............................................................................................................................ 13 2.9. Processamento de encomendas ...................................................................................................... 13 2.10. Apoio ao cliente ................................................................................................................................... 14 2.11. Marketing ............................................................................................................................................... 14 2.12. WMS ( Warehouse Management System ) ................................................................................... 15 3. Conceitos de desenvolvimento de aplicações web ........................................................................... 17 3.1. Web Development ................................................................................................................................... 17 3.2. Server-Side Scripting ............................................................................................................................. 18 3.3. Client-Side Scripting .............................................................................................................................. 19 3.4. Web Application ...................................................................................................................................... 20 3.5. Web Application Framework ............................................................................................................. 22 3.6. Tipos de Web Application Frameworks ......................................................................................... 24 3.7. HTTP/HTTPS ........................................................................................................................................... 24 3.8. Rich Internet Application .................................................................................................................... 27 3.9. Web Server ................................................................................................................................................ 29 3.10. Páginas web estáticas/dinâmicas ( Dynamic/Static Web Pages ) ..................................... 29 3.11. Model-View-Controller Pattern ...................................................................................................... 31 3.12. Front Controller Pattern ................................................................................................................... 32 3.13. Page Controller Pattern ..................................................................................................................... 33 3.14. Active Record Pattern ........................................................................................................................ 33 3.15. Observer Pattern .................................................................................................................................. 34 3.16. URI/URL/URN ...................................................................................................................................... 34 i 3.17. HTML ........................................................................................................................................................ 36 3.18. XML ........................................................................................................................................................... 37 3.19. XHTML ..................................................................................................................................................... 39 3.20. DHTML .................................................................................................................................................... 40 3.21.