20
Relatório de Final de Estágio Report Center e Phrame UI Maurício Linhares de Aragão Junio

Apresentação do relatório final de estágio

Embed Size (px)

DESCRIPTION

Apresentação final do relatório de estágio (TCC) da minha graduação em Tecnologia em Sistemas para internet.

Citation preview

Page 1: Apresentação do relatório final de estágio

Relatório de Final de EstágioReport Center e Phrame UI

Maurício Linhares de Aragão Junior

Page 2: Apresentação do relatório final de estágio

Atividades do estágio

•Redefinição do padrão para os projetos Java, seguindo o padrão do Maven 2;

•Redefinição da arquitetura e implementação do Report Center;

•Definição da arquitetura e implementação inicial do framework Phrame UI;

Page 3: Apresentação do relatório final de estágio

Empresa – Phoebus Tecnologia

•Soluções bancárias de alta confiabilidade;

•Recarga de telefones móveis, correspondentes bancários, soluções de captura baseadas em POS;

•Aplicações servidoras de integração baseadas em mensagens, gateways e concentradores;

Page 4: Apresentação do relatório final de estágio

Processo – Pontos positivos

•Processo fortemente baseado no RUP e com diversos modelos de artefatos definidos;

•Há uma cultura de reavaliação dos projetos após o seu término;

•O processo inclui atividades bem definidas para o controle de versão e gerência de ciclo de vida;

Page 5: Apresentação do relatório final de estágio

Processo – Pontos Negativos• Processo ainda em fase de definição, poucas

práticas e muitos artefatos;

• Algumas das fases importantes, como a de testes (unitários, funcionais, não funcionais e de aceitação) ainda não foram definidas de forma clara;

• O repasse de informações ainda é feito com base em documentos do Office mantidos no controle de versão, não há um lugar comum para a documentação;

Page 6: Apresentação do relatório final de estágio

Report Center• Gerenciador de relatórios na web;

• Escrito em Java, utilizando a tecnologia JavaServer Faces para a camada de visualização e Hibernate para o acesso a banco de dados;

• Testado e implantado em bases SQL Server e Oracle;

• Compatível com os navegadores mais comuns do mercado (Firefox, Internet Explorer 6-7, Opera e Mozilla);

• Atualmente na versão 2.2.2.4;

Page 7: Apresentação do relatório final de estágio

Report Center – Necessidades

•Facilidade de manutenção e atualização da ferramenta;

•Acesso aos relatórios de qualquer máquina utilizando um dos navegadores suportados;

•Integrar e utilizar a solução de relatórios atual baseada no Crystal Reports;

Page 8: Apresentação do relatório final de estágio

Report Center – Seleção Tecnológica

•JavaServer Faces – Camada de visualização e controle;

•Spring Framework – Camada de serviços, suporte arquitetural e configuração de objetos;

•Hibernate – Camada de Persistência;

Page 9: Apresentação do relatório final de estágio

Report Center – Modelo do Domínio

•Classes:▫Report▫ReportField▫ReportFilter▫User▫Right▫ReportServer

Page 10: Apresentação do relatório final de estágio

Report Center - Arquitetura

•Objetos JSF, os ManagedBeans, são configurados através do Spring;

•Acessam classes do modelo do domínio (citadas anteriormente);

•Classes do domínio implementam a lógica de acessar o servidor externo (Report Server), geram o relatório e o devolvem para a visualização;

Page 11: Apresentação do relatório final de estágio

Report Center - Problemas

•API de leitura de XML baseada no modelo DOM, JDOM;

•Bibliotecas de acesso a relatórios do Crystal Reports em Java;

•Geração dos relatórios baseadas em um banco de dados específico;

Page 12: Apresentação do relatório final de estágio

Report Center - Futuro

•Adição de novas “engines” de relatórios (JasperReports, BIRT);

•Adição de funcionalidades de “Business Intelligence”, baseadas na análise das informações contidas nos bancos;

•Simplificação da criação de novos relatórios e melhoria na usabilidade dos filtros atuais através do uso de AJAX;

Page 13: Apresentação do relatório final de estágio

Phrame UI

•Framework para a abstração de contrução de aplicações desktop e web;

•Remove a necessidade de se escrever código específico para uma plataforma;

•A aplicação se comporta da mesma forma nos dois ambientes e executa com uma única base de código;

Page 14: Apresentação do relatório final de estágio

Phrame UI - Seleção de tecnologias•Standard Widget Toolkit

•Thinwire

▫Swing▫Echo 2 Framework

Page 15: Apresentação do relatório final de estágio

Phrame UI – Modelagem e arquitetura

•Baseado no conceito de fábricas abstratas para a criação de uma família de objetos;

•As implementações foram homogeneizadas com a utilização de objetos “adapter”;

•Gerenciadores de layout foram alterados para funcionar sob a API padrão e não nas suas APIs específicas;

Page 16: Apresentação do relatório final de estágio

Phrame UI – Facilidades

•Implementação simples, os componentes tem contratos (interfaces) extremamente enxutas;

•Comportamentos diferentes entre as duas plataformas foram homogeneizados;

•Interação do usuário com a aplicação acontece da mesma forma nas duas versões;

Page 17: Apresentação do relatório final de estágio

Phrame UI - Problemas• Os ambientes são naturalmente distintos e

algumas das abstrações comuns de páginas web não existem (como links);

• É difícil garantir a escalabilidade da aplicação na versão web, pois ela consome muitos recursos do servidor;

• Algumas funcionalidades avançadas, como desenho, foram removidas da biblioteca, já que na versão web elas não poderiam ser utilizadas;

Page 18: Apresentação do relatório final de estágio

Phrame UI – Problemas

•Recursos que são normalmente reutilizados em aplicações web (como conexões com o banco de dados) não podem ser implementados da mesma forma, por causa da aplicação desktop;

•Alta latência e utilização da rede pela aplicação web que precisa se comunicar com o servidor sempre que alguma coisa acontece;

Page 19: Apresentação do relatório final de estágio

Phrame UI - Futuro

•Novas implementações, baseadas em novas bibliotecas;

•Automatização da criação de interfaces gráficas, através de ferramentas de criação visual (RAD) de formulários;

•Facilidades para acessar, filtrar e alterar as informações contidas em bancos de dados e outras fontes de dados;

Page 20: Apresentação do relatório final de estágio

Conclusão•Aprendizado de diversas tecnologias Java;

•Experiência em projetos reais e que geraram artefatos que já estão na fase de transição;

•Interação com usuários e clientes das aplicações;

•Aplicação dos conceitos de arquitetura de sistemas, padrões de projeto e gestão do ciclo de vida de um software;