Reengenharia de ferramenta CASE para ambiente Web 2.0 de ferramenta CASE para ambiente Web 2.0 ii minha Alma Gmea Ins S Aos meus Pais Aos meus Amigos, minha segunda famlia

  • View
    215

  • Download
    2

Embed Size (px)

Transcript

  • Faculdade de Engenharia da Universidade do Porto

    Mestrado Integrado em Engenharia Informtica e Computao

    Reengenharia de ferramenta CASE para ambiente Web 2.0 no INESC Porto

    Relatrio de Projecto de Mestrado do MIEIC 2007/08

    Hernni Filipe Dias Fernandes

    Orientador na FEUP: Prof. Joo Pascoal Faria

    Responsvel pelo acompanhamento no INESC Porto: Eng. Rui Barros

    Abril de 2008

  • Reengenharia de ferramenta CASE para ambiente Web 2.0

    ii

    minha Alma Gmea Ins S

    Aos meus Pais

    Aos meus Amigos, minha segunda famlia

    Ao Futebol, Final Fantasy e Saint Seiya

    Aos bons amigos que o curso me trouxe, minha famlia e a todos os que me querem bem

  • Reengenharia de ferramenta CASE para ambiente Web 2.0

    iii

    Resumo

    O presente relatrio descreve o projecto de concluso do Mestrado Integrado em Engenharia Informtica e Computao (MIEIC), da Faculdade de Engenharia da Universidade do Porto (FEUP), realizado pelo autor no Instituto de Engenharia de Sistemas e Computadores do Porto (INESC Porto).

    O projecto consistiu na evoluo de uma ferramenta de desenvolvimento de aplicaes para ambiente Web. A ferramenta a evoluir, o Saga Sistema Assistido de Gerao e Gesto de Aplicaes, foi desenvolvida pelo INESC Porto no final dos anos 80, com o intuito de facilitar o desenvolvimento e manuteno de aplicaes de backoffice de autarquias e reduzir dependncias de plataformas. O SAGA utilizado presentemente pela software house Medidata, S.A., lder em aplicaes informticas para o mercado autrquico. Devido procura crescente no mercado autrquico de aplicaes empresariais com interface Web, a Medidata contratou ao INESC Porto o projecto de evoluo do Saga. Devido arquitectura do SAGA, o caminho escolhido pela equipa de projecto passou pela implementao de uma nova camada de interface.

    Numa primeira fase, foi feito o estudo da ferramenta original e efectuado o levantamento dos requisitos do projecto. Aps uma pr-seleco de tecnologias candidatas utilizao na implementao da nova camada, foi efectuado um benchmarking sobre um conjunto de tecnologias. Deste benchmarking resultou a seleco da tecnologia a utilizar no desenvolvimento do projecto, Gaia Ajax Widgets. A soluo encontrada passa por encapsular o componente do SAGA responsvel pela lgica de negcio e acesso a dados, e passagem da gesto de interface para a nova camada, desenvolvida sobre a framework Ajax Gaia Ajax Widgets. A ferramenta implementada mantm a usabilidade e eficincia da sua verso anterior, sem exigir alteraes nas aplicaes existentes, o que possibilita a migrao das aplicaes para um novo ambiente, sem que da advenham quaisquer problemas de readaptao para o utilizador final.

    Na fase final do projecto (a nvel acadmico), a equipa do projecto continua a evoluir a ferramenta, no sentido de completar a camada de interface e a integrao desta com a camada de dados. Esta ferramenta ser, tal como a sua antecessora, uma mais-valia para a Medidata, no sentido em que descentralizar o acesso a aplicaes criadas ao longo de (quase) 2 dcadas, recorrendo a tecnologias Web que permitem manter e, em alguns aspectos, melhorar a qualidade da experincia do utilizador, o que sero importantes factores competitivos para a empresa.

  • Reengenharia de ferramenta CASE para ambiente Web 2.0

    iv

    Agradecimentos

    Gostaria de agradecer s pessoas que fizeram parte do meu dia-a-dia durante o projecto, em especial equipa com a qual trabalhei. Assim, um muito obrigado Anabela Monteiro, minha colega de equipa, ao Rui Barros, gestor de projecto e ao coordenador cientfico, Prof. Joo Pascoal Faria, a quem devo agradecer no s pelo apoio manifestado durante todo o projecto, mas tambm pela ajuda na elaborao do presente documento.

    s pessoas do INESC Porto que facilitaram a minha integrao, obrigado pela pacincia, simpatia e disponibilidade.

    Medidata, gostaria de agradecer o terem possibilitado a minha participao neste projecto.

    Obrigado ao Prof. Ademar Aguiar pelo tempo perdido na leitura do presente relatrio e pelas sugestes dadas.

    FEUP e a todos os professores e colegas que me ajudaram a crescer, como Engenheiro e como indivduo, o meu obrigado.

    Aos amigos encontrados durante o curso, principalmente Luis Ferreira, Nuno Sanches e Daniel Cordeiro, um muito obrigado.

    A nvel pessoal, desejo agradecer do fundo do corao s 3 pessoas que mais contriburam para que me tornasse na pessoa que sou e para que estivesse onde estou: Hernni de Jesus Romano Fernandes (Pai), Maria Arminda Sampaio Dias Fernandes (Me) e Ins Sofia Ferraz Moreira de S (Namorada e Melhor Amiga).

  • Reengenharia de ferramenta CASE para ambiente Web 2.0

    v

    ndice de Contedos

    1 Introduo ......................................................................................................................... 1

    1.1 Apresentao do INESC Porto ............................................................................... 1

    1.2 O projecto SagaWeb .............................................................................................. 2

    1.3 Equipa e actividades do projecto ............................................................................ 3

    1.4 Temas abordados no presente Relatrio................................................................ 4

    2 Anlise do problema .......................................................................................................... 6

    2.1 A ferramenta Saga original ..................................................................................... 6

    2.1.1 Portabilidade e conectividade .................................................................. 7

    2.1.2 Vistas ...................................................................................................... 8

    2.1.3 Regras .................................................................................................... 9

    2.1.4 Integrao de ambientes de desenvolvimento e utilizao das

    aplicaes ..................................................................................................... 10

    2.1.5 Arquitectura do Saga ............................................................................. 11

    2.2 Objectivo .............................................................................................................. 14

    2.3 Motivao e estratgia de migrao ..................................................................... 14

    2.4 Requisitos da migrao para ambiente Web ........................................................ 15

    3 Anlise, experimentao e seleco de tecnologias para a Interface Web ...................... 18

    3.1 ASP.Net ............................................................................................................... 18

    3.1.1 Introduo ao HTTP .............................................................................. 19

    3.1.2 Introduo ao ASP. Net ......................................................................... 19

    3.1.3 Pginas ASP.Net (*.aspx) ..................................................................... 20

    3.1.4 User Controls (*.ascx) ........................................................................... 21

    3.1.5 Controlos estticos e dinmicos ............................................................ 22

    3.1.6 Experimentao .................................................................................... 26

    3.1.7 Concluses ........................................................................................... 28

    3.2 Gaia Ajax Widgets ................................................................................................ 29

    3.2.1 AJAX ..................................................................................................... 29

    3.2.2 Introduo ao Gaia ................................................................................ 30

    3.2.3 Experimentao .................................................................................... 32

    3.2.4 Concluses ........................................................................................... 34

    3.3 Silverlight ............................................................................................................. 34

    3.3.1 Introduo ao Silverlight ........................................................................ 34

    3.3.2 Arquitectura ........................................................................................... 35

    3.3.3 Experimentao .................................................................................... 36

    3.4 Ruby On Rails ...................................................................................................... 37

    3.4.1 Ruby ...................................................................................................... 37

    3.4.2 Framework Ruby On Rails (MVC) ......................................................... 37

    3.4.3 Experimentao .................................................................................... 38

    3.5 Anlise comparativa e seleco de tecnologias ................................................... 38

    4 Arquitectura da nova camada Web em Gaia ................................................................... 42

    4.1 Arquitectura geral ................................................................................................. 42

    4.2 Gerao dinmica de user controls correspondentes s vistas ............................ 43

    4.2.1 Cdigo de vistas .................................................................................... 44

  • Reengenharia de ferramenta CASE para ambiente Web 2.0

    vi