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

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

Upload: mauricio-linhares

Post on 06-Jun-2015

3.136 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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;