apresentação do relatório final de estágio
DESCRIPTION
Apresentação final do relatório de estágio (TCC) da minha graduação em Tecnologia em Sistemas para internet.TRANSCRIPT
Relatório de Final de EstágioReport Center e Phrame UI
Maurício Linhares de Aragão Junior
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;
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;
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;
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;
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;
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;
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;
Report Center – Modelo do Domínio
•Classes:▫Report▫ReportField▫ReportFilter▫User▫Right▫ReportServer
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;
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;
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;
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;
Phrame UI - Seleção de tecnologias•Standard Widget Toolkit
•Thinwire
▫Swing▫Echo 2 Framework
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;
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;
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;
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;
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;
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;